Dear Publisher, please do not print our book

Disclaimer: I’ve been writing for many publishers and Manning’s process of book publishing is the best I’ve seen so far.

My colleague and I spent a year writing the book on Angular 2. At the same time the Angular team was releasing dozens of alphas, and we kept modifying the code and the text.

Then the Angular team released several betas of Angular 2, and we’ve modified the code and the text.

Then the Angular team released several Release Candidates of Angular 2, and we’ve modified the code and the text.

The good news. Manning has released six versions of MEAP of our book “Angular 2 Development with TypeScript”, which remains Manning’s bestseller for many weeks in a row.

We’re diligently updating the code and the text, but I don’t want this book to be printed on paper. Why? Because the Angular team (understandably) will keep changing the API, and the readers of the printed book will blame us for the outdated text.

This book as well as all other books on software should NOT be printed on paper. The authors should be able to keep changing drafts for as long as the software is being changed. If not printing is not an option, the publishers should offer a print-on-demand service for those readers who like paper.

Back to Angular 2. Over the last year the router has been re-written three times. The final re-write (known as Router 3.0) has been released AFTER the Release Candidate 1.

The Forms API has been changed (currently at 0.2.0) as well after the Release Candidate 1.

We write code in TypeScript, which is a great way to develop JavaScript applications with types support. To integrate the TypeScript code with tons of available JavaScript libraries we need so called type definition files (*.d.ts). There was a Type Definition manager tsd. It’s deprecated in favor of Typings. Cool. We changed everything to work with type declarations known as “ambient”. All of a sudden ambient no more. As of May 2016 it’s called “global”. OK. Changed the text and the code. But. If Manning will publish our book before TypeScript 2.0 is out, it’ll be outdated. Why? Because TypeScript 2.0 will introduce @types that will deprecate Typings.

There is more to whine about. Unit testing. It’s being changed as we speak. OK, we’ll re-write chapter 9 to remove anything specific to Jasmine.

Chapter 10. Build automation. We used Webpack cause it’s the tool to use for prod systems today. Meanwhile, Google shows wonders at the conferences with Angular CLI, which (I’m sure) will become the right way to automate builds of Angular apps. But not this year. At the time of this writing installing Angular CLI is like installing the whole content of npmjs.org. To put it simple, if you want to clone the entire NPM repo, write the following command: npm install -g angular-cli.

Now let’s talk about UI. The Material Design 2 is in the works. But. It has about 15 components now. Cool for demos and conferences, but not for the real world enterprise apps. It’s getting there, but not this year. So what you, the enterprise developer should do? Get Wijmo 5 components. It costs money and is not a silver bullet. But, there are not many choices as of yet.

Job offer. I got an email asking if I’m available for working on a two-month consulting project. The scope is to create an initial setup for Angular 2 projects, prepare the build scripts, and develop a library of reusable UI components. I can do all of this in two months except a library of reusable UI components. Sorry, I’ll pass on this opportunity. Get real. Next year. Maybe.

We’re running our ongoing training classes using our book as a textbook. This allows us to keep our training materials as well as Manning eBook up to date. But I hate to see the future comments pointing at the places where our printed text is wrong.

I used to own a large library of software books, but during the last year I threw away (left at the curb for recycling) about 50 books on software that were printed before 2011. Next month I’ll get rid of all books that were printed before 2014. Unless the book is about data structures or algorithms it’ll go to recycling.

I really like the Manning’s workflow in publishing books. But it’ll be even better if this book will never be printed. We already sold about two thousand e-book downloads. Let’s keep selling files, and we’ll keep them up to date. There is a MEAP program for drafts, and a similar program is needed to keep the drafts updated after the book is “finished”. Dear Manning, please do not print our book or print it on demand!

UPDATE: I had a chance to discuss this blog with Manning. This is what I was told:
1. When Manning sells a printed copy the reader gets the e-Book as well.
2. Their MEAP program can continue even after the books is printed as long as the authors are willing to keep the book up to date. We’re willing.
3. The book goes to printer in small batches, and if the content of the manuscripts has changed, the new print batch can have the new content (Manning can easily do this if page numbering doesn’t change).

I’m wondering what other publishers do to keep printed books current?

Advertisement

10 thoughts on “Dear Publisher, please do not print our book

  1. Manning should definitely listen to their readers and authors. Is there way to complain? I would definitely support to hold off printed copy till A2 release (I do realize that there will be multiple 1.0x versions afterwards with the way it is going, but that is understandable).

  2. +1 to this. As much as I like referring to printed text, this totally makes sense, with how rapidly the framework is evolving.

    I’ve also been following the major changes that continue to happen with the A2 platform, wondering if it will ever truly stabilize to a steady-state version, or if constant upheaval will be their new norm. Are you concerned at all about the relatively high level of continuous re-engineering, or do you think it’s a good sign that they’re committed to the best design? I’m all for taking the time to do things right; but at some point, the churn needs to stop in order for the tool to be practical, IMO. The prospect of constantly re-learning major revisions of A2 does not intrigue me.

    1. IMO, they shouldn’t announce RC as of yet. Beta is a more appropriate name for what’s released today.

      On the positive note, the API changes are not dramatic and you are not forced to upgrade to the latest version. Even if you code would be deployed in prod, you could continue using the deprecated API.

      Things are different with the printed book. You can’t change it after it’s printed.

  3. I’m fallowing the “Angular 2 programming with type script”, I printed the chapter 6 a week ago, Angular has changed and sample code too … It was paper wasting. Yes you are right, we don’t need a printed book, we need an updated ebook every month for the next year

  4. I just purchased a physical copy of the book along with the ebook. I appreciate and understand your concerns about a printed copy quickly becoming outdated, but that isn’t the purpose of a print version. The print version of the book is superior to an ebook, when learning a new technology a key factor is constant repetition of the fundamentals which is best handled by skimming through the pages. In contrast, you can’t skim through an ebook and lots of important information remains unseen and buried, resulting in a longer initial learning curve. The extra $10 for the physical book will be quickly repaid by a shorter learning period. After I’ve attained a certain proficiency, I’ll discard the physical book as its served its purpose and just rely on the ebook.

  5. I’ve just started working my way through the book. So far, I think it’s very good. I’m curious what you mean in this post when you talk about unit testing: “Unit testing. It’s being changed as we speak. OK, we’ll re-write chapter 9 to remove anything specific to Jasmine.” What change is on the horizon?

    1. This post was written 10 months ago and the testing API was changing. After the official release of Angular 2 in Sep 2016, the API is stable.

  6. i bought the 1st edition and enjoyed every page and found myself going to the github repo often. really digging into the codebase really helped the most (the book did help but minimally). I may buy the 2nd edition to support the author as that his effort as a angular ‘trailblazer’ is so invaluable.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s