Introducing Mozilla Bespin, a Canvas-based IDE
labs.mozilla.com
labs.mozilla.com
My current editor of choice is vi(m) because it is available everywhere, doesn't clutter the interface with things I never use, supports (at least syntax highlighting for) every language I care about, and has powerful keyboard shortcuts. If I weren't so anti-chording, emacs would be just as good.
New editors these days tend to focus mainly on one language, like Eclipse with Java, so the interface gets bloated with things that are only useful for that language. I've tried PyDev in Eclipse and it just feels foreign. Sure, I could customize Eclipse if I felt like it, but I'd have to learn plenty of SWT and the Eclipse codebase itself to do so. I already know HTML, CSS and JavaScript, so customizing Bespin should be far more trivial.
If I were running Bespin on a machine I control, it could theoretically access any machine I can ssh into (though the security implications of this merit further thought). If enough people use it, it will have decent support for every language I care about and powerful keyboard shortcuts (hopefully borrowed from vi wholesale). Since it's built with HTML, CSS and JavaScript, I can easily customize it to work how I want it to, adding in the language support and keyboard shortcuts myself if need be.
I'll probably be hacking on this when I wake up.
I tried to create browser-based high-performance text manipulation application myself, but I never imagined to use Canvas.
For performance I used "contentEditable" DOM attribute [1] to piggyback on browser's native code. According to my unscientific subjective tests it's faster than Bespin's approach - a bit faster on FF3.1B2, a lot faster on FF3. Plus it works also on Explorer and Chrome (a kind of, it's buggy and freezes on large files).
Anyway, finally I had to switch to desktop application as the other parts of JavaScript/DOM/browser were not fast enough and also working with local files from JavaScript was very painful.
Still, after creating basically the same application twice, once in a browser and once as a desktop app, I can vouch for the bright future of fully browser based applications, once the performance would get there.
Going back from HTML+CSS+JavaScript to fiddling with widgets felt like going back from Python to C++ (and mind you, I fiddled with widgets in Python). You get the speed, but you pay the price elsewhere (my code more than doubled and user interface got a lot uglier).
Good luck to Mozilla/Opera/WebKit/Chrome folks, browsers as a platform are becoming awesome.
[1] http://www.whatwg.org/specs/web-apps/2007-10-26/multipage/se...
Emacs thrashes. Vim thrashes. Eclipse? I laugh. However, the text-mode editor "joe" loads the file quickly and doesn't thrash.
http://www.scintilla.org/SciTE.html
Bonus: you can use it in your own wxPython application. Some brave soul wrapped it and made available as wxStyledTextCtrl widget.
http://www.yellowbrain.com/stc/index.html
BTW that's what I finished using for my app I mentioned in my other comment in this thread.
I personally have problems with this entire everything in the cloud. I like having things under my own control. I like having my own editor be local. I do use ssh so I can edit from other's computers. I also sync my various computers so that I can edit from any of them. I guess part of it is a nostalgic feeling. I just believe somethings are better left local.
My other issue which is just an extension of the first is how they talk about writing a sort function. Yes its cool you can write a sort function but they are reinventing the wheel as he admits. 'Normally I would just use a unix command.' (paraphrase). No longer will all of your computing actions tie together. Learning to do something in Bespin doesn't carry over to other actions on the web. Particularly if its with another company. In unix learning to use vim allows you to not only write code but edit email. Learning wc lets you use it with code, with email, with anything you write.
We will sell plans that offer version control hosting, testing environments, and easy web hosting tied into the IDE.
Similar to what github is doing, now that I think of it, but with more integration into the online IDE.
However as the tool progresses and they add features, the web enables further work and functionality, such as a snippet library or other fun tools, this could be a major tool for developers and open source.
Register and go to the dashboard.
what i would really like to see is direct embedding of your choice of local editor directly into the textarea. there's no way to satisfy everyone with one editor.
but still, bespin is very cool and an improvement over plain old textareas
Back in the day I was hoping that OpenDoc would provide this, but it was not to be. I wouldn't be surprised if we see some vi and emacs clones evolve out of Bespin and then some Greasemonkey scripting could use them to replace textareas.
It could probably be bookmarkletized (or UserScriptified) fairly easily.