Applying the Web


Robert Hess
Developer Relations Group
Microsoft Corporation

August 17, 1998

The following article was originally published in Site Builder Magazine (now known as MSDN Online Voices) "More or Hess" column.

One of my first columns here in MSDN Online Voices was titled Vulcan Documents, in which I examined how the rich formatting capabilities of the Web were allowing authors' "true messages" to be imparted to the pages they authored. I used the metaphor of a "Mind Meld" to describe how a perfect document would allow the very innermost thoughts of the author to be transferred to the recipient. But what if, as the author, the thoughts I wanted to express concerned rotating a bitmap by an arbitrary angle? Or how to simulate the texture of driving on a cobblestone road with a force feedback joystick? Or distributing database-stored procedures across a heterogeneous network?

Gee, those thoughts sure are starting to sound more like an "application", and less like a "document."

Consider the original Web documents that were written using HTML 2.0: text, structure, and just a little bit of imagery. Clearly, these were documents. They could include hyperlinks, which made them far more useful than ordinary printed documents, but they were still documents.

Enter the Programmer

Look at the Web today. At http://carpoint.msn.com/ Non-MSDN Online link, I can get a customized report on not only the cost of a car (and specific options) I might want to buy, but also on the trade-in value for the car I am currently driving. I can go to http://www.BarnesAndNoble.com/ Non-MSDN Online link for book recommendations that are tailored to my specific tastes. And my bank has a Web site that allows me to log into my account, move money from my savings to my checking, pay bills, and look at my account activity.

This level of interactivity sure is starting to sound a lot like an application.

Take a look at Microsoft Money 98 Non-MSDN Online link. This is an example of an actual application that combines traditional application code, Web-page rendering, ActiveX controls, and Internet connectivity to give the user a seamless, integrated experience.

So is the difference between a Web site and an application the use of ActiveX controls or of programs back on a server that dynamically generate new pages?

It's All About Potential

Let's take a quick look at a very simple application written in C:

   main () {
      printf ("Hello, world.\n");
   }

Now something as simple as this is easy to render in HTML as:

   <html><body>Hello, world.</body></html>

and, arguably, this isn't an application any more than a text file:

   Hello, world.

would be. The author isn't controlling any processing at all. But what if we wrote this as:

   <html><body>
   <script>
      document.write ("Hello, world.");
   </script>
   </body></html>

That sure looks an awful lot like the C example. Granted, if somebody used the above C example to prove that he was a programmer, he wouldn't go very far. But the potential to describe complex processing, store variables, and interact with the user is there -- just as it is with Web pages that use Dynamic HTML and scripting. Does that mean that a Web page is an application?

Not quite. However, things definitely appear to be moving in that direction. You've no doubt heard terms such as "Weblication", as people struggle with some form of terminology that embodies this thing that isn't quite a Web page, and yet isn't quite an application. Personally, I'm not very fond of such an awkward term. It sort of reminds me of when, as a teenager, my voice started changing. It wasn't quite a child's voice, and it also wasn't quite an adult voice. And even though there were times when the potential of my soon-to-be-adult voice was apparent, there was really nothing I could do besides be patient during this intermediate time, and wait for everything to settle down.

It is necessary to pass through this awkward stage of no longer being a young Web site, but also not quite a mature application; however, I feel that tagging a term such as "Weblication" on this transition period creates too much of a sense of destination to this state.

Who's Who

This is where I see the Web as currently being. Many cutting-edge Web site authors are struggling to add more and more complex functionality and processing to their Web sites. And application developers are leveraging more and more of the visual content authoring capabilities of a browser to simplify their interface development.

Our goal should not be to design something that sits between these two worlds and can't quite make up its mind as to which it belongs to; instead we are combining the best of both in anticipation of what will grow out of them.

Where do you fit in? How are you leveraging the advanced features and capabilities that are being incorporated into Internet Explorer?

If this sounds like an interesting topic, stay tuned. I plan to expand on this exploration in the next several articles.

 

⌐ 1999 Microsoft Corporation. All rights reserved. Terms of Use.