Universal. By delivering presentation and user interface to a Web
browser, Web applications were
more universally available than were
their earlier counterparts; coding to
the Web platform—or using HTML,
JavaScript, and CSS21—enabled developers to create user interfaces that
could be consistently accessed from a
variety of platforms;
Zero install. With user-interface enhancements delivered via the network,
users did not need to install Web applications; and
Web APIs. Web applications exposed
simple URL-based APIs that evolved
bottom-up that were easy to develop,
document, and learn and quickly became a key enabler for Web 2.0.
user-Centric access
As increasing amounts of information
was moved onto the Web in the late
1990s, end users had a problem: To access all the information required for a
given task, they needed to connect to
myriad Web sites. This was true on the
public Internet, as well as on corporate
intranets. Moreover, the information
being accessed had to be customized
for the user’s context (such as desktop
or mobile access). The desire to deliver
user-centric information access led to
the binding of mobile user interfaces
to Web content, another example of
specialized browsing.
29, 33
A user interface designed for a large
display is inappropriate for viewing on
small-screen devices like cellphones
and PDAs. The distributed nature of
Web applications—and consequent
separation of the user interface—
enabled Web developers to bind specialized mobile user interfaces.
At the same time, the need to provide a single point of access to oft-used
information led to portal sites that
aggregated all the information onto
a single Web page. In this context,
the various items of information can
be viewed as lightweight Web components. The environment in which
these components are hosted (such as
the software that generates and manages the Web page) can be viewed as a
Web container. Thus, common actions
(such as signing in) were refactored to
be shared among the various Web applications hosted by the Web container, a piece of software managing the
aggregations,
projections,
and mashups
are all a direct
consequence
of the user’s
need to consume
information in
a form that is
most suited to
a given task.
user’s browsing context.
Web components hosted in this
manner relied on the underlying Web
APIs discussed earlier to retrieve and
display content on behalf of the user.
But as long as such aggregations were
served from portal sites, users still
needed to explicitly launch a Web
browser in order to access their information. This turned out to be an
inconvenience for frequently viewed
information, motivating the move by
Web developers toward Web gadgets,
small pieces of Web-driven software
that materialize on the user’s desktop
outside the Web browser. Such Web
aggregation has moved over time from
the server to the client where it materializes as widgets or gadgets.
Viewed this way, Web gadgets are
specialized browsers. Rather than requiring the user to explicitly navigate
to a Web site and drill through its various user-interface layers before arriving at the target screen, these gadgets
automate away a large part of the user
actions by directly embedding the final result into the user’s Web environment. Finally, Web gadgets have escaped the confines of the Web browser
to materialize directly on the user’s
desktop. Users no longer had to explicitly launch a Web browser to access the
gadgets. However, the gadgets themselves continue to be built out of Web
components. As an example, a typical
iGoogle gadget consists of several components:
XML. A small XML file encapsulating metadata about the gadget;
HTML. The markup used to render
the gadget;
CSS. Style rules to specify the final
visual presentation; and
Java Script. Java Script functions used
to retrieve and inject the relevant information into the HTML DOM before it is
presented to the user.
Web gadgets relying on lightweight
Web APIs, Rich Site Summaries (RSS)
(letters also sometimes used to mean
Really Simple Syndication), and Atom
feeds helped the move toward spe-
26
cialized browsing; retrieving information from a Web site did not always
require a live human to directly interact with the user interface. Today, RSS
and Atom feeds form the underpinnings of Web APIs for content retrieval. In the simplest cases, they enable
feBRuaRY 2009 | vol. 52 | No. 2 | CommunICatIons of the aCm
57