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 java.net 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.

Heading Out

(via my java.net blog)

JavaOne is still going on for a few more hours, so a show wrap-up may be premature. But I have to leave early, so it’s time to summarize my experience, at least.

This was my sixth JavaOne. I wasn’t quite sure what to expect this year; I was afraid the conference would be a lot smaller, and that the energy might be low. I’m glad to say it was great. I heard from two sources that the conference was slightly larger than last year, at just over 15,000 attendees.

Other impressions:

  • There was less swag on the show floor, but the floor was still crowded and interesting. A friend who was an exhibitor said it was fantasticconference attendees were interested in learning about their product, and excited about finding tools and systems that could help them.
  • It’s nice to hear about a focus on the desktop, and fun to read Amy Fowler’s and Hans Muller’s blogs on the topic. My talk on Wednesday was related to Java on the desktop, and I had great turnout and a lot of interest. But the messages are mixedbooths on the show floor were labeled with icons indicating whether they had a focus on mobility, or the enterprise, etc. … but there was no icon representing the desktop.
  • Josh Bloch continues to be one of my role models as a speaker. I was only able to catch one of his talks this year, but it was fantastic.
  • Sun, O’Reilly, and Collabnet have done a great job with the java.net site, and it’s exciting to see all the activity. Sun still has a long way to go in opening up Java and the process, but this is a great start.
  • Duncan is right that the real action happens outside the lecture halls. Conversations in the halls, at the show booths, meals, and evening parties are the heart and soul of JavaOne.
  • This conference needs wireless!
  • It may just be the crowd I run with, but so far as I can tell Sun continues to misjudge the kind of content that their attendees want to hear. I heard more than one person say that they wish the talksincluding the keynoteswere more technical, more geared toward developers. The talks that were packed to overflowing were on very technical topics. Unfortunately, Sun doesn’t collect feedback on speakers at JavaOne, and I’ve heard from more than one source that they don’t feed attendance data back into the following year’s selection process. That, combined with the fact that they don’t pay speakers, keeps the technical quality lower (overall) than it could be.
  • Speaking of the JavaOne speaking experience: this year all of the speakers got shirts that we were supposed to wear during our talks. Unfortunately they were hideous, and the only speakers I saw wearing them were Sun employees. I’m not here as a marketing shill, but I did want to take the opportunity to get exposure for my company (after all, that’s just about the only compensation involved) so I just wore my company logo shirt. What were they thinking?

There’s a mix of good and bad there, but I’ve had a great time. Now I have to go hop on my flight to Milwaukee to speak at the Milwaukee Java Software Symposium!

subscribe via RSS or JSON Feed