Mobility Companionrealtime AI interface design and prototyping

Concept development

As the central design element of a mobile personal companion developed in 2010 for an undisclosed client, the visualisation of an AI personality needed to be active, reactive, procedural, and non-humanoid...while also not being too flashy or distracting. The companion was designed to take care of a mobile driving experience, safely dealing with everything from music and group selfies to navigation and calendar management.

I helped the team explore quite a number of concepts, and a particle field was determined to be the expressive and flexible approach we were looking for. Working in Quartz Compuser using OpenCL patches to generate the procedural sprite system, I prototyped experience tests and developed final presentation demos for the team.

Evolution of a Character

Once the final art direction was decided on, I set about adding a sense of life through movement. Coalescing out of darkness, the AI representation began to breath in and out, each layer building up like the membranes of a jellyfish, while reacting dramatically to both its own voice output and the user's speech input.

Implementation

All key visual features were implemented in the Quartz Composer demo, including various animation triggers, dynamic interactions, modal adaptations, procedural animations, and realtime audio integrations. Interactive settings were implemented using the OSC protocol via TouchOSC to allow for remote adjustments during demos.

To drive the AI modes efficiently, seed images were created for the various application sections, including social media icons, client branding, and expressionistic patterns. OpenCL controls were encoded in the RGB channels of each asset, with noise patterns for the realtime audio displacement and masks for the particle grids.

Results

Though the final experience was never made public, it was designed and prototyped roughly 4 years before any competitors were brought to market. Even then, none of them were as visually dynamic.