Extension:InlineEditor/Proposal



Sentence-level editing, or SLE for short, is a proposal for a new, usable editor for Mediawiki. It's aimed at providing an editor that offers just basic functionality: editing sentences. This can be extended to enable editing other kinds of elements though. At the moment this is just the research project of User:JanPaul123.

You can have a look at the different Prototypes. Different implementations are available on SVN. Usability research videos can be found on Wikimedia Commons. The latest version, which is a huge improvement over the versions found in the usability testing, can be found live here.

Proposal
Right now, the efforts of improving the usability of editing in MediaWiki are focused on improving the built-in editor. Making it less scary by adding a helpful toolbar, syntax highlighting, and so on. A really great step forward would be in-place editing, or more of a what-you-see-is-what-you-get approach. This would help for these first-time edits, but advanced users would want to stick to the usual editor.

Editing using a what-you-see-is-what-you-get editor, is really, really hard. There are a few editors out there, but because of the way wikitext is parsed, it can be quite hard to predict how the page will look. For example, you can use templates, parser functions and plain HTML in the wikitext.

The approach that I’m proposing, is not yet another wikitext-editor. Instead, I’m proposing a pre-processor which is run before rendering the actual page. The pre-processor will identify easily editable sentences in the wikitext. Easily editable means sentences which do not contain templates, parser functions, or other unpredictable entities. It should be fairly easy to match these sentences by excluding all characters that trigger such functions in the parser.

Then, these sentences will be made clickable and editable, which is possible because the parser actually allows a subset of HTML in the wikitext. This means that the pre-processor can add some HTML which identifies these sentences, and store the original wikitext for each identifier. The parser will then parse the sentences itself, but because the begin and end of each sentence is marked, we can make them clickable and editable.

This way, it is possible to highlight sentences that are editable on the actual page, not some dumbed-down version generated by an editor. This would severely improve the experience for novice users, who just want to fix a small error. This is the aim of this editor: lowering the barrier for the first few edits.

Research scope
Because the editor allows just the editing of existing sentences, it is not suitable for advanced use. It is not possible to add new sections, change the layout of the page, add or edit images or templates. For these more complex tasks, the regular editor has to be used.

The primary goal of the research is to develop a new usable editor for Mediawiki which implements editing at sentence-level. This will be done in collaboration with the open source community of Mediawiki. Several interfaces are proposed, and based on opinions within the community, the best one is selected.

The goal of the new editor interface is to be very friendly to novice users. It should be inviting to fix a small error, or to contribute to an article by writing a few words. This way novice users will be encouraged to participate, which will probably increase the number of editors of Wikipedia.

The software will be developed in as a open source plugin to the Mediawiki software. Because of the open source nature, documentation and code quality have to be of high standard. Note, however, that this project is not directly aimed at getting the plugin approved for use on Wikipedia. It is merely aimed at testing the concept of sentence-level editing a wiki. In followup research or work, the plugin can be made suitable for use in a production environment.

Note that the goal of this project is in line with one of the five main goals the Wikimedia Foundation has set for the next years: Attracting and retaining participants.