I talked with Dave Brushinski of the Fauxto team and sent him some questions about Fauxto and Flex. If you haven't seen Fauxto it is a web based image editor which looks and acts a lot like Photoshop. It's an impressive bit of RIA work and they were covered on Lifehacker, Mashable and Web Worker Daily. It's an excellent example of how far web apps can go when you break out of the browser. Update: The just updated their interface so the screenshots I took yesterday are a bit old. It looks like they've added 'undo' functionality (a big plus) and revamped the UI a bit.
1. How long has Fauxto been in development?
Fauxto blossomed out of an idea conceived in late 2004/early 2005. The latest incarnation, in Flex 2, took a number of months to get into beta. We launched a bit early so that we could let the real world prove it's viability, and they have. Also, as is evidenced in our blog, we're pushing out new features and fixes at a fairly impressive clip, so it's quite realistic to say that Fauxto is still in development.
2. Why did you guys decide to use Flex? Did you look at any other technologies?
The first version of Fauxto, that won't be seen by the public (shudder), was just like the current crop of web-based image editors, although, our claim to fame with it was going to be some innovative features that aren't out there yet. Though impressive for it's time, we weren't confident with it.
To thwart any HTML vs. Ajax arguments here it was not that Ajax wasn't enough, it's that the Flash platform offered so much. XMLHttpRequest simply can't alter a pixel, no matter how much you abstract an image library on the server... we tried. Although our help system, which is still being compiled and developed dot dot dot, will be done in html with a dash of AJAX.
3. What do you think of Flex as an RIA platform?
Brilliant. Though not everyone is a Flex developer, those that are will understand completely when we say, "Duh".
Regardless of our playoff performance
4. What was the toughest part of doing Fauxto in Flex?
Because there have been roughly six versions of Fauxto done to, or near, completion before our current version even hit the public, it really wasn't hard at all, per se. Most of the codebase was updated from an Actionscript 2.0 framework. The learning curve was negligible, but not without hitches, as the massive offering of Actionscript 3 relative to Actionscript 2.0 can be intimidating.
5. You've got some great filters in Fauxto right now, are most of those coded using the bitmap filters from Flash 8?
Ample usage of matrices and some built-in features provide what is available as far filters, which is limited in comparison to desktop applications but rest assured that this is only a function of time.
6. What was the most difficult feature of Fauxto to build in Flex?
Features themselves take advantage of a very abstracted and modular architecture, so implementing a new feature is really as simple as using various aspects of our figurative Fauxto API. Building this framework to be nearly future proof proved to be the most difficult aspect of the entire project. Much of the code was "written" before it was even written just because of the sheer amount of forethought and planning required. Undo/Redo would take the cake, to answer your question specifically, but that only took us about 4 days.
7. Are there any plans to release custom components that incorporate Fauxto functionality?
Our formal plans for Fauxto are fairly scant at this point, but releasing an API for developers to include their own features is on the drawing board. Having Fauxto in third party products is a possibility though not a concrete plan right now.
Playing with Fauxto's Filters
8. What is your long term goal for Fauxto? Is there a business model in place?
We do actually have a business model proper, but it's not conventional. Long term goals include features, paradigm shifts, and changing this marketeer "Web 2.0" phrase into the user-centric "Web you point oh" that it should be. Our goal has essentially been, "Instead of working so hard to put the content on the web, let us put the tools to create the content on the web and the clever public will take care of the rest", because at the end of the day it is absolutely about them.
9. What's up next for Fauxto?
As said above, we're thinking about allowing developers to create their own features through an API, but that's a bit in the future as you can imagine. There is a considerably impressive list of things to consider when executing something of that magnitude. Also, we're currently developing our own file specification which will allow users to actually save a source file, similar to desktop applications, and resume editing any time they please. With this comes the possibility of allowing third parties to use our specification to export to Fauxto format within their own tools. We think that this feature alone will make Fauxto "the most desktop-like, web application" out there.
10. Have you guys looked at Apollo and the ability to incorporate Fauxto into the desktop?
We're certainly going to be. Although it seems a little funny to bring a web-based image editor to the desktop we certainly think it's an interesting approach to RIA technology. We'd love to see our own icons on the desktop and Fauxto being used as the default image editor for an operating system.