Saturday, June 9, 2012

Darwin Among the Colors



I'm kind of in love with evolutionary algorithms. They're a great way to extend human creativity beyond the scope of what we're familiar with to the exotic places beyond; they're like kids without assumptions or preconceived notions about how things should be, and when you build one to solve a problem, it will always surprise (and often confuse) you with the solution it comes up with.

It does me, at least.

Darwin Among the Colors is a very narrow ai, built around an evolutionary algorithm that learns what colors you like, and composes color schemes based on progressively refined combinations of those colors.

Developers can use it to get around the need to understand color theory, designers (internet and otherwise) can use it to explore parts of the color terrain that may be unfamiliar to them.

The great/odd thing about Darwin (and these sorts of programs in general) is that they don't require you to be creative to produce creative products, they just respond to your sense of taste.

Not everybody's an artist, but (whether you like it or not) everybody's a critic, why not use that to your advantage?

On a technical note, I wrote Darwin in Javascript with jQuery and a library called jStorage to handle the limitations of HTML 5 local storage. It's probably the most elegant code I've written so far, with a more explicit MVC in the back, and none of my custom stuff's been minified, so it should be easy to understand if you want to take a peek or even copy the whole thing.

I plan to write a second edition that doesn't just consider the individual colors themselves, but the differences between the rgb values within a preferred color scheme, just in case you want to scoop me.

Have fun.

No comments: