figure 1: the social interactions enabled by the Web put demands on the Web applications
behind them, in turn putting further demands on the Web’s infrastructure.
social Interactions
Application needs
Infrastructure Reqs
Despite the huge effect the Web has
had on computing, as well as on the
overall field of computer science, the
best keyword indicator one can find in
the ACM taxonomy, the one by which
the field organizes many of its research
papers and conferences, is “
miscellaneous.” Similarly, if you look at CS curricula in most universities worldwide
you will find “Web design” is taught as
a service course, along with, perhaps,
a course on Web scripting languages.
You are unlikely to find a course that
teaches Web architecture or protocols.
It is as if the Web, at least below the
browser, simply does not exist. Many
“information schools” and “
informatics departments” offer courses that focus on applications on the Web or on
such topics as “Web 2.0,” but the protocols, architectures, and underlying
principles of the Web per se are rarely
covered.
Simplifying a bit, part of the reason
for this is that networking has long
been part of the systems curricula in
many departments, and thus the Internet, defined via the TCP/IP networking
protocols, has long been considered an
important part of CS work. The Web,
despite having its own protocols, algorithms, and architectural principles, is
often viewed by people in the CS field
as an application running on top of the
Net, more than as an entity unto itself.
This is odd, as the Web is the most
used and one of the most transformative applications in the history of
computing, even of human communications. It has changed how those in
academia teach, communicate, publish, and do research. In industry, it
has not only created an entire sector
(or, arguably, multiple sectors) but affected the communications and delivery of services across the entire industrial spectrum. In government, it has
changed not only the nature of how
governments communicate with their
citizens but also how these populations communicate and even, in some
cases, how they end up choosing their
governments in the first place; recall
the U.S. presidential debates in which
candidates took questions online and
through You Tube videos. It is estimated that the size of the human population is on the order of 1010 people,
whereas the number of separate Web
documents is more than 1011.
Computing has made significant
contributions to the Web. Our everyday
use of the Web depends on fundamental developments in CS that took place
long before the Web was invented. Today’s search engines are based on, for
example, developments in information
retrieval with a legacy going back to the
1960s. The innovations of the 1990s 9, 23
provide the crucial algorithms underlying modern search and are fundamental to Web use. New resources (such as
Hadoop, lucene.apache.org/hadoop/,
an open-source software framework
that supports data-intensive distributed applications on large clusters of
commodity computers) make it possible for students to explore these algorithms and experiment with large-scale Web-programming practices like
MapReduce parallelism 11 in a way not
previously accessible beyond a few top
universities.
Other aspects of human interaction
on the Web have been studied elsewhere. Of special note, many interesting aspects of the use of the Web (such
as social networking, tagging, data integration, information retrieval, and
Web ontologies) have become part of
a new “social computing” area at some
of the top information schools. They offer classes in the general properties of
networks and interconnected systems
in both the policy and political aspects
of computing and in the economics
figure 2: the Web presents new challenges to software engineering
and application development.
Design
Technology
creativity
Idea
social
micro
Issues
analysis
macro