Sponsored Link
iOS Developer @ Booking.com in Amsterdam (visa + relocation included)
The Booking.com iOS apps have been downloaded over 20 million times all over the world - We are looking for highly skilled developers to join our mobile team in the vivid city of Amsterdam. Be part of it and help us make the best travel app in the world.
News
iOS 7 Tech Talk Videos
If you didn't manage to snag one of the tickets to the official Tech Talks in November and December last year then you will want to check out the videos published by Apple last week with full coverage of the content. It's important not to dismiss these as just copies of the WWDC videos as well, this is all up to date content. (Developer login required)
Cocoa Conferences in 2014
I tend not to link to conferences here as they are too time and location specific but I think it's worth starting the New Year with a round up of 2014 iOS conferences. Luckily Luis Ascorbe is keeping a regularly updated list of all past and pending iOS conferences on GitHub. I was lucky enough to attend and speak at a few conferences last year, and I am sure that 2014 will be just as full of wonderful chances to meet and learn from other iOS developers.
Tools
Origami
Remember the videos of how Facebook were using Quartz Composer to mock up their messages app in April last year? Last week Facebook released Origami which integrates with Quartz Composer and provides an easier way to create interactive app prototypes. I love when internal tools from large companies are released and this looks great for quickly prototyping interactive mobile UI.
How to inspect the view hierarchy of 3rd-party apps
What did you get up to over the break? Well while we were all eating and drinking too much, Pete Steinberger figured out how to inspect the view hierarchy of third party (and even first party) apps by using the newly released iOS 7 jailbreak and Reveal. This post details the steps needed if you want to have a go at this yourself but even if you don't then there are several examples of popular apps shown in the post.
Code
EZAudio
Syed Haris Ali with a new take on a cross platform (iOS and Mac) framework for audio recording, playback and visualisation. This is an impressive, well documented piece of work and if you need visualisation of audio data this is definitely be worth a look.
implementing Writer Pro's syntax control
If you missed the back and forth over the last week or two regarding the new syntax highlighting feature (and associated patent) in iA Writer Pro then count yourself lucky, it was messy. However, one point that struck me was how trivially easy it is to implement a feature like this using NSLinguisticTagger and just a few lines of code. Travis Jeffery shows us how.
SQKeyPath
Cute macro from Kyle Van Essen to provide compiler errors for key paths which do not exist. The if (NO) should ensure that this is entirely optimised out in release builds so this seems to be a no overhead extra check and much better than @selector(keyPath) or @"keyPath". I really can't see a downside to replacing fragile key paths with this.
Objective-C RegEx Categories
I'm not usually a fan of categories designed to reduce the verbosity of Objective-C but NSRegularExpression is one where I would consider a reduction valuable. These categories by Josh Wright look to be a step in the right direction.
macOS Development
Silhouette
I don't think there is any doubt that updating apps with the Mac App Store is easier than it used to be using a framework such as Sparkle. However, Sparkle also had the added benefit of optionally reporting system specifications to an update server while users were grabbing a new version. Fraser Hess shows us how to gather this data in a Sparkle compatible format while still updating using the MAS.
Design
Why The Pull-To-Refresh Gesture Must Die
Pull to refresh has had a difficult time since it was introduced in the very first version of Tweetie. Revolutionary at first, it quickly became overused and while it makes sense for services which show timeline style content it quickly became just the new "Refresh anything" gesture which is far less logical. I agree with this article that it's time for auto-refresh rather than pull to refresh but I must say I'm not convinced on the idea of using "pull to action" instead.
Business and Marketing
App Playlists and Good Taste
Jared Sinclair with an insightful article on solving the problem of discovering good apps on the App Store. His proposal for App Playlists takes data about which apps are installed on your friends phones and generates recommendations from them. I also think including usage data is an important part of this equation. Obvious privacy concerns will probably prevent this from happening automatically but I like the idea.
And finally...
Why MacPaint's Original Canvas was 416 Pixels Wide
I do love a good historical investigation like this.
Comment
Happy New Year everyone. Hopefully you are all refreshed and eager to see what 2014 brings us in terms of iOS development. Are you ready for the year of iOS 8 (if Apple decide to do an iOS 8 update, of course!) and Xcode 6?
Dave Verwer