Please feel free to share this newsletter with friends and colleagues.
Visit us here to subscribe
to this newsletter.
|
April 2, 2003 - - Volume 2, Number 4
Putting The Client To Work
by Mark Altenbernd
Over the next several years, the nature of computing
is going to change profoundly. Your computing client – your
desktop machine or your portable – is going to be doing
a great deal more computing than it has been. And as a result,
you are going to be a great deal happier than you have been.
A Little Bit Of History
Back in the Old Days, those days before about 1982 or 1983, almost
all computing was done by huge (and hugely expensive) mainframe
computers. Unless they were data entry drones, people didn’t
have computers on their desks. There were large, extremely
stupid terminals sitting off in a corner and connected to
the central computer. When someone wanted to look something
up in the computer’s memory, he went to the terminal,
typed in an access code, and then waited. Seconds, or sometimes
even minutes, later, the extremely busy central computer
responded with whatever data the user had requested. Everything
the terminal displayed had been computed and assembled and
formatted by the central mainframe, with absolutely no help
at all from the terminal. The mainframe had to do everything
all by itself, and that had a huge impact on responsiveness.
In the early 1980s, IBM introduced its Personal Computer, and
computing began to change as PCs started showing up on desktops
here and there. At first they handled ad hoc, stand-alone computing
chores, using a word processor or perhaps a spreadsheet application.
With the impressive amount of intelligence available in the PC,
client-server applications became possible, with the single central
server storing and retrieving data but the many desktop client
machines contributing to the process by taking responsibility
for formatting and displaying data.
In 1990, Microsoft introduced its Windows 3.0 operating system,
thereby legitimizing the notion of graphical user interfaces
that had begun years earlier at Xerox and had been continued
with the Apple Macintosh. In addition to the attractive and helpful
graphical appearance, Windows offered multi-tasking, the ability
to perform numerous tasks concurrently, and integrated networking,
which enabled communication among many computers and led to the
mushrooming of client-server applications.
Just as we were starting to get good with multitasking operating
systems and client-server applications, things changed again.
While the Internet had been around for years, it was only in
the mid-1990s that the Internet’s graphical component,
the World Wide Web, came to prominence. The graphical interface
was not as elaborate as the one we had become comfortable with
in Windows and the Mac. Mostly what you saw on early versions
of the Web was just text documents with perhaps a little bit
of formatting applied – font size and color, for example – and
maybe a picture or two. But you could get those documents from
anywhere in the world. And you could exchange e-mail with anyone
anywhere in the world.
The advent of the Web was a mixed blessing. On the one hand, it
brought some new features and capabilities that had never been
available before. It was possible, for example, to distribute
an application and its data globally, instantly and inexpensively.
On the other hand, the Web is inherently stateless, meaning that
it is very difficult to create and maintain anything resembling
a persistent computing session. And the Web can be slow and unresponsive,
requiring a large volume of network traffic, with most of the
computing carried out on the single server while the many clients
sit idly by, waiting for responses. The Web’s user experience
does not compare at all well with that of a more traditional
client-server application. Some people have even suggested that
WWW really stands for “Worldwide Wait”.
And now just one more piece of history. In 1964, Gordon Moor,
a co-founder of Intel, observed that the art and science of integrated
circuitry was advancing so rapidly that the amount of data that
could be stored on a silicon chip doubled about once every year.
By the late 1970s, the rate of growth had slowed from once a
year to about once every 18 months. It has remained at that level
for about the last quarter-century, and Moore and others have
suggested that it will remain at that level for at least another
two decades.
Moore’s Law isn’t really a physical law; it’s
just an observation of human endeavor. And it isn’t a precise
predictor of the development of technology. Nevertheless it’s
a pretty good indicator of how the power of desktop computers
has grown over the years. Today’s representative desktop
computers are as much as a thousand times faster than the original
IBM PC. And there have been comparable increases in the other
measures of computing power: RAM, disk space, display resolution,
and so on. The typical desktop computer of today is far more
powerful than the mainframe computers of 20 years ago.
Our increasing use of the Web has placed increasing demands on
two already overburdened components: servers and the network.
Meanwhile most of those powerful resources residing in desktop
computers are just sitting around wasting away. While the power
of the desktop computer has increased dramatically, the work
that we have asked it to do has not.
Where We Are Today
Typical Internet applications today are characterized by
a small number of quite powerful, but nevertheless overburdened,
server machines trying to keep up with a large number
of
powerful but completely underutilized client machines.
The aggregate resources available among all of those
clients
vastly exceeds the resources of the servers. Yet the
clients spend most of their lives sitting around waiting
for their
requests to be handled by the struggling servers. Almost
all of the computing power of those clients is lost forever.
Where We Are Going
As it turns out, I’m not the only person who has looked
at the mismatched distribution of computing power and computing
jobs and seen something wrong with the picture. Two software
giants, Microsoft (you already know who they are) and Macromedia
(the leading provider of Web development tools) have initiatives
underway that will move a great deal of processing off of the
server and onto the clients.
Microsoft for several years has been pushing their .NET (pronounced “dot-net”)
framework. It is an ambitious undertaking that will unfold over
several years, and it involves significant technical changes
that will affect the hundreds of thousands of software developers
who create Windows-based applications and utilities.
About 10 months ago, Macromedia introduced a new version of its
suite of tools. Dubbed MX (and I have no idea what MX means),
there are as many as 7 separate tools that can be integrated
and used to build Web Services and what Macromedia calls Rich
Internet Applications. (Just for the record, those 7 tools are
Fireworks, Dreamweaver, Freehand, Flash, Flash Remoting, Flash
Communications Server, and Cold Fusion. And also just for the
record, you also can build Web Services within the Microsoft
.NET framework. The subject of Web Services is beyond the scope
of this article, but we will deal with it in a future article.)
Rich Internet Applications are an attempt to improve the quality
of the user experience of Internet applications. One way RIAs
seek to achieve this goal is to provide a richer and more feature-laden
graphical interface that will be comparable to that of client-server
applications.
Another improvement that RIAs deliver is a far faster, more responsive
application that eliminates the sometimes mind-numbing delays
of the Internet. They achieve this end by moving an application
and all of its data from the server to the client, resulting
in a dramatic increase in use of the two most overburdened components
in the system, the network infrastructure and the server. Network
traffic is reduced dramatically, and the wasting computing power
of the many clients is made to do useful work.
“Which of the two initiatives will win out, Microsoft’s
.NET or Macromedia’s Rich Internet Applications?” I
hear you asking. The answer is “Yes.” Both will succeed,
in my opinion. While they can be seen as exclusive and competitive
technologies, they also can be seen as coexisting and even co-operative
approaches. Indeed Macromedia’s MX suite provides support
for .NET development, that is, a Rich Internet Application can
exist within the .NET framework. One advantage that Macromedia
has is the fact that RIAs can be hosted on a wide variety of
technology platforms, including Windows, Unix, and Linux.
For mine own part, I intend to continue working with the Macromedia
toolset, in which I have made a pretty substantial investment
over the past 6 or 7 years. And my own development environment
will continue to be the Windows operating system. I believe that
there are a large number of other developers who will follow
this same path, as well.
So If you have a pretty powerful desktop or laptop computer that
you fear may be overkill for the applications it is running,
just hold on for a bit. Applications will begin to show up that
take advantage of all that power, and you will begin to enjoy
a much more pleasant computing experience.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
We can help
The evaluation and selection of applications for your business
use is an important undertaking, one that you may not feel fully
qualified to do on your own. Cheer up, we can help. Our
Application Management Services are designed to help you come to grips with
the issues of identifying your business needs, defining your
software requirements, and finding the systems, applications,
and utilities that are most appropriate for you. For assistance
with finding the right mix of applications for your business,
call us at (800) 557-7634. Or visit our
Web site to learn more
about how we can help you: http://www.Altenbernd.Com.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|