Playing with Yellowtail
I heart QC. Using the plugin I posted before with zoom blur. Scale down before applying blur for decent performance.
DNYellowtail Source Code
As promised, though a bit later than I was expecting, is the plugin I used to perform Yellowtail from within Quartz composer. I’m not sure that the way I’m doing rendering is the “right” way, but it certainly works for what I did. It would be nice to figure out how to do antialiasing….
Requires Mac OS X 10.5 Leopard and the Developer Tools installed, which include Quartz Composer.
Binary plugin (40 KB)
Source code & test composition (608 KB)
To run: either “build and run” in Xcode to install or copy the binary to ~/Graphics/Quartz Composer Plug-Ins.
Open Image output test.qtz to test the installation and to play with it.
Yellowtail in… Quartz Composer!
Okay, another day, another port of Yellowtail. This time, I ported the algorithm to Quartz Composer. I wrote a custom plugin, now an official API as of Leopard. It’s a pretty straightforward port to plain C of the original Java code, versus the re-implementation that I did with the javascript version.
There are some slightly kludy parts left (settings have to get passed around between three objects) but the core is solid and it’s working great. I haven’t figured out how to do internal antialiasing with Quartz Composer plugins yet, so things are slightly jaggy.
The reason for this port is that I’m going to be performing live with this new patch for the Lewis and Clark Electronic Music Concert. I’m working with Abby, who is in my 3d Design class. It’s really a first experiment for me in presenting work to a live audience, more than a fully conceptually-developed work.
Today, we fleshed out a lot more of the specific visuals that will accompany the yellowtail animation in the piece. Lots of visceral and jerky effects, noise, etc. I’m shooting for 60fps for the whole thing, though I think I’ll have to drop down to 30 for some sequences. I haven’t been able to convince anyone to loan me a mac with a nice graphics card, so that’ll have to do.
The plugin should be ready for a basic release just after the concert. Stay tuned….
Leopard Help Menu ~= Command Line for Menu Bars
The ideal computer interface.
Some insist on “elegance” of the command-line and keystroke-based tasks. Some extol the virtues of the supreme GUI.
What works in a good GUI is that the possible options for the user are conveniently and logically presented. The software is upfront about its basic features-some more advanced ones might remain hidden, requiring a modifier key or other hyjinks to activate, but the main idea is WYSIWYG.
A CLI is effective because it narrows down the possible options quickly and allows muscle memory to make common tasks faster.
I’ve always held that the best interface is really a combination of the power of the GUI with proper keystroke commands.
The mac, though mostly a GUI interface, does some to bring the best of both worlds. For instance, in applications menus, the application developer can define keyboard shortcuts for menu items. Thus, the choices available to a user are outlined clearly, but common ones are mapped to physical buttons or combinations thereof in front of the user, thus facilitating muscle memory. It’s easy to learn, because the commands are presented right next to the options the user habitually selects with the GUI. Good, but not perfect. What if the application developer didn’t define the keystrokes that I want? What If I need to launch a specific app that I use a lot? Sorry, switch back to the mouse for that and then resume using the keyboard.
The addition of Quicksilver to this model provides a convenient extension of the muscle memory-inducing keyboard shortcut into an effective application launcher (and much more). I love it. control-space m is all I need to launch Mail. Or if I were to install a new app tomorrow, using that interface, I can essentially define a new shortcut to launch that program quickly. Quicksilver is largely based on the indexing of files and similar objects, which encapsulates a lot of what one wants to do with things on a computer, but often the verbs for these objects are limited.
But that’s all been around for a while. What’s new is that Leopard takes indexing and moves it into the menubars. Thanks to the new help menu, there is no longer a need to hunt and peck in the menubars looking for that esoteric option you know is in there somewhere. The help menu presents a spotlight-like search field that looks in the menus for the current application and allows you to select a menu item based on a search string. Brilliant!
control-space, my Quicksilver command, now has a new friend the
Android Platform
I hope that google’s efforts with android will make possible real competitors to the iPhone.
Of course I love my iPhone and plan to do as much development for it as possible when I get back from Sénégal next summer, but I think that it is a good thing that Apple will not just be left to eat the market (as they did with the iPod) while everyone else sits back and takes it.
Maybe I could squeeze in some dev time to make something for the Developer Challenge.
It’s nice to know that even if apple didn’t make it happen, at least someone would realise that a decent mobile phone consists of more than a thin profile! Yay for UI!
Webkit.org love
So, in the course of exploring what the canvas tag can do, I’ve been pushing browsers to their limits and (sometimes) beyond. I’m going to start saying thanks for all the hard work that the webkit devs have been doing by submitting some nice bug reports!
The first is this one about a somewhat obscure canvas-rendering crasher.
Don’t visit this link in a WebKit based browser… :)
Yellowtail in Javascript
I’m working on a canvas tag port of yellowtail for processing.
Check it out, though only works in Safari for the moment.
Update (3 November):
Code has been much improved. Actually looks like yellowtail now! Also, should be compatible with Safari 3 (it seems to be picky about calling beginPath() and closePath(). I just downloaded Firefox and will start trying to get it to work there.
Update (13 November):
Improved in general. Now works in Gecko-based browsers. Finally have internet at home, so I can upload sooner the stuff I’ve been showing people at school :)
3D-Design Documentation
I put up some documentation for what I’ve been working on in my 3D-Design class at Lewis & Clark college. Lots of design elements so far, working with wire, paper, and now paperboard.
More Information…
This entry has 6 comments.
Paisley Paramecium

Okay, so a cool t-shirt would not ordinarily be news, but this one in particular rocks. It looks at visual forms as organisms under a microscope, which is similar to what I’m doing with organics. Perfectly design and geeky. Anyway, I should probably order one soon because they’re undoubtedly going to sell fast.
I heart threadless.
iPhone Deathstar
Okay, so Apple isn’t exactly the evil empire. However, I do sense the jubilation as the iPhone has been unlocked in a way that is meaningful to the masses: a free release of software.
Gizmodo’s post is a bit overly hyperbolic, but I think this might be the time to get myself one of those juicy iPhones. Sweetness. I have a planned app that I would really like to see on the iPhone. Now, I’m just waiting for a good toolchain and… an iPhone.
Since I’m going to be in Sénégal next semester, I don’t want to owe a nice $60 chunk of change each month that I’m gone. Thus, I don’t want the ATT service, which doesn’t have decent plans for short-term solutions.
Sketch trees
I did this while I was bored at work. Maybe someone finds it interesting. More of a stepping stone to getting a better “sketch” look.
Not just another faucet
Okay, looking online for something, I found this sink. The design is great, taking the given component and brining in an unexpected influence that makes a faucet that really departs from the norm.
Washing Accretion
Okay, emerging from some experiments that I’ve been doing into organic forms, I created this program. It takes a long time to render because of the watercolor-style wash on the background, for which, a lot of blurring and stuff must be computer, none of which is currently on the graphics processor due to the limitations of processing.
Low-Res Movie:
I suggest that you check out the high-res version (Quicktime H.264, 9.5mb), though, as a lot of detail is lost in the web video conversion.
Playing around with Particles
Organics 0.5.1

An incremental update provides improvements:
- Settings now saved between sessions
- New backgrounds: Wine, Vacuum, prettier Tealic
- Additional settings exposed :)
- Trunk algorithm adjusted, values scaled so that 1.0 is the default
Please use responsibly.



