Initial Public Offering

So now seems like a good time to recreate a personal blog. I lost mine when my personal (physical) server died and was too lazy to start one up again.

If LiveJournal is good enough for jwz, it’s good enough for me. (This is what I said originally, but it completely ate the first version of this blog post right after I typed all of it out because I tried to click on a help item then use the browser back button, which I am still angry about while I am trying to retype this, but anyways)

I thought Havoc’s post on the GNOME Online Desktop (and he deserves some sort of medal for the name) was very good. It has started some sub-discussions, one of which is about Gimmie and Big Board direction.

The first thing I want to say to Alex in particular – I have always had a great deal of respect for you and the cool software projects you have created. Gimmie is a great project.

As for the details, I want to avoid all the he-said/she-said stuff and just say that basically, in my opinion it would not have made sense to prototype the Big Board direction starting from Gimmie’s codebase. At least up until now and for the near future.

Gimmie’s scope for the most part has been to improve the panel, and in my opinion does this very well. Does it also replace your panel? Yes, but the Big Board scope is quite different and larger – it is part of a prototype for an online desktop.

For example, the Big Board codebase also includes Havoc’s experimental code to sync GConf with an internet server.

Also in the interest of prototyping, we decided to reuse a large amount of infrastructure that we have developed for the Mugshot server. This has made it a lot easier for components such as the photo slideshow “stock” (the term for Big Board widgets, obviously!) – there is zero configuration involved with it. It goes out and gets your Mugshot contacts, retrieves their flickr/youtube etc. thumbnails, then slideshows them. If we’d wanted to do this in the Gimmie context, we would have had to add infrastructure to the code for “external accounts” (mugshot term for data like flickr username), and also code to talk to the Flickr API, poll YouTube feeds, etc. And that would leave open the question of how you find out the flickr usernames for your contacts.

Another example is Havoc spent a few hours figuring out how to talk to the Google APIs and get a list of your online Google docs displayed in the sidebar. And most of that time as I understand it was battling Google’s crazy everything-is-an-atom-feed API. If we’d wanted to do this starting from Gimmie, we would have had to figure out the harder question of how it iteracts with Gimmie’s code for local documents, what operations made sense, etc., in addition to writing the code to talk to Google.

In code terms, if we had tried to do this as Gimmie patch, a lot of it would have been of the form:

function():
if mugshot_mode():
do_mugshot_thing()
else:
do_gimmie_thing()

which probably isn’t very useful for Gimmie’s current userbase right now.

Longer term, it does make a lot of sense to figure out how to reuse/integrate/merge with/write-plugins-for existing components such as Gimmie/gnome-panel/nautilus/GConf etc. But I hope this post explains why the Big Board is not a “Gimmie clone” anymore than Gimmie is a “panel clone”, and why we’ve been prototyping in a new codebase.

Originally I had written more extensively here but I’m going to post this now before it gets eaten again.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s