How many of you who has develped a browser based UI for a complex application have felt that you are back in the days of DBase? Well, I still remember my very very short stint with DBase where I had to create UIs following the horrible character by character placing of controls, but more than that, the feeling that I had to follow the rigid rules imposed by the DBase runtime. DOS at that time could do much more complex UIs using text consoles compared to what DBase could come up with.
Browser is kind of like that, or even worse. From the point of an application developer, a browser is something that is designed to make our life hard. Everything in the browser is designed specifically to curtail my freedom as a developer.
Well, I guess the complaints about the nightmares of bridging the gap between HTML and interactive data presentation is somewhat alleviated these days through various dynamic scripting techniques. But, it is still scripting.
The interactivity of a browser is by design broken. Even with AJAX and all the other patchwork that we have been putting on top of the poor browser and http only hides this fact, does not solve it.
Lets take the UI provided by any blogging service for creating new blogs. First I need to click on the sign me in page, which will take me to some kind of edit/add page after a few seconds (at best). Then I click on the new blog link, which after a few seconds (in reality several seconds) will give me a box (sometimes small, sometimes a little bit bigger, always not enough) where I can write my blog. So, I start writing, half way through, I get bored, want to go for a smoke, so I click save as draft, which usually takes two steps (somehow most online blog editors assume that I do need to see the preview even when I am saving as draft).
So I come back from my smoke, click on the edit button, wait yet another several seconds (mind you, I am on a 10mbps downstream cable) it shows me that small box again.
If I want to post this to another blog as well and there is no automatic crossposting in my blog service, the whole thing has to be painfully repeated.
Compare this experience to that of using a desktop blog publisher, in my case Windows Live Writer. (I settled on WLW after looking at several others like w.bloggar, ecto, and a few others).
So, with WLW, if I want to write a blog, I click on the menu item. It shows me the first screen in about 2 seconds and I can start writing straight away. I have a winodw which is wysiwyg, I can actually see pictures pasted to my posts. And if I get bored of writing all I have to do is press ^S and go do whatever. When I come back, it is again 2s before I get to my draft back.
I dont have to click several obscure links and buttons to do a single thing.
Browsers are best when used for dissemination of information. However, after seeing the Newyork Times reader, even there a client based solution has can have much more capabilities.
May be we need to get our thinking straight. Web based application does not (and in my opinion, should not) mean browser based. A browser based application is just a contraption that aspire to be an application, and fails.