WebDeveloper.com �: Where Web Developers and Designers Learn How to Build Web Sites, Program in Java and JavaScript, and More!   
Web Developer Resource Directory WebDev Jobs
Animated GIFs
CSS Properties
HTML 4.01 Tags
Site Management
WD Forums

    Web Video
    Expression Web



    Forum, Blog, Wiki & CMS

 Site Management
    Domain Names
    Search Engines
    Website Reviews

 Web Development
  Business Issues

    Business Matters

    The Coffee Lounge
    Computer Issues

The Age of the Customized Web Site
How to tailor the presentation of your Web pages . . . on the fly

by Hayato Yoshida

Not long ago, in the days before Netscape went public and prior to the premature canonization of Microsoft's online network, the Web was home to a number of small sites that catered to specialized interests. These little "niche" markets provided their individual clientele with the kind of service comparable to the corner market in one's neighborhood: simple, precise, and personable. However, as companies have expanded their Web sites to try to accommodate increased Web traffic, many of them have overlooked the comfortable, "service-oriented" details that originally attracted their customers in favor of larger, flashier, yet less accessible sites.

The response to this problem has been an attempt to reestablish the close bond with customers through specialization. Of course, what this means for Web developers is the increase in requests for tailor-made Web sites and specialized applications, which usually and ultimately require enormous amounts of customized code, meaning the burden of making the sites accessible falls on the developer. Some of these difficulties can be overcome with a little ingenuity and perseverence, but as the Web continues to evolve and expand toward even greater interactivity, it will eventually become impossible to keep up with the demand for custom-designed sites.

Design Problems

The main problem that developers face in designing sites for individual companies and marketers is the stateless nature of the Web. Most standard sites are incapable of learning anything about a particular visitor, thereby making it difficult to custom-tailor pages and messages for him or her. Statistics, such as "number of hits to a site," and even databases of registered members are not very useful if they are only available as static bits of information. Nevertheless, most marketers want to have special applications utilizing these various database files.

This predicament is only magnified as the size and diversity of content within a site grows. Many companies want to or have begun to develop "monster" Web sites that serve as an umbrella for numerous resources. Although these new sites may be aesthetically pleasing, trying to navigate them can be very frustrating for Web surfers, especially those with slower connections.

If a Web site cannot provide the desired information quickly and easily, it defeats the purpose of being a data resource. Users will not have the patience to scan through four or five links just to get to the right area of a site. Web sites need to become more intelligent and guide users to where they want to be; they need to make the users feel welcome.

The Custom Solution

Restructuring a Web site so that its link hierarchy is more intuitive can help solve part of the dilemma, but the true solution lies in altering the nature of the Web interface itself. W3.COM, a Web software development company in Palo Alto, Calif., has taken the first step toward resolving the problem with the release of their new tracking and customization software, the Personal Web Site Toolkit(tm) (PWS). The concept behind PWS is to create a unique database that includes biographic, demographic, and Web-surfing behavior information for each individual user as they travel through the site. Then, while PWS keeps track of visitors to a Web site and updates their files, site administrators can customize the online experience based on the information in the chosen personal database files.

Thus, instead of merely broadcasting to a massive and anonymous audience, a Web site can narrowcast to meet the specialized needs of each incoming user. The more specific the audience definition is, the more interesting and useful the site becomes to its visitors, which, in turn, allows for more efficient and direct marketing and advertising. The narrowcasting can be accomplished in a number of different ways:

  • Customized Web pages can be sent that correspond to the interests of the individual user.
  • Personalized messages that refer to the particular interests or needs of a user can be inserted into a Web page.
  • Updates and announcements can be e-mailed only to the corresponding users who may want it, and the decisions can be made in real time, making the experience truly interactive.

How Tracking Works

Although the actual tracking procedure differs from software to software, the basic process typically follows a very fundamental structure.

After entering some basic information (e.g., first name, last name, company affiliation, platform, connectivity), the tracking software compiles the info and enters it into a personal database file for the registered user. The tracking software then creates a user ID for that person.

The tracking software modifies the URLs encoded in the HTML to call the tracking CGI program, with the name of the next page and the user ID passed as line arguments. When the user decides to move to a particular page of a Web site, the tracking software is called to read in the desired Web page and then tailor it before returning the output to the user. Site usage information is then recorded into a file until it can be analyzed by the site administrator. As additional visitor information is collected and linked to accesses, detailed aggregate demographics can be compiled.

A good way to explain the concept behind tracking is to compare it to interactive computer games. The better designed games have a basic structure that includes a catalog of screens that can be uploaded. These games make their decisions on which screens to display depending on a number of different variables, ranging from the skill level of the player to the actual movements the player makes from screen to screen. In this way, each player's game is unique, even though the accessible contents are essentially the same for every player.

With tracking, the goal is to create a similarly dynamic interface between the user and the Web site. The primary difference is that a Web site can continue to modify as the needs of its users change. By constantly updating user profiles, a Web site can organize its content so that the extraneous details are diverted to allow for a more fluid exchange of information. In this way, each individual user will be given a different and personalized experience when they visit the site. Naturally, the level to which a Web site is able to cater to the needs of its users will depend on the precision of the tracking.

Once the process of gathering information and organizing the information has been completed, the next task for the developer is to actually customize the Web site to match the particular needs of each individual user. By creating a "personal" Web site for each visitor, user-specific presentations become much easier.

W3.COM's PWS software divides the process of customization into two fundamental branches: passive and active. By including a number of specialized double-bracket commands that eliminate the need for complicated programming, PWS enables developers to perform various functions on the fly without having to write the necessary code.

Passive Customization

Passive customization is based on responding to non-registration-oriented information. Without having to ask the user for any specific information, PWS allows a Web site to analyze the profile of a user and then customize the site. This becomes particularly useful when a user's demographic or biographic profile do not help to specify his or her interests.

For instance, an example of a command that decides between sending a user a Mac-related message or a PC related message would read like this:

[[IF_EVAL [[TIMES_SEEN mac.html]]\
 .GT. [[TIMES_SEEN pc.html]]]]
We have lots of Macintosh solutions!
We have lots of PC solutions!

In this example, the Web site performs a basic "if" statement command, [[IF_EVAL]], which evaluates whether or not the user has seen the mac.html page more or the pc.html page more by using the [[TIMES_SEEN]] command. Rather than simply assuming that a person wants to see Macintosh products based on the registration profile (who knows if the person may be a Mac user looking to buy a PC?), this type of command allows the Web site to respond intelligently based on the user's past browsing behavior.

Another type of passive customization that PWS performs involves the user's domain name. Based on what domain the user has accessed the Web site from, the site can send a different message:

[[SWITCH 1]]
[[CASE [[DOMAIN .edu]]]]
We offer educational discounts.
[[CASE [[DOMAIN .gov]]]]
We offer government discounts.
We offer really low prices!

In this example, the Web site performs a modified "if" command, [[SWITCH 1]], which offers multiple response options, depending on the domain name. This type of function is useful in that it acts intelligently and allows immediate customization of the Web site. Before the user sees anything, PWS can analyze the information and send the appropriate type of page.

Active Customization

Active customization, as opposed to passive customization, involves the direct interface with the user. Although not all modifications to a site necessitate user interaction, the established dialogue with a visitor to a Web site is an integral part of becoming user-friendly.

The basic principle behind active customization is that it enables a Web site to act on the fly to a user's requests. An example of an HTML page responding to the musical preference entered by a user, for instance, might read like this:

[[SWITCH [[DBVAL_favorite_music]]]]
[[CASE Rock]]
Check out the latest <A HREF="aerosmith.html">Aero-
smith</A> album!
[[CASE Pop]]
Perhaps you'd enjoy the new <A HREF="latoya.html">Latoya</A>
[[CASE Rap]]
Hey [[DBVAL_firstname]], wassup? Check out the new <A HREF=\
"dre.html">Dr. DRE</A>!
[[CASE None]]
You ought to get out of [[DBVAL_city]] more often pal!
We have records to fit any taste.

An E-mail Example

The following HTML code fragment shows an example of the MAILTO command that sends e-mail to sales and other departments each time someone sees the HTML that contains the code:

[[MAILTO sales@yoursite.com]]
Subject: hot lead
From: [[email]
cc: sales_manager@yoursite.com
bcc: account_manager@yoursite.com
return-path: sales@yoursite.com
[[DBVAL_firstname]] [[DBVAL_lastname]] has seen the product page.
Call this person immediately at [[DBVAL_phone]] for a sale.

The [[MAILTO]] command is especially useful in connection with the [[IF]] and [[TIMES_SEEN]] commands. For instance, to send e-mail after a user has seen a specific Web page more than 10 times, the entry would look like this:

[[MAILTO webmaster@mysite.com]]
Subject: Very Active Member
From: [[email]]
return:path: [[DBVAL_email]]
[[DBVAL_firstname]] [[DBVAL_lastname]] has seen the prod-
uct page 10 times!!!!
Call this person immediately at [[DBVAL_phone]] for a sale.

Dynamic Site Administration

Once the initial process of gathering information has been completed, the next step in customization becomes the organization of information. By running selective searches on the personal database files, developers can begin to understand the breakdown of the Web site's user base. The more selective the search queries are, the more detailed the site development can be.

HTML5 Development Center

Recent Articles