Chameleon: closest to a theme engine for iOS

punyavashist
thecyberfibre
Published in
4 min readSep 6, 2017

Chameleon is as close as a framework can possibly get to substratum (which utilises Sony’s Overlay Management Service (OMS) to enable theming on Android) on iOS. This publication might as well spark a fresh wave of developers and designers jumping into the iOS scene in order to make dynamic theming possible.

Let’s dive right in

Chameleon is a lightweight, yet powerful framework for iOS built on the idea that applications should be able to function effortlessly while simultaneously maintaining beautiful and attractive User Interfaces.

Chameleon’s features

Currently, Chameleon supports 24 flat colours in two shades, text contrasting, global app theming, colour shade manipulation, color picking from images and gradients. As if that wasn’t enough for a start, it comes bundled with a Storyboard Palette Plugin, Hex Color support and Color Scheme support.

Color Schemes

There’s three different classes of color schemes available which can easily be generated from a flat or non-flat color. In the examples embedded below, the starred block of color represents the primary color used to generate the schemes.

Contrasting Text

There’s a literal plethora of color choices available for text and it hence is difficult to choose one that will fit right into every user’s liking. This is exactly where Chameleon’s Contrasting Text comes in, which ensures that all text stands out independent of the background color.

Accents

Although this feature (originally titled “Themes,”) is still in the Beta phase, it allows a developer to theme their app with as little as one line of code. In addition, this feature lets the developer push certain accent changes to one set of users and certain other changes to the other set.

This might as well be the “major” part of the project. Developers could easily A/B test User Interface with the help of this feature. How, you ask?

Imagine a situation where-in half of the users of a certain application see the blue accent, while the other half see the red accent. After giving the accent change a few days and monitoring the response from both sets of users, the developer notices an increase in usage for the set of people with the red accent.

The only logical thing left to do will be to push the red accent to the users with the blue accent. Roughly grossing a 150% increase in usage, this feature screams profit.

Colors from images

Chameleon supports picking colors off of images. With seamless support for color-picking, Chameleon lets you extract flat and/or non-flat color schemes off of images. This could help mold the User Interface based on Hero images or Product Banners.

Gradients

Up until iOS 7 & 8, Apple mainstreamed flat colors exclusively. Ever since iOS 9, the game has changed. Using a single line of code, you could have gradients displayed on your app in all their glory. Setting any apps’ objects’ colors to gradients has been made possible.

Requirements

The basic requirements encompass Objective-C or Swift, a minimum of iOS 7 ( for Objective-C) and a minimum of iOS 8 (for Swift.) In addition, Xcode version. 6.3/+ is a requirement as well. $nbsp;

The Chameleon GitHub Repo

Conclusion

This article might as well spark a flare of interest in developers and designers across the globe. Enabling theming on something as brittle as iOS and potentially venturing into models where-in users could dynamically change themes is a huge leap. Let’s make it happen.

Let us know what your views on the project and its potential are.

In order to interact with the active community, join the official Telegram Channel and exclusive Telegram Group.

Originally published at thecyberfibre.com on September 6, 2017.

--

--

punyavashist
thecyberfibre

@punyavashist on #twitter, #xda, #hackernoon, #telegram, #googleplus, #github and lemme know where else, i seem to have lost track.