Adobe Comp

2015 – 2017

Adobe Comp CC is a design app for creating layouts and mockups on iOS. The resulting designs can be sent to Adobe InDesign, Photoshop, or Illustrator, or finished entirely within the application.

Comp was my primary project at Adobe. I worked to realize the features that required the closest collaboration between design and development, whether that meant creating prototypes to help arrive at a final design which would be handed off to another developer, or developing a feature from start to finish that couldn’t easily be defined initially by a designer and passed off to another developer.

Below are some of the features for which I was responsible.

Comp promotional video, created by Adobe

Drawing Gestures Interface

Comp’s speed starts with its “drawing gestures”. You can sketch shapes with your finger, and have them translated into clean, editable objects on your canvas. Other gestures allow you to duplicate, copy and paste styles, delete objects, and more.

This was a major component of the app’s interface, and I was responsible for developing it from start to finish, creating internal tooling around it, leading the effort to port it to C++ for use in other applications, and more.

Learn More

An animated guide illustrating the supported gestures. Hover over or tap on each item to play.

Shape Recognition Algorithm

The shape recognition used with the drawing gesture system was created using a combination of hand-coded rules and machine learning based on data collected from beta-test users.

I wrote the algorithm, iterated on it to improve accuracy over time, and created internal tooling to support the process.

Learn More

Auto-Mockups

This feature allowed designs from Comp to be composited into images of devices or media in real-world situations, both as a quick way to judge its effectiveness in context, and for inclusion in design presentations.

I developed the feature from start to finish, including work on the compositing algorithms that ensured the results always looked realistic, created supporting tooling, and directed the photography and retouching.

Learn More

Grid & Guides

An interface for creating and editing column grid and vertical or horizontal guides for a project. The grid can be created and edited visually or by entering numbers, and even overlapping guides can be easily selected, moved, and deleted.

Keyboard shortcuts

When the iPad pro keyboard cover was released, I was responsible for brainstorming and implementing keyboard shortcuts to add to the app.

Formats

I spearheaded the development effort to support multiple formats in Comp. This included an interface to select a format from a list of presets, to create custom formats, and to change units of measurement. Vector previews of each format were dynamically generated, allowing formats to be quickly added or removed, and a user’s custom formats to be presented alongside the presets in a consistent manner.

I also worked with the design team to make sure we were providing a consistent experience when changing between different formats, units, and resolutions.

Timelapse Videos

I coded a feature that would export a timelapse video of the creation of a project. This showed off the app’s unlimited undo history, and allowed designers do give a glimpse into their process.

iPhone Interface

Comp started as an iPad-only app, and its interface was heavily reliant on popovers. I worked closely with the design team to prototype the interface changes that would make the app universal (running on iPhones as well as iPads), then coded a custom “drawer” presenter to be used instead of popups on the iPhone.

Comp promotional video, created by Adobe

More Information

  • My Role: Developer of the features that required the closest collaboration between design and development. Liason between design and development.
  • Front-end:
    • iOS
    • Objective-C
    • Machine Learning
    • C++

The Team1

  • Design:
  • Creative Direction:
  • Development:
    • Shane Do
    • Todd Donahue
    • Neha Gautam
    • Kim Ha
    • Guy Nicholas
    • Gino Paglia
    • Michael Scarafone
    • Rick Seeler
    • Allan Young
    • Me
  • Quality Engineering:
    • Ian Eksner
    • Glenyse Henschel
    • Aygyun Khaydarova
    • Thomas Lin
    • Donna Powell
    • Sonal Soni
  • Tech Direction:
    • Teresa Crotty
    • Richard Sinn
  • Project Management:
    • Will Eisley

See more

Footnotes

  1. This app benefited from the help of many people on many different teams across Adobe. I’ve tried to list everyone that was a full-time member of the core app team, but it’s impossible to list the countless individuals who contributed in other ways. Thank you all for everything you did! ↩︎