Home  >  

Thoughts on Flash Catalyst

Author photo
December 17, 2008 | | Comments (14)
AddThis Social Bookmark Button

At the recent Adobe MAX conferences, attendees were given the first publicly available copies of Flash Catalyst (AKA “Thermo”). This release can be best described as a pre-alpha release, since many features are not available and only a handful of default components can be used. One added note, this release will only work on Intel-based Macintoshes. Also given out to the attendees was a copy the next version of Flex Builder “Gumbo”.

FC_splash.jpg

But even with this functionally limited release, we can start to see how that Adobe has attempted to bridge the divide between the designers and the developers. During the sessions, the presenters were able to take a well-formed Photoshop file, convert selected elements into basic interactive components and output a working SWF.

The first glimpses of this collaboration tool (I agree with some recent comments by Adobe evangelist Ryan Stewart that it is not about workflow, but rather about collaboration with the team), were shown over a year ago at the 2007 MAX conference. Attendees were awed by this new tool that promised easy conversion of a design into a developer-ready framework. But beyond breaking down a Photoshop or Illustrator file into MXML tags, this tool showed us a method to add basic interactivity - elements could be converted into buttons and sliders. During the 2007 sneak peak, the concept of ‘dummy’ data was shown, to enable simple prototyping of the interaction design.

As I sat in the audience in Chicago, I envisioned that this could become my dream tool. I have been a software prototyper for over ten years now, using a variety of solutions to quickly meet the needs of the designers, as they explore new user interfaces and conduct usability studies. Could this tool actually enable our team to more quickly explore new ideas? Would we have a code framework that the release engineers could leverage from? Maybe…

Since that first showing, I followed every bit of public information on the progress of “Thermo”. I carefully watched as Mark Anders demoed it during the 360 | Flex conference in San Jose. But I also understood the challenges that the Flash Catalyst team faced. There are several other prototyping tools that have made this type of promise to designers and developers, but they all have fallen short in some fashion.

For those readers who have had the chance to prototype a design before, you can hopefully understand the value of having one. More than once, as a design seemed fine on paper or the visual comp looked great, once thoughts were put to glass they quickly revealed their flaws.

Adobe products have a long history of being used as prototyping tools; Director, Flash, Flex, and Fireworks. Portions of both Macintosh OS X and Microsoft Vista were prototyped in Adobe Director. It’s rumored that the user interfaces for CS5 are being done in Adobe Flash. So, as a company they have some familiarity with the space.

So where does Flash Catalyst fit in? One major drawback for Adobe’s other products was the code that was written was not very usable by the actual developers, making the entire effort almost “throw-away”. In these budget conscious times, spending extra money on a prototype might be a hard sell to management. Flash Catalyst attempts to solve that by outputting well-formed MXML code for use in “Gumbo”.

But before Flash Catalyst can attempt to meet this lofty goal, many key components had to come into place. This is one reason why we are just getting to the first prerelease of Flash Catalyst. One of the critical components was the addition of the FXG format into the many of the CS4 application suite. This data interchange framework allows FC to easily interoperate with its three primary visual providers: Photoshop, Illustrator and Fireworks.

The other critical component was to have a tool that could understand the custom user interfaces that were being converted. Anyone who has tried to skin or style a MXML application will understand the shortcomings. The Flex team understood this as well. With the “Gumbo” release, much of the framework was rebuilt to better enable their styling and skinning. In addition to the revamped components, Gumbo will have the ability to draw simple primitives. Although we can extend Flex Builder 3 with the efforts from the Degrafa team (which is working with Adobe to insure compatibility between them), this is another needed component.

So, with the foundations now in place, Flash Catalyst can move forward. One important thing to note is although it was name Flash Catalyst, it is solely built to output MXML. I think the naming is about the establishment of the Flash Platform rather than the Flash Application. I would not be surprised if Flex Builder gets a new name before its next release. Hopefully, Adobe can avoid the mess that Macromedia made with their Shockwave branding.

In the next post I’ll explore some of the user interfaces of Flash Catalyst. For those who can’t wait, the recent edition of Adobe’s Edge has a brief video segment on Flash Catalyst and the sessions from Adobe MAX should be appearing on Adobe TV.

Read more from Chris Griffith. Chris Griffith's Atom feed

Comments

14 Comments

ariel sommeria said:

I often get the impression with Adobe that the accent is on producing tools that generate this and convert that and mix up this and and something else to produce something that often isn't very useable. Flash Catalyst tries to address a real need - creating a better workflow between designers and developpers, but I'm not sure from what I've seen that it will really help that much.

Ryan Stewart said:

Great writeup Chris, thanks for doing it. And it's a tough problem. Ariel, if you'd like to chat about why you don't think it will help, I'd be happy to hear your thoughts.

=Ryan
ryan@adobe.com

Joseph said:

Yep, I was impressed with the ease of transition creation, and state changing control. It is basically a somewhat active blueprint of the application. It's more the look and feel rather than the functionalities of the app. For the moment, I feel, it's developers who will work on Catalyst first, and then pass it on to designers. Too bad this cannot be used on a current developing product, nor Gumbo yet for that matter, but looking good. I think I made a good bet on Flash/Flex/AS2/3 several years ago.

pt said:

There are real problems with FC, and they're not even about deficiencies in the app itself. They're shortcomings with Adobe's approach to Flex. Adobe has refused to address the serious performance issues with the base Flex framework, and has failed to support its advanced developers and their apps.

Adobe wants to make everybody and their grandma a Flex "developer". That results in a lot of amateurs and only a few advanced ones who who take the time to learn on their own. For example, instead of explaining what data binding is and how it should be used, Adobe has hidden that complexity away from the user and instead made it magic. Admit it, data binding is freaking magic. Except that it's an intense performance hit every time you use it.

And guess what? They built their major application framework around a completely data-bound model. I guess Adobe doesn't expect me to create apps of any significant size, otherwise I run the risk of making my app dogshit slow and taking up roughly 500mb of RAM (true story).

So the problem with FC is that instead of supporting their developers, Adobe is trying to make it easy as hell to become a Flex "developer," while sacrificing performance and support for their existing developers. They can't just assume Flex is only used at the minimal, prototype level.

Adobe wrote most of the Flex framework to hypothetical use-cases. And guess what? Those use cases were something like, "Make it work when a maximum of 15 items are inserted into an AdvancedDataGrid." If you have shit use-cases, you're going to have shit code that works perfectly for those shit use-cases. But I get a client who needs 15,000 items in an AdvancedDataGrid. Oops.

It's damn frustrating is what it is. Maybe we should fork it.

Norbert Kopcsek said:

@pt

Actually Adobe can't satisfy all developers needs. Maybe you have to get your own hands dirty and develop a more lightweight component which can handle 15,000 items. Or find a way to present those items in a more intelligent way (thinking about paging and stuff).
You can't expect a component developed for 100-1000 items to be performant with 15 times more items. And I can't think of a use case where a user wants to browse 15,000 items ...

Chris Griffith said:

@pt-

Databinding is a powerful tool, but you do need to really understand its costs versus benefits when using it in larger scale application. At the last 360Flex in San Jose, Michael Labriola gave a presentation entitled "Diving in the Data Binding Waters" It does a nice job of really getting under the hood of data binding. http://onflash.org/ted/2008/08/diving-in-data-binding-waters-with.php

Norbert makes a good point, that with a record set of that size ( which sadly I can thin of use-cases for), a paging scheme might make sense. How can a user really manage a data set of that size? They don't. They filter or search their data. As someone who lives more on the UI side of the code, I would seek UI based solutions to that issue. But, remember Flex is Open Source, so feel free to dive into the code and make it better!


radekg said:

FC is really great tool, I was watching some videos only but I still can see how the tool will help designers and developers. The other thing which is really interesting is: 64bit Flash Player for Linux, AIR, Alchemy, ... CS5? Maybe CS6 ported completly to Flash thanks to Alchemy and running on Linux? Who knows.
Adobe already presented PDF reader running inside Flash Player.

radekg said:

FC is really great tool, I was watching some videos only but I still can see how the tool will help designers and developers. The other thing which is really interesting is: 64bit Flash Player for Linux, AIR, Alchemy, ... CS5? Maybe CS6 ported completly to Flash thanks to Alchemy and running on Linux? Who knows.
Adobe already presented PDF reader running inside Flash Player.

Guys, you really have to work on your captcha and the speed of comment saving. It is third time while I'm trying to submit this comment.

Svetoslav Sotirov said:

I personally had a very long discussions about FC during MAX Millan with people from Adobe and to my great disappointment there are no immediate or long term plans to support really an iterative agile workflow with FC that involves designers and their real pain points when they work with the developers. By that I mean a real round trip between designers and developers in an agile process that amazingly enough involves using a Source Control system.

Adobe in their research found that the majority of the designers do not use source control systems in their daily work and do not participate in the implementation phase using a shared source control system with the developers . And for designers that do, they will have to use the developer tools for merging .
Imagine a designer using a development merging tool ?!
For me that defies the entire idea of FC. Cause I don't really think we as a community need a tool for creating prototypes or just covering the initial layout creation.

Right now because of the complexities, very well noted in previous comments, to effectively translate the design into MXML layouts and complex components we have to introduce redundant roles in the implementation process.

The hope was that FC would solve that problem , but to my dismay Adobe does not think that Designers should be engaged in the complete cycle of the development where FC plays an integral role.

So on one hand we see them pushing for front to back agile process when we talk about Flex development on the other , even on a road map level , they don't believe, FC will be mature enough to be an integral part of a complete life cycle for creating RIA where it can effectively reverse engineer a complex project and allow the designers to work visually within an environment that they are most productive.

Lastly , please someone from Adobe step in say that I have no idea what I'm talking about and I'm very much out of line in my thinking

Chris said:

I think Thermo is going to be great. if not for anything else, it'll save developers tons of time. i think i spend more time writing all the css for the million button states than actual coding haha

But seriously, i watched a few of those demos and it looks really sharp. Being able to tie Flex and Photoshop together is an enormous help. it takes so long to get everything out of Photoshop so i can use it in Flex for styling.

I might have missed it on here, but does anyone know when the public beta will be coming out?

Murray Eaton said:

FC will be great for prototyping and the initial integrastion "round trip" with development, but it will end there. Once the dev team put any componentised framework into the application it will no longer be accesible with FC. Much of our Flex applications have no designable gui (all AS).

FC will be a terrific product for application design dont get me wrong! But it will have a shelf life in most development cycles.

(hope Im wrong)

Terry said:

I particularly like presentations like this — no nonsense, just a quick overview of interesting product features applied to a real world application.

Of course there were some “here’s one I made earlier” moments but still quite impressive how quickly you can go from a design to a functioning prototype. I’ve been a bit ambivalent about Flash Catalyst (previously known as Thermo) in the past but its shaping up to be a great product.

I’m not quite convinced Flash Catalyst should become a separate tool, if I’m not mistaken its also built on an Eclipse code base (not that you could easily tell) and at the moment it looks more like a Flex Builder design view on steroids. web hosting In any case, good to have a tool like this to move away from the default component look and feel and bring some creative expression to the Flex framework.

Joseph Souza said:

The Catalyst is an excellent tool for creating interfaces and content for interactive applications without typing a line of code. I´m loving it!

Allows me to load interactive skills that only the Flash and Flex, and provide the end generate a SWF file that runs on any machine that has Flash Player installed.

The code generated by Catalyst is clean, and then can be modified at any time by me in my website to integrate it with some back-end language.

Great tool!

Jacob said:

Flash Catalyst tries to address a real need - creating a better workflow between designers and developers of online dating. Allows me to load interactive skills that only the Flash and Flex, and provide the end generate a SWF file that runs on any machine that has Flash Player installed.

Leave a comment


Tag Cloud

iPad

What's your take on the iPad? (Putting aside the Flash/iPad flame war)

Answer

Latest Features

Recommended for You

@InsideRIA on Twitter

Archives

  • Or, visit our complete archive.  

About This Site

Welcome to the premiere community site for all things RIA sponsored by O'Reilly Media and Adobe Systems Incorporated.