Thermo


It’s official–Thermo is now Flash Catalyst! Ryan Stewart and I did a demo of the current (very early) build of Flash Catalyst at the day 2 keynote at MAX, and we also made a video of the same demo for this month’s issue of the Adobe Edge newsletter, which just came out today. Julie Campagna and the Edge production team did a great job putting the video together–check it out!

(By the way, I just noticed that when I introduced the ecotours comp in this video, I said “I created this design in Adobe Photoshop”. That’s demo-ese for “I’m pretending to be the visual designer in this workflow”; the comp was actually designed by the folks at Gotomedia, who also created a lot of the other assets we used in the day 2 keynote–thanks guys!)

Digg!digg this | del.icio.usdel.icio.us | 3 Comments

Normally I don’t like to spend a lot of time just posting links to other people’s blog posts, but since MXNA is down, I wanted to point out Rob Adams’s excellent blog post about the paper prototype studies we’ve been doing on Thermo’s UI. His post has a lot of great tips on how to effectively set up a paper study.

Digg!digg this | del.icio.usdel.icio.us | No Comments

It’s been busy here in Thermo-land, as we work furiously (no really! we’re furious people!) to turn our vision into reality. I have a fun side project that I’m going to post about in a little bit once I get a few bugs worked out. In the meantime, here’s a video interview that Ryan Stewart, Thermo evangelist extraordinaire, did with me about designer/developer workflow in Thermo and Flex 4. It was our first video, so it’s a little blurry and off-center, but just pretend it’s artsy and edgy and you’ll be fine. (We did edit out the part where the siren went off when someone went out the wrong door in the cafeteria.)

Digg!digg this | del.icio.usdel.icio.us | 2 Comments

Thermo is hiring, and one of our first job openings is for someone to help us create a next-generation learning experience. We want to make it easy for designers to get up to speed on Thermo quickly, and we’re going to need to communicate Thermo’s concepts through traditional written documentation, diagrams, videos, animations, smoke signals, and however else we can convey them.

Our ideal candidate is either a writer with strong design skills or a designer with strong writing skills. Most importantly, we’re looking for someone who has innovative ideas about how to enhance the learning experience for a professional design tool that’s technically deep.

Have a look at the job description (pdf), and if you think you’re the right person for the job, please contact Randy Nielsen directly (his email is at the bottom of the job description).

Digg!digg this | del.icio.usdel.icio.us | No Comments

I’m going to be at IxDA Interaction ’08 in Savannah this weekend with some other folks from the Thermo team. There was a recent thread on the IxDA mailing list with lots of interesting thoughts on features interaction designers would want in a design tool, and I’m hoping to chat about the subject with other folks at the conference. If you’re going to be there, let me know–maybe we can meet up!

Digg!digg this | del.icio.usdel.icio.us | 1 Comment

A new face in the Flex blogosphere: Ethan Eismann. Ethan is on the Experience Design (XD) team at Adobe, working on the design of Thermo, and I’m sure he’ll have all sorts of interesting thoughts on design. Welcome Ethan!

Digg!digg this | del.icio.usdel.icio.us | 3 Comments

The Adobe Edge newsletter has a new Thermo video up. It’s the same demo we did at MAX, but it’s higher-quality and easier to watch than the YouTube version. Check it out!

Digg!digg this | del.icio.usdel.icio.us | No Comments

Well, Thermo caused quite a buzz at MAX, and needless to say, we’re very excited about all the reaction. If you weren’t at MAX, you can see Aral Balkan’s video of the Thermo demo up on YouTube: part 1, part 2, part 3.

Since we did the demo, I’ve been semi-obsessively searching MXNA for blog posts about Thermo, and among the generally positive responses, people have also posted a number of questions and concerns. I thought I’d address some of these here, to help clarify and amplify what we showed in the demo. (Sorry–no spoilers about release dates or other features here!)

The demo showed Thermo creating a lot of bitmap graphics. Will Thermo applications be large and bitmap-heavy?

The demo happened to have a lot of bitmaps in it, since it was a CD cover browser, but Thermo will work with both vector and bitmap assets. The main difference between graphics in Thermo and in Flex today is that vector artwork in Thermo is expressed through bona-fide MXML tags, rather than opaque SWF symbols. In the demo, for example, Photoshop text layers came over as TextGraphic tags, and rectangle shape layers came over as Rect tags. Naturally, MXML graphics will also support complex Bezier paths, rounded rectangles, and so on, and will support importing from Illustrator and Fireworks as well as Photoshop.

Why is it useful to have graphics tags? Why not just import graphics as SWFs or bitmaps as in earlier versions of Flex?

For static graphics, you could argue it’s about the same. But few graphics in a Flex application are static. Much of the “rich” in RIAs comes from dynamic graphics–graphics that change in response to user gestures or dynamic data.

In Flex as it is today, developers have to create dynamic graphics by writing imperative ActionScript code. With MXML graphics, developers no longer need to recode the designer’s graphics in order to make them dynamic–they can simply modify the graphics at runtime through simple property access, data binding, the transitions/effects engine, and so on. Designers can continue to edit the graphics visually in Thermo without disturbing the developer’s code.

For example, suppose I draw a button skin in Illustrator that’s filled with a blue gradient, and we want to create multiple buttons with the same look but different colors. My developer can just import that as MXML, and then data-bind the gradient color to some style parameter. Voila–instant styleable skin, without writing a line of AS code. I can then edit the shape of the skin visually in Thermo, and the color style will continue to work, without my having to rewrite a bunch of Graphics method calls.

Now let’s say I want to animate that gradient color when I mouse over the button. Again, I can create this through declarative transitions written in MXML, rather than having to build the animation into an opaque SWF symbol. And again, because the transition is in MXML rather than ActionScript code, I can visually design that transition using the Thermo UI.

The text field that was created in the demo seemed to have its skin specified inline. Will Thermo create large single-file applications? Will the code be huge?

Thermo is being created for designers, but of course it won’t be successful unless its output can be easily consumed by developers. Thermo will definitely provide easy ways to factor the resulting code into separate files. For example, skins can be automatically put into separate output files and generalized into CSS rules. (Flex Builder 3 actually already has functionality for extracting inline styles into CSS, and we would certainly have the same functionality in Thermo.)

One example of code factoring that wasn’t obvious from the demo was that when Steven created a list from the individual CD covers, the item renderer for the list was actually created as a separate file. When he then double-clicked on an item in the list to edit it, it felt like it was being edited directly in place in the context of the larger application, but Thermo was actually making edits to the separate item renderer file behind the scenes. This is an example of how we can keep clean code separation without forcing the designer to understand the guts of Flex.

It’s great that you can turn graphics into buttons, scrollbars, etc., but what about custom components? Will Thermo work with components created by developers?

Definitely. Our intention is to make it so that developers can create components that are usable in Thermo the same way the built-in components are. Naturally, they will need to conform to certain rules and/or implement a certain API in order for those components to work well in Thermo, but our intent is to keep those requirements lightweight.

Thermo seems geared towards letting designers build a complete Flex application. Does that mean you expect designers to create business logic as well?

That’s not the goal of Thermo. One way I like to think about the designer/developer dichotomy (woo, alliteration!) was suggested by Rob Adams: developers deal with system logic, and designers deal with user logic. The two are not exactly the same, though they obviously intersect. Our goal is to make it so that designers can use Thermo to design the user logic of the application (along with importing and editing the visual design), and provide a clean way for that user logic to be hooked up to backend data and business logic by a developer.

That’s all for now. Please feel free to comment (or post in your own blogs) if you have more questions about Thermo–naturally, we can’t answer all of them at this point, but we’re really interested to hear your thoughts!

Digg!digg this | del.icio.usdel.icio.us | 5 Comments

We’ve finally taken the wraps off Thermo–yay! We just showed a demo at the MAX day 2 keynote, and it went great. For those not at MAX, we’ve posted some info and screenshots on Adobe Labs.

I’ll post more thoughts on Thermo soon, but for now I need to grab lunch and go talk to customers at the Flex booth. Stop by if you’re here!

Digg!digg this | del.icio.usdel.icio.us | 12 Comments