If you haven’t heard of Mozilla Labs’ Bespin, the website is here.
Bespin is a web-based code editor, and seems to be generating some attention.
The question I have is: what does a web-based code editor give us? Why put a code editor in the cloud?
Most of the articles I’ve seen use a phrase like this: “…combine the speed and power of desktop-based development with the collaborative benefits of cloud computing.” A little short on details.
The articles then proceed to list all the ways Bespin will be just like a desktop editor.
Of course, a perfect emulation of a desktop editor doesn’t give us anything we don’t already have, since we already have desktop editors. So, again, what do we actually gain by having that editor in the cloud?
The Mozilla Labs blog post introducing Bespin is here, and contains a bulleted list of things Bespin will do. By my count, all but two of the bullet points are things that desktop editors and IDEs already do and Bespin needs to replicate.
Here’s what I think about the remaining two bullets:
- Real Time Collaboration.
I suppose there are developers out there who do real time remote pair programming or similar (although I am not one of them). I would guess there is already software for this kind of thing, but I see that Bespin could potentially make it easier.
So, I’m willing to chalk up this advantage: easier real time code sharing.
How often do you want to share a code session in real time, though? For “normal” online collaboration, I suspect a DVCS is what you really want.
But maybe I just don’t understand the real time collaboration use case. What specifically would one do with this? - Accessible from Anywhere.
This one is compelling — set up your coding environment once, and be able to use it anywhere.
But think of the things you do on your desktop environment; scripts you write, OS settings you tweak, your VCS setup, etc. For Bespin to equal a desktop coding environment, these things will need to be reinvented on the server.
Right now you can remotely access a machine via ssh, vnc, or rdp. For me, these things fulfill my “accessible from anywhere” wants. If you’re unable to use these protocols for some reason, perhaps Bespin will be useful.
I can also see how Bespin could be convenient when embedded in other web applications. A coworker suggested embedding it into Wordpress, for example. You could edit your php or whatever online, without the (small?) inconvenience of a manual FTP push to publish.
So, it seems to me that there are a handful of cases where a web-based code editor can be convenient. I doubt Bespin will ever be as flexible or as powerful as a real desktop coding environment, though.
I suppose time will tell.
Rob Dickerson's blog (or "macro-tweeting service") on programming, math, fencing, technology, and life in general.