Its MY Computer

© Robert J. Bradbury November 2001, All Rights Reserved

Abstract

The problem of the hijacking of computers on the WWW by poor web site design is explored and solutions to the problem are proposed.

Introduction

I've been writing software for ~26 years.  That puts me in the over-the-hill category I guess.  I probably can't keep up with these youngsters who code Java and Perl and Python in their dreams.  But much of the first decade of my programming experience was spent in compiler development and in particular code optimization -- so I am perhaps well qualified to comment on issues of efficiency and elegance.  From where I sit, it would be interesting to place into competition programmers of the current generation who have to wrestle with the limitations in PDAs with those whose bread and butter is web site development (who seem to generally disregard the fact that limitations may exist).  The PDA programmers would win hands down over the web site developers.  Lets look at why.

Discussion

The fundamental problem appears to me to be the "tragedy of the commons".  Web site developers are selling their sites based on how fancy or sophisticated the web sites they produce can be, i.e. how much "eye candy" is present.  More sophisticated, more bells-and-whistles, more interactive, etc. translates into more money for the developers.  Individuals at the big corporations purchasing these services (who don't know HTML from peer-to-peer), at least to date, have little awareness as to how to judge the "delivery" of the product developed by outside "web" shops.  If it looks good they tend to buy it.  They do not evaluate the experience of the "common" user -- and thus they impose upon the user (and the ISPs and the entire Internet community) the poor implementation strategies chosen by their self-proclaimed "experts".

Because the experts presumably get paid based "complexity" (how much time they have spent designing and building a web site) there is an incentive to overengineer them.  This leads to sites that "steal" the time, bandwidth and computing resources from individuals who visit such overengineered sites.

The system which I typically use to browse the web is dictated by my experience in the computer industry.  For CPU horsepower it has dual 200 MHz Pentium Pros with 256 MB of memory.  Behind that is 6 GB of SCSI drives and 28 GB of IDE drives.  The connection to the net is a Qwest DSL line.  This is presumably an above upper middle-class connection to the net.  With "upper-class" being Universities or Corporations with T1 or T3 connections and "lower-middle-class" or "lower-class" being the "average" user with dialup connections at 56Kb or less.  It is worth noting that in Moscow Russia, the "typical" dial-up access speeds are in the range of 14.4-16.8 Kbps (2-4x lower than typical access speeds in the United States).  So a page that loads in a minute to download over a dialup connection in the U.S. will require 3-4 minutes in Moscow.  I can walk into the kitchen of my apartment and prepare a cup of chai in that time.  It seems unlikely that these speeds will improve significantly over the next 3-5 years (Moscow has a very old and dated telephone infrastructure and minimal resources available to upgrade it significantly).

The problem I am complaining about occurs with many sites on the Net.  Its a feature at CNN.com, which I have to browse with Javascript and Java completely disabled for the pages to load in under 30 seconds.  Its a feature at KurzweilAI, a site designed by Tractor Studios whose Javascript "advertisement" fully occupies one of the CPUs in my system (whether or not the window is displayed or minimized)1.  The KurzweilAI site is particularly aggravating, downloading 328K of shockwave files even if Javascript is disabled.  The Tractor site itself isn't much better as it downloads and compiles a 589 line Javascript file from Macromedia to detect whether or not you have Shockwave installed and what version it is.

In addition to the size and efficiency problems involving excessive use of HTML "improvements" -- there is the problem that various uses of these "improvements" will routinely crash versions of Netscape (my preferred browser) up through Netscape 4.79.  This is highly annoying if one has open several files one is editing in Netscape composer and dozens of open browser windows to various research sources, as I often do.  The solution I typically use is to browse the web with either a filter that removes the Javascript before it can reach the Netscape or to disable Javascript (and Java) in Netscape itself.  However this may cause problems displaying certain "enhanced" web pages.

The solution to these problems is simple -- its the old KISS principle -- Keep it Simple Stupid.  The question is how do you enforce this discipline on the people designing web sites?

Solution Verification

There are ways to verify that designers have been following the KISS principle.  Web site designers and corporations purchasing their services should be held to "usability" standards.  For example as Michael Ransburg points out "Download speeds are the single-most important design criteria on the Web" [Ran00].  Right after that be "not stealing the attention of the user" (pop-up windows, blinking icons, etc.) and "not stealing the computer resources of the user" (large images in caches, javascript, java, etc.) unless the user has granted explicit permission for the "content provider" to do so.  If I request having "The Full Monty" inflicted on myself, then I probably get what I deserve (at 151KB its a slow torture -- perhaps excusable in an "arts" setting)2.

There is an easy way have web site designers follow these principles.  Buy a used PC, perhaps a 100 MHz Pentium machine with 32 MB of memory on it with a Windows 95 operating system (if you don't own Windows 95, Linux will probably suffice).  Then set it up with a dial-up connection to the net that goes no faster than 24K.  This seems a reasonable compromise perhaps between the 56K connections some U.S. users may have and the 14.4 K connections that many of the over 8 million Moscovites have.  (Obviously there are several billion people in China, India, Indonesia and Africa that for many years can be expected to have connection speeds that are unlikely to be much better than those in Moscow -- their connections will be over old copper wire, old switches, etc. and until 3G cell phone or fiber are installed ubiquitously -- a situation that isn't likely to happen anytime in the near future).  Once this PC is installed and connected to the net, web site designers are required to verify their pages in multiple browsers using said system.  They are not allowed to bill the corporation purchasing their designs for the time spent on verifying these pages.  That should instill in the minds of the designers (or their mangers) the essential requirement for pages that are simple and efficient.

Conclusion

There are many distributed computing projects currently on the net.  Users should be able to allocate their computer time and the electricity that they are paying for according to their wishes -- not the wishes of advertisers and corporate web site designers and software vendors who view their clients as "prisoners" from whom more money should be extracted.  They should not steal my communications bandwidth or my CPU cycles without first saying "may I".  I've had to invest my time and money in attempting to ensure that my resources are not stolen (I browse behind both an AdSubtract filter and a Squid based firewall enhanced with wrapzap (now adzapper)).  It is unfortunate that I have to do so.  But people will probably have to resort increasingly to measures like this. It seems unlikely that most people will continue to go into the Blood Bank saying "take as much as you need" as "Nurse Vampire" bares her fangs.


Footnotes

  1. It should be noted that Netscape's JavaScript and Microsoft's JScript are not standardized languages!  Therefore much of the code written in them will not perform reliably if the browser the user prefers happens to be different from that that the web site designer prefers.  The solution to this is using ECMAScript (standardized JavaScript) and that is not supported by any but the most up-to-date browsers on the web circa mid-2002.  The author does not know whether ECMAScript entails the burdensome compile times that Javascript/Jscript require or allows the wasteful client CPU cycle-stealing that the earlier language versions seem to allow.  However, given the burdensome download times that such scripts themselves require, it is clear that they should be used only when absolutely necessary -- not on a web site designer's whim to make their pages prettier.
  2. It is worth noting that as of the time this document was written, the text "images" on the site, "Tickets", "Full Bids", "The Press", etc. do not have 'ALT="tickets"' descriptors in the HTML links to the images thus making the site extremely inaccessible [See W3C00].  Browsers for blind individuals require such tags for navigation.  Designers need to WAKE-UP and realize that much of their audience would be happier with fast downloads (no images, just text, thank you very much) and they do recognize sites that fail to conform to accessibility standards (and therefore appear to be designed by people who are either discriminatory or simply have no real knowledge regarding the craft they "claim" to be practicing).

References


Created: November 2001
Last Modified: May 30, 2003