« Historic day | Main | Player adoption significance »
February 1, 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 1:30 PM