Our DNA is written in Swift

Book: Feature Complete

On the last working day of May, I handed in the 7th and final chapter of my book. This chapter on Geofencing and iBeacons rounds off the offering of all technologies in iOS you need to know to build apps centring around physical products.

The best rhythm for me to work was to spend a week (or thereabouts) on programming a sample app. The following week I would then write the actual chapter. So it also happened for the final chapter, where I was quite clear what I wanted it to be about.

That is in stark contrast to chapter 6, because the overarching topic “networking” can mean many different things. For a while I considered adding a section on OAuth, but that would have been a distraction from the theme of the book, being about barcodes. So I settled on 2 main sections: 1) learning about NSURLSession and how to write solid web service wrappers with it and 2) how to unit test networking code by stubbing NSURLProtocol.

Both were treated with a depth which you cannot get on any blog post on the Internet. And both have still enough applicability outside the world of barcodes so that I developers might buy the book just for these.

The main goal of chapter 7 is to demonstrate a technique to monitor a virtually unlimited number of geofences from your app while using only minimal battery power. Combine this with iBeacon ranging to gain insight into the context the user is currently in to better serve him information and actions applicable to his situation. While chapter 6 felt like a struggle to me, chapter 7 came together quite logically.

Next Steps toward Publication

My Developmental Editor will read the chapter over the next few days and then present me with his comments. Possibly in a day or so I’ll work these into the manuscript. For the most part these are usually requests to clarify certain sentences or sometimes rearrange the order of content to be easier to digest. Then this will also be added to the Manning Early Access Program (MEAP) for those people to read who purchased an advance copy of the book.

Following this, 10 reviewers will get chapters 4 through 7 to read and comment on, possibly yielding further items for me to work into the book, as far they are realistic requests. While this is going on, pre-production has already started. A Copy Editor is correcting grammar and spelling mistakes, a designer is going through the figures and making them book-worthy and a Technical Editor will check my source code.

As it so goes with software projects, you probably will never be able to accurately estimate when they are complete. I had based my original estimate on the information that “a full-time employed author can finish a chapter in 2 weeks”. In truth I found that I needed to work full time – keeping distractions to a minimum – on a chapter for two weeks to get it done, as mentioned above: one week for the sample app, one week for the writing.

Another factor I had not considered is that many weeks are lost waiting for reviews and doing changes. Those are what bump up the quality of the manuscript to be worthy of becoming a paper book. But since there are other people involved you cannot really estimate how long these will take. You should probably double your own writing time to account for time when the manuscript is in other people’s hands. I’ve worked on these 7 chapters for approximately 8 months with the first writing being much slower. That calculates to about a month per chapter. 2 weeks for me, 2 weeks for other people, sounds about right.

One smart question I’ve been asked a few days ago is…

Can you live off this or is it a hobby?

Well, the only thing that I know for certain is that I will be receiving $2500 advance on royalties. If I were developing software instead of writing the book I would probably make more than that every month from contracting. With a cover price of around $40 per copy the book needs to see at least 625 copies at full price. During the MEAP phase we sold about half that number, but mostly discounted.

But if I can sell 300 copies of an unfinished book which is only available through the Manning website, how will I do when the book is available on all major book stores, even Amazon?

So there is little doubt in my mind that Manning can sell enough copies to reach the level where the advance has been exceeded. I have no idea how many copies this really can sell in the long run. But from what I hear from other authors you need multiple successful books to make a living.

So to answer the question: it will be making too much for being a mere hobby, but it will probably yield too little to make a living. I will have to begin offering my development services for hire.

Would I consider writing more books?

Like most other people I have to make a living and was only able to dedicate myself to this book because my company had enough reserves to support me even while I was not contributing to it.

As a rookie author you have to work full-time on your book to get it done and during this time you probably cannot earn money otherwise. Seasoned pros might be able to hold down a full-time job and write their books in parallel, but I certainly couldn’t.

On top of that, my book will not be “forever done, never to be looked at” once it gets published. iOS 8 will be unveiled next week, likely meaning that I have to do some revising and adding. I will be expected to do that with no extra income besides the royalties I’ll be hopefully getting.

Having said that, you should never say “never”. Maybe in-between projects… if I have nothing more important on to do… if there is a new technology just as gripping as barcodes in iOS 8…

Won’t the book be outdated when iOS 8 arrives?

Certainly not! Apple introduces major new technologies every other iOS version in a “tick-tock” fashion. iOS 7 was a “tick” with tons of new technology, but also tons of bugs. Some of these bugs are still present in iOS 7.1. iOS 8 might bring a few enhancements to existing APIs, possibly making public some of of the barcode technologies we cannot use in app store apps because they are private APIs.

You won’t be able to set iOS 8 as the minimum version for your apps until end of the year as there will probably still be an interval where you have to support iOS 7. WWDC does not mean that iOS 8 will be coming to consumer devices before the fall.

The contents of my book will remain valid for many generations to come because for the most part they deal with APIs which were only recently introduced. On top of that I am showing best practises which are just as timeless.

If anything, then maybe the book title might sound outdated, but that’s something easily remedied. Manning promised to make sure that you remain happy with your purchase!

And of course you should buy my book right now. And if you have done so, please help me spread the word about it 🙂

Categories: Publishing



  1. DTCoreText 1.6.12 | Cocoanetics
  2. Ortsende | Oliver Drobnik
  3. Should I switch to Swift? | Cocoanetics
  4. For Hire | Cocoanetics
  5. Barcodes Book complete on MEAP | Cocoanetics
  6. Book, out | Cocoanetics

Leave a Comment