Sharing a Week With the GUADEC Generation

I've been at the GNOME Users and Developers Conference all week. I've
been jet lagged, inspired by the open sorcerers and their tightly knit
community, and insulted by Alan Kay. It's been fun.

I'm here at Trinity College for the 4th annual GNOME users and
developers conference (GUADEC[2])
in Dublin Ireland.

Dublin Ireland time is eight hours ahead of PST back in Silicon Valley
however I've mostly overcome the jet lag. Except from 1-2 PM every
day when I feel like a narcoleptic. It's 1:30 right now and it feels
like my brain is draped with a big hot wet wool blanket.

That was as far as this blog got on Tuesday. After failing to find a
way to make both eyes focus on the screen at the same time, I stumbled
out of the computer room to find strong coffee.

The computer room was the conference's social hub. As rooms go it
wasn't terribly impressive: a big windowless room filled with folding
tables surrounded by chairs, plenty of outlets on the floor, and a
broadband ethernet cable duct taped to the table in front of each
chair. It's hard to explain how inviting your own little space at the
internet trough can look after you've been offline for a few days.
The computer room was a magnet for the folks attending the conference.
It was jammed all day with GNOME developers who were yacking and
hacking and enjoying the camaraderie. It was here that I discovered
some things about the conference and the GNOME community:

They're friendly, they like to talk, and they really like to talk
about the software. I'm shy and hopeless at making conversation
however I found myself talking to all kinds of people about what they
were building, what they planned to build, and (typically for me)
about how Java might fit in.

There's no point in finishing your GUADEC presentation before arriving
at the conference. That's something that can be taken care of in the
hours before you're scheduled to perform. Preferably in the terminal
room, where you can procrastinate further by talking to me.

Hacking on big systems that you're passionate about is fun, and both
qualities are contagious.

There's a clear hierachy among the developers. There are high
priests, there are groups of trusted lieutenants, and there is the
rabble. As a member of the rabble, I appreciated the fact that ones
relative position in the hierarchy didn't seem to have any effect on
the hobnobbing. Everyone made time to talk with everyone else.

Last week I spent the entire week atJavaOne[3]
and had a great time of it. One consistent theme that JavaOne
attendees have fed back to the conference committee is that they want
more technical content in the sessions. They want to see source code.
This week I was at the conference (GUADEC) where code was king. The
technical sessions were filled with developers hacking away at their
laptops while the speaker talked about code and in some cases actually
wrote code while everyone watched. Raptly. In one session the
speaker ran a new (JIT) compiler on a small app and everyone watched
attentively for several minutes while the instructions the compiler
generated scrolled by in blur on the screen.

These are my people.

One of the most memorable keynote presentations of the week was
given by Alan Kay, who appeared via a video link from his home in
California. The average age of the GNOME developers I met at GUADEC
was probably mid 20s and I felt very old, although not as old as Alan
Kay. Alan's presentation began with an inspiring review of projects
he'd worked on (or witnessed) back in the 1960s, including some great
video of those old apps in action.

Ivan Sutherland's early 1960s
"SketchPad" drawing application[4], which
featured the first use of multiple windows (SketchPad3), still looks
great. Users draw directly on the screen with a stylus and the app
recognizes crudely drawn simple shapes and redraws them as perfect
rectangles or semi-circles or rectangular polygons. Alan pointed out
that this was the first object oriented system - a user could create
classes of graphic objects, editing the class changed existing
instances.

There was also a 1966 video of Doug Engelbart using a combination
mouse/keyboard system to navigate around a little information
tree. Response time was excellent even though the app was running on a
1/2 MIP time sharing system with 192KBytes of memory. Engelbart's
goal was (is): "augmenting the collective IQ of groups of people".
Still seems like a worthwhile goal.

These projects and more like them were intended to inspire everyone to
build new apps that were atleast as capable as the ones built 40 years
ago. Ofcourse there was an implicit dig in the call to action - we've
lost the ability to craft small responsive apps even though we're now
working with hardware that has 1000 times the capacity of what our
forefathers had to work with. In other words, why does it take so
much more code and computer horsepower to build high performance
interactive data visualization apps then it used to? There are a
variety of tired responses to such questions, some cynical, others
self deprecating. The one that's not trotted out very often is the
punchline to an old Bill Gates joke - "that was the demo". Great
demos are a combination of technology and theater that deliver a
little shot of adrenaline to the viewers imagination. The 1960s era
demos we saw were certainly masterpieces, however they were still only
demos. The difficulty of turning the vision those demos inspired into
apps suitable for everyday use by everyone should not be
underestimated. Hollywood had us traveling to the moon in the movies
40 years before anyone set foot there.

Bulding practical useful systems that deliver on the implicit promises
in great demos is hard and it's time consuming. The GNOME community
has done as much for Linux desktop computing and I can say from
personal experience that it works like a champ.