Jaxi is a wiki, using [MediaWiki] syntax with an AJAX design. The primary goal is to make a wiki that "doesn't suck." What does that mean? Well, why are "normal" wikis bad?
- They are slow. Each time you go to a new page, the HTML for the entire page is generated on the server and sent to the browser.
- Editing is frustrating. You edit some text in a text box, and then click on a preview button to see if it worked.
- Most wikis have bad bottlenecks for very popular pages (eg. RecentChanges) that are computationally hard on the server.
- Most wikis have relatively poor search interfaces and algorithms.
How can we fix these problems? It's not too hard, if we stop thinking of the browser as a dumb terminal:
- Send only an intermediate representation of the wiki markup language to the client, and have HTML generation done in the browser.
- In addition to making all page transitions faster and less jarring, this will allow live previews of most content as you edit.
- When a page is viewed, pre-fetch pages linked from it in order of popularity to hide latency.
- Instead of generating popular pages each time they are requested, cache them on the client and poll for updates.
- Add Google suggest-style search autocomplete and make search results more interactive, eg. with inline previews.
Code
Code for Jaxi wiki is in the prototype stage. As soon as something more feature-complete is ready, snapshots will be posted here.