Three Point Zero

A wedding and honeymoon have kept me away from this conversation so far. My apologies if I’m beating a dead horse here, but I’ve got to weigh in.

Three point zero without compelling new features is suicide.

If we release a 2.x Gnome as 3.0, we will get close to zero positive press coverage. Forum dwellers will declare Gnome a dead-end, even those that normally defend our small evolutionary releases. Users won’t bother trying it, if they stick with Gnome at all. Potential new developers will become disillusioned with what they perceive to be a boring project. Sulfur will rain from tke sky. Demons will possess our household pets. Disco will make a comeback. Tragedy of tragedies.

If I were some sort of release manager, I would solicit ideas and set a plan. This requires leadership. Somebody has to be willing to say “the buck stops here”. And the community has to be willing to listen to that somebody. Here’s a rough outline of how to set this into motion:

Brainstorming:
Ask the community for ideas. We’re not looking for solid plans here. We want people to toss about all those crazy ideas they’ve had brewing in their heads. Don’t worry about feasibility at this stage. Just write what you’re thinking. Maybe include some ASCII-art mockups.

While we’re at it, get those incredible designers of ours to GIMP together some mockups of how future Gnome should look. Use your imagination. Stir things up. Go wild.

Discussion:
We all come back down to Earth and start discussing these ideas. The whole community is involved in this. We discuss what we like and what we dislike. We talk about feasibility. Developers start talking about plans for how to implement the ideas we like. Yes, we’ll get some bike-shedding. That’s inevitable in a community as big and diverse as ours. But since we have a heroic somebody (or somebodies) to make real decisions, it’s OK. Let people get their thoughts in.

Evaluation:
The release managers make decisions on the ideas. Put everything into one of three categories: Yes, Maybe, and No. The Yes projects are those we write our schedule around. The Maybe projects would be nice, but we’re not going to wait for them. Collect concrete plans from maintainers and developers about how they’re going to do the things they do. Get time estimates. Set a schedule based on those time estimates. Make a decision. This is the part where the community needs to suck it up and recognize that, without somebody making decisions, we won’t get anywhere.

Hacking:
We all make branches and hack away. If you’ve got big things to do for 3.0, leave trunk for continued 2.x development, make a gnome-3-0 branch, and go wild. Hey, this is the part we do best. Enjoy the thrill of hacking on exciting new features. Feel young again.

Brainstorming needs to last at least a month.  Discussion should last another two or three months after that.  And the hacking phase needs at least a year.  If we time it right, we could have a little over a year and take advantage of two Summers of Code.  When we set the schedule, we should set a firm cutoff for new features, but set a slushy 3.0 release timeframe.  Once we’ve hit the freeze, we can re-evaluate things to see how long it will take to get a solid 3.0.  The last thing we want is a 3.0 that’s not really ready.  After all the alphas and betas, make a “developer preview” release that’s almost a 3.0.  Then give everybody a bit more time to polish, document, and translate.

Then, of course, there’s the question of what kind of ideas we’re looking for.  The question is not “Can we technically do this in 2.x?”  The question should be “Does this kick enough ass to justify calling it 3.0?”  Here are some examples:

Platform Enhancements:
Things that offer our developers cool new ways to develop applications.  Havoc talked before about basing GTK+ on a scene-graph system.  Even if that could be done in 2.x, it’s so wicked cool that it deserves the point-oh buzz.  How about an embedded scripting framework?  Or a powerful declarative interface language?  Combine those last two and you could have a really awesome rapid development framework.

Cool New Features:
We’re looking for features that provide a real and obvious enhancement to the user experience.  One possibility I’ve heard lately is a blingy unified desklet/applet system.  If I sat and thought long enough, I’m sure I could come up with others.  Fortunately, the community will gladly provide ideas if you ask them.  We’re a creative bunch.

 Pervasive Ideas:
There’s no shortage of new paradigm ideas in our community.  How about web services integration?  For any given application, it’s just some neat new feature.  But if we do it to 90% of our applications, it’s serious buzz material.  Then you have various projects that are working on people-oriented interfaces.  Lots of buzz, but it needs drive to push it throughout the desktop.  Semantic desktop.  Task-oriented interfaces.  Natural language interfaces.  Whatever.  Have a grand vision?  Sell us on it.

We have some extremely talented hackers in our communities.  We have some incredible designers.  We have the world’s best translation teams.  And we have a lively community of users and enthusiasts with some really great ideas.  What we need is direction, and direction requires leadership.

Honeymoon Uno – Buenos Aires

Silke and I finally got married on July 19. I’ve been waiting for the pictures to blog about it, but I’ve got some of or honeymoon pictures up, so I’ll go ahead and blog about that instead.

The first leg of our honeymoon took us to Buenos Aires, Argentina. I have a tendency to get sick from long flights. There’s something my body doesn’t like about spending ten hours in a dry, airtight container full of whatever germs two hundred other people are exhaling. But it was just a head cold, and it didn’t really stop us from enjoying the city.

We stayed at the Claridge hotel, which was right in the middle of everywhere we wanted to be. All in all a very nice hotel. They also employ at least one very good masseuse. I seem to have failed to take a picture from the outside, but this is me sitting in the lounge after we arrived:

Shaun at the Claridge in Buenos Aires

Because of our flight times, we ended up getting there in the morning before there were any rooms ready. But they let us have some breakfast, and then we sat in the lounge for a bit.

Silke and Shaun by the river in Buenos Aires

This is the two of us down by the river, where there are some really nice restaurants.

We did all the typical exploring-the-city stuff. We didn’t do any tours; we just enjoy walking around and seeing stuff together. We walked over to Recoleta and saw the old cemetary, saw the big shiny flower, and walked to San Telmo. The walk to San Telmo was a bit scary, because it ended up taking us through some not-so-nice neighborhoods. Check out the entire gallery for more pictures.

The best part (and really, the whole reason we went) was the tango. Our tango instructors, Ron and Susana, happened to be arriving just days after we arrived for their own vacation in Buenos Airies. They’ve been there before, and they know some of the local tango dancers and places to dance. This was, of course, wonderful. We got to go to milongas that aren’t on any tourist maps and that we never would have found on our own. And when we went, we got to meet some absolutely delightful people.

Silke and Shaun tango in Buenos Aires

This picture was taken pretty early in the night, before it got crowded. And I mean really crowded. Milongas in Champaign can only dream of being as crowded.

There is just something about the atmosphere there. I’ve always enjoyed tango, but I’ve never gotten obsessed with it. But if milongas here had the same feeling, the same charm, the same beauty; well, I could see myself doing it all the time. Of course, I’m sure the excitement of being just married helped make everything feel more romantic.

More on How I Turned 30

Flooded basement be damned, I went out for dinner and dancing with some friends.  Then the tornado sirens started, and we were all herded into the underground parking garage.

Dear Mother Nature: It’s June already.  Do try to keep up.

On How I Turned 30

Eight years ago, I spent my 22nd birthday helping my brother and his family move into their new house.  It really drove home the point that, after 21, birthdays just don’t matter anymore.  (Note to non-US readers: In the US, you can drink at 21.)

This morning, I woke up to my 30th birthday and was greeted by a basement full of water.  Yay for adulthood!

Dancing in Brazil

Silke and I will be visiting Rio de Janeiro on our honeymoon in late July and early August.  I know there’s quite a few Brazilians who read this, and I’m hoping somebody has suggestions for dance lessons while we’re there.  What we’d like is a quick crash course in an authentic Brazilian dance (i.e. not Samba as it’s danced in ballrooms in the US).  A little Wikipedia browsing has turned up Samba, Maxixe, Lambada, and Forró as possibilities.

We’d like to set up something like a two hour private lesson with a dance instructor in Rio some evening.  We’re not expecting to become experts.  We just want to get some exposure to dancing that we can’t get back home.  It’s critical that the instructor speaks English, because we’ll never make it through on my few words of Portugese.

If anybody has any suggestions, please leave a comment.

The Real Luis

You can spot the imposter because he’s wearing glasses:

The Real Luis

Apparently, LASIK brings out your inner Cubs fan.

Words, Silke, Wood

Word-a-Day

For anybody who missed the massively cross-posted announcement, we’re in the middle of the Word-a-Day program on gnome-doc-list. The terminology recommendations in our Style Guide are seriously out of date, so we’re doing a complete refresh. To get full community involvement, I’m sending one(-ish) word each(-ish) day to gnome-doc-list for discussion. If you like words as much as I do, join the fun.

Silke Out, Shaun Sad

So Silke’s off in San Francisco for the SIOP conference. I, apparently, am not capable of figuring out how to sleep properly on my own. I fell asleep on the couch last night watching Colbert and woke up at 7:30. Waking up on the couch when it’s already light outside is strange.

On the positive side, I’m using this as a chance to have some old friends in from out of town. Although so far, Bill’s the only out-of-towner confirmed, so it’ll mostly be local friends.

I Love Cedar

Yesterday I bought a bunch of cedar and starting building a potting bench for my greenhouse/shed. What happens when you take half an inch off of nine 6′ 2x4s in the planar? You get a huge pile of wonderfully aromatic cedar shavings. I don’t know what I’m going to do with the shavings yet, but they sure smell nice.

Pulse

People who hang out on -hackers will have already heard me talking about Pulse.  No, not the awesome audio server.  That’s PulseAudio.  Pulse is my project tracker.  A crawler periodically rumages through things that are relevant to your software project and sticks things in a database.  Then we can see nice summary pages like this page for the Gnome 2.22 desktop.

At first glance, it might appear I’m just trying to clone CIA or Ohloh.  While I’ve taken some ideas from each, Pulse serves a different purpose.  You might compare it to Launchpad, although Launchpad is an active project manager, whereas Pulse is a passive project tracker.  marnanel described it as “Facebook for Gnome”.  No, I am not going to add poke.

Pulse grew out of the documentation team’s need for an automated documentation tracker.  We really need to be able to see, at a glance, what documents there are in a given release set.  We need to see who’s working on what and how far along those documents are.  And we need to see what modules should have documentation, but don’t.  My obsessive abstractionitis, however, led me to create a system that tracks everything.

If anybody’s interested in playing with it, the code is in git: http://www.gnome.org/~shaunm/git/pulse.git .  Here’s a rundown of things abrewing:

  • If you go to any module’s page, you can click the shortened comment of a commit for a popup with the full comment.  If this happens to be any module on svn.gnome.org, you’ll also see a yellow bar that lets you get diffs and info on svn.gnome.org/viewvc.  I’ve special-cased svn.gnome.org here, which I don’t like doing.  A general-purpose “find the webview for this SCM server” would be great.
  • I want to track mailing lists.  I think I’d rather avoid subscribing Pulse to any mailing lists, and instead just periodically poll each list’s web archives.  That much is pretty straight-forward code.  What I need to figure out is how to find the mailing lists associated with any given module or team, and how to find the web archives associated with any given mailing list address.  The less I have to special-case anything, the better.
  • I really want to track bug databases.  For any given module, I want to know what bug databases to use.  Notice the plural.  I would love to show stuff from distros’ downstream bug systems.  For any given bugzilla product, I want to know its components, and the default assignees and QA contacts for those components.  This is, by the way, incredibly useful for the documentation team, as we could quickly see what belongs to gnome-user-docs-maint@gnome.bugs.
  • If we could semi-reliably find FOAF files for people, we could show a lot more information about them.

Basically, Pulse should be useful, not just a collection of random interesting facts.  (Random interesting facts are great too, but only in the context of an otherwise useful system.)  If you’re a maintainer, I want the Pulse page for your module to be useful to you.  If you’re an occasional contributor, I want Pulse to make it easier for you to contribute.  If you’re a documentation writer, I want Pulse to help you find documentation to work on.  et cetera, et cetera.

Comments, suggestions, criticisms, flames, and praises welcome.

Creative Commons Attribution 3.0 United States
This work by Shaun McCance is licensed under a Creative Commons Attribution 3.0 United States.