Engines of Creation 2000
Discussion Support Project Proposal


Proposal: Discussion and Decision Support Software
Budget: $65k
Timeframe: to initial deployment: 1 month; overall: about 1 to 1.5 years
Developer: Ka-Ping Yee (lead developer of CritLink; see short bio)
Approval status: approved ("core" status under review)
Track our funding progress at: http://www.foresight.org/engines/index.html#fundprogress

Abstract: Design and implementation of software for supporting e-mail discussions, managing conversations, extracting effective summaries, and visualizing argument structure. System to be deployed as early as possible to hold specific discussions about key technology issues, as well as about the project itself (thus bootstrapping an improvement community). Development is to proceed together with and be directed by this ongoing use of the system.

To: Senior Associates and Foresight members
From: Ka-Ping Yee

To handle the tremendous challenge of preparing our world for technological singularity, we have to find ways to work together more effectively and manage the evolution of knowledge. An understanding of issues and arguments previously discussed is essential to avoid making the same mistakes twice; indeed, in the case of some of the powerful technologies that we soon be upon us, we will not be able to afford making certain mistakes even once. Hence, it is vital that we have the best tools possible for analyzing and debating the complex decisions we must face.

Eric Drexler realized this need long ago in 1986 when he wrote Hypertext Publishing and the Evolution of Knowledge, and he is certainly not the only one to voice the necessity of advanced discussion systems specifically for the purpose of surviving the singularity. The Foresight Institute, as part of its mandate to prepare for future technologies, has been pursuing a Web Enhancement Project for some time now.

I first came into contact with Foresight three years ago, at the 1997 Spring Gathering, and at that Gathering a proposal to build an annotation system for the Web immediately caught my attention. I joined the project team and became the lead developer in June 1997. I worked with the team to design the system, and then proceeded to implement it. Results were achieved in short order: the CritLink system was deployed in July 1997, and presented at the Extro 3 conference that August. It was the first public in-line annotation system for the Web, and remains to this day the only system allowing anyone, using any browser on any platform, to attach public annotations to any public web page.

Development on Crit has continued since then, albeit more slowly, due to other commitments such as my final year of undergraduate studies and employment at Industrial Light and Magic. I expect it to carry on; for example, Crit is hindered by scalability issues, though there is no fundamental limitation in the design, and perhaps those issues will be addressed in further development. However, my current plan is to apply the lessons learned from Crit while focusing my energies in a new direction. Why the change in direction?

Crit is foremost an annotation system rather than a discussion system. Although we intended to use it for discussing web pages, the primary goals of its design were "third-party, extrinsic, bidirectional, fine-grained hyperlinking" -- and these goals were indeed met. We assumed an open and antagonistic environment: we wanted a way to place annotations on web sites without the cooperation of those sites. The result was enhanced hypertext: Crit added one of the key features of Xanadu to the Web -- an important accomplishment in itself. On the other hand, Crit tried to tackle a very general problem, and that led to a tool that is generally useful, but not precisely directed at a particular purpose.

I believe it is time to focus on the discussion process itself. An effective discussion system must permit easy contribution of ideas and opinions; direct the flow of information where it is needed and not where it is irrelevant; keep its participants up to date; help them reach or determine a consensus; build a repository of reusable knowledge from the content of a discussion; and yield that knowledge in an readily searchable fashion.

It is best to start with small steps. I want to begin building things which we can start using right away. Rather than trying to wrestle with the generality of a solution for a whole Web full of uncooperative users, we'll focus on the key task at hand: a relatively well-behaved group discussing how to confront singularity. And rather than aiming for a particular technical capability, as Crit did, we will seek, at every turn, to address directly the needs of the ongoing discussion.

We know how people already do most of their discussing: not in Web forms, or in newsgroups, but in e-mail. So we'll start there. I think a great deal can be done with e-mail as a user interface in itself. I've already done quite a bit of thinking about how to make e-mail discussions more effective (see my proposal for a groupware system that got recently chosen as a finalist in a design competition, or my mock-up of a hypothetical "Criticon" tool for summarizing discussions).

We have an ideal group of participants. We can't always have the combined brilliance of everyone in one room at once, and we know everyone has lots of other things to do. That is the challenge: to figure out how to carry forward as much as possible of the productivity of the Design Shop process, despite these constraints. Here is my plan of action for addressing that challenge, with approximate timeframes and budgets.

Phase   Timeframe   Budget
  1. Design and build an e-mail discussion system that manages separate threads of discussion in a civilized way. (This will steal directly from Roundup.)
2 months $10k
  1. Work out how to store that e-mail effectively in a searchable repository. (This will take ideas from Roundup's hyperdatabase design.)
2 to 3 months $10k
  1. Design and build tools for summarizing the content and visualizing the argumentation structure of a discussion. (This wlll resemble the mock-up with Criticons.)
3 to 4 months $15k
  1. Design and build tools for collaborating on a work product to form the output of a discussion. (This will probably steal from Crit.)
3 to 4 months $15k
  1. Add facilities to permit polling, voting, and rating of the issues and arguments at hand. This should enable filtering and better group decision support.
3 to 4 months $15k

I hope that the need for these abilities and their relevance to our survival has been made clear. I ask for your support to make this project happen, and look forward to your participation in the exciting discussions, enhanced to an unprecedented level of productive output, that are about to begin!


Thank you,


Ka-Ping Yee


Short bio for Ka-Ping Yee

Many of you have probably seen me at Foresight events, and might know me for my work on Crit. I have created other Web-related services in the past, including MINSE, the first deployed mathematical representation system for Web documents, and devised the mediator architecture which underlies Crit's operation in practice. I gained considerable experience with Python, Apache, and various Web technologies and standards as a result. I also helped the Xanadu project team prepare for their open-source release last year, by writing a graphical browser for Xanadu hypertext. I've worked for Alias|Wavefront (now part of Silicon Graphics), the Canadian Space Agency, Xerox PARC, and Industrial Light and Magic, and established a history of awards for mathematics and programming competitions while at school. I'm a Senior Associate of Foresight and an Alcor Suspension Member. (You can look at my resume for more details, but let me warn you that it's even less modest than this paragraph!)


Note on Engines of Creation 2000 Software Projects

I realize that Dave Krieger has also proposed a core software project for Engines of Creation 2000. His goals are to install and extend the Slashdot codebase to create a server-based hypertext authoring system, and to write content for that system. I think this is an interesting goal; my priorities are merely a bit different. I would like to get started on the discussions first, and already have in mind some specific innovations that are ready to be implemented. In the future our projects may interoperate, giving us the best of both worlds in hypertext authoring and in discussion support.