Will the real WebKit please standup Headless Eclipse, and Smalltalk browsing with Bespin, thanks to Avi Bryant
Feb 13

Launching Bespin; Feeling light as a cloud

Bespin, Mozila, Open Source, Tech with tags: , Add comments

Talk is cheap. Shipping code is important. I have always felt that to be the case, so I always look forward to the first time that I ship something. At my latest adventure I got to do that yesterday.

It was a fun ride to go from the technical challenge of “can this be done” to having the experiment out of Mozilla Labs and into the hands of the wider community. One of the reasons I am so excited to be at Mozilla is that I get to develop in the open. You can watch our source code repository and see a community on irc and join us in our news group. Running an open project well is part art, and is incredible hard to do well. I have deep respect for those in the open source community that have succeeded. I am really looking forward to that challenge with Bespin and beyond. I want to make sure that we are truly transparent (no hidden agendas and back channels). I want to raise the profile of anyone who contributes to the project so people really know who the people behind Bespin are. I want to try hard to get designs out there early in the process so decisions can be shared, but I want to make sure that a vision drives the project forward.

Foolish chaps and companies have come to me in the past thinking that open source will be a silver bullet for “getting other people to do our work.” Those that have been involved in open source know that it isn’t the case. It is often more work. But, it is worth it. I have no doubt that the community that we hope to grow will come up with amazing ideas and contributions. I am humbled by the contributions even a DAY after launch. I am stunned that people think our experiment is worthy of their time and thought.

The wind is at my back, but I know that announcing Bespin is the beginning and not the end. The birth of the project. Now we get to see if we can have the kid grow up.

Not sure what Bespin is? Here is some info from the announcement and more. Thanks again to all of the kind words from people across the Web. It means a lot:

Bespin proposes 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.

Based upon discussions with hundreds of developers, and our own experience developing for the Open Web, we’ve come up with a proposed set of features along with some high-level goals:

  • Ease of Use — the editor experience should not be intimidating and should facilitate quickly getting straight into the code
  • Real-time Collaboration — sharing live coding sessions with colleagues should be easy and collaboratively coding with one or more partners should Just Work
  • Integrated Command-Line — tools like vi and Emacs have demonstrated the power of integrating command-lines into editors; Bespin needs one, too
  • Extensible and Self-Hosted — the interface and capabilities of Bespin should be highly extensible and easily accessible to users through Ubiquity-like commands or via the plug-in API
  • Wicked Fast — the editor is just a toy unless it stays smooth and responsive editing files of very large sizes
  • Accessible from Anywhere — the code editor should work from anywhere, and from any device, using any modern standards-compliant browser


View Introduction to Bespin

Credits

There have been a lot of people that we can thank for getting us out there today. Firstly, our new team of Kevin Dangoor and Joe Walker. Secondly, the great new colleagues that we have at Mozilla. Our Labs team members have been inspiring. We are building on the shoulders of great work. We are not only working closely with the Ubiquity team (Atul Varma, Aza Raskin, Jono, and others) to make sure the command line and Ubiquity are integrated, but we use Atul’s code illuminated to house the documentation for Bespin code. The Weave team has provided guidance for a future where Bespin data can be housed in their scalable infrastructure, which excites us. Whenever we chat with a Labs team we see places for integration, and we can’t wait to get there.

We care about design, and have been fortunate enough to have input from two great designers: Sean Martell and Chris Jochitz.

Other Mozilla folk have helped a lot too. You will notice that Bespin makes heavy, heavy use of canvas. Vladimir Vukićević has given far too much of his time to let us run through ideas and profile the canvas performance. We have also already seen contributions from outside of Mozilla. A few issues have been put into Bugzilla by beta testers, and even code patches (for example, thanks to Ernest Delgado for his canvas skills).

We have only just begun. We really wanted to get this tech preview out as soon as we could to embrace the community and experiment heavily. We hope to have your name in the credits soon!

Get Involved

There are many ways to get involved with the Bespin project and the Developer Tools lab. You could start by giving us feedback on the product (via comments, in our group, on irc in channel #bespin, or in Bugzilla).

Have a feature you would love as a developer? Fancy sharing a design concept? (We like those). We would love to hear from you on all fronts, from ideas to design to code. One of the reasons that we are excited about Bespin is that it is written for the Web platform, on the Web platform. This means that your Web skills can be applied to your tool. Want a nicer syntax highlighter? With that we had support for a version control system that we don’t support? Wish that there was interesting Python support? Help us build it!

Bespin has been built with extensibility in mind. We want you to be able to tweak your tool. Bespin Commands are just one example. Would you like to embed the Bespin editor into your own project? We want to enable these kinds of use cases.

5 Responses to “Launching Bespin; Feeling light as a cloud”

  1. Darren James Says:

    Hey Dion,

    I’ve been playing around with Bespin, and I have to say I’m really excited about the possibilities. The collaborative aspects would be useful even if only for remote code-reviews and such. As far as usability, one of the things that would be high on my list would be the idea of editing without having to use the mouse (fingers never leaving the keyboard). So things like keyboard shortcuts to put the focus in the command-line area would be important. Also I would like to be able to turn off the feature where the cursor is allowed to exist out in the ether (beyond the end of a physical line). I look forward to seeing how things progress and maybe trying my hand at writing my own commands. Kudos!

    - darren

  2. Dion Almaer Says:

    Darren,

    Thanks for the thoughts. I am a vi guy and love keyboard short cuts too.

    We have some but aren’t doing a good job at letting you know :)

    Ctrl-J is the one that jumps from command line to the editor itself. I use it constantly.

    On the physical line issue, I added a new setting “strictlines” that you can turn on via “set strictlines on” in the command line (at the next push of the codebase). It gives you exactly what you wish. I prefer that way of doing it myself :)

    Also, finishing up the ability to easily add and load up your own commands and am really excited about that as I want to see what people come up with!

    Cheers,

    Dion

  3. Arturo Says:

    You know that Eclipse foundation is working on web-based IDE-technology too, do you? And OpenSource is all about sharing resources and all about collaboration and cooperation, isn*t it?

    Mozilla is again reinventing the wheel (today: the IDE-wheel) as they did with JIT/Hotspot. It’s better to support Webkit I guess… cos I don’t want to support a foundation having a NIH-syndrom larger then the Mount Everest.

  4. Sean Burke Says:

    Arturo instead of attacking people for building a good product why don’t you congradulate them instead. OS is about sharing but without many different projects reaching for the same goal we would never have some of the great projects we do today. Wether it is a CMD, IDE or evern a linux distro in it’s self people have different ideas on what a project should do, what language it is developed in and how it is run. Hell if Mozilla helped free us from IE but I don’t see you listing Firefox in your list of re-inventing the wheel. Open source is about the ability to choose, the community and the love for developing code who cares if a project has the same goals as another.

  5. Powell Says:

    Visited that site and found it useful.When needed will surely register over that site.

Leave a Reply

Spam is a pain, I am sorry to have to do this to you, but can you answer the question below?

Q: What are the first four letters in the word British?