Shaun Inman showing the results of his programmatic, dominant color extraction code. Check the comments for some high-level insight.
At sketch.processing.org, you can now find an in-browser IDE for playing with your Processing sketches. It’s using John Resig’s Processing.js under the hood and works quite well. I pasted in an a couple of simple, native Processing sketches and they ran without any problems.
Geoffrey Grossenbach (of PeepCode fame) has posted an alpha of his new baby: PeepOpen. It’s a file navigation tool for developers and currently works with TextMate, MacVim, and Carbon Emacs. Features include fuzzy search, smart sorting algorithms, and useful metadata. The $9 price include the source code.
Tim Van Damme has come up with a very clever way of rounding image corners with using just a little extra markup and some CSS magic. I can’t think of a simpler way to do this on the client-side - definitely check it out.
I’d also point out that this sort of work can be done on the server-side as well. This keeps your client-side markup and styling simple, but admittedly transfers the complexity to the backend where most designers are out of their jurisdiction.
One of Tim’s points was that you don’t have control over uploaded assets (ie. user-uploaded avatars, etc.). If you’re using something like Paperclip on the server, this becomes pretty easy however - Lars Overskeid has a great writeup that includes the necessary ImageMagick-fu you need to drop in. The benefit here is that you can create as many variations of the uploaded image (sizes, crop styles, corner-radii, etc.) at upload time and have them at your disposal any time you need them. If you need to create different variations later on, Paperclip gives you a way to reprocess the images.
This idea could then be expanded to included regular (non-user-uploaded) assets. For example, in your img tag, you could use a src like
and have your server-side code check to see if there’s a cheezburger cat picture with a 4 pixel radius sitting around already. If there’s not, generate one (caching it for future requests) and send it back with the proper content-type.
Tim’s method is obviously much simpler and may make sense most of the time, but there are benefits to using the server as well - including the ability to do automated color correction, sharpening, watermarking, etc.
Either way, don’t go rounding everything in sight just because you can :-)