Rule of Three … Almost There!

About an hour ago, I saw Rael Dornfest’s musings on Python. As I read it, I thought to myself, “Sounds like Rael would really like Ruby,” but didn’t think any more about it.

But just now NNW updated Chad Fowler’s blog, and I see that Chad thought exactly the same thing! Rael, if one more person had the same thought, I think you’re bound to give Ruby a try.

(Of course, I’m not sure this is really that significant; after all, every language bigot always thinks, “Oh, <my favorite language> would be perfect for that!” at the least provocation. But I’ve seen Rael’s Perl code, and he really does need to give Ruby a try. And the source to RubLog might be a great place to start. :-)

Zoom zoom!

The single coolest featureat least from a purely technical standpointof the last major version of Mac OS X was Quartz Extreme. When I first installed Jaguar, graphics operations were noticeably speedier, and it was nice to know that much of the work was being done by the graphics card, not by the CPU. Then I discovered screen zooming (find it under “Universal Access” in system preferences). It’s a breathtaking effect. I often use it during demos when giving a talk, because other windows on the screen use smaller fonts than PowerPoint, so it helps the audience if I can zoom in on them. I nearly always hear some under-the-breath reaction from someone in the audience when I first zoom in.

It was immediately clear that screen zooming was achieved by exploiting Quartz Extreme. The fact that the entire desktop is now an OpenGL scene, with each window an OpenGL object, makes the effect both easy-to-implement and fast. James Davidson and I immediately began wondering when Apple would begin using that underlying tech to do other neat things with the desktop.

We didn’t have to wait long. Yesterday Apple showed some previews of Panther, and there are two features that exploit the power of Quartz Extreme to good effect.

The first is Exposé, which I described to a friend as “the Win2K ‘Show Desktop’ button, minus the ‘sucks.’” Try out the demo on the webpage, and you’ll see windows smoothly receding from view until all of the windows on the screen are visible, and then zooming back to normal size again.

The second is Fast User Switching. When you choose to switch to another user’s account, your entire desktop switches over to the new user’s desktop using a “rotating cube” transition (á la Keynote).

On the website, Apple introduces that effect by saying, “Because we can.” In user interfaces, at least, a little of that attitude goes a long waybut I think this is a great place for it. Dazzling effects like that would be distracting and annoying in most parts of the interface, but both of these eventsstopping to look for a new window, and switching usersare inherently disruptive events, and they’re great places for Apple to show off a bit. Architecture isn’t everything, but it does matter, and nobody knows that better than Apple (who labored under the burden of a terrible OS architecture for years). Of course, the OS X architecture isn’t perfect, but starting from a mostly clean slate is a big advantage, and now that they’ve pulled the switch off I’m sure they’re gleeful.

Be careful with the desktop experience, Applebut keep having fun. It’s one of the things we like about you.

Collaboration Software (and a great demo)

(via my blog)

(After the flurry of blogging last week at JavaOne, I’ve had to concentrate on work for a while. But I have a lot of notes from the conference that I’ll continue to write about for a while.)

My introduction to collaboration software was a talk by Pavel Curtis at a USENIX conference in January 1995. He talked about his research project, Jupiter, at Xerox PARC. That talk spoiled me … none of the available collaboration software has measured up to the vision of Jupiter that Curtis presented that day.

Curtis and most of the Jupiter team spun off a startup, PlaceWare. They reimplemented the core architecture of Jupiter in Java, and began selling a successful product, PlaceWare Conference Center. (Although it’s a nice product, I’ve always been a bit disappointed that they didn’t offer a product aimed at the same space as Jupiter – passive, continuous team collaboration and awareness.) I was interested to learn during Jonathan Schwartz’s general session on Tuesday morning that PlaceWare has been acquired by Microsoft. It’ll be interesting to see how Microsoft deals over time with this large system built in Java – and also whether Microsoft’s stability and clout will allow PlaceWare to resurrect that original vision.

In the meantime, though, there are others in that space. After the Wednesday general session (notable primarily for demos gone wild) I went to a session on the wonderful support for Java in Mac OS X. It was a great talk, with a really compelling and completely successful demo … a demo of collaboration software that gave me an unmistakable sense of deja vu. Marratech is team collaboration software along the lines of the old Jupiter project.

The speaker, Alan Samuel, opened an online video conference with Serge Lachapelle and two other developers from Marratech. The Marratech group was in Sweden, and the conference was conducted over the public Internet. Four audio and video streams (although presumably the audio streams were dropped when there was relative silence) plus shared documents, with the other Marratech developers annotating the slides while Serge talked. Marratech is a Java product, and while it wasn’t developed initially on OS X, the port was very easy and it’s now their flagship platform. Best of all, the demo went off without a hitch.

I was particularly pleased with the quality of the audio. I was sitting right in front of one of the rear speakers in the lecture hall. Serge’s audio feed, encoded in real time, shipped across the Internet, decoded on Alan’s PowerBook, sounded just as good as Alan’s voice, going directly into the Moscone microphone and sound system.

I think everyone present was impressed – and the best part was that the Marratech guys in Sweden got to hear our applause.

Dear Michael,

I absolutely love your open  letters  to  programs. Today I showed a couple of them to Mike Clark during a panel discussion, and he had a hard time maintaining his composure, he was laughing so hard.

I wish I’d thought of that. Keep it up!



You’ve probably noticed that I like iChat. One of my favorite things about it is that it displays any non-default status message right in the buddy list, and many people use those messages to indicate their current whereabouts, etc.

James uses them for self-expression.

subscribe via RSS or JSON Feed