overview
Leading results in easier, immediate writing, saving, and collaboration in any context.
While most web applications are designed to be read from one interface and edited from another, leading integrates both interfaces.
Why should wysiwyg editors exist separately from their published location? For example, a blog posting requires visiting an interface for creating an entry, previewing that entry, submitting it and finally viewing it on a separate page. Leading allows all those actions to take place within the context of the only page which ultimately matters; the one which is viewed.
And while leading may seem like a trivial interface, it is more than that. There is no reason why standard text editing interfaces shouldn't harness the power of basic version control. Wikis already do this, but why shouldn't everything? And why shouldn't it be easier to use?
Leading provides transparent version control on arbitrary elements on any webpage. The greatest fault of version control is not using it often enough. Leading converts every save into a successive revision and goes as far as removing the save feature from the application. Every break in typing, perhaps after a few seconds or so of inactivity, indicates the termination of any train of thought. Leading converts these bursts of typing into revisions that are always saved, even if not published.
That is, leading makes writing natural and converts your webpages into digital chalkboards (with transparent revision controlled state) which is basically what webpages should be anyway.
technicalities
Leading exists concurrently with a backend that is able to receive (via http) incremental updates to a webpage. Although it is tempting to use xmlhttprequest calls, we can probably use other methods to both push and pull data from an external server.
If your website's design is heavily dictated by css, then this is for you. Because leading calls upon the dom method window.getComputedStyle
, we can create an editing environment that looks exactly like the original html element it replaced, irrespective of whatever style was applied to the original element.
interface
Leading uses pure html combined with javascript and back-end web services to enable live editing of blogs. When implemented, Leading makes discrete blocks of text editable by the browser without requiring a separate editing interface.
Try it now (sort of). This webpage is a proof of concept for the interface only. The idea here is that every element is clickable. Click any block of text and begin editing its html. Once you click out of that element, the element is converted back to whatever it used to be, effectively locking in your edits locally.
Who wants to create new paragraphs or extra list elements? Push return while editing a block of text and create a new element right below the one you were editing and a new paragraph will appear.