How to make iPhone Apps and Influence People Musings on the iPhone development process

19Aug/116

Realestate.com.au iPad app goes live!

It's been a number of months and some incredibly late nights in the making but the Realestate.com.au iPad App finally went live in the iTunes 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 Melbourne Cocoaheads meeting at the Intunity offices in Cremorne and the response from probably the largest (70+) crowd ever to attend a cocoaheads was really exciting.

I joined the REA Mobile team back in March 2011 to help with the contenting development of their iPhone app, and after a UI uplift release for the iPhone we started working on the 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 its 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 (it has it's own purpose built back end).
  • It's stable. We tested the f*ck out of this app... and the competitors...
  • 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 (there's always some right?)
  • It leverages/wrangles a handful of awesome open source frameworks.
  • It sets the bar for it's category in mobile property apps.

The realestate.com.au 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 -> Realestate.com.au in iTunes

24Jun/111

WWDC 2011 Video recommendations (Updated)

Update 26/6/11 : I've fixed a couple of errors, and updated the formatting of the post below.

WWDC Videos are out this morning! Here's my very quick 'Hit List' based on the sessions I attended and the sessions I stared in the WWDC 2011 app on my iPad.

Monday - Kickoff Sessions

601 - Apple Platforms Kickoff

300 - Developer Tools Kickoff

400 - Graphics, Media and Games Kickoff

Tuesday

100 - What's New in Cocoa Touch

102 - Implementing UIViewController Containment ** This is probably the most interesting thing in iOS 5 from my point of view.

101 - What's new in Cocoa

500 - What's new in Core Location ** Presented by a friend of mine, lots of people were excited by the new stuff here

104 - Advanced ScrollView Techniques ** The ScrollView talks are always great

501 - iCloud Storage Overview **

105 - Polishing your App: Tips and Tricks to Improve Responsiveness and Performance

303 - What's New in Core Data on iOS ** There was some cool stuff in here.

203 - Introducing App Sandbox  (Lion)

323 - Introducing Automatic Reference Counting (ARC) **

Wednesday

111 - Visualising Information Geographically with MapKit

306 - Maximising Productivity in Xcode 4

308 - Blocks and Grand Central Dispatch in Practice ** The line for this was the longest all week

307 - Moving to Apple LLVM compiler

310 - What's new in Instruments

116 - Storing Documents in iCloud using iOS 5 ** Not exciting for me, but people like the concept

Thursday

208 - Securing Application Data

313 - Mastering Schemes in Xcode 4

210 - Mastering Grand Central Dispatch

121 - Understanding UIKit Rendering

124 - Twitter Integration125 - UITableView Changes, Tips & Tricks

316 - LLVM Technologies in Depth

422 - Using Core Image on iOS & Mac OS X **

129 - Practical Drawing for iOS Developers **

318 - iOS Performance in Depth

Friday

134 - Writing Easy-To-Change Code: Your second most important goal as a developer

322 - Objective C Advancements In-Depth

22May/110

I’m attending: WWDC 2011 (SFO) and Swipe Conference (MEL)

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

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

WWDC 2011 June 6-10 2011First up is WWDC 2011 in San Francisco and it's going to be awesome - 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 Woodhouseand Oliver Jones. There's a Pre-WWDC catch up in Richmond/Cremorne in Melbourne on 1/6/11 being organised by the Intunity and I will be attending that too.

Swipe Conference Melbourne Sept 5 and 6, 2011

Later in the year is Swipe Conference (swipeconference.com.au@swipeconf), September 5 - 7 in Melbourne is the next big thing for iOS Devs and looking at the line up it's going to be an awesome 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 devs 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.

19Apr/110

Xcode4 Shortcuts – Melbourne Cocoaheads, April 2011

Stewart Gleadow (@StewGleadow) from Thoughtworks and I did a quick talk at the Melbourne Cocoaheads meetup this month quickly highlighting some of our favourite (or more obscure) Xcode 4 shortcuts.

The main take away of the whole exercise for me was finally memorising the shortcut symbols, overall this has improved the rate I remember new shortcuts greatly. I suggest you do the same thing!

The Control, Option, Shift and Command symbols

Update: Video and slides are now available below! and on the Melbourne Cocoaheads website.

Cocoaheads 04/2011 - Talk 2 - Xcode 4 Keyboad Shortcuts via Oliver Jones

20Mar/116

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 devices? There's a lot of cool APIs and language features you can take advantage of in iOS 4 (blocks - woo!), most new work I'm involved is targeted at iOS 4 and soon we'll have iOS 5 - but are you cutting off paying customers or future paying customers by requiring iOS 4.0 and above?

My short answer: 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+.

Quick Stats

  • Only 11% of my 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

Now, lets have a look at some of the data I've compiled. Hope you enjoyed the graphs!

Comparison of iOS versions over timeThis first 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.

The second graph shows a sample of the last week's data split by iOS version.

The third graph splits up the 89% pie piece from graph 2 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 actually quite up to date!

The same graph for the iOS 3 distribution (not included) 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%.

Graph four looks at 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.

P.S. I was inspired to pull all these details together today when I was noticed that my blog post about Delhi City Metro's iOS usage statistics had been linked to on Stack Overflow . I hope you find this all interesting.

P.P.S. Since July 2010 I have been collecting a basic set of anonymous data from users of my apps on launch. I collect iOS version, app version, unique device ID and the device type, I have recorded just over 109,000 pieces of data so far.

Tagged as: , , 6 Comments
22Feb/112

A simple bash script to automatically create your iOS Icon.png files

Various iOS Icons Sizes The other week at my weekly co-working catchup in the city I was made aware of the very handy sips(1) command line tool. Sips is short for Scriptable Image Processing system and is more or less a command line front end to Apple's image processing abilities.

My problem that day was "How can I automatically resize my Icon.png artwork" and all of a sudden with the knowledge of sips' existence it was easy to write this small bash script to rename and resize my large 512x512 pixel artwork down to the various names and sizes required by iOS. (Thanks Mark!)

The script is simple; give it an input PNG image at least 512x512 pixels (multiple of 512 will work too) and it will create your iTunesArtwork, Icon.png, Icon@2x.png, Icon-Small.png, Icon-Small@2x.png, Icon-Small-50.png and Icon-72.png file nicely. These sizes are all outlined in the "Application Icons" section of the iOS Application Programming Guide, and adding more when necessary is obvious.

This script should save you at least a dollar on the similar GUI apps on the app store that do the same thing...

I've made a gist on github too.

10Dec/100

12 Months on the App Store

It was December 9, 2009 that Seoul City Metro 1.0 was approved for sale on the App Store after almost the full 14 days waiting in the approval queue. (See original blog post here)

The last twelve months have gone so fast, and I can't say I've managed to get as many apps published, or do as much marketing or promotion as I thought I could - but what I have managed to achieve has been a lot of fun and something I'm really proud of.

Here's some statistics from December 9 2009 - December 9  2010

Apps: 5

Sales: 36,965 (including free apps)

Upgrades : 20,522

Revenue (USD approx) : $ 4500

Coming up in 2011 I'm introducing iAds/AdMob ads into the mix, and hoping to expand to more cities, explore some marketing options and upgrade the citymetroapps.com website.

11Nov/100

Presenting at Melbourne Cocoaheads Tonight

I'm presenting a talk tonight at Melbourne Cocoaheads (Google Group).

The topic is Apple's iAd framework, including how to add them to your project, a handful of things to remember about using iAds and an overview my first hand experiences with Seoul City Metro as an iAd supported app on the App Store.

You can find the source code for the demo I'm presenting over at git hub and the slides are below. The demo code (JCAdSupportedNavController) is an open source project I plan on updating in coming weeks with more advertising providers.

25Oct/101

Upcoming things

I'll be heading to the Android Developer Lab in Sydney on November 5th, and Mobile Monday Melbourne the following Monday November 8th.

It'd be cool to catch up with anyone else who's going to either.

Update

I can now offically add TEDxMelbourne on Saturday November 20, to this list.

20Oct/100

Heading to #TEDxCanberra on Saturday Oct 23rd

Just a heads up that I will be attending TEDx Canberra this weekend! After forgetting to signup properly to TEDx Sydney and having never published a blog post on it I will be making a much more concentrated effort this time around!

Switch to our mobile site