April 12, 2007
The inimino.org WIP text editor is a work-in-progress text editor. The source code will be released as free software. The immediate goal is to develop a Web-based programmer's text editor suitable for editing Web pages, program code, and other plain text documents. The project is also a test bed for approaches to browser-based user interfaces and associated server components. It supports collaboration, with multiple users simultaneously editing the same text. As a Web-based editor, text files are not stored on the user's local hard drive but on the server. The server does not store the text itself, but rather records an action sequence from which the text is recreated. A new editor is created through a Web interface, and has a URL. Many of the keyboard commands are inspired by vi, and the editor is modal, like vi. Editing is line-oriented, and the action sequence and collaboration features are generally line-granular.
The current version, 0.1, is an early alpha release and has extremely limited functionality. It should be regarded as a development project only and not as a practically usable text editor. A few of many known limitations:
This editor demonstrates the approach of storing a record of all user actions rather than merely storing the result of those actions. Editing actions on text include deleting a line, adding a line, changing the text of a line, and operations on sets of lines. This approach is not limited to text documents; for example, an editor which stored the entire history of editing on a raster image would be much more useful than one which does not. It is not necessary to 'save' the document, since the complete history is saved. This feature also enables collaboration, as changes can be easily propagated among multiple users.
Version 0.1 consists of a single collection, which links to individual editors. Editors can be created, but not deleted, named, or otherwise managed (except by the server admin) in this version.
The goal for the next version is to support the basic daily text editing needs of the author, and rudimentary collaborative editing. Planned 0.2 features include: