Client Projects

iOS work that I've done for other people.

SleepSense

Mentally Friendly / A. H. Beard
Roles
Lead Developer iOS Consultant
Categories
Health & Fitness

Summary

SleepSense is the companion app to the smart bed product of the same name. This project was a huge multifaceted challenge from the start, but Mentally Friendly were amazing to work with, and I thoroughly enjoyed my time on this one.

Features

  • Simultaneously controls, manages, and unifies multiple Bluetooth 4.0 devices within the smart bed.
  • Dynamically configures the UI depending on hardware detected in the onboarding phase.
  • Steps the user through first time setup of the smart bed and the app itself.
  • Tracks and analyses user sleeping habits with Beddit technology.

Links

Notable Achievements

  • Presented to Harvey Norman on behalf of A. H. Beard on the technological advances made by the app
  • Experimentally designed a method of sharing and unifying control of Bluetooth 4.0 devices to save the client the cost of extra hardware
  • Reverse-engineered "black-box" partner software and hardware when documentation and assistance was poor
  • Created a Storyboard-based dynamic UI configuration system based on detected hardware
  • Designed and built a system for dynamically detecting, configuring, and managing hardware devices
  • Mirrored the actual hardware devices with plug-n-play unit-testable "fake" hardware for speedier development

Technologies

  • iPhone
  • Swift 2.3
  • Bluetooth 4.0
  • Serial Hardware Communication & Control
  • Storyboards
  • Carthage
  • AutoLayout
  • Custom Controls
  • PaintCode 2
  • iOS 9
  • Realm
  • UI Design
  • Protocol Oriented Programming
  • Dependency Injection
  • Unit Testing

Duck.Space

Duck.Space
Roles
iOS Consultant & Developer
Categories
Social Media

Summary

Duck.Space is a social media video posting/browsing app. The creators came to me with some serious video playback issues. My involvement with the project was purely to help them fix these issues. The team at Duck.Space expressed their great appreciation for the massive improvement that the new engine brought them.

Features

  • A beautifully robust, brand new audio and video streaming engine

Notable Achievements

  • Rebuilt the app's core audio and video streaming engine from scratch in just 4 days to great success

Technologies

  • iPhone
  • AVFoundation

Mytograph

Firefly Interactive / Mytograph
Roles
Lead Developer
Categories
Photo & Video

Summary

Mytograph allows users to create slideshows of their photographs grouped automatically and intelligently by location and time. In addition, users can add special looped soundtracks timed to fit any slide show, animated "stickies" and effect filters.

Features

  • Instant live video preview
  • Specially looped soundtracks
  • Animated stickers
  • Photographic filters

Links

Notable Achievements

  • Created "Patch" datasource framework to cope with complicated datasource requirements
  • Worked with Core Image to create desired photographic filters
  • Created a proprietery secure bundle system for IAP

Technologies

  • iPhone
  • iPad
  • Universal App
  • Core Data
  • Storyboards
  • CocoaPods
  • AutoLayout
  • PaintCode 2
  • Reverse Geolocation
  • Core Image
  • StoreKit
  • IAP
  • Functional Programming
  • AVFoundation

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