Okay, I’ll come clean, I have no idea what Thermo is, but I did read a blog post that sounded intriguing:
“You will lead a highly motivated team developing an innovative new tool, codenamed Thermo, that will enable designers and creatively inclined developers to easily build rich internet applications and interactive content. “Thermo” will streamline the process of adding interactivity, behavior and motion to creative assets and will work seamlessly with both Adobe’s Creative Suite tools, such as Photoshop, Illustrator, Fireworks and Flash, and with developer oriented tools such as Flex Builder.”
Clearly part of a job posting. Now for the fun part: let’s guess what Thermo is. In the spirit of being frequently wrong but never in doubt, I do hereby suggest that Thermo as described above, falls into the category of Magic Ink. What’s that, you haven’t heard of Magic Ink? It’s a way cool idea by Bret Victor for enabling visual designers to have a language of their own that adds interactivity to their designs. The Usability Institute has a somewhat less scholarly post on Magic Ink that will hopefully show just how cool this would be.
Today designers are limited to getting programmers to help them add these kinds of features. A tool that works by example to them them create fully interactive user interface would be awesome. It’s not so hard to imagine either. Anyone who has played with a really slick CAD program such as Rhino3D or Ashlar’s Vellum has seen drawing with constraints. These constraints work to make it easier for you to create great drawings faster and more easily. There’s also a whole world of Parametric CAD that does similar things.
Now let’s reverse the process. Imagine that we’re taking the drawing and defining constraints to control its dynamic behaviour. A slider consists of 2 images. One is the background and the other is the movable part. Constraints would tell us to keep the movable part inside the slider’s track, and would also tell us how the slider can be grabbed and manipulated. Further declarative code would tell us how to interpret the slider’s position to update a variable. The whole thing could be completely interactive.
Work like this has been going on for a long time. The first one I remember seeing was a Smalltalk program called “Thinglab” which was all about constraint oriented simulation. I remember thinking at the time, “What a cool UI design tool that would make!”
If I’m wrong on what Thermo is, don’t be surprised, but the vision I describe is something someone ought to build. If I’m right, be very very excited. It will unlock a lot of cool new territory to the non-programmer world and put it in the hands of talented designers. Thanks to Ted Patrick for starting this line of random speculation in my head!
Related Articles: I was right!