Extracting color palettes

Generating color palettes from regional photo selections.

Extracting color palettes

Color Bird is an app that generates color palettes from regional selections of photos. After generating a palette, you can manipulate the hue, value, and saturation to your liking and share results as an Adobe Swatch Exchange file or as text. I developed this application in a small engineering team, focusing on the framework, regional photo selection, and branding.

Defining the audience

Color Bird targets a breadth of color enthusiasts including designers, web developers, artists, and anyone looking to capture a piece of their daily lives through color. two samples shown here. A web developer can use Color Bird to easily extract the hex for a color needed for a brand or project. Meanwhile, an interior designer can extract colors from a photo a client likes to help select appropriate products for a new home. And a scrapbooker can use Color Bird to keep mementos of palettes that inspire them in their daily life.


Extracting color palettes

Invisioning the brand

On a tight development deadline, a camera or color wheel was a simple route to branding the app. However, we wanted users to see Color Bird as a companion rather than a than a tool. To approach this, we considered character designs and concepts symbolic of animals. The sketches below depict the iterations of concepts we cycled through to craft our logo. The final design adopts the silhouette of a bird to represent creative freedom.


Extracting color palettes

Defining the user flow

With our target users in mind, we documented the goal functionality of the app, depicted in the UMLs below. The three key features we aimed to create were: the ability to extract color palettes from photos, the ability to share color palettes, and the ability to filter or alter palettes.


Extracting color palettes


Extracting color palettes

Extracting color palettes

To create a simple experience, Color Bird pans straight to the camera interfaces where users can immediately begin snapping photos to extract colors. The three main screen options are "Capture," "Import," and "Library." Capturing and importing overlay the image across the screen. Once an image has been selected, the user can draw a freeform shape isolating the desired region of colors. The regional selection options include a lasso tool, a crop tool, and a full image selector. Selecting a new region on an image immediately updates the color palette in the bottom right of the screen, giving users flexibility to repeatedly test different regions until the desired palette is generated.


Extracting color palettes

Editing and sharing palettes

Once the user has captured a palette they like, they can save to their color list. Then, using the device's built-in sharing options, the palette can be exported as hex text or as an Adobe Swatch Exchange file. ASE files can be exported into Photoshop, Illustrator, and Indesign, making it easy for designers and developers to consistently exchange colors across different tools.


Extracting color palettes


Extracting color palettes

Playing with palettes

With filters and palette adjustments, we introduced an element of play through touch: hue, saturation, and value adjustments. When editing a saved palette, users can adjust a single color's saturation, hue, and value by holding one finger to the color and sliding up and down. The entire palette can also be shifted at once by sliding two fingers in the same motion. This feature gives users control and flexibility in adjusting palettes to their liking and the ability to repurpose palettes for new uses, rather than depending solely on the color extraction algorithm.


Extracting color palettes

Preliminary user testing

Before deploying the app, we developed a series of test cases for our MVP to gauge how intuitive the app was to users. In general, users found the app easy to use, with varied preferences on whether the crop tool selection was necessary. Users also encouraged new features, such as an eye dropper selection tool and the ability to discard individual colors in a palette and rerun the algorithm to fill in new options.


Extracting color palettes

Looking forward

As we collect reviews and user data, we will consider the following:

  • What features do users use most and least or find confusing?
  • What features would users like to see in future releases?