Extending Existing Applications – Good Practices for Writing APIs to Interact With New iOS Applications

Andrew Dekker & Justin Marrington, University of Queensland

Audience: intermediate/advanced

Abstract:

This talk focuses on extending existing services – such as web applications and other platforms – through iOS applications. In particular, we focus on the role of creating new iOS-friendly APIs for your web applications, rather than the common method of only using existing web APIs such as Twitter and Facebook. Creating your own API allows you to create mobile applications to leverage your own proprietary data and systems.

The presentation will provide a rapid introduction to the history of APIs, as well as current best practices.  We will cover techniques such as SOAP and OAUTH/XAUTH, but with a particular focus on REST, and discuss the process and challenges of writing APIs.  We will also discuss utilizing existing APIs (specifically Dropbox, Twitter in iOS 5, and iCloud), when using these services are appropriate, and strategies for integrating these APIs with your custom APIs.  We will run through a number of services that we’ve worked on personally – OZOM, Ensense, Nnub, and BigWhoop – and discuss the process which we followed to extend these services with mobile applications.

Speaker Bios:

Andrew Dekker is a researcher at the University of Queensland within the Ubiquitous Computing and Interaction Design research teams.  He is currently working on his PhD, which involves an iterative interaction design investigation into how communication channels are used by designers and clients within industry design firms, and is interested in how communication tools can be better designed to support designer/client interaction within SMEs.  His background is in a variety of areas, including physical/tangible/ubiquitous computing, game design, multimedia design, interaction design and social software design.  Andrew has a strong interest in mobile development and design, in particular the role in which context and environment plays when designing rich and engaging user experiences.

Justin Marrington is an Honours student in Information Technology and Multimedia Design at University of Queensland, focused on interaction design and mobile application design and development. He has been obsessed with Mac OS and Unix development since getting his first Mac in 2006, and more recently with iOS development as a practical way of bringing the dreams and goals of ubiquitous computing to the rest of the world.  Justin has released one app in the App Store – a tool for discovering socially-generated running and cycling routes in your local area – and several other ad-hoc apps for use in education and the arts. Justin is particularly interested in location-based and context-aware technology, and in integrating ubiquitous tech such as iPhone applications with the web at large.