An Internet of things

Musings on iOS and PHP development, IOT and other bits and pieces iPad app goes live

It’s been a number of months and some incredibly late nights in the making but the new iPad App finally went live in the App Store last Friday, August 12. I was lucky enough to be able to give a demo of the app the night before release at the August Melbourne Cocoaheads meeting to one of the largest crowds to date!

I joined the REA Group mobile team back in March 2011 to help with the continuing development of their iPhone app, and after a UI uplift release for the iPhone we started working on a universal iPad app. After some hiccups along the way, we managed to deliver a brilliant looking, stable app that I’m really proud to have worked on. I’d say it’s reset the bar for iOS property apps and is streets above the competition.

The REA Mobile team is lead by Kevin O’Neill (@kevinoneill), second chaired by Luke Cunningham (@icaruswings) and backed up by Steve Hollaway, Ben Thomas, Mike Rowe, Myles Abbot, Mujtaba Hussain and myself.

Some awesome technical bits / features of the app include:

  • Custom forms (IBAForms) for advanced property searches.
  • A gorgeous custom UI including the little bits that are really hard to customise.
  • Custom map callouts are really hard to customise.
  • It’s a true universal app it has a shared underlying code base and consistent behaviour, look and feel.
  • It rotates, and it rotates like a boss. Rotate it, and see it resize itself without any of that crappy UI flickering you see elsewhere.
  • Swishy tap, pan and swipe gesture recognisers all over the place make interactions really fluid.
  • It’s damn fast with it’s own purpose built back end.
  • It’s stable. We tested the crap out of this app!
  • It caches images and searches and other things;  it also behaves nicely when errors occur.
  • It’s using the latest iOS 4+ technology and minimal amounts of old legacy code.
  • It leverages/wrangles a handful of awesome open source frameworks.
  • It sets the bar for it’s category in mobile property apps.

The iPad app "Money Shot" as we call it.

Custom callouts are one of the hard things to customise

So yeah ! If you haven’t already - check it out on iTunes -> in iTunes

'Epic refactorings' - Melbourne Cocoaheads June 2011

Luke Cunningham (@icaruswings) and I presented a talk at the June 2011 Cocoaheads meet up titled “Epic refactorings and patterns to make your code awesome!”.

Luke and Jesse's lightbulb moment

The topic was inspired by a number of design patterns we employed while developing the new iPad application. We highlighted some of shortcomings we found with UIViewController and demonstrated our end result - ViewCoordinator

The book highlighted in the presentation is Agile Software Development. Principles, Patterns, and Practices by Bob Martin. The two design patterns we highlight form the book were single responsibility and Interface segregation.

Melbourne Cocoaheads 06/2011 - Talk 2 - Luke Cunningham & Jesse Collis from Oliver Jones on Vimeo.

The slides are available on Slide Share.

Note: the video’s audio is quite average.

Attending: WWDC 2011 and Swipe Conference

Just a quick post to highlight some upcoming events I’m getting excited about.

If you’re reading this and attending WWDC or Swipe Conference then hit me up on Twitter and we’ll coordinate beers.

WWDC 2011 June 6-10 2011

First up is WWDC 2011 in San Francisco. - I didn’t go last year and this year I’m flying up along side a handful of Melbourne iOS developers from the Melbourne Cocoaheads group and the Itty Bitty Apps guys, Sean Woodhouse and Oliver Jones. There’s a Pre-WWDC catch up in Richmond/Cremorne in Melbourne on 1/6/11 being organised by Intunity and I will be attending that too.

Swipe Conference 2011

Later in the year is Swipe Conference (, September 5 - 7 in Melbourne is the next big thing for iOS Developers and looking at the line up it’s going to be a great three days. I’m hoping it brings in the iOS developers from near and far that have yet to turn up at a Cocoaheads meet - there’s a lot of developers out there.

I’m also attending TEDxSydney on the 28th of May, but since I missed out on a proper ticket I’ll be hanging out out the front all day like I did last year.

Xcode 4 Shortcuts - Melbourne Cocoaheads April 2011

Stewart Gleadow (@StewGleadow) and I did a quick presentation at Cocoaheads this month highlighting some of our favourite (or more obscure) Xcode 4 shortcuts.

The Control, Option, Shift and Command symbols

The main take away of the whole exercise for me was finally memorising the shortcut symbols. This has vastly improved my ability to remember new shortcuts. I suggest you do the same!

Stew has posted answers to some of the questions over on his blog.

Cocoaheads 04/2011 - Talk 2 - Xcode 4 Keyboad Shortcuts from Oliver Jones on Vimeo.

Is it worth supporting iOS 3 in 2011?

Now that we’re well into 2011 the question has to be asked: Is it still worth supporting iOS 3 users? There are a lot of cool new APIs and language features you can take advantage of in iOS 4 (blocks being one of them), most new work I’m involved with is targeted at iOS 4 and soon we’ll have iOS 5.

So, are you cutting off paying customers or future paying customers by requiring iOS 4.0 and above?

The tldr;

No, not really. iOS 3 numbers are in steady decline and I don’t think new or existing apps will be alienating too many active customers by requiring iOS 4+.

Since July 2010 I’ve been collecting a basic set of anonymous data from users. I collect iOS version, app version and the device type. I have recorded just over 109,000 pieces of data to date.

Quick stats

  • Only 11% of active users are running less than iOS 4.0.
  • Only 6% of active users of my main paid app Seoul City Metro are running less than iOS 4.0.

The data

Comparison of iOS versions over time

This graph includes all the data I have collected so far summed up by month and major iOS version. The decline of iOS 3 is clear here with iOS 4 accounting for 89% of all active users by March 2011.

Combined Apps iOS versions (one week)

A sample of the last week’s data split by iOS version.

iOS4 Distribution

This graph splits up the 89% pie piece from the second graph and shows the uptake of each distinct iOS 4 version. I found the iOS 4.3 update really interesting, since it was released on March 11 (only 9 days ago) and already accounts for 30% of users. (FYI: the first occurrence of iOS 4.3 was 15-01-2011) The previous version (iOS 4.2.1) is the second highest total at 55%. This means 75% of iOS4 users are quite up to date.

The same split for the iOS 3 distribution shows the latest version of non iPad iOS 3, 3.1.3 accounts for 81% of users and the version prior to that (3.1.2) accounts for 17.6%.

Paid vs. Free iOS Distribution

Here’s the difference between paying customers and non-paying customers. The results are interesting but as I expected; paying customers are more up to date than non paying customers. There are half the number of iOS 3.x users (by percentage) of my $1.99 app as there are using my free app. It makes sense that people who pay for apps keep things up to date more than your user with a phone full of free apps.