Recently, in visiting a website which was entirely built with Flash, I was reminded of some discussions I had about the weaknesses of such an approach and consequently of the corresponding strengths of doing it all in HTML.
This really hit me because of a small thing. I usually scroll through pages by using the mouse’s scroll wheel and was really unhappy because for some reason I was being able to do it. When accidentally I moved the mouse a bit to the side, and thus outside the area covered by the flash control, and tried it for the nth time, it worked. It was then that I noticed that the scroll wheel information doesn’t get through from the flash control to the underlying browser. I guess I must have seen this before, but I just did not register it because that particular page wasn’t trying to show me a large quantity of information about a company.
The fact is that even though you can nicely fit in a flash control into a website for displaying a video or an animation, and you can make it look like it really fits in there, it is never really the same as what is around it. This can be okay, and actually work really well when the goal of the website is directly related to the usage of flash, such as is the case with YouTube or the Morfik Learning Center with its videos. When the website, however, is just a corporate presence or when it is an application that displays large quantity of data to the user, I feel that this not-quite-browser behaviors of flash get in the way.
Don’t get me wrong. I am not against the use of flash, where appropriate, and I believe that as far as desktop applications go Adobe has something good going with its Air platform, but there is such a thing as trying to use a hammer where a screwdriver is more appropriate.
When you build your application entirely on the standard content that is handled by the browser (HTML, CSS, etc) and use Ajax for interactivity, it just “feels” more natural, even when you are doing things which were not so natural for browsers some years ago. Again, a good example of this is GMail which does a lot of page morphing which was not so common before it came along, but which never feels like anything but a web page.
The fact that the application does not require a plugin is also nice, as there places, speacially some schools, that block the installation of plugins. This might not be much of an issue for many commercial usages, but then for some people it might just make the application unavailable.
This is a discussion that falls into the same category as the one about how web applications should look. There isn’t a right answer, there are just opinions.