Posts filed under 'Technology'

Why Flex for Resourcemint

After initially trying to do it the traditional web application way using HTML/CSS/Javascript. We soon realized the problem at hand. One of the basic limitations of HTML is it’s static nature, and despite that we can add a lot of bells and whistles using Javascript and make the application buzz-word enabled and much more responsive to user gestures, still the fact remains that it was supposed to do with documents and not applications.

Also Ajaxified web documents break the rules of semantic web, and standards compliance and are inaccessible most of the time. It forces the developer to resort to ‘tagrobatics’, excessive and non-meaningful usage of markup for the sake of those slick context menus and animations. We must realize that the traditional web is just about textual content sprinkled with an image here and there, styled using a stylesheet and with a dab of Javascript thrown in to further enhance the user experience. But when one’s trying to imitate desktop applications using these things it complicates matters. In order to satisfy our lust for a richer user experience we have stretched the medium too far. When all one has is a hammer, everything looks like nails.

With Flex we deliver applications for the flash platform, the client tier is not the regular static text and images delivered by the web server along with certain scripts to be fired at a handful of events available (which admittedly can be used to accomplish quite complex tasks), but this is the truly rich and stateful client with support for custom events, at least a hundred kilobytes of persistent data storage. It makes us capable of imitating the desktop experience in the browser. We’re no more thinking in terms of text and markup. We now don’t respond to clicks and load events, rather we respond to custom events (like useradded, datechanged etc.) which helps us to think about the application from a business perspective.

The Flex application client is responsive. It can respond to user interaction, mouse movements, clicks and also to timer events. Also because Flash Player is a smart client it can save on network overhead and bandwidth usage by downloading data once and manipulating it at the client tier without repeatedly communicating with the business tier. For example, in resourcemint whenever the user changes the dates of a todo item all the related dates also shift. If we’d been using the traditional Ajax thing, this would’ve been really cumbersome to accomplish. We’d have to traverse the entire DOM to find out date strings and perform date operations on them after converting them to a better format and somehow tell the server that something has changed, or we’d have to send this change back to the server and the server would then have refreshed the entire page to reflect the changes.

But with Flex the client connects to the server and downloads an entire project dataset which can then be manipulated at will at the client tier and later on synced with the server whenever the user chooses to, or at certain intervals. A detailed comparison between Ajax and Flex can be found at Wikipedia.

1 comment September 27, 2007


Categories

Blogroll

Recent Posts

Blog Stats

Top Clicks

Feeds