This browser's not JUST an application anymore

Internet Explorer 4 (IE 4) is more than just a new browser. It's a statement by Microsoft that the browser isn't just an application anymore. It's also a user interface, an enterprise programming platform, and a central administration tool to move your network closer to Zero Administration for Windows. (ZAW is Microsoft's initiative to control the total cost of ownership. It will be part of Windows NT 5.0.) The new features that have made IE 4 the next generation of Internet tools include its new active desktop user interface (UI), a new language (a proprietary version of Java), new Web user tools (channels and subscriptions), new Web development capabilities (Dynamic HTML--DHTML--and FrontPad), new communications capabilities (Outlook Express and NetMeeting), and a new administration tool (Internet Explorer Administration Kit--IEAK).

The Browser and the UI Meet
At first glance, Microsoft's talk about integrating the browser and the UI in IE 4 appears to have been just that--talk. The new active desktop doesn't look all that different from an ordinary Win95 or NT 4.0 desktop. A closer look, however, reveals subtle differences. The captions under icons now change color when you let the cursor hover over them. As with many Web sites' hot spots, the captions are underlined to show that you can click that icon to initiate an action. And you don't double-click the icon. You just single-click it. Single-clicking is great for sufferers of repetitive stress injury (such as carpal tunnel syndrome), but it takes a little getting used to.

The procedure for selecting disjointed items is different as well. Instead of simply control-clicking each item that you want to select, you must first put the cursor over each item that you want to select, wait for its caption to highlight, and then control-click. Similarly, you can't just click and drag an item to the Recycle Bin to delete it--the click would open it. Instead, you must first move the cursor over the item, wait for the caption to highlight, and then drag it to the Recycle Bin. Basic housekeeping tasks take longer with this extra highlighting step, but I might eventually figure out faster ways to get those tasks done.

To really see where the browser meets the UI, open up the My Computer folder. This folder has a distinct new look (as Screen 1 shows), with a gradient background and a report of disk size, used space, and free space. A more significant change is that My Computer is built on the fly as a script (either JavaScript or Visual Basic Script--VBScript). I couldn't modify that script, but I could create and attach any script to any other folder. For example, I could add scripts to my Games folder so that it had a comic book background bitmap and played alien ray gun WAV files when opened. Or I could write a script to modify what the folders look like. You can use scripting to modify much of the look and feel of the UI, which might be a frightening prospect for consultants and support staff.

The Browser and the UI Meet Again
The browser and the UI meet in another way: through active desktop components. An active desktop component is a piece of HTML or DHTML that you put on your desktop--a little window into the Web.

How are active desktop components helpful? Consider how you use Web information. Suppose you visit a Web site a few times a day because it contains rapidly changing stock information. In particular, you follow the price of a certain stock. Several times a day, you fire up the Web browser, find the site in the Favorites button, and open it. Not an onerous task, but one that takes time. With an active desktop component, you can have that stock's constantly changing price displayed on your desktop. The idea behind the active desktop component is that it saves you time and effort because you do not need to constantly open a favorite Web site. (Of course, as with all network applications, you must consider bandwidth performance implications.)

When I first received the IE 4 platform preview, I put a few active desktop components, including a weather map, on my desktop. A few days later, I got rid of them for two reasons. First, the active desktop components took up space on my desktop, which was already quite full. Second, the active desktop components were annoying. When I'm looking at my screen, I'm usually reading. I find reading difficult when marquees scroll by, icons spin, and thunderclouds waver on a weather map. So I went back to my no-icon, single-color screen. All that open space seemed to boost my productivity. Even firing up the browser and hitting the Favorites button didn't seem so burdensome.

More Browsing Fun
Microsoft added several new toolbars to make IE 4's browser easier to use. (You'll no doubt read about these toolbars elsewhere, so I'm keeping this section short.) The toolbars offer many new features, such as auto completion of universal resource locators (URLs) and commands based on previous completions. For example, suppose you recently visited http://www.microsoft.com and http://www.tti-usa.com. If you then type www.t, the browser will automatically complete the line to http://www.tti-usa.com.

One toolbar has icons for intelligent Favorites, History, and Search functions. When you click on one of those icons, the screen splits into two side-by-side vertical panels that show different information. For example, suppose that you click the search icon. A two-panel screen appears, with the left panel containing a prompt to search for a topic. You search on "elver" and get several dozen hits. The hits appear in the left panel. You decide to open one of those hits. The selected Web page then appears in the larger right panel, while the hits from the original search remain displayed in the left panel.

With IE 4, you can remove functions and commands from a toolbar and paste them anywhere. For example, you can put the URL address bar on the task bar and type URLs straight into the task bar. But the fun part comes in trying to make the browser work reliably.

Java Goes Warp Speed, but Seeks Assimilation
For those who haven't been following the programming language world, Java is an object-oriented (OO) language that captivated programmers for a while. What distinguishes Java from other OO languages is that it is a platform-independent development tool that, unfortunately, is slow--that is, until now.

When Microsoft Web programmers built IE 4, they used Java, the conventional Web language, but they achieved unconventional results. Microsoft's unconventionality brings both good and bad news. The good news is that IE 4's Java Virtual Machine (JVM) runs about half the speed of compiled code (such as C, COBOL, or FORTRAN), which is warp speed in the Java world. In fact, IE 4's JVM outperformed Netscape 4's JVM in a benchmark testing program that Microsoft conducted. Test results showed that IE 4's and Navigator's speeds were equal in the Sieve of Eratosthenes test, floating point operations, and graphics. However, IE 4 considerably outclocked Netscape in logic operations (nearly four times faster) and string manipulation (more than twice as fast). IE 4 was staggeringly faster in two other tests: the empty loop test (100 times faster) and a test to see how much time it takes for one program to call another (50 times faster). Microsoft broke Java's conventional speed barrier by making the engine faster with some better programming. In a language as young as Java, you can expect to see fairly impressive speed improvements in new implementations.

In addition to increasing Java's speed, Microsoft made Java platform-specific, which is the bad news. Microsoft made it possible for Java programmers to exploit the Win32 API in their programs, making Java a full-on Win32 development foundation.

Why did Microsoft make Java platform-specific? Microsoft says that Java was never truly platform independent because programmers had to debug every platform separately. With a platform-specific language, debugging will no longer be necessary. Microsoft believes that its programmers will become 30 percent to 200 percent more efficient as a result.

Aside from wanting to be more efficient, Microsoft's reasoning seems illogical to me. Java's strength was that it was platform independent. But rather than trying to remove the bugs to better accommodate different computer platforms, Microsoft is trying to force those platforms to assimilate its new proprietary language. Only time will tell whether resistance is futile.

Channels and Subscriptions
Because Web sites change frequently (usually daily or weekly), you often must wait while text, pictures, audio, video, or other content downloads. If this wait annoys you, you will probably like IE 4's subscription and channel features, which you see in Screen 2.

A subscription is an instruction to your browser that says something like, "Every day at 4:17 a.m., go to http://www.stardate.com and download the .wav file with today's stardate." When you surf to the stardate site later that morning, the content is already in your browser's cache. You don't need to wait to view the site.

To subscribe to a site, you just open it and tell IE 4 that you want to subscribe. But you probably don't want to download the entire site to your cache because of the size and the fact that only a few pages in most Web sites change regularly.

IE 4 has a way to control how much gets downloaded. In other words, you can control the depth of the site. Most sites open with a home page, which is the first level. The home page has links to other pages. Those pages are the second level. The second-level pages have links to other pages, which is the third level, and so on. You can tell IE 4 how many levels to go down in the subscription download.

This process is a bit crude because many Web sites tend to be more wide than deep. For example, pulling the first three levels from Microsoft's Web site would be quite a task. But you can also reduce the amount of information transferred by telling IE 4 not to pull down any combination of graphics, audio, and video.

You can further refine the subscription instructions using IE 4's channel feature. Suppose you want to subscribe to site X, but you want only pages A.htm, B.htm, and C.htm, which are scattered across the Web site's structure. You can create a channel that contains these pages. Once it is created, all you have to do is click on the channel to open those pages.

Channels consist of channel definition files. These CDFs are ASCII files that look like HTML files, except they have tags such as <channel>. CDFs let you create a single file containing references to unconnected groups of Web pages.

Channels are particularly useful when a Web site's administrator creates them. If a Web administrator creates a channel and you subscribe to it, your browser will get whatever pages the administrator placed in the CDF. If the administrator regularly modifies what's in the CDF, you'll get constantly changing content from a single channel with no effort on your part.

For example, I'll usually pay at least one visit each week to The Lurker's Guide to Babylon 5 at http://www.midwinter.com. (Babylon 5 is a science-fiction television show.) The show's story line is so complex that volunteers assemble 5 to 10 pages of analysis and commentary on each week's episode.

Ideally, I'd like to have each week's analysis sitting in my browser's cache every Saturday morning. I'd like to get it as a subscription, but I can't, at least not practically. I could subscribe to the entire level of pages that describe each episode, but I'd end up downloading dozens of pages that I've already seen. Instead, I want a magic button that automatically gets the page relevant to the last night's episode.

Although I can't create this magic button, the Web administrator for The Lurker's Guide could. The administrator simply needs to create a This Week channel and change the CDF on the server each week to point to that week's analysis page. Then all I need to do is subscribe to that channel to have one-click access to the latest news from the year 2260.

I'm not sure that Microsoft intended for channels to be used in this way, but a Web site could actually maintain a CDF that points to other Web sites. For example, suppose I have a herpetological bent, so I am the administrator of a Web site featuring different amphibians and reptiles. Although I want to add a Turtle Time channel, I don't want to create any of the content. All I need to do is surf the Web for sites with turtle content and update my CDF file every day with new sites. People can then subscribe to my site's channel (I'd charge them for my hard work, of course) to get up-to-date information on all types of turtles, from the saw-toothed slider to the fearsome alligator snapping turtle. If Turtle Time took off, I'd have the capital to launch a sister site, Lizard World.

Channels that point to other Web sites have practical applications. Many firms currently collect, photocopy, and distribute daily news digests culled from many media sources. Why not build a channel on a firm's intranet instead? Of course, if a firm takes this route, it needs to consider legal (i.e., copyright) implications.

DHTML: Say Good-Bye to Static
It's customary for anyone discussing modern Web tools to speak about static Web pages--pages with unchanging text and graphics--with great scorn. But making pieces of a Web page move and change color can be difficult if you're programming in Java. Java is not a beginner's language.

In contrast, DHTML, an extension of HTML, lets a Web designer use special effects, such as making elements move and change color, with little or no programming. DHTML provides this capability through dynamic styles, dynamic content, object positioning, and data binding.

Dynamic styles let you change the text. You can manipulate the text's size, face, and background and foreground colors. Before the advent of DHTML, a client-side tool (such as Java or ActiveX) was necessary if you wanted to write code that modified the HTML. With DHTML, you get new event-driven tags such as onmouseover. Here's how onmouseover works. Suppose you want the color of a heading to change dynamically. The code for static HTML is

<h1>This text stays the same color</h1>

In this code, <h1> specifies heading level one and </h1> specifies the end of the heading. The information between these tags is the text that will appear in large letters on the Web page.

To make a headline dynamic, IE4 lets you use a variation on the <h1> command to change the color of the heading text when you put the cursor over that text. When the mouse cursor is over the text, the text turns red. When the cursor is not on the text, the text returns to white. The code for this DHTML is

<h1 onmouseover="this.style.color='red';" onmouseout="this.style.color='white';"> This text changes from white to red when you position the cursor over it </h1>

The extra information provides parameters to the <h1> command. A DHTML-aware browser then knows to use that information to implement the color changes.

Dynamic content lets you change the content--particular words and pictures--in the Web page. For example, without programming, you can make words appear and disappear. Presumably, you can do the same for graphics. This feature might be useful for building pages that have optional text-only versions.

You can also make pages change using two-dimensional object positioning. In its HTML directories, Microsoft demonstrates object positioning using swimming fish and a blank Mr. Potato Head-like figure that you paste eyes, noses, and other facial features on. According to Microsoft, you can make such dynamic objects using about a half-dozen lines of JavaScript and DHTML.

More Web applications are becoming database-oriented, such as Web pages that feature online catalogs or let customers check the status of their orders. In the past, you had to be a rocket scientist to wed data and Web pages. IE 4's data binding now makes this task easier.

You can set up database-oriented Web pages two ways. The first way is to have viewers access the database on the server side with Active Server Pages. For example, Carolina Designs Realty, a firm that handles hundreds of vacation rental properties, uses this approach in its Web page (http://www.carolinadesigns.com). Rather than having to wade through hundreds of rental listings, you can narrow the search using several tools, including the page's Vacation Wizards. To use the Little Wizard search, you just enter when you want to rent a house, your price range, and the number of bedrooms you need. To use the Big Wizard search, you enter the same information and several preferences, such as whether you want an oceanfront home or a hot tub. Once you run the search, you see only those rentals that meet your criteria.

The second way to set up a database-oriented Web page is to have viewers access the database on the client side. If Carolina Designs Realty used this approach, the Web page would deliver information on all the houses to your PC's browser, which would then filter through the information. Although you would experience a slower setup time (data on hundreds of houses would be transferred over the Internet to your PC before you saw the page), the page would quickly respond to what-if queries once all the data was downloaded.

DHTML is a boon for Web designers building interactive pages. But DHTML might become a nightmare for Web surfers as the designers go nuts adding text that dances, shimmers, and changes color. Remember when Microsoft gave free fonts with Windows 3.1? Soon every document looked like a ransom note. With the release of IE 4, expect ransom pages.

FrontPad: Cheap HTML Editing and Word Processing
A couple of years ago, Microsoft bought Vermeer, a firm that created a clever Web page development tool that greatly simplified building Web pages. This HTML editor included an automation feature called bots, which let you automate tasks (such as the automatic updating of the date and time of the last page edit). Microsoft named this HTML editor FrontPage and reduced its price from about $800 to just a little more than $100, which was a pretty good deal.

IE 4 offers an even better deal with FrontPad, a slightly scaled-down version of FrontPage. With built-in HTML styles and terrific drag support, you could probably use FrontPad for more than just developing a Web page. In fact, you'd probably find building a small document easier on FrontPad than on WordPad. Unfortunately, I'm sure that many people will even use FrontPad as a tool to build stationery. Net-clogging applications aside, you'll also find FrontPad a nice starting point for building DHTML or Java scripts.

Like FrontPage, FrontPad has bots. But unlike FrontPage, FrontPad's bots don't require server-side support for extensions. Instead, FrontPad just writes a bit of JavaScript and automatically puts it into the HTML document.

If you're an Office 97 user, you might think that FrontPad can't offer you much because Word 97 can easily generate HTML pages. But FrontPad can make basic HTML juggling simple because of its features (such as built-in separator lines and a library of images suitable for backgrounds or bullets) and its intrinsic understanding of HTML tables.

Microsoft Has a New Outlook
IE 4 includes Outlook Express (Screen 3), a slightly scaled-down version of Microsoft Outlook. I've been using the platform-preview version of Outlook Express for a couple of months, and I like it.

Outlook Express doesn't support Messaging API (MAPI), so I can't use it as a direct MSMail or Exchange client. But Outlook Express works efficiently as a Post Office Protocol 3 (POP3) or a Simple Mail Transfer Protocol (SMTP) client, and performs as well as Eudora Lite.

As a free mail client, Outlook Express does what you'd expect it to do--and more. It's based on the simple standard protocols of SMTP, POP3, and Internet Mail Access Protocol 4 (IMAP4), an improved Internet mail protocol.

As you'd expect, Outlook Express lets you organize your mail into as many folders as you want. Because Outlook Express is connected to IE 4, you might also expect more graphical clutter, and you'd be right. You can use any Web page as the starting point for a message, which means that you can create colorful, bandwidth-wasting stationery using a simple HTML document.

What you might not expect from Outlook Express is Lightweight Directory Access Protocol (LDAP) support of addresses. Ordinarily, if you want to send an email to someone over the Internet, you need to know that person's email address. But with Outlook Express, you just need the correct spelling of the person's name. For example, suppose you want to send mail to an old college buddy, Ignatz Semmelweiss. In the To: field, you just type Ignatz Semmelweiss and Outlook Express searches five public email directories for his email address. In addition, you can program Outlook Express to search corporate directories. (Exchange, Notes, and Netscape Directory servers all act as LDAP servers.)

You might not expect Outlook Express to support inbox rules. Although inbox rules have been around for a while, free mail clients usually do not support them. Using inbox rules, you can program Outlook Express to automatically delete messages received from certain email addresses, leave a message that you're out of town, or forward messages to another email address. These examples are but a few ways inbox rules can be beneficial.

Outlook Express claims to import address books and existing mail messages from other email packages, such as Eudora Lite. I say "claims" because I wasn't able to make the import function work. I received a general protection fault (GP fault) every time I tried to import about 100 old messages from Eudora Lite. (I even cleaned out Eudora's Trash folder and compacted it beforehand.) I also received GP faults every time I tried to transfer my address book. I had never experienced a GP fault on a browser before. Up to now, having a browser crash seemed as unlikely as having Notepad or the Calculator crash.

This wasn't the only reliability problem I encountered while using IE 4. I couldn't print from the browser when I was running IE 4 on NT. The jobs went to the NT spooler and sat. I realize that I tested a beta version of IE 4, but the import and printing problems make me wonder whether browser instability is worth gaining the ability to spin icons and change colors.

NetMeeting: A Net Gain
NetMeeting is a program that lets two or more people visually and verbally communicate over the Internet or an intranet connection. To take part in a videophone conversation, you need a PC with a sound card, microphone, speakers, and a digital camera. (For more information on NetMeeting, see Mark Joseph Edwards, "Microsoft Enables Collaborative Conferencing," December 1996.)

In June, I attended a Microsoft presentation on IE 4's NetMeeting. I wasn't expecting to be too impressed with NetMeeting for two reasons. First, it is not a new technology. Second, some people are using NetMeeting and similar technologies as an alternative to international long-distance phone calls, which I believe is irresponsibly squandering Internet bandwidth.

In the beginning of the NetMeeting presentation, Microsoft met my expectations. The first demonstration of live video over the Internet featured postage stamp-sized pictures of a person's office at Microsoft. The presenters then demonstrated a shared Paintbrush-type application called Whiteboard. Although touted as a powerful collaborative business application that can improve productivity, the presenters ended up using the Whiteboard to play tic-tac-toe.

But then things got cooler. The presenters again demonstrated live video over the Internet, except this time they dialed into an Internet Service Provider (ISP) at 21.6Kbps. Despite that limited bandwidth, they carried on a conversation and ran a video. The fact that they were able to transmit the sound and video didn't impress me, but the quality of the transmission did. At dial-up speeds, I expected unintelligible sound and one-frame-per-second video, but what I heard and saw was much better. I learned that Microsoft achieved this quality level by using Coder-DECoder (codec) software that compresses and decompresses signals in realtime.

The presenters then used a gateway to dial one of the attendee's cellular phones. Once again, the sound quality was impressive. But the best was yet to come.

In the next demonstration, the presenters set up two Win95 computers with a NetMeeting connection. After opening a document in Microsoft Word on one computer, the presenters then shared that application so that both computers displayed the identical Word session on their screens. When a person made a change to the document on either computer, the document changed on both screens. NetMeeting turned Word into a collaborative tool.

I wasn't too impressed because I theorized that this collaboration was made possible by having Word already installed on each computer and by having hooks in Word that supported NetMeeting. But that theory went out the window when the presenters brought out a UNIX Sun Solaris.

Using the NetMeeting connection, the presenters connected the Solaris to the two Win95 computers. In an instant, the Solaris also displayed the Word window, complete with the standard Windows toolbar and controls. The UNIX user could modify the document, just as the two Win95 users could. To put the icing on the cake, the UNIX user started a UNIX calendar app and shared it with the Win95 computers. They displayed the UNIX app, UNIX GUI and all!

Has Microsoft developed a UNIX version of Word and a Word version of UNIX calendar? No, but it has developed a technique to send the bitmaps from one screen to another screen, where they are displayed. I don't know how much line speed this technique requires, but I intend to find out because NetMeeting has definite possibilities.

Take Charge with the IEAK
You probably already know that you can use NT's system policies to control how the NT desktop behaves. What you might not realize is that system policies are usually adjustments to the Registry entries for a program called EXPLORER.EXE, the name of the program that you're running when you see your NT (or Win95) desktop. System policies are mainly just built-in restrictions to Explorer behavior. But what about IE?

An administrator can exert a lot of control over an IE 4-equipped desktop with the IEAK. When IE 4 is started, it looks on a nearby server for a file with the extension .ins (Internet Settings file). That file can include any system policy, which means you can throw away the System Policy Editor and use instead the IEAK editor for one-stop system control.

The IEAK not only lets you control IE 4, but also lets you to customize it. You can change how IE 4 looks while it is on your computer screen. For example, you can change the title, Microsoft Internet Explorer, to whatever you like or modify the throbicon (the little globe that rotates while the browser is busy). You can also modify the wizard you use to install IE 4 so that it appears as if it's your browser, not Microsoft's.

You can also change operational procedures using the IEAK. For example, you can keep a user from downloading from a site that you designate untrustworthy. You can define different levels of security for particular sites, again affecting whether a user can download from a site. Rather than prohibit the user from downloading, you might instead have the browser display a warning dialog box for confirmation before downloading. You can control how much bandwidth a user can take up, which can be quite useful if your firm has a slow link to the Internet. And you can basically lock down everything. Clearly, the IEAK yields power that must be used for good, not for evil.

Just Experience It
Although the length of this article might have led you to a different conclusion, I've only scratched the surface of IE 4. But don't just believe me; judge for yourself. By now, IE 4 will either be in its final version or in a late beta. Get it, and experience the next generation of impressive Internet tools.