For several years Macromedia has been pushing to extend its Flash from nice presentation device to data delivery system with its data remoting and GUI with its widgets. In some ways Flash is the only viable cross platform GUI toolkit these days. But unfortunately for Macromedia Flash is bound to browser -- there are standalone Flash players but they have made little impact because Flash widgets look alien as a standalone desktop application even though they look great on barren browser surroundings.
Macromedia has come up with two derivatives from Flash: Flex and Central. Flex is still bound to browser. To put simply, it's a replacement for JSP with Javascript and XML. Supposedly JSP developers are to embrace Flex as "better and improved" JSP with Flash remoting and rich interface. But will they?
Laszlo has been making similar Flash-based technology for a few years but still has gained little backing from developers yet. Incidentally, Laszlo supports Flash 6 and up unlike Flex that requires Flash 7 or up.
What about Central? Central is an attempt to break free from browser and gain a new homestead by itself. It's a souped up standalone Flash player with its own application model. Users of Central gain rich UI for interacting with remote data as before and, as a added bonus, carry on even when there is no network -- Macromedia's spin is that Central supports "occasionally connected computing." Apps live inside Central's container (on the top row there are icons of different apps). Another way of describing it would be: it's Groove-"lite".
Still the Central's story is incomplete at best and many following concerns are unanswered:
- As a developer, would you like your application to live in yet another container? (This even discounts thorny issues about per-seat licensing, revenue sharing, etc.)
- Corporate IT wouldn't like yet another desktop application (even worse, it's an application delivery vehicle) as it adds another security, update, maintenance concerns. They'd rather see Flex.
- If a company were to sell their Central apps, what happens to its branding?
- As a consumer and user, I like Central but I don't find it compelling enough because I already get most of its benefits from plane Flash on browser (which I know how to use). Offline operation could be useful but it is unclear how yet (see below).
- Offline operation means local data storage. Does it mean full file system access or partial, managed access? Either way opens a lot of problems.
- Flash widgets are not native widgets and they stick out in Central setting.
- I don't think anybody has made any headway by offering a desktop-on-top-of-desktop ever.
- Unless one Central instance can talk to another remote Central instance, it's not that interesting, is it? I'll be damned if I have to reinstall apps just because I happened to use a different computer than my usual one.
- Suppose browsers start acting like a fully network aware application i.e. they embed servers. Paperairplane and other such efforts are underway. It's quite easy to create a simple HTTP file server (one line of Python) and it won't be too long before browsers would have a built-in servers (Netscape had full CORBA ORB years ago after all). If this happens before Central evolves, what would be the point of Central?
I am sure many of the questions are already answered somewhere in the Macromedia community and would appreciate pointers. Despite my doubts over Flex and Central, I remain a fan of Flash. (Isn't it interesting Flash is what Java applet should've been but never could be?) I hope Flash won't become Real anytime soon!
Flex/Central architecture description: http://www.artima.com/forums/flat.jsp?forum=106&thread=22204
Flash penetration: http://www.macromedia.com/software/player_census/flashplayer/version_penetration.html
