Client Projects

iOS work that I've done for other people.

Kayako

Kayako
Roles
Lead Developer Project Manager
Categories
Business Productivity

Summary

Kayako is the mobile extension of the Kayako helpdesk platform. It allows Kayako users to stay in contact with their customers and manage support tickets on the go.

Features

  • A beautifully designed iOS 7 interface, crafted collaboratively with Kayako's very excellent designer
  • Seamless online and offline user experience
  • A fluid, gesture-driven UI across iPhone and iPad

Links

Notable Achievements

  • The app received simply glowing reviews from Kayako staff and users alike
  • Coordinated the entire iOS project remotely from Sydney to London
  • Solved a very tricky design problem to successfully balance a paginated API with offline mobile data
  • Brought a complex floating-header UI to life with AutoLayout and UICollectionViewLayout

Technologies

  • iPhone
  • iPad
  • Universal App
  • XML
  • iCloud Keychain
  • Core Data
  • Storyboards
  • HockeyApp
  • CocoaPods
  • AutoLayout
  • Masonry
  • AFNetworking 2.0
  • iOS 7
  • Magical Record
  • Custom UICollectionViewLayout
  • UI Design

SongFit

Red Unicorn / Sony Music
Roles
Lead Developer
Categories
Music Entertainment Health & Fitness

Summary

SongFit is an interval training app that combines popular music from various record labels with a personal trainer voiceover in a precisely-timed manner that is designed to provide the user with the best workout possible.

Features

  • Dynamically composited workouts from user's choice of difficulty, music and personal trainer
  • Downloadable "Track Packs" available via In-App Purchase
  • Workout tracking system with interactive map
  • Automatic workout upload and integration with the SongFit website
  • Track logging for proper royalty payments to artists

Links

Notable Achievements

  • Used AVMutableComposition with REST to create discretely-timed dynamic workout compilations with celebrity voiceovers
  • Created an embedded CocoaHTTPServer derivative for securely hosting both encrypted and plain files to AVPlayer
  • Spent an entire day running around Sydney's CBD to fine-tune Core Location tracking and map overlays
  • Designed a RESTful server communicator with queues, request-caching and connection management
  • Adapted the app to allow it to be customised by brand partners with font, colour, shadow and image options

Technologies

  • AVFoundation
  • iPhone
  • Map Kit
  • Core Location
  • REST
  • Facebook
  • Keychain
  • Encryption
  • NSOperationQueue
  • Background Tasks
  • Background Audio
  • DRM
  • CocoaHTTPServer
  • RNCryptor
  • MongoDB
  • Core Data
  • File Downloads
  • UIStoryboard
  • UIStoryboardSegue
  • Branding
  • Quartz Core
  • Store Kit
  • In-App Purchase
  • HockeyApp
  • Concurrency

Songl

Red Unicorn / Digital Music Distribution (DMD)
Roles
Lead Developer
Categories
Music Entertainment

Summary

Songl is a streaming music app for iPhone and iPad. DMD is a joint venture between Sony Music, Universal Music and (later) Southern Cross Austereo (SCA). This app allows them to highlight popular content to users while providing curated playlists of different genres. Users can also create their own playlists and even store them on their device for offline use. The iPad version includes live access to all SCA digital radio stations as well as related video content.

Features

  • On-Demand music playback of tracks, playlists and albums
  • Offline mode disables online portions of the app when no connection is available
  • Offline playlists download tracks for use without the internet

Links

Notable Achievements

  • Integrated the iOS Keychain with RNCryptor to create a fast, secure DRM system for artist's content
  • Created a CocoaHTTPServer-based HTTP proxy with streaming encryption/decryption and ranged-request handling
  • Designed a user session watchdog for policing free trials and user privileges
  • Built a low-latency, robust AVPlayer-based music player for local and network streams
  • Made an automatic background subsystem that keeps users online and offline playlists in sync

Technologies

  • AVFoundation
  • iPhone
  • iPad
  • Pagination
  • REST
  • Facebook
  • Keychain
  • Encryption
  • Google Analytics
  • Flurry
  • NSOperationQueue
  • GCD
  • Background Tasks
  • Background Audio
  • DRM
  • CocoaHTTPServer
  • Offline Sync
  • HTTPRangeRequests
  • RNCryptor
  • MongoDB
  • Core Data
  • New Relic
  • iOS 7
  • Smart Banners
  • File Downloads
  • HockeyApp
  • Airplay
  • Concurrency

MDA

Emerging Technologies
Roles
Lead Developer
Categories
Enterprise Medical

Summary

MDA (short for Medical Doctor's Assistant) was essentially a rapid prototype, albeit one that was expanded to demonstrate several other possible functionalities of the app to hospitals, doctors conventions and existing clients of Emerging Technologies. It was designed as a way to create a paperless hospital environment whilst retaining the paper-trail. Doctors would use it to stay informed and even alerted as to the condition of their respective list of patients, to take notes, to order tests and receive results and many other demo features.

Features

  • Quick at-a-glance summary of all patients or current patient's status
  • Intuitive, clear layout despite an immense number of demonstrable features
  • Efficient, uncomplicated input method for measuring routine patient metrics
  • Custom internal messaging system between doctors, nurses and staff, following the look and feel of the native Mail app
  • A gesture-driven sliding panels interface similar to Twitter's iPad interface

Notable Achievements

  • Impressed a major Sydney hospital board with my original UI design, subsequently winning a large client contract
  • Created a generic Core Data/UITableView framework with a consistent look and feel that simplified the rapid app development
  • Condensed several paper-only and physical paradigms into clear and simple UI elements and flows, such as patient information cards, vital statistics charts, assessment sheets and lab reports

Technologies

  • iPad
  • Core Data
  • Rapid Prototyping
  • Nuance
  • Speech Recognition
  • Graphs
  • Charts
  • UI Design
  • HockeyApp

Project S8

(names redacted)
Roles
Lead Developer
Categories
Video Entertainment Social Networking

Summary

This project has not been released and is currently of unknown status. Any identifying features have been removed.

Project S8 was a vintage video effects app unlike anything that's currently available. While staying true to the 4:3 "Super 8" format, it delivered a crisp, modern UI and immersive experience. Every pixel was crafted under a magnifying glass by the client's artists. Users could select from several "cartridges" with which to record their video. Once chosen, the user was immersed in the world of their creation with a live preview of their footage with all cartridge effects applied. Detailed visual artefacts, formulae and design made sure that no two "reels" were the same by randomising a plethora of effects and values. What resulted was nothing short of an incredibly convincing vintage video simulation.

Features

  • Rich, immersive, finely-detailed interface with smooth, vivid animation
  • 4-Input (projector-sound, noise, music and original audio) 16-bit stereo realtime DSP mixing system
  • Authentic-sounding procedurally-generated pop and hiss noise effects
  • All audio and video effect formulae relied on random seeds to ensure unique "reels" every time
  • Ability to use iTunes music or provided stock music to mix with (or replace) recorded audio
  • Video effects reproduced in ESSL with painstaking detail (film roll, jitter, artefacts, vignette, blur, grain)
  • Thousands of artefacts, lines and distortions packed into texture atlases
  • A video rendering and recording system with live processing of multiple layered special effects
  • Zero render time for finished footage (unless remixing or playback on an Airplay device was required)
  • Airplay integration

Notable Achievements

  • Impressed the respective managers of the Australian App Store and WWDC at Apple’s Sydney Headquarters by demonstrating the app in person
  • The DSP system was constructed using a dynamic (can alter at runtime) Audio Unit graph, which included stacking several layers of iPod EQ nodes to produce the right kind of filtered sound, among much else
  • The pop and hiss sounds (also Audio Unit nodes) were entirely procedurally generated and randomised to be different each time
  • Recreated several Adobe Photoshop post-processing effects in ESSL and spent weeks optimising for highest frame rate
  • Unhappy with the performance and limitations of particle-based effects, I improved on them with my own highly-optimised quad-based particle system, taking into account hardware optimisations and tricks
  • Wrote a background process to queue and upload videos to multiple social networking sites and cross-post links to the content once uploaded (upload once, share to many)
  • Searching for formulaic methods of shape-generation, wrote a variant of Johan Geilis’s Superformula that makes unique shapes easy to author, lightweight to store and fast to deploy
  • Built a UIScrollView replacement for browsing transparent image thumbnails at high speeds

Technologies

  • Video
  • Video Recording
  • OpenGL ES 2.0
  • iPhone
  • Audio Unit
  • AVFoundation
  • Facebook
  • Twitter
  • Vimeo
  • OAuth-2
  • Video Upload
  • YouTube
  • Bitly
  • Live Rendering
  • Live Preview
  • Procedural Sound Effects
  • Procedural Textures
  • Video Compositing
  • ESSL
  • Animation
  • Notification Center
  • HockeyApp
  • Airplay
  • Concurrency

Zombie Arcade

Stormforge Software
Roles
All Roles
Categories
Games

Summary

(spoiler alert: the client for this project was yours truly)

Zombie Arcade was my first adventure into the App Store. Although now defunct, it was a huge achievement for me and an even bigger learning experience. The biggest lesson that it taught me was that you can wear many hats, but to do something great, you need to specialise - and to build a great product, you need a team of specialists.

The game offered two modes, both filled with Zombie movie in-jokes and humour. In one, the user could sit back and shoot zombies with a variety of inventive weapons (golf club and balls, records, guns) that they had previously unlocked by achievements. In the other, they could strive to reach the highest level of zombie-endurance, earning trophies, unlocking new weapons and new levels.

As much as I'd love to have it running on the latest hardware for nostalgic reasons, it's outdated code that was naively written with the best of maintenance intentions. To that end, I have made the project open-source and published it on GitHub.

Features

  • Realistic ragdoll and collision physics
  • Blender-created 3D landscapes, models and props
  • Easily-expandable rule-based AI with increasing levels of difficulty
  • Realistic 3D sound effects and a quality soundtrack
  • Interactive 3D apartment menu with light jazz music and an interactive 3D trophy cabinet

Notable Achievements

  • The 3D apartment menu made use of animated camera paths and dynamic model animations
  • Extended the Bullet Physics Engine to add breakable ragdoll physics
  • Rewrote SIO2’s entire game engine and optimised it to run on older devices (even the very first iPod Touch)
  • Built a decoder, player and buffering system from the OGG audio format spec

Technologies

  • OpenGL ES 1.0
  • iPhone
  • Bullet Physics
  • OpenAL
  • Blender
  • SIO2
  • C
  • Game Center
  • Leaderboards
  • Achievements
  • Unlockable Content
  • OGG
  • 3D Modelling
  • 3D Animation
  • Textures
  • Concurrency