UWAlk – Your University in Your Pocket

Chris McDonald, Gareth Davies, and Ahmed Khalaf, University of Western Australia

Audience: Beginner/Intermediate iOS Developer


This presentation discusses and reflects on the design and development of UWAlk, our native iPhone application to assist new students and on-campus visitors to locate buildings, people, and events at The University of Western Australia.  Our project emerged from a coursework assignment at UWA, grew through an Honours and a Masters student projects, and has become a university supported tool.

The goal of our application is to deliver most required information on-the-run, within 30 seconds, which often precludes the acquisition of a WiFi connection.  As our Objective-C development proceeded, our small team focused on two important aspects – the development of a framework to consistently support an “unlimited” number of modules, and the correct representation and location of both the application’s static and dynamic data.

To overcome some limitations of iOS, we have developed our own tiled mapping interface, providing zooming and panning, configurable pins and callouts.  Integral to our mapping is our route-planner, which determines and displays routes between a user’s current location and their next lecture, meeting, or any point on campus, door-to-door, honouring requests for the route to be maximally undercover, well-lit, or wheelchair accessible. Our mapping and route-planner are accessible from any module, such as timetabling and the staff directory.

This presentation will reflect on which iOS features worked well for our project, and which introduced challenges that we had to work around.

Speaker Bio:

Chris currently holds the appointments of associate professor in the School of Computer Science & Software Engineering at The University of Western Australia and adjunct associate professor in the Department of Computer Science at Dartmouth College, New Hampshire.

He has recently taught in the areas of computer networking; security & privacy; mobile & wireless computing (which includes projects in iPhone development); software design & implementation; and operating systems at The University of Western Australia and Dartmouth College. Together with these areas, his research interests include wireless, ad-hoc, & mobile networking; network simulation; and programming language implementation.

His technical expertise includes developing with and teaching Unix for 25+ years, 15+ years with Linux, 8 years with OS-X, and 3 years with iOS, with continued (almost daily) application of C, Objective-C, and scripting languages, specific to networking, security, and language implementation (i.e. not your average academic).

Over-the-air Distribution for iOS

Tony Wang, Queensland University of Technology

Audience: Intermediate


If you have tried distributing iOS apps to your client overseas or sending your app to your beta testers, you will know the distribution process can be very troublesome for both iOS developers and users. This session will help you solve this problem and make distribution process much easier. Users will be able to install your app on their device while they are walking or on the bus with just a few clicks.

This talk will cover simple ways get device UDIDs, easy ways for user to download your app via 3G or WiFi, and existing services you can use to help you distribute, such as Testflight.  (It does not cover distribution via App store or enterprise in-house distribution).  It will change the way you distribute iOS apps… all over again.

Speaker Bio:

Tony is a PhD Student from the Queensland University of Technology focusing on context-aware technologies on mobile devices. His iOS development journey began when he joined the QUT Mobile Innovation Lab 3 years ago. Since then he has taught iOS app development at QUT, developed several apps for industry partners at the lab under the supervision of Dian Tjondronegoro, and has developed several apps on the side with Jimmy Ti and Zac Fitz-Walter.

Staying Open

Paris Buttfield-Addison & Chris Neugebauer, University of Tasmania

Audience: All


The Apple iOS environment has developed a reputation for being a closed ecosystem, unwelcoming to those who also want to participate in open source development (license complications surrounding VLC being a recent example). This reputation is undeserved and the use of open source software in iOS development is flourishing—numerous useful frameworks, tools, applications and libraries are available under a variety of open source licenses.

Using open source code in an iOS project, whilst maintaining healthy links to open source projects, can help improve the open source world while helping you build a better iOS app. This session will demonstrate how best to navigate the open source world when building an app for Apple’s mobile platform, how to contribute back to the community, as well as how to understand your license obligations in the context of distribution via the app store (and avoid the VLC debacle).

  • Learn the best licenses to use when creating open source iOS code
  • Learn how to submit to the App Store while maintaining your project’s open source status without incurring the wrath of Apple
  • Learn about the best open source iOS libraries and frameworks
  • Find out how to apply open source tools to iOS development
  • This session is a highly informative discussion of iOS development from an open source perspective. It is not a tutorial and participants will not need a laptop to enjoy its meaty goodness (vegetarians welcome too).

Speaker Bios:

Paris is a PhD Student at the University of Tasmania (HCI and Information Management), and founder of Secret Lab.  He is coauthor of ‘iPhone and iPad Game Development for Dummies’, and ‘Unity Mobile Game Development for Dummies’ (out in 2011).  Paris is currently working on Meebo Apps for iPhone, Android and BlackBerry, and tie-in games for the ‘Tiki Bar TV’ and ‘Heroes of the North’ podcasts.

Christopher is a semi-professional nerd, and recent first-class Honours graduate in Computer Science of the University of Tasmania. Previously an intern at Google in Sydney, he currently works in mobile and web development for Secret Lab, a boutique development studio based in Hobart.  Since he likes it when developers share their experiences, he has twice organised application development miniconfs at Linux.conf.au (in 2010 and 2011).

When not coding, Christopher can be found taking long, artificially-lit walks down fake beaches, arguing the benefits of Python to anyone who won’t listen, and watching other people drinking beer. He also enjoys presenting on Open Source development at Mobile development conferences, and presenting on Mobile development at Open Source conferences.

Feature Presentation: Creating Great Apps

Russell Ivanovic, Shifty Jelly

Everybody has ideas for applications they’d like to see built. With the rise of mobile development and the ease with which apps can now be distributed worldwide, the opportunity exists to do so. But what makes a great application? How hard is it to be an independent developer? Just how do you go about taking an idea, and turning it into a successful product? Through real world examples and amusing anecdotes Russell will explain all this and more. Who knows, you may even learn something.

Speaker Bio:

Russell co-founded Shifty Jelly 3 years ago from his couch, and since then they’ve had hits like Pocket Weather AU, which if statistics are to believed resides on 1 in 7 iPhones in Australia. Russell keeps changing that number every day, based on new data and the weather outside, so who knows, it might be 1 in 5 by the time you read this.


Using EventKit in iOS

Neil Ang, Victoria University

Audience: Beginner-Intermediate


An introduction to using the EventKit and EventKitUI frameworks in your iOS application. This workshop will provide a brief overview of EventKit, and a code-along demonstration on accessing a users calendar information on an iOS device, as well as inserting events into a calendar which have been sourced from a remote server.

Speaker Bio:

Neil works for Victoria University as a Web and iOS developer, and developed the VU iPhone app. His role involves expanding and maintaining that app, as well as the main university website.  In the past year he has released open source iOS frameworks, Mac projects and Safari Extensions (see https://github.com/neilang). Neil is also a postgraduate student at RMIT, where he is completing a Masters in Computer Science.

Making Mobile Web Services that Don’t Suck

Chris Neugebauer, University of Tasmania

Audience: Intermediate


One of the biggest benefits of the mobile app revolution is the ability to present information from the internet in new and exciting ways. Behind every app that relies on online data is an online service which, if implemented well, will make it super-easy to let your app access everything it needs.  Unfortunately, not every web service does this well.

In this presentation, we’ll be looking into design principles for web APIs with a focus on making things not suck for mobile app developers.  A particular focus will be on making services that are robust in the face of unreliable network access.  There’ll also be some practical examples presented in the form of Python code, but knowledge of Python is not needed to appreciate this talk.

Speaker Bio:

Christopher is a semi-professional nerd, and recent first-class Honours graduate in Computer Science of the University of Tasmania. Previously an intern at Google in Sydney, he currently works in mobile and web development for Secret Lab, a boutique development studio based in Hobart.  Since he likes it when developers share their experiences, he has twice organised application development miniconfs at Linux.conf.au (in 2010 and 2011).

When not coding, Christopher can be found taking long, artificially-lit walks down fake beaches, arguing the benefits of Python to anyone who won’t listen, and watching other people drinking beer. He also enjoys presenting on Open Source development at Mobile development conferences, and presenting on Mobile development at Open Source conferences.

Cloudy with a Chance of OAuth

Nic Wittison, University of Tasmania

Audience: Intermediate


The time for the simple login is far behind us – web services today demand a more secure and reusable authentication method.  But with great security comes even greater obscure login flows.  OAuth is an open standard for authorising yourself to a service that provides a flexible way to interact among multiple services. This talk outlines what OAuth is, how it works and how to easily integrate it into your iOS app.  It will cover the process of connecting to some of the more popular social network services and even show you how to connect to a custom OAuth service so you can get to the data you need, hassle free.


Speaker Bio:

Having recently completed his Undergraduate Bachelor of Science at the University of Tasmania in Computing and Psychology, Nic is in the process of completing a Honours degree in the field of Human Computer Interaction. In his spare time he develops applications for iOS and works for Secret Lab as a Mobile Software Engineer.  He currently holds two Apple related scholarships with one being the prestigious AUC Student Developer Scholarship.

The Power of Delegates

Neil Gladwin, Queensland University of Technology

Audience: Advanced


In Objective-C, memory management is often seen as an annoyance and delegates are misunderstood and rarely used, yet delegates are one of the most powerful advantages Objective-C has over many other programming languages.  In this presentation Neil will walk you through the basics of delegates and how they work, and then show you how to build upon the basics so that you can couple their full potential with advanced memory management to get the most use out of the smallest amount of code in your Cocoa Application.  Although this will be demonstrated in the context of making secure network connections to custom authentication systems, the concepts in this presentation can be applied anywhere.

Speaker Bio:

Neil Gladwin is a Web Systems Developer at Queensland University of Technology. One of Neil’s key projects has been the development of QUT’s iPhone App, which has been used by Apple in University demonstrations.  He has expertise in MapKit, security and Web Services, which are key components of QUT iPhone Apps.  His work with QUT Mobile, other Apps in use at the university and iOS development helped Neil secure a place at WWDC 2010 and 2011 via the AUC scholarship program.  Neil’s expertise outside iOS includes web development, PHP and Java and he has a Bachelor of Information Technology from Griffith University.

Porting Desktop OpenGL to iOS

Dr David Barnes, Monash University

Audience: Intermediate to Advanced (Assumes experience in OSX or Unix and iOS programming.  Experience with desktop OpenGL highly recommended)


The iOS platform supports contemporary, best-practice 3-d graphics programming using the ubiquitous OpenGL API.  The latest iOS hardware – iPad2 – delivers astonishing rendering throughput for both fixed-function (OpenGL ES 1.1) and fully-programmable (OpenGL ES 2.0) pipelines.

While many iOS OpenGL ES apps are written from scratch, it is feasible and often reasonably straightforward to migrate existing desktop OpenGL code to the iOS platform, and proceed to build desktop and iOS products from a single code tree. In this talk, we will present and discuss:

  • an overview and comparison of the desktop (OpenGL + GLUT) and iOS (OpenGL ES + CocoaTouch) paradigms for delivering 3-d graphics in the model-view-controller world;
  • a basic recipe for restructuring desktop OpenGL code to enable co-development for the iOS platform (fixed-function pipeline);
  • a checklist of *code* changes necessitated by the move from OpenGL to OpenGL ES;
  • a checklist of *code* changes needed to migrate GLUT controllers to CocoaTouch controllers (e.g. handling touch events instead of mouse events); and
  • a checklist of *paradigm* changes necessitated by the change from the desktop platform to the iOS (touch) platform (e.g. navigating the 3-d scene).

If time permits, a brief commentary on transitioning from the fixed-function pipeline (OpenGL ES 1.1) to the fully-programmable pipeline in OpenGL ES 2.0 will be made.  The talk will draw from the presenter’s experience in migrating a high-level desktop OpenGL library (S2PLOT) to the iOS platform, and numerous code snippets will be shown and discussed.

Speaker Bio:

Dr David Barnes, has recently moved from the Centre for Astrophysics and Supercomputing (at Swinburne University of Technology) to Monash Biomedical Imaging (MBI) at Monash University.

At Swinburne, David was senior research fellow in visualisation and astronomy, and was responsible for developing and supporting scientific visualisation within the Centre.  David’s major accomplishments at Swinburne are incorporated in the latest/forthcoming release of the S2PLOT library – a high-level API for interactive, 3-d, scientific graphics on Linux, Mac OS X and iOS platforms. S2PLOT supports stereoscopic display devices, sophisticated user input (e.g. 3-d handles; remote control via iOS devices), and can create 3-d PDF figures.  S2PLOT version 3.0 will be Free Software, released under the GPL, and will include partial support for deployment on iOS.

David also lead the adoption of Graphics Processing Units (GPUs) for science and high-performance computing at Swinburne. Using both the NVIDIA CUDA and OpenCL language extensions, David and his research team have published world-best results in GPU computing including the realtime ~50fps volume rendering of a 220GB 3-d image using a GPU-equipped HPC facility (Hassan et al.,2011), desktop teraflop computing for gravitational lensing calculations (Thomson et al., 2010) and the ~25x speed-up of dedispersion code to enable real-time transient detection at the Parkes Radiotelescope (Barsdell et al., 2011).

At Swinburne, David developed and lectured the subject “HIT 4326 Data Visualisation” in 2011.  At Monash Biomedical Imaging, David will be Computational Imaging Scientist, supporting visualisation-led discovery for e.g. neuroscience, and high-performance GPU-based image analysis.

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

Andrew Dekker & Justin Marrington, University of Queensland

Audience: intermediate/advanced


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.