Technology's Next Steps
As of December 2011, this topic has been archived. As a result, it is no longer actively maintained. For more information, see Archived Content. For information, recommendations, and guidance regarding the current version of Internet Explorer, see Internet Explorer Developer Center.
March 30, 1999
As the approaching millennium looms before us (yes, I know, the next millennium officially starts on Jan 1, 2001—but that date, too, is looming before us), countless articles are looking forward in time to what the future might bring, as well as looking back to predictions of previous generations and laughing at where they went wrong.
Most of these articles will at some point bring up "The Internet," or more specifically "The World Wide Web," as the surprise of the century. It's hard to imagine that something that has become so pervasive in our society in so short a time was never even hinted at in the pages of Popular Science, or on old Star Trek episodes. In his 1991 book The Mind's Sky: Human Intelligence in a Cosmic Context, Timothy Ferris described a futuristic version of the Internet in the form of an interstellar network that might (already) span across the galaxy, providing a safe and self-replicating repository for the shared knowledge of countless civilizations. In 1991, the Web was already in its early infancy—frequently referred to as the "Information Super Highway"—so Mr. Ferris can't really be seen as predicting it, and even then, his description was more along the lines of what we then saw as the "Internet" as opposed to what we now recognize as the "Web."
While we can't look back at early visions of pervasive "dynamic documents," we can attempt to imagine where technologies might lead in the future. Perhaps our musings will be as funny as the "household robot," "family airplane," or "personal nuclear power plant," which were supposed to be part of our everyday lives by now.
One fault of the humorous predictions in our past is that the focus was often on extrapolating a currently available product, and simply imagining what it would be like if it were "bigger, better, faster." If we look at the Web through those glasses, then we would see a flat-screen video panel attached to every device in the house, with full-motion streaming video, voice recognition and response, interactive animated avatars to help us locate information—and, of course, all of this for free.
What Do We Want?
The best way to understand the future of computers, applications, and the Internet is to pay careful attention to what the general public is saying with their actions and their interests. For years, the use of computers focused primarily on the running of monolithic applications. These applications were deployed in a dedicated fashion onto a specific computer system. Not only would the applications provided by software vendors be designed for a specific brand of operating system, but often the documents produced within an office could be (reliably) worked on only with a specific word processor. The operating system providers, as well as the application developers, were focusing full tilt on providing their users with a "bigger, better, faster" experience. The best way to do this was to make assumptions and expectations of the underlying operating system, and often of hardware and devices connected to it—thus unintentionally leaving some segment of the market out of the picture.
Then came the World Wide Web.
The focus of the users suddenly switched to the opposite end of the spectrum. Web pages were clunky, visually unappealing, rudimentary in structure. Even the lowest-end word processors could manage and display better formatted information than could be accomplished on a Web page. But Web pages represented a shared expression. They allowed one document, on one system, to easily lead to another document on a different system. They provided a level of interaction that had been slowly brewing as a frustration in most users' minds. Best of all, they were simple. Almost anybody, with just a simple text editor, could build and design a Web page. And these pages (when properly placed on a server) could be viewed by anybody in the world, using almost any operating system. So the Web also responded to some inner need that users had of not feeling left out or abandoned.
Finding a Middle Ground
From this, some people might jump to the conclusion that the Web will usher us into a new era of homogeneous information across a heterogeneous network—where anybody, on any system, can access any feature of any application at any time. All documents will be stored as HTML to be compatible with any browser available, and all applications will be written in Java to be able to run on any computer imaginable. This unfortunate conclusion comes from looking at the Web and simply giving it a few doses of steroids. What we actually need to look at are what needs were being satisfied by "monolithic applications" and what needs are being satisfied by "Web applications," then from those comparisons determine what people really want—not just what they are telling us they want.
I view these two opposing solution architectures (monolithic application versus Web pages) as being two extremes of a pendulum, with the actual goal consisting of some form of compromise between the two. We are already seeing the desires of users and content authors as attempting to pull the pendulum back to the rich functionality of a monolithic application. They are requesting "bigger, better, faster" functionality out of the browsers. More access to underlying system features and services, tighter integration with business logic, and better local data storage support. The monolithic applications of days gone by will learn some tricks from the more compartmentalized, page-based approach of Web sites. And Web applications will learn how to extend their functionality onto the clients, thus providing a more immersing and connection-independent experience.
Just as this month we see the merging of the "Microsoft Developer Network" and "Site Builder Network," I envision that the future of computer applications lies in the resultant combination of applications and Web pages, but not just with the server-hosted "Weblications" that we currently see. Instead, I see a richer and more client-exploitive experience in which there isn't a browser acting as a portal to content living elsewhere; instead, the operating system is being an active participant in a distributed and componentized solution that can be easily deployed across the network.
The New Breed
One final piece of this future application—that we have only seen hints at so far—is the role the user plays. A common thread playing out in both standard applications and Web sites is the notion of allowing users more control to define and manipulate their experiences. With technologies such as Windows DNA finally bringing together the concepts of components and scripting, the option exists to allow the user to play a much bigger role. If you've read my early article The Scoop On Script, you've already heard me talk about the potential that scripting can provide the user. If you add to that the concepts of transparent network deployment and componentized applications, you can easily see how an entire new breed of application is looming on the horizon.
Bigger. Better. Faster. By combining the best pieces of what computerized solutions have offered us so far, and then giving the user a key role in their integration, it is possible to give everybody what they want. Is this the direction that the applications you're developing are moving?
Robert Hess is an evangelist in Microsoft's Developer Relations Group. Fortunately for all of us, his opinions are his own.