Wiki

Below I will describe several types of wikis.  Some of these may already exist, others may not.  I describe them because I see a use for all of them and because I would like to clarify the particular usefulness of each.  Wikis are a powerful tool for many aspects of society and social knowledge infrastructure.  I would like each of these wikis to become an integral part of knowledge for our future.

Database Wiki

A database wiki is a wiki that acts as a public interface for a database.  This should be a relatively easy thing to program as database functionality is very well defined.  The ability for a community to browse and update a database directly via a wiki interface would be very useful for numerous applications.  Furthermore, the database wiki model is the framework or base for most other kinds of wikis.  While Wikipedia is built on a database, the database is designed to support the primary function of the mediawiki software as an informative database, and it would be difficult to use the mediawiki code base to create a database wiki.  On the other hand it would be relatively simple once you had a database wiki to generate mediawiki type software on top of it.

Informative Wiki

Wikipedia is the most well known informative wiki.  This type of wiki is designed to be used exclusively for presenting already well established knowledge, for the purpose of sharing knowledge.  The other types of wikis that are described below do not perfectly fit the informative wiki model, either because they require specialized tools, different management, or are merely catagorically different and thus merit status as a seperate entity.

Rating Wiki

Rating wikis are wikis that exist for the purpose of allowing a community to rate and review products and services.  The rating process would benefit from the wiki model due to the ability to add new products and catagories ad hoc and to heavily link those pages with an informative wiki.  The interface for a rating wiki should be optimized for tasks like adding new pages, adding reviews, and voting if logged in.  Being able to easily access a rating wiki from an informative wiki would be quite advantageous, and would easily provide peope with a place to leave their opinions, compare products, and so forth without interfiering with the objectivity of the informative wiki itself.

Argument Wiki

Argument wikis are wikis designed to manage and structure arguments.  Such a wiki would not be designed for posting notes or ideas like one may find on the Wikipedia discussion pages, but rather for the task of managing the long, complex, and often looping arguments that exists on controversial disscussion pages, where the basic discussion page format is inadequate.  Such a wiki should seek to provide arguers with an easy interface for making points and counter points, and for easily reading through existing arguments to insert new points and counterpoints where there appears to be a hole in the previous writer's logic.

Developing a model for an argument wiki is one of he projects I am currently working on, and I hope to post a description of that work here soon.

Creative Wiki

The creative wiki could potentially be one of the most important and influential technologies on the future of human intellectual endevours, if done right.  To my knowledge no creative wikis currently exist, and this is not surprising.  Creative wikis are wikis that are designed for creative work and origional research.  One page on a creative wiki may be a computer program, while another is a book, and another is poetry, all of them open to public edits.  Obviously there are some serious logistical concerns, and the possibility for creative disagreement is everpresent and a serious danger to any such wikis success.  Furthermore it is fairly obvious that existing wiki software could not do a satisfactory job of managing these problems.  However, that does not make the task of producing a creative wiki an impossibility. 

The best strategy for creating a creative wiki would be to start with source control type software.  Examine how such software functions and manages branches of code.  As different developers or writers have a difference of opinion they can branch their works into two parallel developing works.  The work that has the most supporters will develop faster and the other may eventually be abandoned, unless the idea on which it is founded has a strong enough following to keep it alive.  Either way the branches and projects that are best by the view of those working on them will be developed the most.  A good interface would be needed to search and explore these projects, with plenty of information like last update, number of active developers, user rating (if the project is stable enough to be rated by users), and so on.

Then I would take a look at eclipse or some other programming environment.  The way such utilities are structured could be well suited to a project contained in a database and edited ad hoc by the public.  Some such utilities could easily translate to a lite html version, or the database could be conected to and integrated with a more complex client application.  Whether the project is code or text such utilities could be used as an effective means of editing and controlling them.  Furthermore with good tools for integrating design documents with code, projects produced in this manner may possibly be accessable to the public, such that anyone with sufficient knowledge could contribute as they please.