Back in the DOS days I wrote my own editor as a stand-alone tool and to embed within my software. It was better than what was out there until Boxer and later UltraEdit came along, and when Windows 3.1 came out it was time to wind down the project. But I’ve always felt the pull to make a really great editor.

Many years ago I saw an opportunity to create one. Using dhtml, where javascript was used to intercept and interpret the keystrokes, the page code itself was changed and the rendering engine displayed the changes. It was slow, difficult to write, and worked differently in Mozilla vs. the various flavors of IE (6.0 was the latest at the time). Then the edit mode iframes came into fashion, which were relatively easy to create and make cross-browser,  and the window of opportunity was closed.

The world has changed again due to HTML5 and the canvas creating a new opportunity. Enter Bespin.

It is not yet mature, but this appears to be everything I wanted. It is based on HTML5 in a canvas, so there is low level code to be written, but the arcane differences between browsers goes away, leaving the main logic nice and clean. It looks like they are also writing it in a modular way and an embedable way. When it is done it looks like it will be a full featured cloud editor.

The problem with the edit mode iframe solution is that it isn’t a full featured editor. In addition to basic markup you can do a lot in an iframe (such as syntax highlighting) but nobody does because its too much of a pain to code to each browser. There is also lots that you simply can’t do in an editable iframe (controlling wrapping, line numbers, etc) making iframes useful for writing this post but useless for writing the underlying code.

So where’s the evil business plan? Add a layer on top of Bespin (but distinct code). Add integration with cloud-based CVS systems, scripts to promote to test servers, ability to kick off services on your server to (for example to compile your code or move code from one server to another), and add a few slick communications tools to make group development smooth. Running with secure connections (SSL, SSH and SFTP) you’ve got a distributed workforce without corporate servers or the need for a VPN, or even a local IDE. This is going to be a great solution for startups. With these additions, if done right, you’ve got a business model with real value.

This only works if you are first to market. Since Bespin is open source, anyone can do this. If you build the rest of it now and are ready to go once Bespin hits 1.0 then the timing can work. This soup-to-nuts solution can be sold as a service to individual companies, but more importantly it can be sold to web hosting companies. They add their own branding and they’ve got an upsell for their clients.

The evil part here is leveraging an open source project. Sure there will be some code contributed, but the heavy lifting of writing the editor will have been done by others. On the other hand, if you look at the successful open source projects out there, many receive their groundswell of support through this kink of commercial activity. Don’t expect this enterprise to last too long as the development community will build an open source alternative they will probably be much better, but there is a short term opportunity here.