Subscribe for weekly commentary and coverage of Swift and Apple platform development. Written by Dave Verwer and published every Friday. Free.

Picture of Dave Verwer

Issue 128

10th January 2014

Written by Dave Verwer

Insiders Share Lessons on Driving Organic User Growth

There’s no better time to start building your app’s organic growth than in January, after the madness of Christmas is behind you. Join Tapstream and Tayber Voyer this coming Thursday for a webinar on marketing tactics that automatically grow your user base, with a focus on games. Sign up today as space is limited.

News

Software in 2014

Tim Bray is always worth paying attention to and this analysis of our industry feels spot on to me. He gives mobile development (both iOS and Android) a hard time, not for the frameworks themselves which he is complimentary about but with the diversity of platforms and devices, issues getting usability correct and the difficulty of building a sustainable business on mobile platforms.


iOS Device Stats Update

It’s great that Apple are keeping an up to date adoption meter on their site but it’s little more than a simple pie chart. I have been using David Smith’s version stats page for years now and it has all the detail you could possibly need. He published a summary of the data this week but bookmark the stats page itself as it is constantly updated throughout the year. Obviously this data is from David’s app but it’s well used enough to be a fairly representative sample of general usage.

Tools

Custom SSL certificate with Charles Web Proxy

Charles is one of those essential tools for any iOS development but installing the generic SSL certificate is a bit of security risk and I always end up deleting it every time I need to use Charles with SSL on a real device. Peter Gammelgaard has a great tip here on how to generate a custom SSL certificate for use with Charles which will take away much of the security risk of that generic certificate.


objc-run

Cute script by Ilja Iwas to (effectively) enable Objective-C as a scripting language. It runs clang and then executes the output. Can also be configured with a shebang so that the .m file itself can be made executable. Could be useful if you need to build a tiny utility but want to use Objective-C.

Code

Reverse Engineering the Estimote

There are a few companies producing small, inexpensive iBeacon emitters but it seems to me that Estimote are the most popular right now. Alasdair Allan and Sandeep Mistry have investigated and discovered that it’s fairly easy to modify the settings of a beacon remotely which is going to be a concern if you are implementing them. One thing definitely worth noting is that it is very clear on the documentation that current hardware and software is a developer kit and not final so maybe this will be modified with the final release.


Fixing UITextView on iOS 7

I hadn’t come across this bug myself but it’s a big one and I have seen many people on Twitter bashing their heads with this over the last few months. Peter Steinberger (with help from many others) has published PSPDFTextView which implements a work around for the problem. Looks like this is going to be an issue in iOS 7.1 as well but fingers crossed for 7.2. If you haven’t come across this issue the animations on the readme file explain the bug very effectively.


iOS Community Growing Pains

Like Ash Furrow, I read Dave Schukin’s post earlier this week on how we should write code with the plan that it will need to be rewritten with a future iOS update. It’s true that in the early days of iOS that large portions of apps would need to be rewritten regularly, the frameworks were much less refined and developers were still learning how to use them. Clearly, as iOS is moving much faster than OS X and the web, more code is going to need to change between versions but I’m not sure that we should build for obsolescence now we have got to version 7 of the OS.


Synthesized Speech From Text

Keith Harrison with a great rundown of the text to speech APIs in iOS 7. I hadn’t really thought about it before but naturally this is multi-lingual as well, what a fantastic resource to have available to us as developers.

Design

Why Pull-To-Refresh Isn’t Such a Bad Guy

Nick Arnott with a counterpoint to Austin Carr’s article that I linked to last week. Nick also makes some good points and talks about giving the user control over refreshing being an issue as well as lower data caps and speeds in various parts of the world. I’m still on the side of moving away from it as a concept but there are definitely two sides to the story.


How To Set Up Photoshop For UI Design

David McKinney with a useful article on setting up Photoshop with useful defaults like default document sizes, pixel snapping, text aliasing settings and changing the global light source. If you are an occasional Photoshop user then there will be something here which makes your life a little easier.

Business and Marketing

Apple’s App Store Rules on Data Collection and Privacy

Ole Begemann with a plea to developers to read and be aware of the App Store guidelines about privacy. There are a couple of problems here; Apple is not being clear about exactly what constitutes user data (is anonymous data counted?) but also that they are not enforcing the rules. On a personal level, I have no issue with anonymous analytics data being collected by apps I use and I use analytics in our apps to collect basic usage. Ole suggests allowing an opt out from analytics which is one way of giving back some control to your users regardless of the policies.

And finally...

BOZPongRefreshControl

This really should have been called PullToPong.