To use or not to use Flash/Flex portals for Web sites

Last week I was thinking about design of the main view of a new project for a new client of ours. This application is interesting in that it can deployed as an enterprise RIA as well as a tool to be used by any consumer connected to the Internet.

The mockup of the main view looks clearly like a Web portal with a number of portlets, which can be maximized, moved around, and independently communicate with the server(s).  But… This Web site has to be discoverable to bring more and more new customers.
Here comes the quiz. Can you see why the previous two paragraphs have an important logical issue, which represents a misconception sitting in minds of many creators of Web content?

Being a Java developer, the JSR 168 is always in my mind and the first annoying thought is, “I can create a traditional HTML/JavaScript Web site with portlets, some of each are Flash Player SWF’s and the others are regular HTML/JS markup. This will give to search engines enough of a textual chew to digest plus the benefits of more animated, engaging, and better performing (sorry, Steve) Flash content”.  If some of you want to bring these dopey and groundless Adobe statements that Google is indexing Flash content with special secret, mighty, but headless Flash Player, please, get real or show me the money.

I know how to create a well looking and performing Flex/Flash based portal. I know how to cut this RIA into pieces, how to run this project, how split the job between team members located all around the globe. I don’t know just one thing – how to make this Flash-based portal d-i-s-c-o-v-e-r-a-b-l-e on the Web.

And here comes the answer to my quiz. Stop confusing Web sites and rich Internet applications! Got it? OK, let me re-phrase it. A Web site and RIA are created for different purposes.  Creating an HTML/JS Web site to present, promote, and make discoverable your RIA is one independent track of your project. And a-f-t-e-r the random user somehow landed on this Web page offer him or her a little link to the real beauty – a Flash-based (sorry, Steve) portal.

That’s all folks. It’s Sunday morning, and I need to go out and get some stuff for the barbecue – having more than 20 people over today.
If you want to discuss it in person, consider attending our Third Annual Enterprise Flex Symposium in New York City. It’s a small event where attendees and presenters can have face-to-face conversations.

Yakov Fain

My wishlist for Adobe MAX 2009

In ten days I’ll be sitting at the general session at Adobe MAX 09 in LA.  People from Adobe will come up on stage one after another delivering the latest news on the products we all use daily. Here’s my short wish list of the news I’d like to hear:

1.    Flash Player will become available on iPhone at so-and-so date. A year ago I’ve been hearing hints and vague promises that this is in the works. A year later – nothing happened.   It’s great that Flash Player is installed on each desktop connected to the Internet, but this doesn’t cut it any longer. Last year Adobe announced the motto “Mobile first” and it’s time to put the money where their mouth is.

2.    LiveCycle Data Services. If Adobe won’t substantially lower the prices, I feel sorry for their salesmen who try to sell LCDS to the enterprises. Five thousand per CPU for the enterprise edition seems to be a reasonable price for the features it provides comparing to free BlazeDS.

3.    Adobe AIR.  It’s time to let it behave as a full fledged desktop development platform. Allow AIR to start other applications, let it access ports on the user’s machine. Stop being a little pregnant.

4.    Flash Catalyst. This product is being developed for more than two years and I still have hard time trying to understan how it’s useful in the enterprise world. Sure enough, you can use it for a quick prototype, but there are other simple tools that can be used for wireframing and prototyping.  I want to hear at least a promise (with a deadline) of something useful for the real world. Of course, I’m talking about round-trip scenarios when a developer can refactor generated code, and later on, the designer should be able to load this code into Flash Catalyst, make some changes and regenerate the code again without messing up developer’s code. I also want to see how an enterprise project can be started without the need for the developers to wait until the designer’s ready with his/her FXG file.

5.    Flash Builder. The gap between releases of Flex Busined 3 and Flash Builder 4 is getting too wide. I understand, that this serious redesign is caused by introduction of Flash Catalist and by new component skinning architecture, but I want to see some real improvements in performance of Flash Builder 4, which won’t be available till late February of 2010.  I also want to see substantially smaller SWF/SWC files generated by Flex compiler. Modularization and framework caching is OK, but not enough. I want more good news from this department.

6.    The startup of the Flash Player and with the minimal Flex objects (i.e. SystemManager) takes too much time. Even with the use of preloaders with light Flash-only pages, I can’t promise my customers that I’ll be able to design a Flex application that will show the first (any) view of their RIA in less than 2 seconds. Too bad.

7.    I’m really interested to see how this new Flash Platform Distribution Services will pick up in the real world. Will its revenues justify this enormous spending on purchasing Omniture?  I want to hear more about it.

I’m sure people who are using Creative Studio 4 see some room for improvement too,  but this is not my cup of tea and I can’t come up with additional items for my wish list that would please the graphic and Web designers.  But if my seven wishes become a reality, I’ll openly admit that Flash platform is a killer.

Yakov Fain

Interesting news from Adobe – new distribution services

Today, Adobe made a very interesting announcement – Adobe Flash Platform Services for Distribution is available to the public.  To put it simple, it’s a new way of distributing, promoting, and measuring the usage of your applications on the Web.

Let’s say you’ve developed a Flash RIA (i.e. a game, a movie promo, a stock-market widget) – now you’ll be able to make it available to other people in a viral fashion over the major social networks. You’ll get an API that will let you add the “Share” button similar to the way you can share the video on Youtube. But this button will allow for cross-network distribution and the user will be presented with a choice of social networks to distribute it to.

Developers get a new API to add this Share functionality to their applications. Adobe will also offer sharing these applications between the mobile devices that support Flash platform.  This feature is available for free to anyone. To make it clear, your applications remain hosted on your servers – only an HTML snippet that provides a reference to your applications is distributed.

The publishers who want to promote their product will be able create and run a campaign for a fee targeting specific audiences on the social networks. Say, if you are looking for an application on Facebook, Myspace, iGoogle et al. that explains how to make your belly flat, publishers, who purchased promotions will be able to offer THEIR applications about getting rid of extra fat to  large audiences.  Adobe promises to be able to deliver tens of thousands of installs of your application this way. An additional benefit is that publisher will be able to simply specify social networks they want to use while ordering their promotion campaigns.

The publishers will be offered rich tools for measuring the success of their distribution campaigns. To me, this immediately explained Adobe’s move to pay a premium for Omniture, the company that is in business of Web analytics and optimization.  When I asked Adobe if this new distribution platform and the  Omniture announcement are related, they declined to confirm a direct link between the two events stating that the platform is available today, but the deal with Omniture did not go through yet.  Oh well, you don’t need to be a rocket scientist to put two and two together.

This new way of distribution of Flash based application shows that Adobe is very creative in finding new revenue channels and making Flash Platform very appealing way of distributing applications on the Web and in the mobile space. I know that in the mobile space Adobe is focusing on Windows ME, Symbian S60 (Nokia), and iPhone platforms, but this is all I know. I’m really hoping to hear some major news at the upcoming Adobe MAX conference bringing the latest version of Flash Player to popular mobile devices. But you can use these new  distribution services to spread your iPhone applications too.

In my opinion, introduction of this new distribution platform is the most exciting news from Adobe released in 2009.

For more information about  distributions services read this.

Yakov Fain

The Home Page of Flex Applications Should be Programmed in Flash

Is your RIA fast? I mean not when your are running it locally on your PC that has the Browser, Web server and the database installed, but when it’s out in the wild where people in the USA and Europe “enjoy” DSL speed of 512Kbps. The countries like India or Russia  use the term “broad band” if the network that can deliver 128Kbps.

After all optimizations and modularization your newborn Flex RIA weighs 1MB, plus a number of libraries that may be lazy loaded after the user starts working with your application. Last year it was acceptable. Today, I think we can do better.

Besides fine tuning of each and every loadable module that will improve actual performance of your application, there’s something that’s known as perceived performance.  The speed of loading of the home page of your application is crucial in forming the user’s opinion about performance of your application.

If the home page won’t show up within 20 seconds, a typical user will say that performance sucks.

Adobe Flex is a great tool, but Flex SDK is heavy. Even though you can link Flex SDK to your SWF as an RSL hoping that the user already have it cached locally, there’s always this first time when the SDK has to arrive to the client.

So what’s the reasonable size of the home page of an RIA? IMO, it should weigh less than 200Kb. Is it possible with Flex SDK? I doubt it unless you are in business of selling Hello World applications.   In the past, we were trying to improve user perception by introducing pure Flash/AS splash or logon screens on the preinitialize event, but now I believe that we should take more radical architecture approach – create an entire home page in Flash without using Flex SDK API.   Then the Loader should be able to load SWF/SWC files created in Flex and Flash/Flex code can communicate via events.

Development of a home page in pure ActionScript will take a lot more time than in Flex, but isn’t making the users happier the ultimate goal of any RIA?

Yakov Fain