Mozilla Bespin: Code Editor in the Cloud

When I heard that two guys, who a few of us at Adobe have known for a while, were taking jobs with Mozilla, I knew that it would not be long until we saw some interesting things happen. I didn’t expect it this quickly though.

bespinlogo.png

Last night, Dion Almaer and Ben Galbraith launched a new project on Mozilla Labs called Bespin. Bespin is described as “an open extensible web-based framework for code editing that aims to increase developer productivity, enable compelling user experiences, and promote the use of open standards.” I like to think of it as code editing in the cloud.

The basis of it is a canvas based (which means you need Firefox 3 or the latest Safari nightly) code editing environment that hosts all of your files in the cloud. Think Buzzword, but for developers.

Now, there have been other companies that have tried this. Bungee Connect comes to mind, although their platform was tied to their cloud computing platform. And to be quite honest, I have always been skeptical of browser based developer tools for some reason. Let me share a few of my pros and cons as I see them. Keep in mind that Bespin is still a prototype, Ben and Dion definitely have some tricks up their sleeves we haven’t seen yet, and I have no doubt they will be addressing the cons I mention below.

Cons of Browser-based IDEs

First, no integration with the desktop for things like file storage, shell integration, etc. While some of this can be overcome, and file storage could be in the cloud like Bespin is doing. It may be a security risk to put code that is sensitive on a service like this.

Second, performance. Now, in the case of Bespin, this doesn’t appear to be an issue at all right now. I am definitely impressed with the performance, although obviously time will tell how much more they can eek out of the browser while adding more features.

Third, what about bytecode compilation? For example, ActionScript, Java, C#, etc. require a compiler to generate the necessary bytecode before it is interpreted. I guess this would mean a round trip to the server, but that might not work in the offline use case.

And last, offline support. I get a lot of coding done on airplanes. And to be completely honest, while this may be an edge case, it is something that has always been a requirement for me. Now, a feature like this isn’t impossible, it is just that nobody has implemented support for it.

Pros of Browser-based IDEs:

So, now that I have shared some of what I considered cons, what about the pros? First, there is no file storage! Ok, I cheated a little on that one since it is both a pro and con. But this is part of the promise of ‘the cloud’ right? No more worrying about where I put those files, or if I have backed them up. They exist in the wonderful ether of ‘the cloud!’

And this kind of leads to my second point, they could just integrate with your repository. No more worrying about whether or not you checked in that last file. You have easier workflow from testing to production, etc.

Third, there could be a rich ecosystem of developers building and sharing extensions for the platform. You want a feature, you just enable it from some kind of directory or marketplace and voila! You instantly upgraded your IDE.

And last, for me as an evangelist this is important, it provides a much easier on ramp for developers who want to learn programming. No longer will they be required to download and configure complicated IDEs. They can focus on the programming, not the environment which is supposed to make that easier for them.

What next?

Well, there is no doubt that Ben and Dion have plenty of ideas in their heads about where this is going. It will be interesting to keep an eye on the project and see if it will actually become something I can use on a daily basis. I guess that begs the question though, when will it support ActionScript?

Update: WordPress Comment Moderator

This is just a quick post to update you on the progress of the WordPress comment moderation application that I am building. It is coming along very nicely, and I should have a beta early next week. Unfortunately I spent a full day trying to get my WordPress installation back up and running after a botched upgrade to 2.6. Just two notes about that, make sure and disable plugins and clear your cookies!

Back to the application, the first version is going to be pretty simple and will only moderate comments for a single blog. I have heard many requests for multiple blog support, that looks like it will be the first feature added after an initial release. The first release will only support WordPress 2.6+, as that is the only version I am testing it against. Last but not least, I have received a few questions about this being open sourced. I am sure I will open source it eventually, but it isn’t the highest priority right now. Once I get an initial stable version out, I should be able to get the code to a place where that is possible.

Anyways, keep an eye out on this blog early next week for the beta. (As for this weekend, I am going to be gutting out a rental house after some of my tenants trashed it, oh joy!)

AOL Embraces Flash with AIM Express

This morning the folks over at AOL, and more specifically the AIM team, launched version 7 of AIM Express. And guess what, it is built using Flash! It really is a great experience and a quality example of the power of ActionScript 3.

What is most interesting to me though is not the client, but the API that they have made available to ActionScript developers. You can go to Google Code and actually use the same base AIM AS3 library to build your own client or integrate AIM functionality into your application! If you know anything about my history with the AIM client and Central, you will know how excited I am about this.

When it comes to building applications that have chat, presence, or some type of collaborative functionality, you have to consider the infrastructure it might take to get up and running. With this library, all you have to do is build your client, and let the user utilize their existing AIM/ICQ account! And guess what, I am sure most of them already have one of those…

Google OpenSocial ActionScript Library

There definitely has been a bunch of buzz about Google’s OpenSocial initiative in the past few days. I have always been intrigued by social networking and was hoping that one day somebody would create a central repository for this kind of information. I get tired of adding all my friends to different social apps every time I sign up for one. It appears from the outset that Google is trying to fix that, and I believe nobody is in a better position to do just that than they are.

Today they released the documentation on their API. It looks like right now they do not have an ActionScript version of it available on the site. I intend to fix that. I have created a Google Code project at http://code.google.com/p/as3opensociallib/. I have not committed any files just yet but intend to start on this project right away so I can play with the API a bit and get to know it. If you would like to contribute to this project or just keep an eye on it to see when it is available, keep checking the Google Code project or this weblog.

Google’s Sourceforge Competitor

Today at OSCON, Google announced a new site for developers to house their open source projects. The site allows publishers to choose one of seven different open source licenses for their project and provides access to issue tracking and a subversion repository.

I think it is great to see Google do this. I have become increasingly frustrated with Sourceforge and the amount of blatent advertising on that site. Google’s site is lacking in some features, but hopefully since it is beta (big suprise) there are still features yet to be realized.

Google's Sourceforge Competitor

Today at OSCON, Google announced a new site for developers to house their open source projects. The site allows publishers to choose one of seven different open source licenses for their project and provides access to issue tracking and a subversion repository.

I think it is great to see Google do this. I have become increasingly frustrated with Sourceforge and the amount of blatent advertising on that site. Google’s site is lacking in some features, but hopefully since it is beta (big suprise) there are still features yet to be realized.