OK, third year on this annual book-update plan, here we go: iOS 10 SDK Development now available in beta.
So if you remember last year, I said the plan then was to try to find a sustainable way to do annual updates, rather than melt-the-ocean rewrites every couple years that leave the book badly dated after 12-18 months. Bill & I did huge efforts to get out the book for iOS 3 and 6, then Janie and I rewrote again for iOS 8, which introduced Swift.
With the rapid changes in Swift, annual changes were an obvious necessity, so we decided to roughly rewrite a third of the book every year, rather than the whole book every three years. iOS 8 SDK Development adapted the previous edition to Swift but was still mostly a frameworks book, and iOS 9 SDK Development formalized the Swift coverage into three language-only chapters up front.
This time, my main focus was to re-do the sample app that is developed over the course of the second two-thirds of the book. For the last few editions, we’ve had a Twitter app as our example, originally prompted by the appearance of a Twitter API in iOS 5 (I think?) and then Social Framework in the next OS version. It was a nice way to get a quick win by posting a tweet, and those posts hopefully got us some viral marketing. But there were big drawbacks: not everyone has a Twitter account or even likes the service, and changes to the framework made it somewhat burdensome to cover. For example, we had to make our closures example be about asking for and being granted permission to use the Accounts and Social frameworks. Technically it worked, but it was pretty boring.
In the new edition, most of the work has gone into making the sample app be a podcast client application. This has a couple advantages: it’s a hot field with lots of novel apps that readers have likely experienced, and since nobody owns podcasting, it avoids ethical and political problems (which is my polite way of saying that podcasting doesn’t usually threaten to rape and kill you, something that sadly can’t be said of Twitter).
The publisher and I wanted a smaller and more focused book, so people who’ve read previous editions might complain about things we don’t cover anymore, but that’s by design: yeah, I can do 10 pages on split views and they’re cool and all, but does every iOS developer really need to know how to override a size class, or could we leave that to an intermediate book maybe? Remember, the goal here is to be a perpetually-fresh beginner’s book: saying this probably isn’t great for my bottom line, but I really think you should only need to read one beginner iOS book from me, not each new edition every year. If I’ve done my job, next year you should be ready for more advanced stuff, able to learn directly from the WWDC videos or your local CocoaHeads talk.
There’s still a fair amount of work to be done to get the final version out. Three chapters to go (although two are updates from last year: debugging and App Store submission), and I do want to go back and do a better job on the XML parsing of the podcasts, since it seems like there are some different flavors of podcasts out in the wild, and I’d like to at least get it to the point where there’s always some artwork available for screenshots. It’s also been a tough year for me personally, so this book hasn’t gotten quite as many hours by this point on the calendar as its predecessors did, which is why there wasn’t a beta ready on the iOS release date as was the case in previous years. But I think it’s in pretty good shape now to get through the last push to publication.
Of course, the tyranny of Apple’s annual release cycle is that by the time the print edition is ready, it’ll only be half a year (or less) before the next WWDC ushers in another round of changes. This is why I strongly suggest getting the ebook (or an ebook-now-and-paper-later bundle) directly from the Prags. You’ll get access to the material now, plus updates as I push them out.