Talks
Every now and again I offer to give a talk on a subject that interests me – not because I’m overly capable in that area, but because it acts as forced motivation to investigate a certain technology. Below is a summary of each talk and links to slides and video if available. Hopefully it’s useful to someone.
Evolving Mobile Architectures
At the Swipe iOS Conference in Sydney, September 2012, Martin Fowler and I gave a talk on evolving mobile architectures. We addressed the fact that mobile app development is maturing, and we’re coming across patterns and common approaches for building complex applications. We talked about some of the issues with cross platform mobile development, some approaches for reuse across platforms using HTML/CSS/Javascript, building good mobile APIs to simplify your apps, and the testing of native and hybrid apps. I’ve linked the slides below. The video of the talk should be available from the Swipe conference website in due course.
Mobile: more than just an app
In August 2012, my colleague from Thoughtworks, Jonny Schneider, and I gave a series of talks around Australia as part of the Thoughtworks Quarterly Technology Briefing. The topic is Mobile: more than just an app. The talk covers a broad range of topics from trends in mobile usage, mobile in the developing world, mobile strategy and some approaches for mobile app development. There is a video of the talk on the Thoughtworks QTB page, and I’ve linked the slides below.
Building Mobile Teams and Products
In May 2012, I presented with Rich Durnall at the Agile Australia conference in Melbourne, on the topic Building a mobile team and getting a product to market. We presented our experience building apps with REA Group (who run the popular realestate.com.au website). The main focus was on how agile software development fits with mobile, with an emphasis on small, lean teams that iterate and learn quickly. The slides don’t have a lot of detail, but I’ve linked them below.
iOS Unit Testing
I presented a summary of unit testing for iOS apps at the Melbourne Cocoaheads meetup in November, 2011. It was part rambling introduction to test driven development, part example of certain types of unit tests for iOS. Unfortunately, I had to follow up an talk from Chris Miles about augmented reality, so talking about the dry topic of unit testing wasn’t easy. I’ve posted the slides and a video of the talk below. The slides went a bit funny in the conversion because I used a custom font.
Unit testing on iOS – Stewart Gleadow – Melbourne Cocoaheads November 2011 from Oliver Jones on Vimeo.
Agile iOS
Presented at the Swipe Conference in Melbourne under the topic of Agile iOS but really just my ramblings about iOS development in large teams. The talk was recorded, and both the slides and video are below. I talked about what I think are the pitfalls of iOS development in large teams, how you might go about organising these projects, how you might approach automated testing suites and emphasised the importance of design being integrated for mobile development teams.
iOS development in large teams – Stewart Gleadow from Swipe Conference on Vimeo.
Frank iOS Testing
Frank is an open source UI testing tool for native iOS applications. I gave a talk on using Frank for iOS testing at various tech groups in Australia, including the Melbourne Cocoaheads group. The presentation included the reasoning behind why we need tests, a summary of existing UI testing tools for iOS and why I think Frank is a good solution. It was recorded, so both the slides and the video are linked below.
Melbourne Cocoaheads 2/2011 - Stewart Gleadow presents Frank - Automated iOS User Interface Testing from Oliver Jones on Vimeo.
iOS View Coordinators
Many iOS applications just put all their code in UIViewController’s, including any domain models and view logic. The coordinator pattern was designed as a way of breaking these controllers up into smaller pieces, still using the MVC pattern. New versions of the iOS SDK are also taking steps to address this issue, but until they are released I think these coordinators are a good approach for having smaller controllers with a single responsibility and clear dependencies. This presentation was given at the Melbourne design patterns group.
Xcode 4 Keyboard Shortcuts
A fellow Melbourne iOS developer, Jesse Collis, and I gave a talk at Melbourne Cocoaheads on keyboard shortcuts in Xcode 4, which is a pretty dry topic but turned out to be quite a fun presentation. It was prepared at the last minute at a time when our iOS team was moving from Xcode version 3 to 4, and noticing that many of the shortcuts had changed.
Cocoaheads 04/2011 - Talk 2 - Xcode 4 Keyboad Shortcuts from Oliver Jones on Vimeo.
iOS App Case Study
Jesse Collis and I teamed up to do a couple of guest lectures at RMIT in their iOS programming course. We focused on a case study building a real world iOS application from scratch – well, a cut down and simplified version at least. The application was a simple custom table view driving through to a detail screen, and fetching data from a remote JSON API.
The source code of the application is up on my github account under the project property-search-sample. The source code for the backend server was written in Ruby using Sinatra, and is also on my github page under the property-search-server project. The slides are on my slideshare account and linked below.
Cocoa Design Patterns
Objective C is heavily influenced by Smalltalk. I figure whenever you read about anything new in the software community, the Smalltalk guys were doing it 20 years ago or more. In this talk, I decided to look a little bit at the history of Objective C, the language and the runtime, and a few common design patterns in the iOS frameworks.
Beginning iPhone Development
This is a talk I gave after I had been doing iPhone development for about 6 weeks. It was a reflection on the things I had learnt and the basics of the language, but not much more.