Zoho’s recent blog post about why they used JavaScript and not Flash when building their offline version of Zoho Writer has led to some interesting but somewhat predictable responses [1] & [2]. I could have fallen into a predictable (but not necessarily interesting) response myself, but didn’t. Until I saw Ryan Stewart post the following:
I don’t think it’s an accident that Zoho and Buzzword have such different design goals or that Flex applications generally tend to look more sophisticated than Ajax applications.
That quote (and the post) seem to suggest that AJAX webapps are less usable, less sophisticated and, generally, not as pretty as their Flex counterparts. Likely not Ryan’s intent and I did say “seem to suggest” right? I usually don’t define usability based on how an application looks, but on how productive I am using the application or how easy I can learn the application. Unfortunately, some applications try to get by on looks alone. I try to see the inner beauty.
inner beauty is irrelevant to all those but coders
Flash has some good aspects to it, such as apparently the latest version resizes images on the fly (at the encoding level, not the physical or presentation level)
On the other hand it’s proprietary and therefore sucks balls.
On the whole I don’t think comparing Flash and xHTML RIA apps is comparing apples with apples although to the end user it is. The end user simply applies the a what i see is what I use (WISIWU 🙂 ) and they dont care if what they are using is a completely Flash-based application merely sitting inside a browser, or an xHTML RIA done in open standards. They care about look and feel. Does it look appealing (subjective obviously but somewhat quantifiable, as is proven by the emergence of the Information Architecture discipline)? Does it feel nice to use (again subjective but measurably in terms of response speeds etc)?
To me the key differences between Flash and xHTML RIA is twofold: the look and the feel.
Firstly the look is much smoother in general in Flash applications. Animations are smoother and don’t ‘dance’ like they do with libraries like the brilliant (but flawed in this regard) jQuery. That is animations don’t queue up upon rapid stimulation and play out sequentially before returning the UI to the user. Anti-aliasing is also massively better in Flash whereas several people in BMO have admitted it sucks in mozilla (wasn’t this going to be improved by Cairo?).
Generally speaking a usable, lo-fi xHTML RIA app, IMHO, looks like a jigsaw puzzle. Stand back and you can see the beauty of the bigger picture but up close, you can see all the join lines between the pieces.
Secondly feel is often worse in Flash mostly because developers are given too much flexibility over styling the controls and because the controls do not properly mimick that of native browser controls. For example most Flash UI doesn’t support mouse wheel scrolling inside a box like the equivalent of this textarea I’m typing in now. However I think this could be improved with a little attention to detail.
My final point is that xHTML RIA can never be done with a consistent look because of cross-browser rendering differences. Flash never has to worry about this.
pd has some good points. I think Ryan was mainly pointing out that it’s a lot more work to get to the same level and quality of a Flex/ActionScript app with HTML/JavaScript.
And BTW, Buzzword rocks!! An excellent example of Flex work!