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)

Abstract:

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

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.


Well Managed Object Contexts

Mark Aufflick, Pumptheory

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

Abstract:

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

Link


Will the Quick Hack become Agile Development?

Jamie Gabriel, Macquarie University

Audience: Beginner

Abstract:

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

Abstract:

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.


Here and Now: Where am I? What is nearby?

Judit Klein, Auckland University of Technology

Audience: Beginner

Abstract:

The digital world is rich in media and enables us to see parts of other worlds we may othewise be physically isolated from.  But what about what is happening in our immediate environment that we might otherwise miss?  Learn how to integrate location awareness into your application and how to put geotagged web content such as photos or Tweets onto a map in relation to the user’s location using JSON and APIs, as well as tips on how to deal with the dynamic and unpredictable nature of mobile connectivity.

Speaker Bio:

Judit is in her third year of a Bachelor of Creative Technologies at Auckland University of Technology.  In her final semester, she is working on a self directed practical iOS development studio project.  Judit also holds a position as a staff member within the interdisciplinary unit, where she manages equipment loans to students and technical assistance, and has an upcoming role within the Center for Learning and Teaching at AUT – a role which involves providing resources for AUT staff and students who are increasingly using iOS devices and preparing for new interactive learning spaces that are being developed.


In and Out of Core Data

Anthony Mittaz, Queensland University of Technology

Audience: Intermediate

Abstract:

Core data is a really big and scary framework and this is often the reason why people never get to know it.  This talk will cover:

  • how to setup a project that uses Core Data and fetch and filter information (NSPredicate + NSFetchRequest)
  • the Core Data modelling tool and understanding how Core Data models work with properties and relationships and transformable types
  • how to generate Objective-C code for you Core Data custom classes with no effort and to your liking using Mogenerator
  • setting up automatic migrations or creating a custom migration to an existing data model when updating the model to a new revision.

Speaker Bio:

Anthony has over 6 years experience working with Cocoa – Objective-C, initially on Mac OS X, and more recently on iOS.  He is part of the Mobile Lab at Queensland University of Technology, and has recently been working for Sparrow – the alternative email client for OSX.


CSS Effects

Matt Gray, Australian National University

Audience: Intermediate

Abstract:

Learn how to use CSS effects on your website or web based app to give it more visual appeal.  We will touch on CSS 2D and 3D transforms, and combine them with transitions and animations in CSS.  New features such as keyframe animation timing will be covered.  We will also look at using CSS to detect which features are available on a given browser, so you can gracefully fall back to more simple pages for older browsers.  This talk is aimed at people who know some modern HTML and basic CSS, and who want to learn a few new tricks.

Speaker Bio:

Matt works at ANU as a research programmer in the College of Engineering and Computer Science.  He also serves time in the ANU Marketing office as a web developer and iOS programmer.  He has many years experience programming on Mac OS 6 through X, and more recently these little iOS things that everyone seems to have in their pockets.  Matt likes doing his web programming in Perl and likes to swear at PHP at least once a day.

  80.7 MB
  468.8 KB

Designing User Interfaces for iPhone and iPad Apps

Graeme Salter, University of Western Sydney

Audience: Beginner/Intermediate in Interface Design

Abstract:

An important part of the Apple design philosophy was revealed in one of their latest commercials – “when technology gets out of the way, everything becomes more delightful, even magical”. The best iPhone and iPad apps are those that are based on the way users think and work.  This session will focus on the design and marketing aspects of app development. It will look at tips as well as best practices in interface design and prototyping techniques.

Techniques for coming up with a unique or great idea for an app will be followed by strategies to refine the idea, review the design options and arrive at an app that people will appreciate and want to use. User experience guidelines will be outlined including the different expectations between devices.  Marketing is another essential ingredient in successful apps. Even apps developed for in-house use on a not-for-profit basis require marketing strategies, if only to secure development funding from managers. Strategies for promoting ideas as well as final products will be examined.

The overall aim of this session is to add design and marketing skills to your repertoire, so that you can combine it with programming and development knowledge in order to come up with apps that will ‘delight’ your users.

Speaker Bio:

Graeme is a Senior lecturer and Head of Program for the Bachelor of Information and Communications Technology at the University of Western Sydney.  He is experienced in iPhone app development, and is the Unit co-ordinator for Human-Computer Interaction.


Objective-C Memory Management Essentials

Steven Saunders, Macquarie University

Audience: Beginner

Abstract:

Debugging memory related bugs can be a time-consuming and headache-inducing process. A solid grasp on the principles of memory management is key to avoiding these annoyances. In this presentation participants will develop a detailed understanding of Cocoa’s retain/release/autorelease system and the memory ownership issues it is designed to address.  Attendees will also learn how to adopt Cocoa’s garbage collection facility, and how it relates to reference counting. The use of tools like Instruments and Guard Malloc to track down memory leaks, as well as memory-smashing and doubly-freed-memory bugs will also be covered.

Speaker Bio:

Steven is a research programmer at the ARC Centre of Excellence in Cognition and its Disorders (CCD) at Macquarie University, where he works on the DRC Model of Visual Word Recognition and Reading Aloud.  He has over twelve years experience in software development, and has been working with Apple technologies for eight years.