In the late eighties and early nineties, X Window System (X) was a hot topic and there were quite a few books about it. These books did quite well. (On a side note, Tim O’Reilly started by publishing a set of books on the X Window System and O’Reilly still carries those early X titles in print; even my own X Window System Programming still shows up in Amazon catalog, so these titles did have some traction!) Even though X is still the windowing system underlying many GUIs on many different systems, there is no market for X books because programmers now work at higher levels of abstraction. They typically create GUI applications using a GUI builder that can spit out whatever code is needed, so most programmers don’t need to learn X or even the various GUI programming toolkits. I bring out the X Window System as an example of trends in computer book topics—as programmers move to higher levels of abstraction, some of the underlying technologies lose viability as book topics (even when they retain a niche book market). At the same time, the X example shows that when a technology is young and programmers still work at lower levels of abstraction, books covering the low-level details are probably going to do well. This observation helps point to what book topics might do well in the near future—those that focus on the highest level of abstraction of a specific technology that is being embraced by software developers. One caveat is to make sure that you are looking at the emerging trends and not what’s well entrenched.
In spite of my comments about everyone gradually moving to higher levels of abstraction, there is, however, no denying that there are basic computer topics—programming languages, operating systems, networking protocols, software architecture, and so on—that are always being sought by new waves of programmers and autodidacts who strive to learn these subjects. These basic topics will always have a demand; perhaps small, but surely steady. Computer book publishers who know how to exploit the timelessness of these basic computer books—by printing a book on each topic and keeping them available forever at a low volume or on demand—are going to do well.