When we started planning the Orion project we knew we would need a good code editor for the project to be successful. Our first step was to investigate the open source options already available on the web, but none of them satisfied all of our requirements. The most common problem found was performance degradation when editing large files. The next natural step was to design and implement an editor for the web ourselves. We have worked on the Eclipse editor for many years and we felt we had the expertise necessary to build a new editor.
Our work on Eclipse and SWT has taught us how to develop common API for different platforms. We implemented StyledText and its underpinnings on all major desktop platforms including win32, gtk, motif, carbon, cocoa, and others. Working on the web presents a similar challenge: overcome the differences between the browsers. In a sense, each individual browser can be seen as a platform. Even though most of them try to follow W3C standards, there are still plenty of differences: bugs, behaviour, and sometimes API.
The challenge for us was learning these new "platforms", along with all their bugs and differences. We will be sharing our experience in future posts, some of the problems we solved and some that are still open.
Our vision is to build an editor for the web that is as powerful as the one we have built for the desktop. We want to have a similar set of features with emphasis on performance and scalability. Our requirements also include input method support and, in the future, BiDi. We strongly believe that the editor has to make the developer's life easier by performing well and by offering all of the expected features.
On our next post we will talk about the design we used to build the Orion's editor.