|
Perhaps no decision is as critical to the success of a software project as the choice of underlying technology. Never in my experience has that choice been so shrouded in mystery and misunderstanding as it has with the advent of the Web.
Thank you, thank you, thank you a thousand times for your Maximizing Windows article!
Not for the web design wisdom, but as an outstanding example of the UI problems that come from stuffing applications into web browsers. Currently, IMHO [in my humble opinion], web browsers are an appropriate mechanism for application delivery only when an application must be made available to the public (or rather all networked computer users) at large. While the approaching universality of web browsers is unmatched by any other platform, that singular advantage comes with an amazing set of disadvantages.
We have a perception problem out therethat the web is whats new and better and sexy and cutting edge, ad nauseum, and thus all new applications should be web-based. In many cases where an application does not need to be available to the public or a large number of users, where the application will be used every day instead of only rarely, the better solution is a cross-platform custom application. (The application should use TCP/IP for communications and be available for download via a web browser, thus taking advantage of the lower-level of universal connectivity.)
So next time Im talking to a client who needs to provide an application (of at lest moderate complexity) to a handful of users at each of a handful of business partners and who thinks they want a web application, Ill fall back on your article instead of stammering as I try to figure out how to politely say: BUT THAT WILL SUCK!
Scott Ribe
Let's first explore what has gone wrong, then see what we can do to fix it.
Command line vs. GUI
The last great paradigm shift was the initial move from command-line to GUI. The advantages and disadvantages of each back in the early 80s were well understood:
Command Line | Early GUIs | ||
Speed: | Fast | Medium | |
RAM Memory requirement: | Low | High | |
Familiarity: | Excellent | Nonexistent | |
Ease of learning: | Fair | Good | |
Ease of use: | Good | Good | |
Safety: | Poor | Excellent | |
Development effort: | Understood and reasonable | Not understood and complex |
(Safety refers to the support offered by the application, guiding users away from error and helping them catch and correct those errors that are unavoidable.)
GUIs were only a lot easier to learn than a command line interface. However, if you already knew the command line interface, you didn't need to learn anything to use it. Since the early adopters had already adopted and grown used to command lines, they so little reason to switch over, and GUIs were very slow to catch on. It was only years later, as familiarity with GUIs grew among both users and developers and as computer speed and memory capacity improved, that the balance finally tilted toward GUI. The transition was over only when the command-line interface became the unfamiliar, and, therefore, difficult interface to learn.
Rush to judgment
A quite different cycle is happening with the Web. People have adopted the apparent new technology, generic web browsers such as Netscape Communicator and MSIE, upon which they are constructing complex mission-critical applications. They are often doing so with little regard to their comparative weakness:
Contemporary GUIs | Contemporary Web Browsers | ||
Speed: | High | Slow | |
RAM Memory requirement: | Low | Low | |
Familiarity: | Excellent | Good | |
Ease of learning: | Excellent | Fair | |
Ease of use: | Good | Poor | |
Safety: | Excellent | Poor | |
Development effort: | Understood and reasonable | Not understood and complex |
Second, Dynamic HTML has actually made it possible to write something that looks and feels like a real application. For the first time, something more complex than a simple order form can be built and will run in something approximating real time.
Lots more needs to be done. Microsoft needs to continue with their master plan, knocking out Apple, Sun, and all the other platforms, making Internet Explorer compatible with "all systems" by virtue of there only being one. (They could, alternately, make Internet Explorer fully compatible across all systems, but I think they would rather drink paint.)
Then, they need to add a lot more horsepower under the covers, so that developers can mask a lot of the delays and latency of the net. Finally, they need to give developers access to standard window objects, like the menu bar. Until we can have access to the fundamentals of the GUI, weblications will continue to be a poor stepsister to "the real thing."
The Three Year Lag
As Microsoft works away on Internet Explorer 6.0, millions of people continue to use Netscape 3.0. A lot more who would rather play cards with Netscape than play monopoly with Microsoft have only moved up to Netscape 4.0, where they intend to stick until hell freezes over or Netscape's open-systems "iguana" project sees the light of day, whichever occurs first.
No Netscape browser today supports anything other than the most rudimentary parts of Dynamic HTML, and none will be magically updating itself any time soon. As a result, the majority of us for the majority of projects will continue to turn out software we would have been ashamed to ship in the '70s, because that't the best these ancient lizards will support.
You can, with impunity, use stylesheets right now, regardless of what browser your pages will be seen on. Just make sure (as I failed to last month) that you test on both stylesheet and pre-stylesheet browsers to ensure you haven't produced any invisible text.
You can also push for sending different pages to different browsers, so that users of up-to-date browsers (IE 4.0 & 5.0) will not be penalized because of their less "with-it" cousins. Selling this idea is made far easier by creating a really swift looking page in dynamic HTML, then letting folks see what the experience would be otherwise.
And, should you get nowhere with any of these arguments, look at the bright side: In just a scant three yearsless if Microsoft "accidentally" change something in the OS that will make these old browsers breakalmost everyone will have 5.0 browsers and you'll be able to return to designing real software.
|
Don't miss the next action-packed column! Receive a brief notice when new columns are posted by sending a blank email to asktoglist-subscribe@yahoogroups.com. |
Contact Us: Bruce Tognazzini Copyright Bruce Tognazzini. All Rights Reserved |