9701webapps.html 6.54 KB
<HTML>
<HEAD>
  <!-- Created by AOLpress/1.2 -->
  <TITLE>Jan 1997 WebApps Editorial</TITLE>
</HEAD>
<BODY>
<P>
<EM>This is a draft of the editorial of the&nbsp;Jan/Feb 1997 issue of
<CITE>Web Apps Magazine</CITE>, ISSN #1090-2287. See also:
<A HREF="9703-web-apps-essay.html">Mar/Apr Distributed Objects Issue</A>
<A HREF="9705web-apps-db.html">May/Jun 1997 Databases Issue</A> editorials,
<A HREF="WebApps/Overview.html">more about WebApps</A>.</EM>
<P>
  <HR>
<P>
I'm sure you've seen the ads: "Wanted: HTML programmers" HTML
<EM>programmers</EM>? I can see HTML writers, practitioners, or even coders;
but HTML is not a programming language. An HTML editor was supposed to be
like a really primitive word processor with one killer feature: hypertext
links. No propellor on the head necessary.
<P>
And I'm sure you've been here too: the all-singing, all-dancing Java, ActiveX,
and Shockwave page. The tension and excitement builds as you wait for all
the pieces to download; your machine moans under the stress, but you finally
got that RAM upgrade and a new sound card, and you're ready. And finally...
a talking head tells you to come back next week when they will have their
catalogue online. Gee thanks. A simple "under construction" sign would have
told me all I need to know about this site: go somewhere else.
<P>
Both these situations show the same thing: a failure to understand this new
medium--the web. Quality communication on the web is a mixture of poetry,
graphic design, interactive user interface design, and database application.
It's an immersive, participatory medium.
<P>
I learned my first lesson about the web long before I ever heard of HTML,
HTTP, or URLs: I was writing COBOL programs for insurance claims processing.
I was asked to update this program, and I completely overhauled the user
interface; I replaced a modal, one-record-at-a-time interface with a modeless,
spreadsheet-like interface. I couldn't wait to demo it for the customer.
Her reaction crushed me: "Where's the add mode?"
<P>
Then I saw the army of clerical workers at their desks working with another
one of the claims programs. They were unconscious, chatting away while they
turned hardcopy claim forms into bits with thier fingers on the keyboards.
They never even looked at the screen; they were always two or three screens
ahead. I realized that any change to that program would mean thousands of
hours lost to re-training. Lesson learned: people resist change.
<P>
And yet the web is all about change. It's about changing from country to
country with one click. Or changing software packages. It's about participating
and making changes of your own as fast as hitting the save button. It's about
connecting your enterprise information systems to all the other information
systems out there so that your enterprise can keep up with the pace of change
in the world. "Nirvana is when the information system changes as fast as
the organization does," as XXX put it.
<P>
HTML forms and CGI were a tremendous advance: they brought the power of 1960's
COBOL programming to the web. For CGI applications, traditional languages
like C quickly gave way to higher level languages like perl, tcl, and applescript
where solutions can be expressed naturally and prototyped quickly. Few web
apps demand the performance of C, and even fewer stand still long enough
to be written in C. The web blurs the notion of prototype and production
software. Rapid applications development takes on a whole new meaning. Software
technologies previously considered too high-level and inefficient for production
use are now considered essential to keep pace.
<P>
The Internet is an incredibly fertile ground for research and development.
The web development community formed quickly, and the marketplace of ideas
is rich. First there was the "view source" window for finding out "How did
they do that?" with HTML. Then mailing lists and newsgroups for exchange
of source code sprang up all over. And now those ideas are the basis of a
rich commercial market, from $49 utilities to multimillion dollar back-end
systems.
<P>
But there are three challenges facing the web development community: richer
human interfaces, better back-end integration, and complexity management
through component software.
<P>
Richer human interfaces compete with simpler, more familiar mechanisms that
require less of the client machine. The practical research work on this challenge
is very promising. But in a production setting, an interface relying on anything
more than basic HTML and graphics had better be motivated by a big gain for
the user. Don't fall into the "HTML programmer" mindset; communication through
documents has hundreds of years of tradition that shouldn't be thrown away
lightly. Most sites will get more return out of investing in content and
structure using the existing idioms than doing something different.
<P>
On the back end, the challenge is to find the right mix of reliability and
flexibility and the right mix of tried-and-true techniques with novel but
promising ideas. If the structure of your enterprise information isn't changing
fast enough to keep you working long hours, I'd be willing to bet that your
audience and their usage patterns are.
<P>
And in between the front end and the back end, the development community
struggles to leverage its work, to make writing the next system easier than
the one before. To what extent should you leverage community knowledge and
experience by using what everybody else is using, and when should you strike
out on your own? How long can we get by on copy-and-pasting each other's
work? When will we be able to use each other's work in black-box fashion?
How much are we willing to pay in time, money, and licensing restrictions
in order to get there? What languages, libraries, and tools will get us there?
<P>
As we look at programming languages for the web, keep in mind that they're
used not only to express programs for the machine, but also to communicate
to other developers. The web brings about changes that allow us to look at
non-traditional development technologies a lot more seriously. The motivation
for high level languages is to express problems and solutions more naturally.
This allows developers to worry less about the mechanics of computing and
more about creative solutions. And I mean really creative: the web medium
admits works of art just as ink on paper or sounds in the air. It invites
readers to not only browse information, but to participate in it.
<P>
Welcome to the global community of web software developers.
<P>
<ADDRESS>
  <A HREF="./">Dan Connolly</A><BR>
  11 Nov 1996<BR>
  Austin, TX
</ADDRESS>
<P>
</BODY></HTML>