The 2010 conference was held at Rydges Melbourne on September 28-29, 2010.
This mark indicates sessions for which a recording is available. Click a session title to see more details about that talk and the speaker, and to access the media download links.
Feature Presentation: André Pang
Pixar
After being distracted with the underground demoscene and music, André studied Computing Science & Psychology at the University of New South Wales in his home town. There, he found his love for coding, functional programming languages, open source, Linux, and learning about what makes people tick. In 2002, André discovered Mac OS X 10.2 and Cocoa, fell in love with Apple again, and finished university to become the Mac lead at a number of projects such as the CSIRO’s Annodex (now reinvigorated as part of WebM support in Firefox 4), and the Academy Award-nominated cineSync at Rising Sun Research. He led a nomadic lifestyle in Sydney and the UK at Realmac Software working on the wonderful RapidWeaver and LittleSnapper applications, before moving to San Francisco to fulfil a childhood dream working for Pixar Animation Studios.
Feature Presentation: Becoming an Independent Mac and iPhone Software Developer
Matt Gallagher
Matt Gallagher has been a professional Mac developer for the last 5 years. Initially working on smaller business applications for corporate customers, the release of the iPhone led to a career developing entertainment and media applications both under contract and independently, including the streaming media app StreamToMe. Matt is possibly best known in the development community for the blog CocoaWithLove which has shared Cocoa Mac and iPhone programming tips (almost) every week for the last two and a half years.
Push Notifications – Device, Protocol and Server
Mark Aufflick, Pumptheory
Audience: Intermediate
Abstract:
Apple Push Notifications are an integral part of many applications, from games like “Words With Friends” to VOIP call notification, but for the non-expert developer they can be a source of mystery. Apple’s “Local and Push Notification Programming Guide” provides details of the binary protocol, SSL certificates and other details which are hardly beginner material. Additionally the guide makes little mention of correct UTF encoding and other small details which create more difficulty for those unfamiliar with data encodings etc. And finally a persistent server is required which can handle the protocols. This talk will take attendees through: an understanding of the service overall; the protocol and its limitations; responding to notifications in the iOS application; approaches to implementing a server in Perl, Python or Ruby.
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.
An Introduction to OpenGL
Andrew Bennett, University of Tasmania
Audience: Beginner
Abstract:
OpenGL is at the centre of MacOSX – it is the backbone for practically every graphics framework you see on this platform. It is invaluable to have a solid understanding of OpenGL when coding or performance tuning a game or a graphics intensive app on MacOSX and the iPhone. This presentation will briefly introduce the ideas central to OpenGL and show how to integrate these into your own Cocoa apps. It is aimed at novice coders, or those new to OpenGL, but will quickly move from the underlying principles behind OpenGL to an overview of advanced features and what can be achieved with OpenGL on MacOSX.
Speaker Bio:
Andrew is a University of Tasmania student currently finishing a combined Computing and Science Degree, majoring in Mathematics. Andrew has several years of experience coding and working with many low level MacOSX frameworks. He is near to finishing a 2 year AUC Student Developer Scholarship focusing on Artificial Intelligence in Education.
Computation on iPhone/iPad
Alex Berry, University of Tasmania
Audience: Intermediate to Advanced
Abstract:
Apple mobile platforms are increasingly being used for computational tasks such as simulation and realtime calculation tasks. This talk will focus on how to make efficient use of the iPhone and iPad processors, and on techniques for tweaking the performance of existing code. We’ll look at how Apple’s mobile processors differ from desktop processors, the performance characteristics of Objective C data processing on mobile, and go through real-world examples of how this knowledge can be critical to deliver a performant data-driven app.
Speaker Bio:
Alex Berry is a recent UTAS Science Graduate and Mobile Engineer currently working for Secret Lab. In 2009 he led a team to the ACM International Collegiate Programming Competition World Finals in Stockholm, Sweden, and has extensive experience with algorithms, machine learning, and Japanese. His favourite colour is purple.
Failure Is Not An Option
Paris Buttfield-Addison, University of Tasmania
Audience: All
Abstract:
Software usability, UX, and intuitive design are not optional components when building software. Whether you’re making a game,building a large social app for a client, or building internal tools for your company or University – you always need to think about making your apps intuitive, discoverable, and guessable. You also need to make sure your app responds intuitively to when the user makes a mistake. This session covers making mistakes impossible in your apps, and surveys common design pitfalls and solutions.
Speaker Bio:
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.
Designing for Touch & Multi-touch
Paris Buttfield-Addison & Jon Manning, University of Tasmania
Audience: Beginner to intermediate
Abstract:
Touch and multi-touch interfaces are clearly the future of iOS App user interaction. Creating a compelling iOS App goes way beyond simply porting a point-and-click interface and substituting taps for clicks. Learn the design patterns, pitfalls and opportunities that touch and multi-touch UIs present to App design. This session will be a combination of light theoretical discussion on the background of touch and multi-touch interfaces, as well as a selection of practical examples and problems solved in the real world of touch and multi-touch user interface design and user experience.
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.
Jon is a wearer of many hats. He’s a PhD student at the University of Tasmania, a mobile software engineer, a product strategist, and a founding partner at Secret Lab, where he conceives, designs, builds and agonizes over iPhone and iPad applications. After receiving both a Developer Seeding Grant and a Student Developer Scholarship from the AUC, Jon ended up a regular traveller to Silicon Valley, where he consults for various clients, delivers training courses, and writes books. Jon’s first book, iPhone and iPad Game Development for Dummies, is co-authored with fellow Secret Lab founder Paris Buttfield-Addison and Neal Goldstein. Jon also sits on the board of the Australian Computer Society, and spends far too much time listening to audiobooks. His hatter of choice is the Berkeley Hat Company, and when he’s not otherwise busy, he fights crime and writes biographies in the third person.
Campus Navigation using Custom Maps
Kyle Buttress, Griffith University
Audience: Intermediate/Advanced
Abstract:
While the ability to use Google maps in built directly into the SDK for iOS, the level of details for navigation through our specific campus’s was not acceptable for our needs. With the use of our facilities maps and Core Location we have been able to develop a simple user navigation application for use on campus. The application shows your current location and the location of your destination, additional information includes approximate distance to destination and directional arrows.
This presentation will show some of the systems and methods we used to place reasonably accurate location markers on custom maps, using triangulation and pixel to GPS point conversions. The application uses UIScrollView and Core Location, on top of other core iOS API’s.
Speaker Bio:
Kyle is a Mobile device Technologist and iPhone/iPad developer at Griffith University, and is responsible for development and maintenance of the University’s in house mobile applications.
Not Lego: Doing Everything with Blocks and Grand Central Dispatch
Josh Deprez, University of Tasmania
Audience: Beginner to Intermediate
Abstract:
Blocks and GCD were introduced in Mac OS X 10.6 Snow Leopard and recently iOS 4. This talk will show how blocks can make many common coding tasks simpler and more streamlined, and how blocks and GCD can be used to parallelise your existing code simply and efficiently.
Speaker Bio:
Josh is currently undertaking a PhD in abstract maths at the University of Tasmania. Late at night, he writes iPhone apps and games in conjunction with Secret Lab. During the day he also writes business-oriented middleware for the Federal Group. He’s been known to play the trombone, sing in a choir, and look for true love.
OpenCL Fundamentals and Advanced OpenCL Techniques
Derek Gerstmann, University Of Western Australia
Audience: Advanced
Abstract:
OpenCL* (Open Computing Language) is an open, royalty-free, cross-platform standard specifically designed for general purpose parallel programming of heterogeneous systems, including modern desktop and workstation class multi-core processors (CPUs), graphics processing units (GPUs), and other accelerators such as Cell and digital signal processors (DSPs). The standard includes an API for coordinating execution between devices and a cross platform parallel programming language. Based on ISO C99, the OpenCL-C language provides a well-defined execution environment with strict precision requirements, allowing device agnostic kernel methods to be written which can be run on any supported OpenCL device. The OpenCL standard supports task-based and data-based parallel computing, features consistent numerical requirements based on the IEEE standard for floating-point arithmetic (IEE 754), defines a configuration profile for handheld and embedded devices and efficiently interoperates with OpenGL, OpenGL ES, and other graphics APIs.
This talk will be split into two parts. The first section will cover the fundamentals of OpenCL and dive into introductory code examples showing how to use OpenCL in custom applications. The second section will look at optimizations and debugging techniques, and show how OpenCL can be combined with OpenGL for advanced graphics programming.
Speaker Bio:
Derek Gerstmann is a research fellow and a PhD candidate studying at the University of Western Australia. His focus area is on large scale visualisation and data analysis as part of the BioImaging Initiative and is co-funded by the Western Australian Supercomputer Program (WASP) and the Centre for Microscopy,Characterisation and Analysis (CMCA). His knowledge and experience in parallel and distributed computation comes from a diverse professional career, including engineering positions at Apple (OpenCL), AMD/ATI (Firestream), and Weta Digital. He received his MSc from the National Centre for Computer Animation (NCCA) at Bournemouth University, UK and his BSc from the University of Washington, USA.
2D Gameplay Tips and Tricks
Jon Manning, University of Tasmania
Audience: Intermediate
Abstract:
2D games are extremely popular on iOS devices. Learn design and coding tips and tricks for building fun, easy to use 2D games in Cocoa Touch. This session will cover optimization techniques when building 2D games, advanced coding techniques, and integrating unique features available on mobile devices that makes mobile games so fun and addictive. We will also explain the unique traps that may catch 2D game developers on mobile devices and how to avoid them. Game design issues, and the basics of designing a compelling 2D game for iOS will also be discussed.
Speaker Bio:
Jon Manning is a wearer of many hats. He’s a PhD student at the University of Tasmania, a mobile software engineer, a product strategist, and a founding partner at Secret Lab, where he conceives, designs, builds and agonizes over iPhone and iPad applications. After receiving both a Developer Seeding Grant and a Student Developer Scholarship from the AUC, Jon ended up a regular traveller to Silicon Valley, where he consults for various clients, delivers training courses, and writes books. Jon’s first book, iPhone and iPad Game Development for Dummies, is co-authored with fellow Secret Lab founder Paris Buttfield-Addison and Neal Goldstein. Jon also sits on the board of the Australian Computer Society, and spends far too much time listening to audiobooks. His hatter of choice is the Berkeley Hat Company, and when he’s not otherwise busy, he fights crime and writes biographies in the third person.
Awesome Things You’ve Missed in Python
Chris Neugebauer, University of Tasmania
Audience: All (some Python knowledge assumed)
Abstract:
The Python Programming Language has always allowed rapid development of applications for a wide variety of systems, including Mac OS, where it is a first-class Cocoa language. You may have coded in Python before, but as a constantly-evolving language, the Python that you learnt a few years ago is probably not the best possible Python that you could write today. This talk shows how to write better and safer Python code more quickly by taking advantages of recent features that appear in Python 2.6, the default version newly included in Snow Leopard. This talk will also show you how to future-proof your code in preparation for the transition to the backwards-incompatible Python 3 (which any actively-developed Python codebase will need to eventually make).
Speaker Bio:
Chris recently completed a First Class Honours Degree in Computer Science at the University of Tasmania. His thesis work, in the field of Computer Vision, was conducted entirely on Mac OS X, and included the development of several Cocoa-Python applications. Chris is also an experienced Python developer and regularly presents on Python development.
Using and Enhancing Mapkit for the iPhone/iPad
Tim Nugent, University of Tasmania
Audience: Beginner to Intermediate (a basic knowledge of how Objective-C/Cocoa works)
Abstract:
The MapKit framework is one of the most exciting components of the iPhone OS allowing people to leverage the power of Google Maps and GPS in their own apps. This talk will cover basic usage of the MapKit framework, setting up a map and showing the persons current location on the map. Then moving onto more advanced uses, adding annotations onto the map, creating custom annotations and using the core location framework to gain better control over the GPS. Finally this presentation will cover using the new iOS4 MapKit feature, overlays, to enhance the map by drawing additional information directly on top the map.
Speaker Bio:
Tim is a PhD student at the University of Tasmania, and has a knowledge of iOS related development both from his studies at and from personal work. Tim’s PhD research is in the field of Human Computer Interaction (HCI) specifically focussing on Location Awareness and what knowledge can be gained by groups of people being exposed to each others current and past locations. For his honours research Tim wrote a MapKit based iPhone app designed to enhance group awareness and ease task completion amongst group members based on using location awareness from the iPhones GPS.
Incorporating Video in iOS Applications
Jake MacMullin
Audience: Beginner
Abstract:
This talk covers the different ways of including video in iOS applications. Participants will learn how to prepare both pre-recorded and live video for delivery to iOS devices, include video within web pages, and include video within native applications.
Speaker Bio:
Jake is a developer with almost a decade of experience developing applications using Apple’s technologies. He has worked for the CSIRO, the BBC and the ABC developing web, desktop and mobile applications, and has presented at previous AUC events and the World WebObjects Developer conference in the US.
Introduction to Core Data on iOS
Jake MacMullin
Audience: Beginner
Abstract:
This talk introduces participants to the Core Data Framework and how to use it to manage an iOS application’s data model. Topics include a reminder of Model/View/Controller, an overview of Core Data, an introduction to the key Core Data classes, and “Hello Core Data” – a step-by-step example of creating a Core Data application for iOS.
Speaker Bio:
Jake is a developer with almost a decade of experience developing applications using Apple’s technologies. He has worked for the CSIRO, the BBC and the ABC developing web, desktop and mobile applications, and has presented at previous AUC events and the World WebObjects Developer conference in the US.
iOS Device Sensing: Technologies & Applications
Tristan McNab, Griffith University
Audience: Beginner to Intermediate
Abstract:
With the advent of modern semiconductor fabrication techniques sensing devices have now become commonplace in smart phones. The iPhone was revolutionary in bringing accelerometer-based interaction to a wider audience and has been consistently innovated upon with the addition of other sensing technologies – magnetometers, gyroscopes and geolocation/GPS. These sensing technologies have a wide range of applications from simple user interactions to human activity monitoring and augmented reality. This session will provide a broad overview of the sensing technologies available on iOS-enabled devices, what these sensors can be used for, and issues you’ll need to consider when using sensors in your applications.
Speaker Bio:
Tristan is a PhD student with the Centre for Wireless Monitoring & Applications at Griffith University after recently completing his bachelor’s degree in Microelectronic Engineering. He is currently working with iOS devices in human activity monitoring, determining the characteristics of and designing software for the iPhone in sport, integrating it into a network-centric data collection and analysis system.
The Business of Development
André Pang, Pixar
Audience: All
Abstract:
Coding is just one part of what makes a great product, but there’s always so much else to do and learn. So, what can you do to help ship a great product – besides coding – if you’re primarily a developer? In this talk, learn about important commercial and business issues that you, as a coder, can help to define and shape in your company. We’ll cover issues such as licensing, adopting new technologies, and minimising support costs, with an active focus on how much each line of code you write impacts your product’s welfare.
Speaker Bio:
After being distracted with the underground demoscene and music, André studied Computing Science & Psychology at the University of New South Wales in his home town. There, he found his love for coding, functional programming languages, open source, Linux, and learning about what makes people tick. In 2002, André discovered Mac OS X 10.2 and Cocoa, fell in love with Apple again, and finished university to become the Mac lead at a number of projects such as the CSIRO’s Annodex (now reinvigorated as part of WebM support in Firefox 4), and the Academy Award-nominated cineSync at Rising Sun Research. He led a nomadic lifestyle in Sydney and the UK at Realmac Software working on the wonderful RapidWeaver and LittleSnapper applications, before moving to San Francisco to fulfil a childhood dream working for Pixar Animation Studios.
Version Control with Git
Steven Saunders, Macquarie University
Audience: Beginner
Abstract:
Git is one of a new breed of distributed version control systems. With Apple introducing support for Git in its forthcoming Xcode 4 toolset, now is a great time to learn about it. This talk will serve as an introduction to version control with Git. Participants will learn how to get started with Git, how to get their project into a repository, about workflows for local branching merging and tagging, history review, and commit comparison, as well as distributed workflows for maintaining and contributing to group projects. Developers familiar with centralised version control systems like CVS and Subversion will learn about the advantages of Git and how they can quickly transition to a distributed system.
Speaker Bio:
Steven is a research programmer at the Macquarie Centre for Cognitive Science at Macquarie University, where he works on the DRC Model of Visual Word Recognition and Reading Aloud. He has had over eleven years experience in software development, and have been working with Apple technologies for seven.
Mastering Cocoa Memory Management
Robert Stainsby, RMIT
Audience: Beginner to Intermediate
Abstract:
Manual memory management is a major stumbling block for many new Cocoa programmers, particularly those used to platforms with automatic garbage collection. This talk will go over the principles of memory management in iOS and traditional Mac OS X Cocoa. Based on these principles, it will explain a practical, best practice approach to ensure your code is free from memory management errors.
Speaker Bio:
Robert Stainsby lectures RMIT University’s iPhone Software Engineering course, which is running for the second time this year. When not delivering lectures, Robert develops Mac (mainly FileMaker Pro) software for the Australian Institute of Family Studies, and Cocoa software in his own time. Robert has attended WWDC several times (twice with the assistance of the AUC) and delivered AUC Xcode workshops in 2008 and 2009. Robert’s background is in pure mathematics and statistical surveys.
AppleScriptObjC: Good news for Objective-C coders, too
Shane Stanley, Myriad Communications
Audience: Beginner to Intermediate (C++ knowledge helpful, but not essential)
Abstract:
AppleScriptObjC is the name for new scripting bridge technology introduced in Snow Leopard. Bridging AppleScript and Cocoa/Objective-C not only makes it possible to call Objective-C methods from AppleScript and build AS-based Cocoa apps, but it also gives Objective-C programmers a better approach to IAC than dealing with NSAppleScript and NSAppleEventDescriptors: you can make AppleScript-based classes and objects, and deal with their properties and handlers as if they were Objective-C properties and methods.
Speaker Bio:
Shane Stanley is a developer and AppleScript trainer from Melbourne. He has been co-convener of AppleScript Pro Sessions in the US for the past 10 years.
Live Multimedia Programming with Impromptu
Ben Swift, Australian National University
Audience: Beginner
Abstract:
Impromptu is a dynamic programming environment for creating music and visuals on-the-fly. Using the scheme programming language, Impromptu allows interactive scheduling of audio events (using AudioUnits plugins) and visuals (using Core Graphics). This session will cover the basics of Impromptu, from how to make it go ‘bing’ to how to generate more complex musical patterns. The session will also include a demonstration of ‘live coding’: a musical performance in Impromptu where musical structures are programmed as you watch and listen!
Speaker Bio:
Ben is a PhD student at ANU. His areas of expertise include algorithmic composition, scheme programming, and live multimedia programming with impromptu. Ben was the recipient of an AUC Student Developer Scholarship in 2008-2009.
HTML5 Essentials
Aaron Tan, University of Queensland
Audience: Beginner
Abstract:
HTML5 today is changing the face of the web. Whether you are a web developer or a mobile developer, chances are you are aware of the developments in HTML5 and it is quickly becoming very important. In this presentation, I will show the range of key HTML5 capabilities that will be of interest. The main HTML5 features include: offline support and storage, canvas, advanced web forms, audio and video. I will also demonstrate the capability of the GeoLocation API that is supported by many mobile browsers today.
Speaker Bio:
Aaron Tan is the Senior IT Officer with the Centre for Educational Innovation & Technology (CEIT) and lecturer with the School of Information Technology & Electrical Engineering (ITEE) in the “Designing Mobile Applications” course at UQ. He is a trained robotics engineer and loves gadgets and new technologies. Inspired by Star Trek; his previous projects focused on Human Factors and Artificial Intelligence in the field of Aeronautics and Astronautics. He is interested in interactivity – the way people interact with an artifact – and natural interfaces between humans, digital information, and the physical environment.
Connecting Devices with GameKit
Sushant Verma, University of New South Wales
Audience: Beginner
Abstract:
As devices get smaller, we get hungrier to connect all our gadgets together. The advancements in hardware manufacturing has meant that even the smallest devices are now equipped with wireless communication. This untapped resource has made its way onto Apple’s family of mobile devices that run their iOS operating system. This feature is seen by many users as being very practical to their active lifestyles. What seems to be a very difficult task to accomplish can actually be done in a couple of lines of code using Apple’s GameKit framework. This presentation will feature a live demonstration on how to get your devices to wirelessly connect to one another and send/recieve some data such as text and voice.
Speaker Bio:
Sushant Verma is a final year software engineering student at UNSW. He has knowledge in various forms of server side and client side programming languages such as C, C++, Objective-C, Java, ActionScript, MXML, Perl, Python and JavaScript. Currently his passion is building applications that promote interactivity and usability. He is currently doing a thesis on building a highly interactive HTML5 based web application for online teaching and learning using a User Centred Design(UCD) process.
Using Web APIs in iOS Apps
Nic Wittison, University of Tasmania
Audience: Beginner to Intermediate
Abstract:
Did you ever wonder how your friend’s Twitter status makes its way into the palm of your hand? This talk covers the basics of asynchronous Web APIs and how you can leverage their flexibility to create content rich iOS applications. It will show you how to use Web APIs to send and receive data from a web service and how to handle and parse that data for use in your own applications.
Speaker Bios:
Nic is studying the final year of a Bachelor of Science at UTas majoring in Computer Science and Psychology, and plans to undertake an Honours Degree in 2011 in the field of Human Computer Interaction (HCI). He is currently engaged in developing an iPad application as part of his final-year software engineering project, and working to further his iOS development skills for both university and business.
Introduction to Core Animation
Daniel Woo, University of New South Wales
Audience: Beginner
Abstract:
Core Animation takes the low-level drudgery out of animation coding. The focus isn’t on responding to timing events, it shifts to defining where objects need to be, or how much opacity or rotation should be applied and when. The tweening details are left to the framework. In fact, several properties can be animated at the same time. In this session you will learn the basics of Core Animation and how to start coding your user interface to include animation. We will also touch on the impact animation has on the user experience.
Speaker Bio:
“We’re going to change the world, one person at a time” is a great quote from Tim Lucas who was in the first cohort of students in Daniel’s User Interface Design and Consutruction (COMP4511) course. The vision was to fuse object-oriented programming and user interface design in a practical way using Cocoa/Obj-C as the principle teaching language. Real world tools for students just starting out; an incredible confidence booster. A subset of that course became the AUC Cocoa Course which has been running now for 6 years.
Daniel’s work spans boundaries: art+science collaborations on the Baltic Sea, Sydney Harbour, Singapore and Belfast; the DigiMacq iPhone app lauched for Parramatta City Council; Rural Allied Health Professionals and Assistive Technology for the Independent Living Centre; Assistive Technologies for the Blind and Visually Impaired; iPod in Special Needs Education; First Australians Web (SBS TV) Usability Evaluation.
The motivation is quite simple: create an Australian-based launching pad for the careers of software designers and developers to deliver to the world great technologies and engaging user experiences: one person at a time.