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.

Well Managed Object Contexts

Mark Aufflick, Pumptheory

Audience: Intermediate (Core Data knowledge useful, but not essential)


Prior to Mac OS X Lion, Core Data only had one concurrency model, what is now called “Thread Confinement”.  It was a lot of effort to work with this model across multiple threads, what with multiple managed object contexts, merging, etc.  Now we have three options – the original “Thread Confinement”, “Main Queue” and “Private Queue” with the latter two making heavy use of Grand Central Dispatch queues and blocks.

Things are certainly much better, but more options doesn’t make it any easier to know how to safely and efficiently implement multiple threads and avoid change conflicts and other issues that put your managed object context into an un-recoverable situation.  In this talk, Mark will discuss an approach that uses a set of simple rules to end up with a flexible Core Data application that is always thread safe, easy to maintain, and straightforward to keep your managed object context well managed using Apple’s new models and by keeping changes local to temporary managed object contexts.

Speaker Bio:

Mark Aufflick has been involved in the Apple industry since his first job in 1995 and finally put his Computer Science degree to use becoming a freelance developer in 2000.  Since then he has developed back-end, web and GUI applications for various Unix platforms, MacOS and iOS – for both corporate giants and small businesses.  Mark has presented on programming topics in fora such as Sydney University’s Web Engineering Group and CocoaHeads.  These days Mark is an iOS and Mac developer with his company Pumptheory as well as the convenor of Sydney CocoaHeads.

  130.5 MB


Will the Quick Hack become Agile Development?

Jamie Gabriel, Macquarie University

Audience: Beginner


We have all seen it before – strangely implemented and fragile Filmmaker-Pro and Access Databases, VB Scripts and Excel macros tacked onto the enterprise software providing the critical decision making data, strange software incarnations because someone in the office had a family friend or neighbour who could do it on the cheap – and a decade later that solution is still in place. Throughout the Australian university sector at least, it’s often the “quick hack” that underpins many core operations in the organisation.  And despite the push toward enterprise software and the big IT investment within many Australian universities, for a long time now the high risk “quick hack” approach has been embedded as part of the business as usual.

But is this risk being mitigated? Are the changing frameworks in which software is developed, deployed and experienced fundamentally changing the way in which developers interact and provide solutions in their organisation? And has the widespread participation in web 2.0/social-media technologies fundamentally changed the way that the non-IT folk conceptualise how IT solutions can value-add, taking it for granted that these solutions be bespoke and highly intuitive?

This talk will explore how Apple’s software development technology and mobile applications are fundamentally changing the way developers and other university staff can interact and innovate in their organisations. It will pay particular attention to the game changing nature of  “App-store model” as providing business solutions; it will examine how Apple tools are allowing software developers to play far more strategic roles in their organisations and explore the challenges this poses for reward, recognition and intellectual property.

Speaker Bio:

Jamie is the Student Administration Manager in the Faculty of Science at Macquarie University, which is responsible for managing all the student coursework related processes.  He has developed a number of software solutions to assist in this role that are now used across the campus. He also teaches and is completing a PhD in Macquarie’s Department of Music, Media and Cultural Studies.  Part of his PhD will be involve developing an iPad application that can be utilised as a tool for high level music analysis and teaching music improvisation.

Introducing The HTML5 Canvas Element

Thomas Verbeek, University of Otago

Audience: Intermediate – assumes basic knowledge of HTML & Javascript


HTML5 introduced the canvas element to allow dynamic scriptable rendering of 2D shapes and images. The canvas element defines a drawing region, and Javascript is deployed to access drawing functions and 2D APIs to dynamically generate graphics. The presentation will be a beginners guide through the Canvas element in HTML5.  It will cover the basics of the element (what it is, how it is supported), the syntax for defining and interacting with the canvas element (html syntax, coordinate system, Javascript), some simple drawing techniques (strokes, fill, shapes, text), more practical manipulations (gradients, img elements, procedural drawing), and examples of it’s implementation in the industry (canvas-based applications, games and tools).

Speaker Bio:

Thomas is a Masters student at University of Otago. His research is vested in mathematics for texture generation, particularly algorithms for solid noise synthesis. He has taught 100 and 200 level web development courses as a lab demonstrator since 2010.  Outside the University, he works as a software developer and 3D artist for photorealistic games and simulation company Areo (www.areograph.com), and also does contract iOS development in Dunedin.

Thomas is a recipient of the prestigious AUC Student Developer Scholarship for 2010-2011. He completed a Summer Bursary project in 2009-2010 for Otago University which has been featured at various conferences, and has created 3D animations and 3D technical works that have been submitted to Siggraph and various other international festivals/conferences. His work with Areo has won United Nations World Summit Awards in 2009 and 2011 for emergent technology.