« Historic day | Main | Player adoption significance »
February 01, 2006
Why Flex Matters
Why Flex Matters: Last week I asked your help, to tell a friend about Flex 2 Public Beta if you thought they could use it, in hopes of escaping the ghetto of early adopters in which new technology can languish. Yesterday, Christian, Danny, Sho and Mark made the announcement of the live launch, and the news about the signficant opening of the platform. If you know someone who really should know about these new options, particularly if they haven't used Flash Platform before, then it would be great if you could tip them off about the Flex Labs page, such as Sho's Build a Flex App in 15 Minutes video. Why does this matter to me? Aside from providing a paycheck and making my job more interesting, there are three big reasons I want to see this Flex 2.0 effort succeed: it's more open, it's more global, and it will help give us a more usable web experience. More on this in the extended entry....
Disclaimer: I'm writing this piece pretty much all in one go, from things that have been seething around in my brain the past few weeks... apologies in advance if I seem to ramble. Also, the following is my own personal feeling, and is not The Considered Group Opinion -- if you see ways this essay can be improved, then please add it right here to the record in the "comments", thanks.
Sidenote: past and future
Abstracting an interactive computer experience to XML has been a goal for a long time... I remember discussions with Kurt Cagle on DIRECT-L back in the late 90s... the SMIL presentation format sounded great but never really received reliable rendering support... XUL was always intriguing too but the runtime was too rare... Microsoft has also adopted this "abstracting to XML" approach for their upcoming operating system. With Flex we have a chance to actually make it work.
Flex 1.0 was targeted at the small audience in enterprise development who could pay to subsidize further research and testing. Sales of Flex 1.0 surpassed expectations, with many pilot programs now generating fullscale deployments. This technology started out at enterprise level and is scaling downwards -- the opposite of what we see with many other technologies (PHP scales up, Flash Player started simple, etc). The homework has already been done.
And for the future, I want to see more use of describing richer experiences via XML, abstracted from any particular authoring tool. I don't know how the "universal client" Apollo project will play out, but I'd rather see an open XML way of approaching this than an older 90s-style dedicated authoring system -- I want to see this become accessible to those who use any of Adobe's creative tools. If Flex is a success then the odds increase; if Flex remains hidden then it's harder to argue for openness.
Open: Adobe's big gamble
Look at the workflow: Adobe FlexBuilder is a fast way to create an application -- although you don't have to use FlexBuilder. The Flex framework and components provide a reliable way to create an application -- although you can extend the framework or add new components if the Adobe defaults don't match your needs. Adobe Flex Enterprise Server is a proven way to scale and deploy an application -- although you don't need to buy a server from Adobe for your own work. And then there's always the Flash Player, in which Macromedia/Adobe have invested much time, money, and work in getting deployed on Other Peoples' Machines -- yet you don't need to use anything Adobe-ish in order to take advantage of this significant realworld capability.
Adobe has opened up each step of the workflow. There will be competitors. The gamble is that Adobe can provide a better experience at each of those workflow stages, enough to recoup the significant investment made in Flash/Flex architecture. The company is betting on a smaller piece of a bigger pie.
I like this approach to doing business, and I want to see it continue in the future. That's one reason I really want Flex 2.0 to see rapid, widespread adoption among people who may never have used Flash Platform before -- I want to see these more open business models succeed.
Global: openness at the individual level
The above focuses on how the openness of Flex 2 affects Adobe. Let's flip it around and look at it from the point of view of each individual who may need to create things in Flex.
Don't have enough money for a live server for your apps? No problem, Flex can create static SWFs delivered by a standard web server. Can't afford the visualization and layout of the FlexBuilder development environment? That's fine, just like with HTML you can write the XML in a text editor. Don't want to buy Adobe components, or Adobe support? That's your option -- the core technology remains available to you.
There are a lot of smart, creative people in China, in India, South America, in all parts of the world. These places have different capital flows than New York City or Tokyo -- it costs more dinners to buy a software package in some areas than others. With Flex 2 you have options for each stage of the workflow. You can use the technology despite the size of your wallet.
Standard: a better web experience
I don't want to see any more web applications which require a Microsoft browser to run. I don't want to see more which require a certain version of Firefox to run. I want advanced interfaces that are supported invisibly in my choice of current operating systems and browsers.
I don't want to see each site hand-rolling their own scrolling mechanisms, their own tabbing mechanisms, their own history mechanisms... I've got enough to do without trying to dope out interface peculiarities from each application's development team. I want to see predictable, standard ways for the low-level behavior of varied applications -- I want to see component sets get commoditized down to part of the background experience of using a web applications.
As a web user, I want more predictability in the basics of how an application works, and I don't want to have to change my current browser and workflow to use it. This is part of why I want to see Flex succeed.
So what can we do?
Part of how Flex will be judged internally would be whether we add new developers to Flash Platform, or if we just cannibalize sales from Flash authoring... as Jeff Whatcott says, the company's goal is to increase the number of Flex developers from several thousand to a million.
It's important to get out the word to people who would not have otherwise bought into Adobe technology. Slashdot won't help us, Memeorandum is all about Google and Microsoft, commercial press will cover the press releases but won't go heavy until there's a juicy competition and dramatic stories.
If you also value the goals I outlined above, then you could really help by exposing Flex to someone new, someone who doesn't read MXNA, who could honestly benefit from this better way of creating interfaces. No hardsell, no evangelism -- just connecting people to this news could help a lot. I think Flex 2 will sell itself, if enough people know about it in a timely and accurate fashion.
Do you see someone during your realworld travels who could benefit from Flex? If so, could you point them to one of the videos, or even convince them to do a download and quick "Hello" app? We need this widespread exposure to what Flex really is in order to succeed in this work. If you see it's worth your while to pass a recommendation to a friend, then I'd sure appreciate it, and so would all the folks who have been working so hard this past year to make Flex 2 a reality. Thanks in advance for any support you can provide!
Posted by John Dowdell at February 1, 2006 01:30 PM
Trackback Pings
TrackBack URL for this entry:
http://weblogs.macromedia.com/mtadmin/mt-tb.cgi/7036
Comments
"I don't want to see any more web applications which require a Microsoft browser to run. I don't want to see more which require a certain version of Firefox to run."
... but it must require the use of a certain version of the Adobe plugin... ;)
[ As noted in the next line of text, installing a small lightweight engine in addition to your chosen browser is much friendlier than requiring that your whole browser brand or version be changed. -jd]
Posted by: Jeff Schiller at February 1, 2006 03:06 PM
How about writing XHTML to a web browser? That's xml -- wide player adoption. Any "platform" that costs money will never see widespread adoption. I mean Coldfusion was always a great way to get things down, but PHP came out of nowhere and is now ruling marketshare in that area. It(PHP) was good enough,open, and free. Just like now -- Ajax/HTML is good enough,open,and free. Plus Adobe is just uncool -- every geek(generalization) coming out of school now is all over Ajax apps. I always thought flash had a shot(at making a name in web apps) but it was so dog slowww(we tried a flash app. in 2003). I understand flash 8.5 fixes speed issues but it is too late for a big market share grab now for flash web applications; it(Flex/flash) is bound for the niche market.
Posted by: Christian at February 1, 2006 11:06 PM
Christian, that's the great thing about Flex 2, the "platform" (compiler and framework, in this case) will *not* cost money. It is also light years ahead of even the best Ajax solutions in terms of the development workflow it provides and the types of interactivity it allows you to create. Of course, I don't even need to mention that it is truly cross-platform (in that you don't have to write a single line of conditional logic that checks for platform so you can devote all that time to your business logic and UI.)
I'm very sure that Flex 2 see widespread adoption and Adobe appears to be on the right path.
Posted by: Aral Balkan at February 2, 2006 12:37 AM
I'll admit, it does look tempting. I might try the 130 MB download just to see what it's all about.
Microsoft has alienated its web developer base by not supporting standards. Adobe already has a significant footprint against Sparkle, and providing free tools for the Flex 2 platform is a great step, but they need to capture a bigger piece of mind share from grass roots developers. They could do this by making Flex support output in other formats (beyond SWF) so that it's not perceived as a "vendor lock-in".
Adobe makes its money on the workflow products, not the format or plugin, right?
Posted by: Jeff Schiller at February 2, 2006 05:48 AM
I've told my friends. They were satisfied. I myself don't need it.
Posted by: Troy at March 15, 2006 12:50 PM
The problem is in the name: Flex does not tell me anything. It sounds techie and half baked.
Also, the marketing should be put in promoting the components, the unified look and feel. As a developer I need to know that these won't change for the 4th time next year. Make the concept clear: Here are the tools, the components, the APIs. And that's it.
I get the feeling there is disconect between the engineering effort of producing the tools and the clear cut concept of showing imediat benefit to the user (in this case the developer)
Posted by: aa at March 30, 2006 08:28 PM