== JaxiWiki ==
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.