Archive for December, 2006

#4: Plan, execute, DELIVER

Wednesday, December 27th, 2006

This is one post in a series, describing challenges we need to overcome to make free software ubiquitous on the desktop.

We are a somewhat chaotic crowd, the software libre army. Thousands of projects (hundreds of thousands, if you consider Sourceforge as a reference point). Hundreds of thousands of contributing developers from virtually every country and timezone. We are a very loosely coupled bunch.

To a certain extent this loose coupling is beneficial. Work goes on in one part of the free software universe entirely oblivious to work elsewhere, despite the fact that both pieces of work will ultimately land up on an Ubuntu disk. Keeping everything orthogonal is very nice – very UNIX. It means that people don’t have to keep too much in their heads. And that’s worked well.

But sometimes I wish it were easier to keep track of changes and have a slightly clearer view of progress across that whole galaxy. For example, it would be nice at the beginning of an Ubuntu release cycle to have a really confident picture of which projects will produce stable releases during those few months when we can incorporate new upstream versions. It would be even better if, during the release cycle, we knew immediately if there was a *change* in what was going to be released.

This predictability is one of the major reasons we picked Gnome for the first Ubuntu desktop release – we knew with some confidence when it would be possible to ship a clean, fresh “chunk”. And Gnome has been a superb partner in that.

This coordination could go deeper than simply the planning of releases, and release management. One of the big advantages I’ll bet Microsoft has is that they have a single bug tracking system for developers from Office to the Kernel, with everything in between as well. That means that all their developers can have high-bandwidth conversations about any bug in the system. Compare that with the balkanised free software world, where I have to create a Bugzilla account any time I want to work directly with a new upstream. I hope Launchpad’s bug collaboration features will make it easier to coordinate between those bugzilla’s, at least for projects that are using Launchpad or where the bug has already been filed in Bugzilla (LP can link to other bug trackers).

Bugs, feature planning, release management, translation, testing and QA… these are all areas where we need to improve the level of collaboration BETWEEN projects. I think Launchpad is a good start but there’s a long way to go before we’re in the same position that the competition is in – seamless conversations between all developers.

#5: Real real-time collaboration

Wednesday, December 20th, 2006

This is one post in a series, describing challenges we need to overcome to make free software ubiquitous on the desktop.

Collaboration is the key ingredient in free software – the fact that developers can collaborate despite geographical and cultural differences between them is what has made it all possible. And our tools for collaboration are pretty good. I maintain you need three things before you get an explosion in collaboration: you need a common format, you need revision control (so you know who changed what, when) and you need a transport layer. In the case of free software, it was text files, CVS and email that underpinned much of the growth in the developer community.

Recently, wiki’s have shown the benefits of direct collaboration  for content other than source code – and wiki’s also have those three ingredients – a format, revision control, and a transport layer.
We could do with some improved tools (I think Bazaar has all the ingredients for a next-gen version control system, for a start, take a look at it if you’ve not done so recently) in the free software community. But this post isn’t about that – it’s about bringing collaboration to chattering classes.

See – people who work with word processors and spreadsheets have rights too! And they could benefit dramatically from much better collaboration. Think about it – they often email documents around so that other people can edit something or review something. And keeping track of those documents and the changes is a bit of a black art – involving large amounts of what lawyers call “redlines” – Word documents with changes highlighted.

Wouldn’t it be better if they could just collaborate in the documents directly? And what if we could make that collaboration real-time, much as Gobby makes text file editing and collaboration real-time? If you’ve seen Croquet, you’ve likely seen a demo of £d virtualised collaboration between avatars… so this “real time collaboration” idea and the sensory immersion idea (and of course the presence challenge) are all related.

I’m pretty sure the proprietary software world is going to do this – so it’s an opportunity for us to be a few years ahead of the state of their art. Real, real-time collaboration on all sorts of file types will radically change the way people think of working on their PC’s.

#6: Sensory immersion

Wednesday, December 13th, 2006

This is one post in a series, describing challenges we need to overcome to make free software ubiquitous on the desktop.

Joi Ito is one of the folks I’ve enjoyed meeting most in recent times, though we’ve not spent much time together I’ve learned a ton every time – I hope I can return the favour some day! It was Joi who first described the World of Warcraft scene to me. I was impressed with the scale of it all. But what really intrigued me was Joi’s description of how he’s wiring up a room in his house to be a sort of portal into that other virtual world. Sound, perhaps other sensory indicators, will give anyone in that room a feeling of being immersed in WoW.

Second Life of course brings a new twist to the idea of immersion, though for now it’s immersion on the virtual side of the looking glass. What interests me are the ways in which there is cross-over between the virtual world and the real world. When I’m walking around town, does my mobile phone alert me to changes in the virtual world? And when I’m working at my PC, how much can I stay focused on work, say, while my PC also keeps me abreast of what’s going on with my avatar?

I think there’s going to be a need for innovation around the ways we blur the lines between real and virtual worlds, and this is again one of those places that I think the free software community could steal a lead on the proprietary world. Think of the “presence” framework being extended to know not only about the real world, who’s where doing what, but also about these virtual worlds, in which we might each be engaged in any number of different activities. Turning all of that into a nice seamless experience is the challenge.

Ubuntu Weekly News

Wednesday, December 13th, 2006

This week’s Ubuntu Weekly News is, I think, the best ever. Just wanted to say “thank you” to the marketing team for pulling it together and making it the best bite-sized way to keep abreast of the amazing diversity of effort going on in our community. For those that haven’t tried it, there is an archive or you can subscribe to get a well-written weekly summary of what’s goin’ on.

Thanks, Corey & co!

#007: Great gadgets!

Wednesday, December 6th, 2006

This is one post in a series, describing challenges we need to overcome to make free software ubiquitous on the desktop.

This world is increasingly defined not so much by the PC, as by the things we use when we are nowhere near a PC. The music player. The smart phone. The digital camera. GPS devices. And many, perhaps most, of these new devices can and do run Linux. Free software in the embedded market is becoming a commodity, in the same way that MS-DOS and then Windows made the PC a standardised software environment.

Except that Linux in the gadget sector is still very much a black art, a highly fragmented story where devices are all use vaguely similar but ultimately different free software – at every level, from the kernel on up to the GUI.

There have been many attempts to “make a platform” for the mobile and embedded markets that can rival what Microsoft has achieved on the PC. Microsoft themselves, of course, are pushing hard to extend the Windows franchise into the mobile and gadget space, with some success if I look at the quality of their latest releases of Windows Mobile.

Symbian was an interesting attempt to create some commonality without creating a hegemony, but ultimately I think that effort foundered on the rocky shores of a trust-less industry. It’s hard to imagine an industry more plagued by distrust than the complex web of manufacturers and operators that makes up the modern wireless telecommunications sector.

Which leaves us looking for something more. I think Linux has potential in this sector, and Trolltech does too by the looks of things. But they sell software and at Ubuntu we give it away, so I’ve yet to make the case in my head for Ubuntu to get involved despite the fact that many folks have urged us just to do it. Whether we do or don’t, I think its a great area for new free software developers to focus their attention. There is tremendous change, and change always creates opportunity.

New developer processes

Friday, December 1st, 2006

Daniel Holbach and others have done sterling work on defining better structure for new Ubuntu developers. Our “Masters of the Universe” dev-team makes  a huge contribution to each release, and is the proving ground from which new core developers are selected, so I’m really happy to see a more formal process being defined for new devs who are interested in working on Ubuntu. Well done Daniel!