Web Applications - Bad Idea 101
There are lots of people out there that make a simple equation : web = good,
therefore application in a web browser = good. At first sight, this seems like a
compelling idea. Ubiquity's got to be a good thing right ? Access our
application from anywhere, right ? Got to be a larger market when anyone running
a web browser can access our code, right ?
Wrong.
The World Wide Web was originally designed for one purpose and one purpose
only - to allow the sharing of documents between scientists at CERN and
elsewhere. Basing it upon a static markup language derived (massively
simplified) from SGML was a very good idea. Sadly, it introduces limitations
which make the web a very poor vehicle for serving up applications, no matter
how much script you throw at it.
1. Poverty of Interaction
Notice how many commercial web sites are based upon flash these days ?
HTML/script skills are available everywhere and cheap to boot, so why would
companies want to turn to expensive Flash programming as a vehicle ? HTML sucks
at rich interaction because it was designed to be a one-way static publishing
medium. Flash allows the publisher to at least get some dynamism into the site
without having to refresh the entire page in that painfully clunky way we're all
so familiar with, but which is inherent to a page-publishing environment. It's
still pretty sucky at user interaction though.
2. Poverty of Response
We've all grown used to our applications leaping to our every demand. Well,
OK, Photoshop users are more used to an arthritic hobble, but you get the point.
When even the simplest interaction requires an HTTP packet to bumble it's way
halfway around the world, interaction is, well, kinda 1982, really. Client side
scripting can't resolve this problem if the interaction requires data that's on
the server. Moving data onto the client can solve it, but breaks the
fundamentally stateless model of HTTP and introduces environmental dependencies
that we were specifically trying to avoid in our desire for heterogeneous client
support... not good.
3. Heterogeneity of Platform
There are lots of browsers out there. I can think of half a dozen off the top
of my head, and I don't even write much for the web environment. Each has its
own quirks, and that's before we start counting up all the older versions of
each one still being run. This kind of heterogeneous environment forces upon us
either (a) a massive development budget, or more likely (b) a
lowest-common-denominator interface, which reduces even further the degree of
user interaction we can provide. Users of Baan will know exactly what I'm
describing here : the understandable desire to support users on lots of
platforms from a minimal codebase inevitably produces a poverty-stricken UI.
opinions page
home