Hot Knife Through Butter: How to achieve smooth scrolling in UITableView

Jimmy Ti, Queensland University of Technology

Track: iOS; Audience: Intermediate

The iPhone was revolutionary for its use of direct manipulation – its great user experience comes from the feeling that you’re really holding the content in your hand and manipulating it directly with your fingertips. While many mobile platforms have touch, it is the realistic physics and fluid animation of the iPhone that sets it apart from its competitors.

UITableView is the corner stone of many iOS apps, and how well scrolling performs in UITableView will, in many cases, make or break the experience of an iOS app. In order to provide the best experience to the users, we should always treat 60 frames-per-second animation as a priority.

This presentation will discuss about common issues that causes jerky scrolling animation in UITableView and what are the strategies we can apply to achieve buttery-smooth scrolling in UITableView.


OpenGL ES and GLKit: Valuable Assets for Hardware-Accelerated Visuals

Mustafa Youldash, La Trobe University

Track: iOS; Audience: Intermediate

The Open Graphics Library (OpenGL) is the most widely adopted 2D and 3D graphics Application Programming Interfere (API) in the industry. It is an open-standard that enables developers to create high-performance, visually compelling graphics apps for digital content creation, scientific exploration, computer animation and mathematical simulation, mechanical and architectural design, medical imaging, virtual prototyping, games, and more. In fact, it is the engine that drives other Mac OS X foundation APIs such as Core Animation, Core Image, and Quartz Extreme.

OpenGL for Embedded Systems (OpenGL ES) on the other hand, is a simplified/subset version of the more-general API. It is designed, as the naming suggests, to be supported by many portable systems like the Android, BlackBerry OS, iOS, and more. OpenGL ES with respect to the iOS platform, is a primary reason why many great apps in the App Store exist today…

Thanks to the rapid evolution of both hardware and software, it is now more feasible and straightforward than ever before for both researchers and developers alike, to render complex scenes while relying on traditional fixed-function pipelines (OpenGL ES 1.1), or fully-programmable shader-based pipelines (OpenGL ES 2.0). Now with the addition of the GLKit framework that was introduced in iOS 5, developing highly-sophisticated, graphics-intensive apps is a breeze!

After this session is completed, it is assumed that following items can be delivered:

  • An overview of the key features provided in both the OpenGL ES 2.0 and GLKit frameworks,
  • A quick commentary on how to transition from OpenGL ES 1.1 to OpenGL ES 2.0,
  • Hints on how to improve the rendering loop using integrated performance tools, and
  • References to useful sources provided in the session…

Access to sample code, keynote slides, and other relevant material will be made available after the conference.


Developing for the Web in 2013: Creating HiDPI Web Sites

Tim Oliver, Edith Cowan University

Track: Web & HTML5; Audience: Intermediate

With the advent of the new Retina MacBook Pro, a new paradigm of HiDPI PC displays has started. As a result of this, a new set of requirements for creating and formatting visual content for these devices will start to become mainstream.

Based off several talks on Web Design from WWDC, this presentation will be around how to create websites that will look pixel-perfect on both standard display monitors and HiDPI monitors such as that of the new Retina MacBook Pro. This would include the methodologies behind creating such websites with new HTML5 and CSS3 standards, tips for testing it out on your current hardware, as well as general best practices to ensure stunning visual results.


Breathing life into dinosaur courses using DTrace

Chris McDonald, University of Western Australia

Track: Tools & Tech; Audience: Intermediate

The DTrace framework, available on Apple’s OS-X and other contemporary operating systems, enables a process’s execution and its interactions with the operating system kernel to be traced and annotated at a fine grain. DTrace provides well recognized benefits for systems administration, but also a great opportunity for Computer Science Education.

Computing textbooks employ many static ‘before-and-after’ figures, hoping to convey the interactions between programs and operating systems, and the transitions of internal operating system structures. Historically, Computer Science educators have hoped to breathe life into these textbook figures with purpose-developed visualization tools but, unfortunately, these have often required specific and unsustainable programming, compiling, and execution practices. Moreover, many of these tools have a constrained scope, or only support prebuilt demonstrations. These well-intentioned approaches often increase students’ cognitive load, leaving them confused as to what is to be learned.

This presentation will introduce the features and operation of the DTrace framework under OS-X, and outline our approach to improving the teaching of Operating Systems courses using dynamic tracing and annotation. In combination, we employ DTrace to trace the execution of programs, and graphviz and Tcl/Tk to visualize and review their execution. Instructive programs may be provided by the professor, developed and debugged by students themselves, or even be standard systems and application programs. Using this approach we can demonstrate, and students can investigate, concepts such as process execution and scheduling, file-system operations, interprocess communication, and networking. Students can directly learn from the execution of unmodified applications which run programs, manipulate files, and communicate with remote internet-based services.


Maximum Tweakability

Jon Manning, University of Tasmania

Track: iOS; Audience: Intermediate

Over the years, Secret Lab has built a bunch of applications, and have ended up at the stage where we’ve been making minor tweaks over and over again. We’ve developed a set of techniques that maximise our ability to quickly make tweaks to applications by both developers and non-developers, during shipping and after the app’s been in the app store.

In this talk, you’ll learn how Secret Lab blends unit tests, the Objective-C runtime, easy-to-access resource files, scripting and other techniques to make applications as easy to tweak, tune, modify and subvert as possible. The end result? Better applications made faster.


Custom Interface Controls from Scratch for Mac & iOS

Douglas Heriot, University of Wollongong

Track: Tools & Tech; Audience: Advanced

I’ll present a solid foundation of the understanding required to develop your own custom interface controls on OS X and iOS. It’ll begin with the basics of how OS X composites windows on the screen, the history of NSCell, advantages of Core Animation, and the similarities/differences between OS X and iOS.

The bulk of the presentation will be practical examples of how to go about actually creating different kinds of controls (eg. buttons, sliders, totally new custom controls), showing some of the range of issues that come up to think about. I’ll mostly be sharing my experience on the Mac, but will compare with iOS too.

It will also cover how to handle the Mac’s new retina display, and advances in Mountain Lion to use Core Animation more extensively, moving away from -drawRect: altogether.

Some technologies being covered:

  • Core Graphics drawing
  • Core Animation, CALayer
  • AppKit/UIKit

You can find demonstration projects that accompany the talk on GitHub:

Or go to Douglas’s web site.

  162.9 MB
  8.4 MB

Responsive Web Design

Matt Gray, Australian National University

Track: Web & HTML5; Audience: Beginner

Responsive web design is a philosophy and front end development strategy that makes websites accessible on a number of devices through the use of fluid grids, flexible layouts and media queries, allowing webmasters to design a site once and format it differently for many displays, such as desktops, laptops, tablets and phones.

At present, the ANU website is designed for a minimum display resolution of 1280 by 1024 pixels, which was a common practice several years ago when mobile display of websites was still a contentious issue. However, this concept of a ‘fixed-width’ display no longer meets the needs of our users.

This talk will show the technical and design requirements for converting your web site(s) to a responsive design. We will look at examples of working sites, and show what we are currently doing at ANU to move to a responsive design.

  100.8 MB
  2.9 MB

Git Like A Rockstar

Paris Buttfield-Addison, University of Tasmania

Track: Tools & Tech; Audience: Beginner

Git is the new hotness (other than, oh, all the stuff Apple is doing…). If you’re a developer, on any platform, you need to know, understand, love, breathe and speak Git.

This session will cover the basics of Git, with a particular focus on popular Git-hosting startup GitHub (although all techniques are generally applicable to Git) and then conclude with a discussion and demonstration of the pitfalls, positives and traps of Git when coding for the Mac or iOS. Attendees will come away confident in their ability to use Git with their current and new projects, and will perhaps eventually become raging Git evangelists themselves!


Sounds Good! – Computer Generated Audio

Sebastian Beswick, University of Tasmania

Track: iOS; Audience: Beginner

Do you know if it’s worth upgrading your Spotify account to stream songs at 320kb/s?

An understanding of the fundamentals of computer sound is essential for the well-rounded IT professional. Audio is a field that is teeming with jargon, but it doesn’t have to be so scary! In this session we’ll go back to basics and take a look at the core components of sound, including how we (as humans) perceive sounds, how we can represent them within a computer, and how to avoid common gotchas. We’ll then take a quick look at some popular sound synthesis techniques, and finish up by learning how to create our own synthesiser from first principles using the low-level iOS Audio Unit.


Sensible Web API Design for people who really should know better

Chris Neugebauer, University of Tasmania

Track: Web & HTML5; Audience: Intermediate

Behind every mobile app that does something even remotely useful is a network API, and more often than not, this API will be delivered over HTTP in JSON format.

Developers love JSON, because it’s less restrictive than XML, and it’s easier than crafting your own data format. Developers hate JSON because it’s less restrictive than XML — it’s near impossible to verify, and small errors in a server-side implementation of a format can make for convoluted error handling in clients for years to come.

And then there’s HTTP — a feature-rich protocol, that can handle advanced querying, with great semantics for timeliness and formatting… Not that any server developer ever uses any of these.

If you’re a server developer, this talk will show you ways to make sure that your web-based API doesn’t suck, how to make it maintainable, and how to keep it easy for developers on every platform.

If you’re a mobile developer, this talk will equip you with the tools you need to force your server developer to make things easy for you.

This mostly code-free talk is a sequel to my popular 2011 talk, but covers entirely new material, but you’ll get value out of it, regardless of whether you attended that talk.