At the Forge - Issue 200

Reuven reminisces about the past of the Web, describes its present state and makes some predictions for the future.

The Future

So, where are things going?

First, we already can see that the notion of the Web as
something people browse, with large centralized servers providing
static information, is largely inaccurate. People and machines are
both surfing, and they are doing it with programs that are
increasingly not Web browsers, but rather that contain HTTP client
libraries. The servers are spread all over, and the information is
far from static. Just as I was writing this column, Google announced
that it had changed the way its search system works, such that it
updates the page of search results as you type keywords, not just when
you click the Submit button. Just as the Web is always changing, and
just as each person sees a different, personalized slice of the Web,
your search results now also will give you a view of data that
is uniquely yours.

We also can expect to see an even greater decline
in desktop software.
This is actually good news for fans of Linux and other open-source
operating systems, because it means there will be less of a lag
between the quality, availability and user experience that Windows
and Macintosh users have long enjoyed with their desktop software.
The Web browser is indeed becoming, years after Marc Andreessen
predicted it while working at Netscape, the main focus for application
development, deployment and usage. Even those programs that aren't
browsers will be browsers, connecting to the Internet and retrieving
(or sending) information, exchanging data with other servers.

When the idea of Web services first became popular about a decade ago,
everyone used the example of a spell-checker as a Web service to
which your word processor could connect. The reason for this example
was not only that it was easy to grasp, but also that we had no idea just
what Web services could provide. Nowadays, such services can provide
private information (such as contact info) or public information
(such as maps and photos). We will continue to see growth on the Web
services front, although outside the enterprise, it seems that
developers have largely abandoned SOAP in favor of lighter-weight
technologies.

One of the reasons Web-based applications will become so good is
because of HTML5, a combination of improvements to HTML, CSS and
JavaScript that are being implemented piecemeal, but which together
will make the browser far more than the “modern dumb terminal”
description that often is applied to it. New form features, new ways
to validate data, easier access to the DOM, new CSS selectors and
features, and a greater variety of semantic markers in the HTML will
make this a very important upgrade. My only worry and complaint is
that each browser manufacturer is implementing different parts of
HTML5 at different times, meaning we'll need to worry about
graceful degradation for some time.

Future Columns

So, what do I intend to discuss in future installments of At the
Forge? I'll certainly try to cover some of the basic technologies
that are useful to Web developers, such as the recent release of Ruby
on Rails 3 and the release of PostgreSQL 9.0. I'll spend some time
exploring the HTML5 standard, looking both at the new tags we can
enjoy in our HTML and at the improvements in JavaScript we can
use in our applications.

I also intend to look into some of the newer languages that have
emerged, as well as the Web frameworks built on such languages. The
three languages and frameworks that intrigue me the most are Lift (for
Scala), Compojure (for Clojure) and Seaside (for Smalltalk).

Storage—the non-relational databases will gain popularity. More
important, they will gain features we have grown to expect in
relational databases, such as joins and data integrity. The end
result will be a number of different non-relational options that can
be mixed and matched for an application, much as a developer might mix
and match the use of arrays and hashes. Will they trump
non-relational databases? I doubt it, but I'll try to cover
developments from this world and how they affect developers, as
things happen.

Finally, the growth of “microformats”, tiny JSON- and XML-based
document formats designed to ease machine-to-machine communication is
something I intend to look into. How do you use a microformat
and when would you want to do so?

It continues to be a privilege to write for Linux
Journal. I enjoy
hearing from readers when they contact me and helping inform
fellow open-source developers of the latest on the Web technology
front. And, I look forward to writing an even more comprehensive
retrospective in another eight years, when we'll reach
LJ #300.

Reuven M. Lerner is a longtime Web developer, architect and trainer.
He is a PhD candidate in learning sciences at Northwestern University,
researching the design and analysis of collaborative on-line
communities. Reuven lives with his wife and three children in
Modi'in, Israel.

Sponsored by:

Webinar: 8 Signs You’re Beyond Cron

Scheduling Crontabs With an Enterprise Scheduler
11am CDT, April 29th

Join Linux Journal and Pat Cameron, Director of Automation Technology at HelpSystems, as they discuss the eight primary advantages of moving beyond cron job scheduling. In this webinar, you’ll learn about integrating cron with an enterprise scheduler.