What's up at NCSA (kind of thing)

© Tom Magliery, Research Programmer NCSA

DISCLAIMER - This is not an officially-endorsed article from NCSA, but Tom's personal views on things. You are welcome to email your comments directly to him.

NCSA really has always been a research institution, not a competitive organization (at least, certainly not with commercial companies). We happened to develop a piece of software that became astronomically popular and generated a lot of publicity. At the time Netscape (actually "Mosaic Communications Corporation") was formed, Mosaic was so popular that when Netscape (I don't think the name "Navigator" existed yet either) caught up with Mosaic in terms of number of users (it was very quick), the media just loved playing up the competition factor. Of course there was the underlying fact that Netscape was founded by a bunch of guys who were by and large pretty disenchanted with NCSA when they left. But the truth is that no one in SDG (the Software Development Group of NCSA) ever had any dreams that we could out-develop (or out-market) a commercial organization; especially not one that within a few months grew to our size and within a few more doubled or tripled it. (and now look at them, geez. and of course, No One in their right minds would consider competing with The Other Browser Vendor, right?)

Work on Mosaic continued because we still found it to be a worthwhile project. (And at least nominally, because Spyglass was still benefiting from the changes and upgrades we would make, via their licensing agreement.) However, new development was cut back severely in late 1994 and early 1995 on the Mac and UNIX platforms. In reality it's been pretty much in maintenance mode on both of those platforms since then. The xdev team has been doing some pretty good work on it lately (more on that later), but "the xdev team" consists of a bunch of student programmers who work on it in whatever time they have, so it can't be expected to be a commercial-quality product.

Since mid-1994 Windows Mosaic has been a little different. In mid through late 1994 we built a *very* strong windev team, and new work on Windows Mosaic proceeded rapidly. We largely eschewed a lot of the HTML that Netscape supported, although in some cases we did bow to the enormous pressure from our users (e.g., center, body attributes). Our tack was supporting standards; it still is as much as it can be, even though it's not abundantly clear what the heck a "standard" is for the Web.

Our primary focus though, from the beginning of the browser wars, has been away from HTML tag explosion (where we're clearly outgunned by any commercial outfit), and toward innovation in browsing capabilities. We added features to Windows Mosaic such as "auto-surf", which lets you set your browser to automatically downloading all the documents on a Web site, or all the links from a page, so that they will all be in your disk cache; you can go off, take a shower, eat lunch or whatever, and when you come back, surf more quickly because everything's cached. We added the hotlist manager, which is (in my opinion) still the best way to keep track of multiple hotlists full of links. we added "collaborate", which lets you set up a chat window as well as to have the various collaborators' browsers follow when other collaborators surfed.

That doesn't mean we didn't do *any* HTML work. We even did some innovation of our own, although nobody ever seemed to notice. I still shudder every time I hear anyone talk about how Netscape introduced tables to the Web. (I often find this happening at HTML-related committee meetings, by people who should know better.) Windows Mosaic had tables implemented (and released publicly) before Netscape did it. In fact, they copied our implementation (in terms of rendering appearance). There's no way to prove it now, of course, but I promise you we had some great fun when early betas of N1.1 came out, using their browser to do side-by-side comparisons with ours on some of the tables demo pages we had worked up. Granted, they had some table attributes that we did not support, and more importantly, they supported *nested* tables. I wish we had done nested tables then (we do now), but on other table issues, we were holding out for a more useful specification. I was involved in meetings involving SGML and Web folks, working toward a better html table spec, and we were looking toward that eventuality. Part of the reason the whole table thing bugs me is undoubtedly because I'm envious. We did it first, but they got all the credit. but oh well.

Another thing we did first (I think) was support the LINK tag. Poor little forgotten Mac Mosaic was the one of the first browsers in the universe to support it (I'm not sure if Spry's Air Mosaic beat it or not), but it's now in Windows Mosaic as well. It's not fully up to the level of Murray's REL/REV spec, but it supports many of the more common REL/REV types. Sadly, it doesn't do REL=stylesheet yet.

What makes NCSA Mosaic better? Well, I can't speak for the 50,000 (a number I made up, by the way), but here are some of the things that I really like about it. the first three are ones that I plain and simply *will not* do without, and (unless there's something new I'm missing) they mostly exist *only* in NCSA Mosaic for Windows:

  1. Great keyboard surfing navigation, including L,R arrows for anchor navigation, and 'h' for home, 'b' for back, 'f' for forward

  2. "Presentation mode" -- alt-P to go to full-screen display -- no toolbars, no Windows, no *nothing* -- and back again

  3. +/- to increase/decrease font size of the display *universally* -- absolutely indispensable for doing presentations

  4. Best printing capability of any browser (particularly the ability to customize headers and footers that are printed with documents)

  5. Detailed, thorough, and well-organized preferences

  6. Ability to turn off <body > attributes (useful for encounters with idiots who don't quite grasp the concept of contrasting text and background colors, or the concept of "blue means unvisited, red means visited")

  7. Clicking on the spinning globe stops a page-load (as opposed to going to NCSA's home page)

  8. If something *really annoys* me about it, I whine and whine, *and it gets fixed*

  9. There's a single pixel in the "about" box such that if you click on it, it goes to my personal home page. Ask me if you care where it is.

    Those are just my reasons. A couple of them don't really apply to other people, but I'm ranting, so what the hell.

    There are other compelling reasons to use NCSA Mosaic for Windows. in truth, I don't use the following features very much, but I think many others do:

  10. The aforementioned hotlist manager

  11. The aforementioned auto-surf capability

  12. The aforementioned collaboration capability

  13. The advanced cache manager -- lots of fine-grained control over what's in your disk cache

  14. "Sound Schemes" -- associate a collection of sounds with common activities like clicking on an anchor, image loading, etc.

There are probably other features that also make it more useful, but I'm tired...

Nowadays the major focus of SDG is on collaborative technology. We have been developing a Java-based framework called habanero ("the hottest pepper around" or some such nonsense), which makes it easy for developers to add synchronous collaboration to any Java application. By this I mean, suppose you write a (single-user) Java-based paint program. with only minor tweaking you can fit it into the habanero framework, and presto, you and several friends can all draw on the same picture simultaneously, over the net. I can't do it much justice here, since I'm not on the habanero team, so I'll just give a URL for folks who want to know more:

Windows Mosaic is nearing completion. Once we release 3.0 final (hopefully this summer sometime I think), it will slip into maintenance mode like the others. Since it's more popular than the others, it'll have more attention paid to it, but further development will be pretty ad hoc, just like it is with x Mosaic these days. (Mac Mosaic is even more ad hoc, because the students who are working on it when they feel like it number only about 1 or 2, depending on how you count them.)

Sometimes ad hoc can do pretty well, of course. The xdev students have completely written a lot of the internals. In particular, the html parser has been very carefully redesigned and reimplemented so that Mosaic actually understands the concept of a structured document. (Amazing, huh?) It's some pretty cool work, and it opens up a vast wealth of possibilities, both for x Mosaic and for other work we're doing.

As for other work, the bulk of the Windows team has been focusing lately on ways to build on some of the better "tools" that have been a successful part of Mosaic. Well, not really the tools themselves, but rather the general concept of Web-associated tools. We've been building a framework that won't really be called a "Web browser" any more, but more like an integrated system of Web-related tools. Users will benefit because the system will be highly customizable. Don't like the html-rendering tool, or the parser? Drop in your own. Have a favorite ftp client? Plug it in. (I use that phrase intentionally. We'll support plugins, Java applets, whatever you want.) Remember how yesterday you were surfing, and you found some Web page about, oh, I dunno, mother Theresa, and now you wish you could remember where you were? Don't you wish you had some sort of structured session-history that would keep track of these things for you? That's a perfect tool for dropping into the framework. (Actually, that's one we're working on).

Developers will benefit because it will be easy to write new tools that fit right into the framework and add increased functionality to the Web experience. We're carefully laying out the APIs for communication between parts of the system, and re-thinking things continually as we go along.

We're pretty optimistic that our framework will be beneficial. A couple of weeks ago we used the fledgling system to integrate the html parser with a speech-rendering API to create a basic HTML browser for the blind, with anchor and heading navigation, and speech-rendered output. We did it in two days.

So anyway, to sort of conclude my rant, we really are a research house. Mosaic was a good time, but there are bigger and better things coming. we're damn glad we got so famous for doing Mosaic, and we hope that the stuff we continue to do will see a wider audience because of it.

[Upp] [Börsen] [Referesnböcker]