Tinkering with Object…what? Swift?

Matthew D’Orazio

Every now and then it’s nice to do something different¹. For some, this means writing code. And for that special group, it sometimes means writing ‘things’, that work on ‘that Apple laptop, you know, for that guy who works out in the field’.

This talk will examine the new Swift language from the perspective of one who sparingly uses Objective-C. What does an outsider really think of the Apple eco-system? For those coming in from the ‘cold’, what are the pitfalls and gotcha’s? What amazing things are there to be discovered? And, how can we make the transition easier?

So, come join me on that old, familiar, horrifying journey—learning just enough of a new language to write something awful! But hey, at least it gets the job done!

¹Half hour later…‘WHY DID I AGREE TO DO THIS?’.



Matthew D'OrazioMatthew spends his days, slaving away in a metaphorical basement, trying to fix scary databases (no, a phone number is NOT a primary key!), maintaining terrible websites, despairing at the fourth drive failure of the day, and generally being pulled from project to project.

When he’s not working on technical tasks, he’s off writing papers, organising conferences and streams (e.g. PyCon AU, OzCHI24), and designing his doomsday bunker that must by necessity be completely cut off from the Internet, ‘The Cloud is trying to kill us all!’.


 


Model-View-ViewModel

Jimmy Ti, Queensland University of Technology

Most of us architect our iOS and Mac applications using the MVC paradigm. MVC serves us well but it has some problems, namely “Massive View Controller”, awkward placement for network logic, and poor view testability.

This talk aims to introduce the MVVM (Model-View-ViewModel) paradigm, advantages of this paradigm, and how to adopt MVVM for iOS development.


Jimmy TiJimmy is a Ph.D student at QUT, his research investigates how to apply mobile services to enhance social interactions in public urban environments such as public transport.

Being a passionate iOS developer, Jimmy strives to instil thoughtful design and great user experience into every application he develops.

Learning and growing through AUC’s nurture, Jimmy, together with Zac and Tony, founded Eat More Pixels – a company that focuses on creating useful, beautiful and playful apps that make our lives easier and fun.


 


A New View on Debugging for Novice Programmers

Matthew Heinsen Egan & Chris McDonald, University of Western Australia

This presentation provides an overview of the design and implementation of SeeC, our new approach assisting programming novices at university to develop, understand, and debug, their first programs. Unlike professional-strength tools, such as XCode and Eclipse, SeeC is not a full IDE. Instead, SeeC focuses on explaining programs’ static meaning and runtime behaviour to novice programmers, and promotes an inquiry-based view of debugging.

By modifying the popular Clang/LLVM compiler suite employed on OS-X, the execution of programs compiled with SeeC results in a recording of the program’s complete execution trace. This enables students’ programs to be reviewed, and their bugs to be located and explained, by replaying the trace and identifying conditions leading to bugs. All memory references made by SeeC-compiled programs may be automatically visualised, providing novices with the opportunity to view and debug programs’ execution, particularly those with errant dynamic data-structures. SeeC is fully aware of language and library standards, and can report bugs in different natural languages, with reference to these standards.

SeeC employs a number of contemporary technologies, including a modified version of the Clang/LLVM compiler suite, wxWidgets for its graphical interface and interactions, graphviz for runtime visualisation, and ICU for natural language support.

In combination, the features enable students to better collaborate by asynchronously sharing their traces and understanding, and for educators to develop seminal introductory examples and challenging exercises. This presentation focuses on our selection and use of powerful software and tools on Apple’s OS-X.


Matthew Heinsen Egan and Chris McDonaldMatthew Heinsen Egan is a PhD student in Computer Science, at The University of Western Australia, and Chris McDonald is his PhD supervisor. Both have strong interests in the application of modern software technologies to Computer Science Education, particularly to better assist novice programmers, and in the exposition of contemporary computer systems.


 


Virtual Reality on a Budget

Steven Saunders, Macquarie University

Facebook spent 2 billion dollars buying their Oculus VR, Google is doing something with pieces of cardboard, but this session covers how Mac and iOS developers can get started with virtual reality for not much more than the price of your morning coffee with easy to use APIs like SceneKit.


Steven SaundersSteve is a developer with over 15 years experience currently working in the ARC Centre of Excellence in Cognition and its Disorders at Macquarie University. He is also a proud father and an avid retro-computing enthusiast.


 


The Pacifist’s Guide To Android

Christopher Neugebauer

So you’ve come to an Apple developer conference. You probably like iOS a lot. I don’t really have a problem with that. Really. That said, every mobile development project I’ve been involved with since leaving university has involved the development of both an iOS app and an Android app. Many projects you encounter will be similar.

In this talk, I’ll don my my rotten tomato-proof jacket, and go behind enemy lines to help show you, the iOS developer just how things look on the other side. During the talk, we’ll cover Android’s design philosophies, in terms of app structure, visual and interation design, as well as some frank discussions of the “fragmentation problem” that you’ve probably heard so much about.

We won’t be covering any code, because really, I don’t want to completely scare you away with Java.

By the end of this talk, I won’t have convinced you to drop everything and start working on Android right away… that would be silly. However, you *will* be armed with a good understanding of the platform, why some people like it, and a good understanding of how to communicate design ideas with Android developers. You may even have some ideas that you can take back to your iOS apps.

The world’s a happier place when everyone understands each other and works together, so let’s make more of that happen.


Chris NeugebauerChristopher is a programmer from Hobart, Tasmania. He currently works as an Android developer, which means his day job involves more Java than he would like. He is strongly involved in Python community development around Australia and the world: he is an immediate past convenor of PyCon Australia 2012 and 2013, a board member of Linux Australia, and has been a fellow of the Python Software Foundation since 2013.

Christopher is a strong supporter of the AUC, despite not having written an iOS app in his life. In his newly-found spare time, he enjoys presenting on Mobile development at Open Source conferences, and presenting on Open Source development at Mobile conferences.


 


The Design and Engineering Process for an Indie iOS Game

Paris Buttfield-Addison, University of Tasmania

This session will summarise and present the design and engineering process that we use to build small iOS games – both for ourselves, and for clients. It will talk through concepting, design, software architecture, and implementation.

This session won’t cover in-depth coding, but will discuss architecture and design of small-medium iOS games that are built using native iOS technologies such as SpriteKit and SceneKit.

Attendees will come away with an action plan for developing their own games in this manner, suggested starting points, and useful further resources. This talk is not a case study of a specific game, but rather the collected thoughts of our past 6 years of iOS game development.

(This session is co-presented with Jon Manning).


Paris and Jon are the co-founders of Secret Lab. They are authors for O’Reilly Media, having recently written ‘Learning Cocoa with Objective-C Fourth Edition’ (co-written with Tim Nugent) and the ‘iOS Game Development Cookbook First Edition’. Their next book, ‘Swift Development with Cocoa’ (also with Tim) will be out very soon.

Paris recently finished his PhD at the University of Tasmania, and Jon will be completing around the end of the year. Secret Lab can be found online at http://www.secretlab.com.au.


 


Mobile Onboarding, Would You Like Some Help?

Nic Wittison, Canva

Creating simple software is a pretty complex task. Removing features from a user interface means hiding them in gestures and sections of your app that aren’t always immediatly obvious. This is where Onboarding comes in.  Onboarding is the process of providing your user with the minimum amount of information required to use your app making it more accessible and more useful to new users.

This talk covers concepts that need to be addressed when desiging the launch experience of your app as well as provides some tips and tricks to making sure you get the most while annoying your users the least.


Nic WittisonNic has been a software developer the last 4 years and currently works for Canva in Sydney. He enjoys video games, talking about UX and being the tallest person in the room. One day Nic hopes to discover the one thing that Meatloaf won’t do for love.


 


Mobile and Accessibility

Gian Wild, AccessibilityOz

Gian will be speaking about how to make your mobile sites accessible. WCAG2 was written before mobile devices were ubiquitous, and there are some accessibility issues unique to the mobile format, such as lack of keyboard, lack of mouse hover and reduced screen size. Gian will be talking about the most common problems and how you can avoid them!


Gian WildGian Wild is the Director of AccessibilityOz. She has worked in accessibility industry since 1998. Her major achievements include: the very first Australian accessible web site; the Melbourne 2006 Commonwealth Games; her six years active membership in the W3C Web Content Accessibility Guidelines Working Group; accessibility reviews of public and private web sites; conference and seminar presentations; judging web awards and the development of accessibility toolkits.


 


The Quest for 60FPS: Graphics Optimisation on iOS

Tim Oliver, Lateral Pty Ltd

Creating a very responsive UI is one of the hallmarks of a great app. But with so many generations of iOS devices out there, keeping an app running at 60 frames-per-second across the board can become a real challenge!

This talk covers a range of techniques that can be used to help speed up the responsiveness of you apps, from optimising view layout and draw times in low-latency tactile elements such as scroll views to setting up complex animations in Core Animation. It also covers methods for measuring your apps’ performance in Instruments to locate and weed out bottlenecks. Anything less than 60FPS is unacceptable!


Tim OliverTim has had a burning passion for iOS development since he got his iPhone 3G in 2008.
Currently, he works as a full-time developer of mobile applications for corporate clients at Lateral Pty Ltd in Perth, after spending a year developing in-house iOS software for pixiv Inc in Japan.

In his free time, Tim is also currently working on a comic reader app for iOS called iComics, which was released during /dev/world/ 2012 and has since been downloaded over 50,000 times.


 


You had me at Install

Luke Goodman, Bilue

The first launch of a native app sees users interacting at a deeper level with your product than that of a first visit to the product website. Recognising that native applications operate at a more advanced stage of the product journey creates opportunity to craft experiences that are more efficient at meeting both the user and product goals. This session will cover the some of the easy wins app designers can use to leverage the trust users have in native applications.


Luke GoodmanLuke is a Sydney based interaction designer with a focus on designing cross-platform experiences that are engaging a fun for users. Having the opportunity to design a couple of the countries highest trafficked responsive sites, Luke brings a wealth of knowledge about becoming a invaluable part of a collaborative team.

He currently is a senior Interaction design consultant for Bilue, a mobile specialists agency in Sydney.