After talking to a friend who had been going on and on about it, I decided to take a look at the Yahoo User Interface Library, or YUI. From Yahoo’s own website YUI “is a set of utilities and controls, written in JavaScript, for building richly interactive web applications using techniques such as DOM scripting, DHTML and AJAX.”
They’re actually really cool, and surprisingly easily to use. After doing some searching I found a few other free Javascript toolkits: jQuery, Prototype, Mootools, and Google Web Toolkit. This of course isn’t an exhaustive list of all that’s out there, but these seem to be the most popular. I had actually heard of jQuery, but because of it’s name I had always thought it had something to do with SQL or Java.
After a not too extensive check of the available features, I decided to try YUI first. Mostly because I thought their tools looked the nicest and they have an Image Uploader (something I haven’t tried yet, but plan to). I decided to soop-up my Image Color Palette Generator, which has so far been pretty plain. I’m still in the process of adding stuff to it (which I’ll describe below), so it’s currently a mess, but it’s now set up so that once you generate a color palette you can play around with a nifty little slider bar that will allow you to navigate through the HSL color space.
I’m sure a lot people will look at it and think “Ok, so you added a slider bar…”, but it’s pretty freakin’ cool. Once the app is fully complete it’ll come together a lot better. These new tools are great though. I can’t wait to check out some of the others.
On a related note, these toolkits remind me of an interesting article I read a couple months back on the possible emergence of a new SDK that could spell the end for Google’s Gmail. It’s a neat read if you have some time.
Image Color Palette Generator Updates
First, let me say I did some house cleaning on this app and sped it up by 700% on my machine. So if you were having trouble with it before, you should be able to use it fine now (if not, please let me know). I even have some more ideas for speed ups, but they’ll be in the next release. I was a bit sloppy in my initial implementation, I guess I thought I could get away with doing some simple math and string concatenation inside of the loop that looked at the image’s pixels, but those fractions of a second add up fast. I used table lookups to replace the unnecessary calculations. As soon as I’m done with everything on it, I’ll release the source so people can better understand what’s going on.
Aside from that, the program is now set up to generate 4 color palettes for you. The two it generates that get displayed on the left side of the screen represent the color palette for the image and the complimentary color palette for the image. The two it generates that get displayed on the right represent the “Muller Formula” versions of these color palettes. The Muller Formula is something that professor Aemelius Müller from Switzerland came up with that basically predicts what colors users will find pleasing. No actual formula is given on that website, so I had to infer one based on the basic idea. Right now I’m still tweaking it, so it’s still kind of experimental for the moment.
The bit about the Muller Formula was quite interesting. I’m going to look into the other stuff later. I like the “new” site, even if it’s been up awhile.
Thanks.
As for the Muller formula – while playing around with trying to implement it I found that adjusting to brightness actually looked a little bit better than altering the hue (I didn’t post that effect up though). However, since I’m still playing around with it I’m not sure if I have the transformation down 100%, or if it even makes sense in this context (using unrelated colors and only adjusting them slightly).
Very cool. What are your plans for it? You still looking to release it for download?
Thanks. When it’s completely done, I’ll post the source up. Unfortunately I’ve been side tracked lately, but I hope to get some work done on it this weekend.
I’m thinking of setting it up so people can upload images. I had it that way in the beginning, but I decided to remove that feature until I could find a way to make it faster (or separate it out – my host only gives me 15 seconds of processing time before it kills a script).
I also want to make it a little faster and make the interface a little more stylish. Also, I’m still playing around with the Muller formula and other possible color manipulation techniques that may be useful. Hopefully I’ll have enough done with it later to take off the “Beta Release” tag from its name.
BTW, what’s the backend implemented in?
PHP5