Sponsored Link
State of the Apps Report: Monetization Trends
In Q4 2014, Millennial Media undertook a global survey of developers & publishers to get a pulse on the app economy. We compared the results to 2013's survey and tracked year-over-year trends to better understand the current and future plans of app developers. View the report for more information including developers' characteristics, practices, goals, priorities, and plans for 2015.
News
Top 10 iOS Conferences in 2015
So it's the beginning of the year again and I usually link to something like the Lanyrd iOS conference list or Luis Ascorbe's conference list but this year I'm going to link to Ray Wenderlich's post on scheduled conferences for the year. For me, the best part of this community isn't online, it's meeting up with fellow developers and conferences are the best places to do that. So, if you're not already planning a trip for this year, why not?
Tools
App Developer Friends: Try TestFlight
I think the review cycle during TestFlight beta submission is putting off a large number of developers from using it. This post from Padraig Kennedy and Oisin Prendiville goes through some of the benefits (and the review times really aren't bad at all). They do make the important point that no matter the beta distribution platform you use, you should be shipping with a crash reporting solution embedded. If you're not yet set up with one, HockeyApp have put together a crash reporting frameworks comparison site.
Code
Swifty APIs: NSUserDefaults
Radek follows up on his Swifty Methods article on naming and verbosity in Swift that I linked to in Issue 164. This time he provides a concrete example of how a class like NSUserDefaults could be polished and make use of Swift's features to reduce verbosity and increase clarity. He implements a wrapper around NSUserDefaults and I think it only takes one look at the results to agree it's a huge improvement.
Implementing the Twitter iOS App UI
Yari D'areglia with a great article analysing the animations on the profile view in the official Twitter client. There are some beautiful, subtle animations here and this post breaks them down, then re-implements them. I love analysing animations like this and turning what seems like an extremely complex effect into 3 or 4 simple animations.
Same Tests, Different Class
Daniel Jalkut breaks down a complicated refactoring into small predictable steps, moving from a custom CFNetworking implementation to NSURLSession. Daniel's approach of using the existing test suite to effectively run his tests twice against different classes is great. Don't miss the follow up discussion with Brent Simmons as well.
Capture Lists
A nice tip for closures in Swift from Russ Bishop. You can create new named values in the capture list of a closure which allows you to avoid creating many references in the surrounding code.
Design
iDraw 2.5
I hadn't come across iDraw until this week when I saw some of the features for developers in their new v2.5 release. There are a few developer focused features in this release but my favourite by far is that if you export layers (either PDF or PNG formatted) directly into a xcassets folder in your Xcode project, it will generate/update the JSON as well meaning no additional steps are needed to get your assets into your project.
Business and Marketing
Apple, Apps and Algorithmic Glitches
Gilad Lotan with an incredibly in-depth analysis of how the top charts in the App Store work. He also looks at rank manipulation and the unusual glitches that occasionally happen. Visit for the graphs, but stay for the words!
The Shape of the App Store
More graphs! This time from Charles Perry who has taken some of the App Store revenue data from the posts I mentioned last week and mapped it against other publicly available data on the store to reveal how steep the drop off is in revenue on the App Store.
Sponsored Jobs
iOS Engineer - Expensify, San Francisco
iOS engineer & generalist? Help us make expense reports better!
Comment
Just a quick reminder, for new apps the change to requiring a 64 bit build against the iOS 8 SDK comes in to effect on February 1st, just a week or so away. What's unusual this time is that app updates are exempt from having to provide a 64 bit build until June 1st. My guess? Third party library support. However, it seems a strange exception to make and I can't recall Apple ever having done anything like this for updates in the past?
Dave Verwer