Wiki Essence

See ElementsOfWikiEssence.

What is the essence of the WikiWikiWeb (and WikiWikiClones)? What is it about Wiki that makes it so great? On the other hand, what are accidents of implementation that are not essential to Wiki?

(Essence vs accidents from NoSilverBullet.)

(MarkEichin tried to start a conversation about this on the WikiWay page. I think he wanted to apply cool stuff from Wiki to other software. I want to know how to improve Wiki, or build a WikiWikiClone, without losing the essence of what we have here. Oddly enough, what inspired me was not the cool stuff, but some buggy behavior that's based on non-WikiEssence implementation. There's a pattern in there somewhere ... . -) -- PaulChisholm

(RCS/CVS discussion moved to VersionControlAppliedToWiki.)

The use of CGI is definitely an "accident" - my clone is a standalone server. Perhaps I misunderstand what is meant by that comment though.

As for the flat namespace: I implemented (what may be a bit too complex) an escape mechanism - undefined WikiWords can be turned into URLs instead, via an "edit links on this page" option.

I don't have a RecentChanges page, and feel the lack, so I'll be implementing that too... meaning that I think it is Essential.

Since I was focusing more on "project notebook" use, and personal use at that, I've put some more effort into generating reports... it turns out that if you add some conventions to the naming of WikiWords, you can split them apart with spaces in such a way that the uninitiated can read them easily.

-- MarkEichin


Two questions for debate:

1) On RecentChanges, is it WikiEssential? that the pruning be done manually by VolunteerHousekeepers? In the process of writing CommonLispWiki, I've found that RecentChanges itself is pretty crucial (I don't have one yet), but with the ways things are implemented right now I could easily make it autotrimmed.

I've seen reference to an opinion of Ward (that I can't find any more) suggesting that there's a good reason not to. [It's on WikiHistory: "From the beginning, wiki was intended to index itself. Or, more correctly, wiki visitors were supposed to evolve into VolunteerHousekeepers. This is one reason that RecentChanges has never automatically pruned itself."]

2) Wiki provides no way to delete a page. I can't decide if this helps or not: on the one hand, published URLs should never be removed (JakobNielsen: http://www.useit.com/alertbox/981129.html), but then again, see the PliftonPatternReflectory?. -- DanBarlow [Wiki pages can be deleted now.]

Nielsen writes "Any URL that has ever been exposed to the outside world must continue to bring up something reasonable when people go to it." That doesn't mean that pages shouldn't be deletable, only that the URL should provide a reasonable response. Consider a custom 404 handler that lists existing pages that are "close" (e.g., small HammingDistance, number of matching non-noise words) to the absent page. -- DaveSmith


ThoughtsWeaver found that a deep history was overkill. It keeps a history of three revisions. There is an intelligent differencing engine for visualizing changes.

- This would make it easier to attack, though. Write a script that makes all your changes 3 times, and then nobody can restore to the previous version.

But why would anybody want to do this?

I just did. I tried to put a simple graphic in, and edited it three times to get it right, still showing the general idea in both proportional and non-proportional fonts. Personally, I make a lot of mistakes, and can see editing a page more than 3 times easily.

This wiki, like many of the clones, conflates all sequential revisions coming from the one user into just one revision, making it appear that all the editing was done in one fell swoop.

It tries to. Sometimes it fails. Usually, WikiWiki sees me as an IP but sometimes as a DNS name, and considers them to be separate users. I've clobbered a previous version of a page at least once. It came as a big, and unwelcome, surprise. Also, conflating changes by the same user has its own associated problems. For example, when the two changes are separated by days or weeks.

I can think of one definite instance in which it would be good to not conflate changes: A long, slow refactoring. If you believe (as I do) that the best way to refactor a big page is to do a lot of incremental changes over weeks or months, then you'd also like others to have the ability to easily check on the last round you did. If you did four refactors in two months, though, and nobody interrupted you with edits of their own, it will be hard for others to see the last refactor you've done, and they're less likely to check at all.


To TerrelShumway, it seems that ZopeApplicationServer (http://www.zope.org) could be very easily used for implementation. It keeps track of unlimited versions, uses transactions to handle write-write conflicts, and has a namespace system that is both flat and hierarchical. cf ZopeDoesWiki


The NomicGame in the Web, where everyone can try to change the rules, has WikiEssence. It's for Zensibilized people. -- FridemarPache


I'm a new user so probably shouldn't comment, but from my (rather clumsy, inexperienced) perspective the WikiEssence is personified in this quote by a WikiMember:
"Unless, of course, there are better solutions. Anyone have one?" -- MichaelHill
-- JohnRepici


I think the WikiEssence is that Web consumers become producers. This converts the Web from an advertisement space to a public space. -- HelmutLeitner

In that role as a public space - its use by reasonable, thoughtful people contribute to KnowledgeProliferation.

See AlvinToffler?: consumer/producer = presumer


Is it not also true that wiki sites are open to abuse by a few individuals who would take great pleasure in destroying a site.

I believe that the site's low-key HTML, and its very focused/constrained audience, is part of the reason that it is not defaced more often. It just isn't as sexy to deface a wiki as it is to deface, say, CNN. -- ArlieDavis

But as is stated in WhyWikiWorks, this type of place seems to be attractive just for some special kind of people, and that group tends to amend the wrong-doings of the possible abusers. -- GuillermoAlcantara


We are experimenting with a WhatYouSeeIsWhatYouGet text editor as the interface for the wikis called SeedWiki, http://www.SeedWiki.com. It seems to work, and it means that the only wiki convention the user needs to understand to start working is how to make a Wiki Word, as the editor handles all the formatting issues. -- KennethTyler?


It seems to me the syntax of WikiNames is an accident of the easy-linking nature mentioned in ElementsOfWikiEssence, though longtime wiki-ers seem to have an attachment to CamelCase. Why not use something common like backticks? I've just installed VQWiki [do you mean VeryQuickWiki?] and it seems like a good feature - at least I don't have to explain to my office folk that acronyms are unsupported. -- JasonTaylor

To me, one of the goodnesses of Wiki is that sometimes, when one creates a WikiWord, one finds that another person has already created a page about that very word. Such serendipity is a good thing. In doing away with CamelCase, do you replace it with some other naming convention (albeit less restrictive) or do you simply accept that such things won't happen as often? -- ErikDeBill

Some wikis also make WikiWords out of escaped non-CamelCase words like `IBM` and {{CLanguage}}. I suspect that doesn't hurt serendipity.

I always tweak my WikiEngine to be a little looser in WikiName support, so that consecutive caps (acroynms; word "A" within WikiWord) are OK. (WikiWord: only letters and numbers; initial cap; at least 1 other cap) --BillSeitz

I wonder if there's any way we could *improve* serendipity?


See WabiSabi, WikiDesignPrinciples, ElementsOfWikiEssence

EditText of this page (last edited March 19, 2013) or FindPage with title or text search