Archives
 
 
 
  Special
 
 
 
  About Us
 
 
 

Newsletter
Free E-mail Newsletter from BYTE.com

 
    
           
Visit the home page Browse the four-year online archive Download platform-neutral CPU/FPU benchmarks Find information for advertisers, authors, vendors, subscribers Request free information on products written about or advertised in BYTE Submit a press release, or scan recent announcements Talk with BYTE's staff and readers about products and technologies

ArticlesHTML + NNTP = Groupware


September 1997 / Web Project / HTML + NNTP = Groupware

HTML-enabled e-mail and NNTP conferencing will make hypertext authoring and collaborative data management a routine way of life for everyone.

Jon Udell

Since 1985, BYTE staffers have used BIX, a terminal-based conferencing system, to share news, contacts, story ideas, and manuscripts in progress. A few months ago, that long tradition ended. The successor to BIX is NNTP conferencing, deployed mostly behind a firewall on a private IP network that links our three primary locations.

Version 2 of Navigator, the standard Internet client (what we call a browser), was really a suite of applications: browser, mailer, and newsreader. Living in the shadow of the famous browser, the mailer and newsreader failed to attract much attention. But even then, these messaging apps were doing something extraordinary: They could render, transmit, and, to a limited extent, compose HTML.

In version 3 of both Navigator and Microsoft Internet Explorer (MSIE), the messaging apps became slightly more HTML-aware. In version 4, they are dramatically more so. You can easily construct a mail message that uses rich text, tables, images, and hyperlinks. And yet when I show people how I use these capabilities to collaborate with my team, with the whole BYTE staff, and with participants in our public conferences, they're invariably surprised.

Why? The context in which NNTP discussion and HTML messaging become compellingly useful isn't yet apparent to many people. So let's spell it out.

An NNTP Server Is a Read/Write Web Server

Thanks to the Web, millions of people have become consumers of hy pertext. Relatively few produce it, though, because the Web is primarily read-only. The writable equivalent of the Web is the Usenet, where millions of people exchange billions of words every day. But while the latest newsreaders can compose and view HTML, the Usenet's vast ocean of text will for some time retain its plain-ASCII look. Post an HTML message to rec.crafts.rubberstamping, and you'll likely get flamed. Usenet credo demands universal access to content. True, messages can contain both plain text and HTML. But legacy newsreaders display these hybrid messages awkwardly, naysayers complain, and the extra bulk saps bandwidth.

I'm all for universal access. As it is currently constituted, the Usenet quite properly takes a conservative stance toward HTML messaging. But there's terrible irony in the bandwidth argument. The inside-out architecture of the Usenet, whereby tens of thousands of newsgroups replicate to tens of thousands of servers every day, is a far more egregious abuse of bandwidth.

Discussion data no longer needs to propagate around the world by way of replication. It's 1997, not 1977. News servers, like Web servers, are now directly accessible from all points on the Internet. News clients can hop instantly from server to server, just as Web clients can. News servers, like Web servers, can house deep, richly structured, densely interwoven, searchable collections of documents. And everyone -- not just designated producers of content -- can help build those collections.

This scenario may or may not ultimately prevail on the Usenet. Either way, you can create an alternative public or private version of the Usenet using a stand-alone news server. When I started doing this 18 months ago, I had to climb the admittedly steep learning curve associated with INND, the server app that powers most of the Usenet.

Today it's much easier. In addition to INND, I'm running the latest news servers from Netscape (Collabora Server 3.0) and Microsoft (Internet News Server). Both vastly simplify the process of setting up and using NNTP conferences. Both, in conjunction with the new generation of HTML-aware newsreaders, propel NNTP technology into the space formerly owned by proprietary groupware platforms, such as Lotus Notes.

NNTP Newsgroups Are Simple Document Databases

A newsgroup is really just a directory with a bunch of text files in it. Each file starts with headers (Newsgroup:, Subject:, Date:, and Sender:) and continues with the stream of ASCII text that is the message.

Newsreaders can order your view of a newsgroup by the primary headers: subject, date, and sender. But that's not too useful if you're pointing your newsreader at alt.rec.rubberstamping. Why order by date, for example, when there's nothing newer than last night's feed?

In a private newsgroup, though, these ordered views become very useful. When I finish the first draft of this column, for example, I'll post it to an internal news server. Weeks later, when the final proof reaches my desk, I may want to refer back to the original copy. No problem. I'll select the newsgroup, order by date, scan for mid-June, and look for postings from me.

With a bit of group discipline, you can make these views of shared data even more useful. Here's a simple but powerful idea: Treat the subject header as a row in a database. For example, we use several newsgroups as simple contact managers. I invite staffers to post subject headers to this group in the following form:

Davidson,John|NetworkTelesystems|TCP/IP,VPN

The idea here is that records in this contact database are categorized in three ways: by name, by company, and by keyword. Order the newsgroup by its Subject: headers, and you've ordered the database by name. Yes, I realize this isn't perfect. You can't order by company or by keyword, as you would with the equivalent Lotus Notes database. But here are some points to consider.

Full-text search. There isn't yet an NNTP standard for the full-text search of n ewsgroups, but Netscape implemented one in its new Collabra server and client.

The body of the message is a white paper on virtual private networking that John Davidson sent me by way of e-mail. I know I'll be able to find that document three months hence by searching our newsgroup for the term vpn . What's more, I know that any other BYTE staffer looking for contacts or material on that subject will also be able to find it.

Direct e-mail integration. To enter this record into our contacts database, I forwarded John's e-mail message into the newsgroup, rewriting the Subject: header as I've shown. Data entry doesn't get any easier than this.

I've built and used a few multiuser contact databases over the years. Data entry is always the bottleneck. Like all so-called knowledge workers, I process a flood of information at top speed all day long. If I have to fire up a data-entry screen and fill out a set of fields to log each event, I just won't, nor will my colleagues, and it's no use pretending otherwise.

The data-entry threshold has to be very low, and now it is. A lot of information comes to me by way of e-mail that will matter to me or my team, but not today or next week. It takes literally 2 seconds to tag these messages and forward them to a shared-document database where they will be seen once and can be found later.

Optional value-added Web integration. Suppose you wanted to construct views of this database by company and keyword, as well as by name. It's straightforward. I've written before about transformers (MHonArc and Hypermail) that convert mail or news archives into Web archives. Given such a Web archive, you need only scan for Subject: headers, parse out the implied fields, sort them, and emit one or more Web pages that serve as indexes on those fields.

NNTP newsgroups are rich file systems. Following the headers, a news message can contain just a simple message body or a set of message parts, each encapsulated between MIME boundary-marke rs. These attachments can be MIME-encoded binaries, such as images, executable programs, PDF files, and spreadsheets. They can also be HTML files. Listed below are some of the consequences that flow from creative use of the text/HTMLMIME type.

No external viewers are needed. If posters convert files to HTML, readers won't have to launch external viewers because newsreaders can now render HTML attachments natively . Some applications already implement "Save as HTML," and many more will.

Content can be full-text-indexed. If you post a Word document as an attachment, I can search for the text that you write only in the primary part of the message. Convert the attachment to HTML, and I can search that, too. That's just what I did when I received and posted John Davidson's white paper.

Attachments can be live applications. Everyone gets e-mail like this: "Re: Company picnic: Please choose preferred date [7-18/7-25] and activity [volleyball/softball]. Repl y to Pat at [phone #/e-mail address]." If we're using HTML-enriched mail tied to a Web-based application, Pat need not collect, tabulate, and disseminate this data. She can package her survey as an HTML message and broadcast it to the staff. An application such as my Polls servlet (see "Java Servlets," June BYTE) doesn't know or care if its HTML client is a Web page or a mail or news message.

Message Threading Creates Document Hierarchy

Suppose that, two months after I enter the John Davidson record in our contacts newsgroup, another BYTE editor interviews John for an article on VPN. Two months after that, a fact-checker calls John to verify some information in the article. The Contacts newsgroup is the obvious place to record these interactions. If the editor and fact-checker add their notes as replies to the original message I posted, they'll create what we normally think of as a conversational thread.

But in this context, the newsreader behaves more like a kind of shared outline proces sor. When I launch the newsreader, the Contacts newsgroup appears in unexpanded form as a list of names. To explore all our interactions with John Davidson, I can expand that thread.

How well does this work? To be honest, you won't find many examples of this technique in our internal newsgroups today. It's tempting to blame the NNTP tools, which weren't designed for this purpose. You can't, for example, rename or move messages, and if you cancel a message you'll orphan the hierarchy beneath it. What's more, nothing prevents you from posting a top-level message that violates the style (e.g., NAME|COMPANY|KEYWORD ) that creates the illusion of a database.

But neither of these limitations is crippling, in my view. The real obstacle, as always with groupware, is cultural. I know people who exploit the rich capabilities of Lotus Notes less effectively than we exploit our relatively primitive NNTP-based tools. Most people, even some who are highly software literate, are not yet attuned to this m ode of collaboration. We'll all get there, but it's going to take time.

NNTP Messages Are Link Sources and Link Targets

By link sources , I mean that NNTP messages can contain live hyperlinks. Since Navigator 2, we've been able to compose hyperlinks merely by spelling URLs correctly. If I type http://www.byte.com/ in a message, the news (or mail) client will automatically recognize and activate that link.

This primitive form of hypertext authoring can deliver extraordinary benefits. When Usenet posters refer to Web documents, readers can access them with a single click. Using the HTML composers in the version 4 clients, you can refine the appearance of the hyperlink. If you are writing for an audience of HTML-aware newsreaders, you can wrap an ugly URL, such as www.byte.com/art/9706/sec5/art1.htm, in a descriptive phrase such as my June column .

By link targets , I mean that hyperlinks (on a Web page or in a news message) can lead to news messages. This hardly matters on the Usenet, because messages there don't survive more than a few days.

But on a private NNTP server, it's a different story. You don't ever have to expire messages; they can be as permanent as Web documents typically are. Suddenly it makes sense to create links to these permanent news messages. As I pointed out in "Dual-Mode Conferencing" (December 1996 BYTE), we've long been able to form such links using message IDs. But it was awkward to do so, and the resulting URLs were nasty-looking strings, such as staffnews.byte.com/3301F45C.482E@byte.com. I'm delighted to report that, with Communicator's Collabra client, which just shipped, you can achieve this result by dragging a message icon into the message-composition window.

Why is linking to news messages a big deal? It means that the number and quality of documents that you've collected in a newsgroup are not the only measures of its value. Density of interconnection becomes another key measure. References can be a concise and el egant alternative to quoting huge chunks of prior messages.

Even more ambitious, messages with links to messages can summarize discussions and create alternate views of databases. It's true that these meta-messages are still part of the flow of the newsgroup. Like all messages, they'll be seen once and then fade into the archive. But if they're composed in HTML, they can also function as Web pages.

The "discussion highlights" section of our home page, which calls out interesting threads in our public conferences, illustrates this technique. Think of an HTML-based NNTP discussion as a bunch of rough drafts, some of which will merit promotion to the status of finished Web pages.

What's the Catch?

If this NNTP stuff is so handy, why aren't more people using it? Not many folks, other than Internet service providers and network administrators, have ever mastered NNTP servers. The de facto choice, INND, is a mythologically scary beast.

But times change. The latest incarnations of I NND from Netscape and Microsoft go a long way toward taming the monster. Most would find it straightforward to deploy these GUI-driven news servers for internal use. Next month I'll show how that's done.


TOOLWATCH


Win32::Internet

Aldo Calpini
E-mail:   
dada@divinf.it

Internet: 
http://www.divinf.it/dada/perl/internet


An essential tool for every NT Perl hacker. Win32::Internet creates a Perl 5 interface to WININET.DLL, the Win32 Internet support library that manages HTTP and FTP connections. It's a great way to make your Win32-based Perl scripts URL-aware.


BOOKNOTE


The Data Model
 Resource Book
.........................$49.99

by Len Silverston, W.H. Inmon, and Kent Graziano
Wiley Computer Publishing
Internet: 
http://www.wiley.com/compbooks/


If you look at enough information systems, patterns will emerge. These authors have done just that. Here are data-modeling recipes that include all the basic ingredients: people, organizations, products, units of work, and orders.


The Data Model Resource Book

photo_link (68 Kbytes)


Full-Text Search with Netscape Collabra

screen_link (26 Kbytes)

We're using Collabra as a free-form contact manager. Careful use of message headers lends structure to the newsgroup. Full-text indexing of attachments makes the newsgroup a powerful tool for information storage and retrieval.


HTML-Enriched NNTP Conferencing

screen_link (53 Kbytes)

The latest Netscape and Microsoft newsreaders make HTML composition simple enough for casual use. The table formatting shown here was done by Netscape Composer. The hyperlinks were dragged from a browser window and dropped into the message.


Jon Udell is BYTE's executive editor for new media. You can reach him by sending e-mail to jon_u@dev5.byte.com .

Up to the Web Project section contentsSearchSend a comment on this articleSubscribe to BYTE or BYTE on CD-ROM  
Flexible C++
Matthew Wilson
My approach to software engineering is far more pragmatic than it is theoretical--and no language better exemplifies this than C++.

more...

BYTE Digest

BYTE Digest editors every month analyze and evaluate the best articles from Information Week, EE Times, Dr. Dobb's Journal, Network Computing, Sys Admin, and dozens of other CMP publications—bringing you critical news and information about wireless communication, computer security, software development, embedded systems, and more!

Find out more

BYTE.com Store

BYTE CD-ROM
NOW, on one CD-ROM, you can instantly access more than 8 years of BYTE.
 
The Best of BYTE Volume 1: Programming Languages
The Best of BYTE
Volume 1: Programming Languages
In this issue of Best of BYTE, we bring together some of the leading programming language designers and implementors...

Copyright © 2005 CMP Media LLC, Privacy Policy, Your California Privacy rights, Terms of Service
Site comments: webmaster@byte.com
SDMG Web Sites: BYTE.com, C/C++ Users Journal, Dr. Dobb's Journal, MSDN Magazine, New Architect, SD Expo, SD Magazine, Sys Admin, The Perl Journal, UnixReview.com, Windows Developer Network