How to make iPhone apps and influence people

Musings on the iOS development process

Introducing JCTiledScrollView

JCTiledScrollView

To coincide with my February 2012 Cocoaheads presentation I have open sourced a component named JCTiledScrollView.

JCTiledScrollView is a set of classes that wrap UIScrollView and CATiledLayer. The project to simplify displaying large images and PDFs at multiple zoom scales. As the project evolves it's moving towards becoming a fully featured custom map view replacement with gestures and annotations.

Check out JCTiledScrollView on github.

CATiledLayer - Melbourne Cocoaheads February 2012

I put my hand up to do a talk at the February 2012 Melbourne Cocoaheads meet up on CATiledLayer. It was a great start to the year with an attendance of about 80 people at RMIT in the CBD.

My presentation was a reflection on my own experiences implementing a CATiledLayer backed UIScrollView, highlighting some of finer points of that didn't seem immediately obvious. During the presentation I introduced the a new open source project JCTiledScrollView that hopes to be a best case implementation of a CATiledLayer backed scroll view.

The keynote presentation and presentation outline are available on github. A video of the presentation is up on Vimeo.

Photo by Jeff Tan-Ang

CATiled Layer - Jesse Collis from Melbourne Cocoaheads on Vimeo.

Realestate.com.au iPad app goes live

It's been a number of months and some incredibly late nights in the making but the new realestate.com.a 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 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

'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 realestate.com.au 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.