<%@ include file="/mainheader.jsp" %>

Possible Applications

KnownSpace applications should have the following six properties. These buzzwords, in essence, describe the KnownSpace project itself (KnownSpace is fully buzzword-compliant).

flexible It should be reconfigurable and rewritable.
Solutions to complex problems are unlikely to be anything but partial.
aware It should analyze its data.
It must try to see data relationships as its user sees them.
adaptive It should analyze its user's actions.
It must try to decide what its user's current goal is.
autonomous It should be capable of working alone.
It is a poor helper that requires constant supervision.
spatial It should have a visual, fluid, "spatial" interface.
The human visual system evolved to read images, not text.
networkable It should be natively network-aware.
The vast majority of data available today is online, not on the desktop.

Single-User Applications

A news reader
A news reader that remembers where each article you downloaded comes from and organizes them by subject, topic, date, title, author, newsgroup, length, word content, and so on. The newsreader also downloads newsgroup articles it thinks you might like offpeak so that you can read relevant news offline. It presents the news to you spatially, rather than as a linear list of text, so that related articles are close together in a navigable space.
A mail reader
A mail reader that lets you easily create folders for multiple ongoing email discussion threads without forcing you to place each email in only one folder. It works much as the newsreader does and visually places new email so that you have a good idea of its topic before reading it. Instead of a linear stream of text ordered, most usually, by time of arrival, it presents your email to you as a collection of arbitrarily reconfigurable conversation streams. It's smart enough to pick out the proper names in your emails so that it can automatically find links between emails that mention people or institutions.
A bookmark organizer
A browser helper that watches where you go and what you do then suggests other sites you might find relevant. It annotates your bookmarks with metadata from the sites so that you can easily find each site again without having to remember esoterica of the URL. It also analyzes the data on the pages you bookmark and clusters related ones together automatically. It lets you visually organize your bookmarks along multiple dimensions so that you no longer have to decide exactly where a bookmark goes.
A website monitor
A program that monitors which websites you visit then keeps the most current version of each site on your machine, with an offpeak download so that you can surf the sites offline. It also autonomously purges long neglected sites if you allow it to do so.
A website mapper A program that analyzes all the pages on a site and builds a visual search engine to the site, like a reverse imagemap. Searches of the site then result in "visual hits" on the visual site map so that users can develop a spatial intuition about what's where and what's likely to be found. As new pages get added to the site they can then be automatically placed in the right place for future searchers to find them easily.
A websearch engine
A program that transparently executes search requests on multiple search engines then analyzes the results to show their linkage to documents you've already bookmarked or fetched for yourself. It presents the search space visually and lets you navigate it visually, not as a simple text stream of links. It also presents a generated paragraph describing each of the sites retrieved, allowing further search over the descriptions themselves.
A file searcher
A program that figures out what file you're likely to be looking for even when you make typing mistakes. It also loads files relevant to the file you're currently working on based on your history of actions. It indexes all your files along multiple dimensions so that searches are fast, visual, and straightforward.
A people organizer
An address book/scheduler/pda that knows not only your friends and business associates phone numbers, but also their cat's name, their pet peeves, when they dislike being called, and when they're likely to be busy. It updates itself by talking to their address books for itself, just as your website monitor maintains the latest version of a website.
An interface builder (= Spectra)
A program to help you build new interfaces for your various data management tasks visually, quickly, and easily.

Multi-User Applications

A source code maintainer
A source code browser that keeps you current on a code repository and lets you browse it and annotate it, passing on those annotations to others across the network who are also interested in maintaining the code base. (This would be very useful to help us continue to build KnownSpace itself; we would be using KnownSpace to help build KnownSpace.)
A proxy server
A server that users transparently connect to which lets the user see annotations to any site that another user has added to the site. The server may also strip out advertising and other undesirable content depending on each user's wishes.
A chat server
A server that supports persistent chats and shared markup of arbitrary websites so that many users can share their thoughts and have their conversations automatically recorded and made searchable. The server should also provide markedup data indicating who is online at the present time so that interfaces can construct simulcra of the crowding (or lack of it).
A research platform
A public KnownSpace running the most vanilla version of the system available at that time and into which anyone can upload any program for later download by anyone else. Programs are vetted by circles of trust to minimize the risks of viralware. This is a way to share the fruits of research in artificial intelligence, user modeling, interface design, databases, networking, distributed programming, and so on, by allowing direct code incorporation of the latest technology. Other versions may be only semi-public, or available only on private intranets, to allow sharing only within a group.
A community builder
A program that monitors the online world, detecting when your friends wish to be seen online, and immediately alerting you to their presence. You can establish real-time connections to their KnownSpaces, as they can to yours, and so share markedup information, chat, go surfing together, share a whiteboard, exchange programs, play multi-user games, use cuseeme, and so on. Each wormholed KnownSpace could have its own visual representation, so each could be idiosyncratic and each would have some public portion available to everyone. As new KnownSpaces join the group, you have become part of an online tribe---a simple cyberspace.
A software reality
A program that monitors and simulates some aspect of the real world, for example, a corporation or a university or a database or the world's collection of online computer science technical reports focussed on machine learning. Each portion of the model corresponds to some portion of the reality and updates itself in near real-time (or whatever is appropriate) as new data is fetched into the system. Such a model could be used to interrogate---or better, submerge in---a living data universe. Applications include: a distributed network monitor (which machines are up and what is the load on each? what's the network traffic? who's logged in where? where are the hot spots?), a worldwide technical reports proxy server, a corporation's financials, state budge allocations, stocks and bonds reportage, and so on.
A data manager (= KnownSpace)
A computational substrate that lets all of the above applications work with each other so that, for example, it autonomously downloads news articles likely to be relevant to websites that you visited after email you were sent suggested them as being worthwhile to visit when you were in a chat session with a friend of the person sending you the email. And of course, all without giving up the ability to add to or alter any application at will while still speaking a common tongue so that you can continue to exchange programs and data with others.
<%@ include file="/mainfooter.jsp" %>