The Big Book Reboot: The Trails

As I mentioned previously, my books need a reboot.

Right now, the prose is divided into four books. One, Android Programming Tutorials, is broken out because it is a very different style than the rest. The others mostly are split up just to make things easier for print editions, since there are page count limitations when printing and binding.

My vision for the Big Book Reboot is to merge them all into one large book for the digital editions.

There are several reasons for this:

  • You can search across them better

  • I can create cross-references between more of the material, rather than being limited to links within a single book

  • You only have to worry about downloading one book, rather than keeping track of four (and, eventually, more)

  • Most importantly, I can better organize the material to take advantage of that new-fangled “hyperlink” thingy (more on this in a moment)

Now, it may turn out that the file size becomes too unwieldy, to the point where some readers cannot process it. In that case, I’ll fall back to having things be in separate tomes.


The organizational structure I am envisioning is a set of linked “trails”. Each trail is a sequence of chapters. There will be one “main” trail and a whole series of “side” trails.

The main trail pretty much the bare bones of creating a basic Android app. It will consist of:

Even within the subset of chapters, the prose will be tighter, focusing on one solution that works for today’s devices and, as far as I know, tomorrow’s. For example, the focus will be on using the action bar and menu resource XML, with coverage of other alternatives (e.g., creating menus in Java code) moved off the main trail.

The objective is for the main trail to be fairly short, as hand-hold-y as the reader wants via the tutorials, and reflecting current patterns more than the legacy from Android 1.0. Note that I will probably elect to “spackle over” various rough spots in the presentation via technology, using CWAC or third-party components to simplify getting somebody up to speed, with details and explanations of those components’ respective magic being off-loaded to side trails.

The side trails will be linked to from the main trail at various points (plus will be in the overall table of contents and all that). Each side trail will take a deeper dive into some concept that the main trail touches upon only in part. So, for example, while the action bar and menu resource XML will be covered in the main trail, the following related topics would appear in a side trail:

  • context menus
  • creating such menus via Java instead of resource XML
  • action modes (replacing context menus for native Android 3.0+ devices)

and so on. Though I may pull action modes into the main trail someday, if action modes becomes available in a backwards-compatible fashion.

(gazes longingly in ActionBarSherlock’s general direction)

The main trail gets a newcomer from nothing to a fairly complete app; the side trails cover all of the polish or features that, while very useful, are not necessarily essential for creating that fairly complete app.

Readers will still be able to work through all of the book front-to-back if desired, as I will organize the side trails to make that reasonable. However, the expectation is that people will read the main trail front-to-back and refer to the side trails as they try to figure out how to implement certain UI patterns or run into certain problems.

If you wanted to think about this in classic book terms, imagine that there would be one “essentials” book comprising the main trail, and one or more “advanced” books collecting the various side trails. In fact, that may well be how I organize print editions, once I have the digital editions established.

If you have concerns about this plan, join the cw-android Google Group and speak up! I’ll be providing more details in the coming weeks, notably an outline of the various trails.