This post is part of the Who's @ Google I/O, a series of blog posts that give a
closer look at developers who'll be speaking or demoing at Google I/O. Today's post is a guest post written
by Dion Almaer of Mozilla's Bespin project
It feels good to
be posting on the Google Code blog again. Since moving down the road from Google to Mozilla I
have been busy working with my partner in crime, Ben Galbraith, in a new Developer Tools
Lab.
The first product of our new team's endeavors was an experiment
code named the Bespin project. Ben and I
have been talking about the great things that you can do on the Web platform for quite some
years. We feel like there is a big sea change happening right now as the various browsers kick
into a new gear with fantastic features. The core runtimes on the Web (the browsers) are
getting serious horse power. With technologies such as Web Workers, Canvas, advanced caching
(application cache), local storage, native video / audio, and screaming fast JavaScript VMs,
we feel that a new world of possibilities is going to hit the Web.
It
wasn't too long ago that we saw this before, when Ajax hit the Internet and we went from
simple applications to richer ones such as Google Maps and Gmail.
We
wanted to test out this theory, so we set about creating a new age application that uses the
great new technologies stated earlier. Since we are a developer tools lab, would it not make
sense for this experiment to be a developer tool? And, what is the grand daddy of all
developer tools? The coding environment that developers use to build applications. How "meta"
:)
Being Mozilla, we released a very early version of Bespin that is
100% open source, so the community could form. It has been a fantastic ride even in the short
opening months. The editor is fully Web based, and "by the Web, on the Web." Being a former
Emacs Lisp hacker, I have known how powerful it is to have an environment that you can change
for your own work flow, using a language that you know and love. Why shouldn't today's world
of Web developers be able to have a great tool that they can change using Web technology? Yet
another reason for Bespin.
We have just released version 0.2 of Bespin,
and it has features such as version control built in, rich syntax highlighting, real-time code
analysis, a command line that that you can create your own commands for, and a fancy
dashboard. We are proud of where we are in short order, but there is much to be done. In the
lab we have collaboration support in place and will be deploying soon. We are incredibly
excited about some exciting use cases. Wouldn't it be interesting if:
You
could "follow" a developer and see how he codes? I would love to follow Brendan Eich, the
creator of JavaScript, as he hacks on TraceMonkey!
You could do a live
code review with someone, and both edit the code in place, a la SubEthaEdit or Google
Docs?
Have a chat session that associates itself with the code files, so
you can go back and see the conversations around a bit of code?
You were
told that someone else is editing in the same file so you can quickly commit the code so they
have to do the merge :P
You could search and subscribe to others commands,
which will then be automatically updated for you
This is the first of many tools that will come out of our lab. It is
important to note that these tools are for the Open Web as a whole. Just because we are at
Mozilla doesn't mean that we only care about Firefox, far from it. Bespin itself runs on
multiple bleeding edge browsers!
I am very excited to have been asked
back to Google
I/O (May 27-28) to speak not only about Bespin, but about the Open Web platform
itself. I can't wait to share more of our community's work pushing the Open Web forward, and
would love feedback on our projects and what you really need from us as developers. Hope to
see you in May!