The evolution of the computer is a tale of continually added capability, marked by the same fits and starts that are the hallmark of biological evolution. Start with the computer as a calculator programmed by physical wires and switches and punch cards, jump past the age of massive mainframes interfaced to dumb terminals, swish by the early Apple II and PC era of command line interfaces, and look back at the recent past in which the computer became a truly personal device through the graphical interface with which we've grown so familiar.
Throughout this whirlwind tour, you can see the evolution of uses to which computers have been put. Early machines were nothing but number crunchers, after which they added management of vast quantities of data to their repertoire. The concept of the interactive application came next, followed by the ascendence of the document as the focus of all computing (remember OpenDoc?). With the rise of the Internet, though, possibly the most important function yet was added to the mix - communication. Some research that Microsoft's Macintosh group did a few years back showed email and Web browsing joining word processing as the most common tasks performed by iMac users. And although instant messaging doesn't have the infiltration as the other two, it has certainly become a major activity on the Internet as well.
Despite this significant switch in the primary uses for computers, the efforts put toward software in these categories has been relatively superficial, and there's been little acknowledgment of the importance of the data that stream into one's computer from the Internet. Until recently, Netscape limited its historical record of Web sites you'd visited to those loaded in a single window. Close that window and poof, your trail was gone. Internet Explorer didn't share that unnecessary limitation, but set its own by remembering only the last 999 pages you've visited (that seldom lasts more than a week or two for me and I'd prefer a longer term memory). Internet Explorer also added the extremely useful auto-complete mechanism when typing URLs, so when I was researching 2.4 GHz antennas, the trivial fact that the URL had the string "2400" in it was all I needed to remember to return to the desired page with minimal fuss. Netscape now has a similar feature, and both browsers have in recent years added features that start to make intelligent use of the data coming in from the Web. For instance, both have links to Alexa for a Related Sites feature (Show Related Links under the Tools menu in Internet Explorer 5.1 and the What's Related sidebar in Netscape 6.1) that's useful if you've found a company in an area that interests you and you want to find others in that field. And Internet Explorer's Auction Manager feature, brittle though it is, points toward the kind of intelligence that can be layered on top of the stream of Web data flowing into your computer (I'm not a big auction participant, but I gather there are much more powerful utilities dedicated to tracking auctions).
Enhancing Memory -- That's a long preamble, especially because I'm going to tell you about a program that I've decided not to use. But the more I think about it, the more I believe that a small shareware utility called iRemember, from Serac Software, is an example of how we can move computing forward in the age of communication.
The concept behind iRemember is deceptively simple. It installs a pair of extensions, an Open Transport module, and an application that is launched whenever a Web browser is running. The main iRemember extension and the Open Transport module work together to capture all Web traffic that streams into your computer. The application then uses the Apple Information Access Toolkit, the indexing and searching technology behind Sherlock, to index the full text of every Web page you view. The indexing itself happens unobtrusively in the background, so you won't notice it happening; the only minor negative to this approach is that pages you've just visited won't be found by searches until they've been added to the index.
After you've browsed the Web with iRemember running for a while, you can start to see its utility. iRemember's signature feature is that you can search for words that appear in the pages you've visited, double-click a result, and iRemember loads that URL in a new window in your Web browser. It's worth noting that iRemember is not retaining the full text of every Web page after it adds the text to its index; you must still go out to the Web to see the page.
This simple function proves to be remarkably useful. All too often, I know I've read something on a topic, but I can't remember where. It might have been at any one of a dozen Web-based publications, most of which have miserable internal search engines, and many of which aren't accessible to the external search engines like Google. In the past when I've tried to revisit pages using traditional search engines, it's proved frustrating since those tools generally miss news articles, Web-based discussion forums, and other database-driven content. Also problematic is the fact that search engines like Google know nothing of my browsing history - in many cases, I'm more interested in finding the Web pages I've read already than those I haven't, and Google can't differentiate between the two.
The fact that iRemember knows exactly what pages I've visited is what's important. Those pages automatically have a value to me that other pages don't and being able to search through them offers a notable level of functionality that simply hasn't been possible before. I even found that knowing that iRemember was recording everything I viewed changed the way I read Web pages. I do a lot of information filtering - reading things quickly in an attempt to jam the information into my brain in case I should need it later, rather than because of a specific desire to know what's being said in depth. That way I can synthesize a great deal of seemingly unrelated information when trying to explain a topic in TidBITS. As I've gotten older and the amount of information on the Internet has exploded, I've found it harder to keep up, and I found it comforting to know that even if I didn't remember the specific arguments made by Bill Gurley as to why Bluetooth wouldn't succeed, for instance, I could easily find the page later should it become relevant.
iRemember provides several additional ways to use your browsing history, no matter which browsers you've used. You can access a straight chronological list, and there's also a version that's organized by Web site. In both cases, entries include some metadata, such as date viewed and a few keywords that are likely to identify the contents of the page to you (the keywords are basically the reverse of a search). You can select a page and find similar pages within the set of those that iRemember has indexed, or even try to find similar pages on the Internet via Sherlock. Double-clicking an entry in one of these lists opens the page in your Web browser.
Of course, pages disappear from the Web, and iRemember can scan for missing pages and delete them from your index (though I could see the utility of leaving them, even if the original is gone). You can also delete pages older than a certain date, delete specific pages (perhaps to prevent someone else from seeing that you visited certain sites), and compress the index to recover space left over from deleted pages. You can also check the index for corruption and import index files (useful for recovering from a backup after a damaged index, or for merging index files from multiple computers).
Inconvenient Lapses -- iRemember isn't new, but somehow the first I heard of it was a few months ago at MacHack when a friend recommended it to me. I downloaded it, installed it, and used it throughout most of its 30-day trial period before finally shutting it off. As much as I love what it did for me in remembering the pages I'd visited, it simply crashed too frequently on my Power Mac G4 running Mac OS 9.1. iRemember 2.0 hasn't been updated since May of 2000, and it's possible that it needs an update to retain compatibility with some change Apple's made in that time.
Most of the crashes were annoying, but not actually fatal, in that I was able to escape the crash in MacsBug and either keep working or restart gracefully. However, the day I finally gave up on iRemember, it would crash and take down a few other applications before finally freezing the Mac. That was the final straw, but even the non-fatal crashes were problematic. Even in the 25 days or so that I used iRemember, I grew to assume that it would remember every page I visited. But if it had crashed and I'd kept working, it wouldn't notice anything I'd visited until the next restart, causing me to doubt my memory when iRemember couldn't pull up the pages I was sure I'd visited.
I also faced the confusion of not remembering whether I'd read something in my email or on the Web. All too often, I visit Web sites by clicking URLs in email messages, so the two are intertwined in my mind. Since iRemember watches only Web traffic, there were times I need to perform an iRemember search and then ask Eudora to search through email before finding what I needed.
Remembering the Future -- Perhaps what I liked most about iRemember is the way it improved my interactions with the Web in ways that made sense for me alone - it's offering a user-aware interface. It's the same reason that Super Boomerang, which simplified opening recently used files and folders, was such an amazing tool back when documents ruled the earth (Power On Software's Action Files carries on the Super Boomerang tradition - see "Get a Piece of the ACTION Files" in TidBITS-434).
The take-home lesson for developers is to look at ways of spending CPU cycles and disk space analyzing the user's communications history to facilitate future actions. A Web browser could notice that the user visits a certain set of pages every weekday morning and simplify the interface to that function, prefetch the pages to speed access, or suggest further readings. An email program could automatically categorize messages based on content (or even on user action) and offer the user those categories as an optional way of viewing mail.
Also think about the way user-aware interfaces present information to the user. iRemember uses simple text listings, but other approaches might be possible, such as graphs or maps. Imagine using Eudora's History List, itself a user-aware interface that automatically records the names and email addresses of people with whom you exchange mail, in this fashion. One could create a user-aware shell interface that uses photorealistic (a technique more useful with faces than documents) representations of the people with whom you're having active email or instant messaging discussions, making it easy to see past communications with those people and initiate new ones. The group of people represented in this way would be unique to you and would shift constantly to reflect the nature of communications.
One note of caution about user-aware interfaces to communication technologies. Some marketers or developers may find it tempting to gather user data for purposes like better demographic targeting. Do not, under any circumstances, succumb to that temptation! An individual's communications may be innocuous, but they could also be intensely private, and it's just not worth the potential damage in today's privacy-charged atmosphere. Any gathering or processing of communications data must remain local to the user's machine, and if there's any concern about sensitive nature of that data, you must give tools to the user to protect and manage that data.
With careful design and appropriate caution, though, making computer interfaces modify themselves based on the actions and communications of their users could help computers further enhance communication rather than posing an obstacle as they so often do.