pmuellr is Patrick Mueller

other pmuellr thangs: home page, twitter, flickr, github

Thursday, February 19, 2009

on bespin

Could you have possibly missed the news on Bespin, a project from Mozilla Labs? Don't see how. But read up if you haven't.

Bunch of rambling thoughts here:

  • Also check out Sun's Lively Kernel. In particular, make sure you click on the "Development Tools" link (blue globe/basketball thing) after you "Enter the Lively Kernel" to see their take on Smalltalk-like browsers for JS.

  • Bespin works it's magic with HTML Canvas, Lively Kernel uses SVG. Interesting, because these are two completely different low-level programming models, though perhaps we'll end up seeing widget toolkits built with both.

  • Implementing text editors with HTML Canvas and SVG leads you into the Uncanny Valley, as such low-level things as clipboard operations, cursor movement, etc all have to be implemented with user-land code. Doesn't sound like a great proposition, it's at least a crap-load of work to get all the expected text editing behaviors implemented.

  • But you know what, I think Uncanny Valley may not really apply to text editors. I use a large number of text editors in my day-to-day computer usage, and almost none of them are using any kind of a common "text editor component". Eclipse, TextMate, Notes, vi, etc. You just have to get used to them. There are certainly programs I use that DO use a "system-level" common text editor - in my case, the one Mac OS X provides. Forms within Safari, Twitterific, other apps presenting text areas, etc, all use the baked in text editor control, which is nice, because I get the same kind of spell checking, cursor movement, etc. I think extending the usage out to "code" editing (eg, syntax highlighting) just isn't going to work though. Or let's say it hasn't happened yet.

  • Although most of the focus on Bespin is on the browser bits, the impacts/opportunities for server bits isn't lost on some people. In fact, this may well be a more interesting piece; if you imagine an interesting set of back-end "IDE services" being defined for Bespin, why couldn't desktop editors also take advantage of them?

May you live in exciting times.


patrickdlogan said...

Have you seen the dev tools in Seaside? They could be enhanced with more javascript and ajax. But even as they are, they impress web developers from other non-smalltalk places.

Patrick Mueller said...

Yeah, why do I never consider Seaside, especially given my background? Weird.

On the other hand, Seaside is a server-side framework, and I more or less consider the server-side of the web experience, from a development angle, to be a solved problem. At least in comparison to what we have to deal with on the client. And at this point I've given on "some other platform" saving us from HTML browsers, so ... JavaScript, HTML, CSS, SVG, HTML Canvas, perhaps Flash, perhaps Silverlight are going to be the basis of the answer.

Anonymous said...

There is a very simple way in which you could miss Bespin: it requires registration before you get to play with the demo. Why‽ Of course no OpenID or anything like that, either… I simply cannot be bothered with yet another account.

Patrick Mueller said...

Who can blame you? In fact, I delayed registering for the site for a few days, until someone at work started asking me about Bespin, and I couldn't really ignore it.

I will note that you can get the source, and try that out. You will still need to register, locally, but I assume that's acceptable.

As to the why ... I suspect it's because the Bespin folk are also showing off some collaboration tools w/Bespin. They have many different things going on here: source code editing in a browser, collaboration tools, funky new edit controls (a new type of scrollbar). Seems like a bit of overreaching, perhaps. I think most people are probably just interested in the source code editing bits.

Anonymous said...

There’s an easier way! I don’t know why I didn’t think of it before…

… BugMeNot!

So yeah, I have now seen the demo.

Very impressive, although currently it’s missing too many basics too be even tentatively useful. (The most important one is word-wise motion – Ctrl-Left/Right does nothing.)

It reminds me of a certain Yegge article…