Coding in the cloud

Mozilla's push toward "coding in the cloud" looks very attractive, but what does it actually mean?

You might have guessed how much I love social coding and development by now (ha ha), so today I want to take a closer look at Bespin, Mozilla Labs' open Web-based framework for code collaboration.

The tech preview release went public Friday, Feb. 13, with quite a splash. "Coding in the cloud" sounds very attractive, but what does that actually mean? The blogs I've seen so far are just a cut and paste of the feature list and an embedded video. I'm going to include the video to set the table, but I want to focus on two questions: What are the advantages of Bespin, and what are the disadvantages of this first release?


The advantages are instantly clear. The editor isn't intimidating, and it eliminates a lot of the distractions that plague other IDEs so you can focus on the code. It includes an integrated command line, which probably won't get me to stop using vi, but it will give fans of Emacs something else to loath. Bespin appears to be very extensible, and I certainly like the flexibility and all that, but the two things I like most about the tech preview are that it's "accessible anywhere" and it's "wicked fast." It really performed for me in my initial test.

Screenshots of Bespin 0.1 running in modern, standards-compliant browsers

So what about the disadvantages? I don't want to beat up a tech preview too much, but I'll share my initial thoughts. For starters, I think Mozilla should've taken into account how many developers have burned vi-style neural pathways into their brains for the past couple of decades. Having some sort of vi or Emacs emulation wouldn't have killed them. Also, the current release only supports syntax highlighting for JavaScript, HTML, and CSS (although Mozilla points out that's easily extended). While I'm not a huge fan of some Web scripting languages, I hope we see at least PHP or Python supported sooner rather than later. If I had my way it would support Perl, but then we all know where that would go. I have to agree with other bloggers and chide Mozilla for ignoring Gecko. In my opinion, Mozilla setting their sights on merging with Gecko and eventual inclusion in W3C standards could really blow this concept up. Finally, I hope Bespin's future includes some built-in coolness for APIs like Twitter and OpenCalais, and some integrated help documentation.

[ Interested in how cloud computing offerings compare? Check out InfoWorld's tour of the compute clouds from Amazon, Google, AppNexus, and GoGrid ]

I want to stress that this is still an amazing release with a shiny future. One of the more interesting things discussed in the Mozilla Labs' video isn't in the current release: the ability to code collaboratively. I was going to test this out over the weekend on one of my current projects, but alas. In the demo, Mozilla showed that two users editing the same file can see changes reflected in real time. If you and I are editing the same file, I can see the changes you make as you make them. I want more detail on this feature from the folks in the lab. What happens if you want to edit one of my changes live? How can I prevent endless sessions of dueling coders?

Overall, standing ovation for Mozilla investing in something that could actually change the way we develop software. Sure, they're not the first to push social development. Projects like GitHub and Codepad are focused on creating socially collaborative development environments. But Mozilla has a considerable amount of weight to throw around, and I'll enjoy watching the long-term ripples from their entry.