---- Proximity application idea: personal information manager ---- I recently tried a piece of commercial software called "eGems" whose utility I believe could be radically improved if it were implemented using a Proximity-based personal information system. (My working title for such a system is "POW - Personal Object Web".) I'll provide an introduction to the "big idea", describe the specific program (eGems), then indicate how I think we could do it much better. I welcome discussion of this topic, which I find singularly diverting. Introduction/History: Over the last five years I've reviewed and tried hundreds of applications called Personal Information Managers (or PIMs). I believe they have all "missed the boat" in that almost all of them assume that a hierarchical-based representation for managing personal information is ideal. I'd argue that a semi-structured, self-structuring database provides many benefits. The few PIMs that are organized using networks don't have our other ideas (discussed below). The Idea: What would a Proximity-based PIM be like? First, it would be an application that primarily supports research into areas whose nature is unknown until discovered. I'm sure we can come up with a better definition, but David calls these "forensic" activities, and would include representing personal information, doing historical research, analyzing the spread of infection, and performing CS research. These tasks are ones which require a semi-structured database because the structure of the information being captured and developed during the research *evolves* during the course of the work. That's the semi-structured part, but I'd argue that to make effective *use* of this possibly vast and confusing network users will need advanced tools to help manage it, which we've been grouping under the term "self-structuring." These tools would be the work products of research we're doing in KDL's, including classification, existential prediction, clustering, etc. A system with these two ingredients (i.e., a semi-structured, self-structuring database) that could effectively handle large amounts of data would have many revolutionary applications. (Sorry if that sounds bombastic, but I'm excited.) We can talk later about "subsuming the file system," "Smart Paper," and other interesting topics, but a simple one I want to describe is the "web research tool," which I describe next and compare to eGems. Application: Web research tool: eGems (http://www.egems.com/) is a tool for collecting diverse information obtained while doing research using the Web. It uses drag-and-drop (http://www.egems.com/products/features.html) to integrate with Windows applications, and you use it by selecting content and dropping it on the window's icon. The program then asks you to describe the information (via notes, source, and bibliographic information) and asks you where to place it in the hierarchy. (They use the gem metaphor to add excitement - each piece of information is a "gem", and they are stored in "trays" within "chests," i.e., folders.) You use the information via hierarchy navigation and textual search, and via some reports (bibliographies). Value is added by providing for sharing of databases, and the company hires the creation of useful ones (Shakespeare's Sonnets, Mark Twain's Maxims, the U.S. Constitution). Analysis: People like this tool because it provides a single easy-to-use and non-intrusive tool for collecting research information. Although the hierarchy it is based on is easy to understand and display, it is just one possible organizing approach, has important limitations, the main ones being 1) it doesn't capture the information's interconnectedness, and 2) it provides inferior navigation and use of the captured information. The search tool is text-based, which requires users to consistently choose and apply the right keywords in the notes section. In this way, text keywords provide an orthogonal organizing method, but one that's completely unstructured (also called "free-form" in the PIM literature). Proximity solution: So how would a Proximity-based tool work, and how would it be better? First, bits of information ("gems") would be organized into an interconnected network, instead of a hierarchy. Because all analysis tools require that the network be as rich as possible, the program must automate creating good connections (part of "self-structuring"). It would do so by analyzing each dropped gem and creating links based on the dropped item's content and the network patterns of similar items. I envision a "mixed initiative" approach to managing the network - links would be created 1) interactively by the user, and 2) automatically by the program. An example creation scenario will help to clarify: Suppose you're researching the origin of the moon (I just finished "From the earth to the moon" - great series). You've started by creating objects for the Moon, Earth, and Sun, and connecting them (Moon -SatelliteOf-> Earth, Earth -PlanetOf-> Sun). Now you hit britannica.com and drop a grab a few sentences on origins. The program creates an object for the dropped text, including its source web page, and connects the words "moon", "earth", and "sun" to your existing objects. (Yes I know: how this works is a major research topic.) You edit the moon link to go through a new intermediate object called "origin theories", and you link to it an image you drop in. You find two more web sites that have other theories (including some world creation myths) and link them in, but you don't add images. The program tells you these are similar to the first origin, but are missing images. You find some and add them in. As you've been working you've thought of additional information to add to origins, including when it was first hypothesized, and who contributed them. You update the first origin by creating the appropriate links and objects, then you tell the program to create a similar configuration for the other two, which it does, indicating where data is missing. And so on. Once the information starts building up, how would you use it? First, you could browse it in various ways, depending on your needs. Graph views would emphasize connectedness by showing objects and links in 2D or 3D as nodes and edges. Tree views would emphasize containment by treating each link as a "contains" relation, thus providing hierarchies when needed. One hierarchy might be: Solar System Earth Moon Origin Hypotheses Origin 1 Origin 2 ... Sun Notice that the network can provide a meaningful hierarchical view for free. Similarly, a timeline view would be able to show events in chronological order for any object or link that has contains date. You could view objects with mixed text and link data as "sticky notes" that would show them like tiny web browsers. An example in patented "AsciiVision", where links are indicated in square brackets: +----------------Origin 1---------------+ | At the end of the 19th century the | | English astronomer [Sir George H. | | Darwin] advanced a [hypothesis] that | | attracted considerable attention | | for decades. On the basis of the | | [mathematical theory of solar | | tides], Darwin suggested that the | | [Moon] had been originally part of | | the [Earth] but was broken away by | | tidal action and receded from the | | planet. | +---------------------------------------+ A second way to use the network is via search, either traditional text search (e.g., All Objects Containing "lava"), or relational search (e.g., All Hypothesis Before Darwin's Birth, or All Hypothesis Linked Somehow To Disproving Arguments). Conclusion: I hope this note gives you an idea of an exciting Proximity possibility, and opens the door to considering other cool applications. I'd love to discuss this further, and see what else it might bring up for cool application ideas. ---- EOF ----