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?