Archive for July, 2008

Sometimes it takes more than just a community

I’m a huge fan of the open source development methodology. But over the years I also had to realize that just because something is open source that doesn’t mean that automatically the right things happen. What is required is also good governance of the project, a strong community and the right leadership.

Many projects today have broad support from corporate contributors. The latest data from Greg KH shows that around 80% of the people contributing to the Linux kernel work for corporations and not just “on their own”. Some projects are more or less identified with corporations (MySQL or Clutter, for example). Others are mostly driven by key developers who are very independent – regardless where they work (Perl comes to mind).

So corporate involvement doesn’t seem to be an indicator for the success of open source. But the quality of the code that is being developed certainly seems to play a major role – if you look at the examples that I have given, that’s the common denominator. Good software, available in open source, appears to be one key aspect that is needed to create this virtuous cycle. The fact that the code is well written indicates that there is strong and smart leadership. That attracts more developers who want to participate. Now add good governance, i.e., you don’t turn away contributors (like apparently some projects are doing), you invite them to join you. You invite them to take major roles, to influence the direction. Yes, this will create disagreement and friction and maybe the project will move in directions that you didn’t initially have in mind. But it will also create a project that is vibrant and healthy and progressing at a fast pace.

Many times the projects will be able to deal with new ideas and different directions internally (there are tons of examples for that, basically every single one of the large open source projects with diverse contributors has gone through a number of revolutions driven by a new influx of developers – Gnome, Apache, Perl, even the Linux kernel). Sometimes this causes a fork (and often the original project atrophies – XFree86 and X.Org is an example here that I am very familiar with), sometimes after a time of forked co-existence the two project merge again (gcc and egcs). And sometimes this causes two healthy projects that are competing with each other and develop independently (or even three; look at FreeBSD, NetBSD, OpenBSD).

Influx of new ideas is good. The ability to absorb new ideas, to embrace people who want to change your project and who may disagree with you on the quality or direction of the existing code base is an important part of what gives open source software the opportunity to be better.

I’m thrilled to see commercial companies contribute to open source. That’s the life blood of many large projects. And I am thrilled if a company has the guts to realize that a project that is out there needs a major influx of new ideas and is willing to go out and contribute. Even if that sometimes ruffles some feathers. I have encouraged Likewise for a while to go out and make Samba better. So I was very happy to see that Krishna today announced Likewise Open Fall 08. It’s a project that complements and partly replaces Samba. That makes it easier for Linux (and other Unix-like OSs like Solaris or OS X) to be an equal player in a Windows (and Active Directory) environment. This is extremely well written code that fulfills a real need. Let’s hope the Samba community embraces it and uses it to make Samba an even stronger project. When I spoke last year at Samba XP that was what I tried to encourage them to do. And most of the developers (with a few notable exceptions) seemed to like the idea. I can’t wait for next years conference to see what happens.

Benchmarks comparing Atom and Celeron

I finally found a site that compares (among others) the EeePC 900 and 901 in a couple of benchmarks. OCW compares an ECS 945GCT-D motherboard with an Atom processor at 1.6GHz with an MSI Wind running XP (and both of these have a hard drive) to the two EeePCs. Given the mixture of Vista and XP and HDD and SSD I think that the numbers for EeePC 900 vs EeePC 901 are the most interesting.

The Atom-based 901 wins almost all of the benchmarks – higher memory bandwidth (between +15% and +38%). Higher integer and floating point performance (Whetstone and Dhrystone both show around 50% improvement) and even more significantly between 2x and 3.5x the performance in some multimedia benchmarks.

Interestingly enough the 900 is actually faster in the Super PI 1M benchmark – I’m very curious to find out why.

What is missing is battery life – other tests that I’ve seen grant the 901 between 1.5x and 2x the battery life of the 900. Overall, very nice!

Moblin at OSCON

I gave a keynote at OSCON yesterday. Always fun – especially if you have about 48 hours of warning that you’ll be the speaker… Imad, my boss, was called out of town on short notice and asked me to take over from him. Which I did quite happily as I love giving presentations (weird, I know).

The topic was Moblin – or more specifically, the Moblin.org open source project and our goal to get a larger and larger open source developer community together that will drive the direction of the open source software stack used on internet focused devices. Lots of “open source” in that last sentence. And that’s intentional. There are many projects that try to create open source or Linux based stacks for mobile devices. But none of them have really convinced me that they are truly open source. Openmoko may be an exception – but as I wrote a couple of months ago progress there has been slow.

So why is this focus on open source important? Because only if we allow the community to take the stack and push it in any direction they want to go, contribute back, take the ideas and start new projects and overall make this project theirs, only then will the type of innovation happen on Moblin that I think will be the key to the success of mobile Linux devices. And while I love my Mac and I know that my wife likes her iPhone, I’d much rather see a free and open stack be successful and competitive and ensure that innovation will continue.

So go take a look at Moblin.org and especially at the playground.

Acer Aspire One impressions

Finally, the Atom processor based netbooks are starting to ship in the US. So far I’ve had a chance to play with two of them, the Acer Aspire One and the Asus EeePC 901 (I also own an EeePC 701 and have spent some time with an EeePC 900 which is somewhere in between the 701 and the 901. It’s Celeron processor based like the 701 but has the larger screen and larger SSD of the 901).

I see quite some excitement about the Acer – people like the way it looks, like that it’s so light, like the bigger keyboard. After a few hours with it, I decided to return mine and go with an EeePC 901 instead. Here’s why.

First, let’s talk basics. The price for being so light is that the battery is minuscule. About a third of the capacity of the battery of the EeePC 901. And given that the actual electronics inside are very similar, I’d venture a guess that this will bring significantly shorter battery life as well.

The price for the larger keyboard is bigger footprint (I might be willing to live with that) and a much smaller touchpad with the buttons on the side instead of below the touchpad. That alone would be a deal breaker for me. The ergonomics of this are really bad – I always had to remember to look for the buttons in the wrong place, the touchpad is so small that I often couldn’t move the mouse across the screen without lifting my finger. But it gets much worse. The touchpad also doesn’t support the multi-touch gestures that the EeePC 901 supports. To me this is one of the great often overlooked improvements of the 901 compared to the 701; you can scroll using two fingers on the touchpad – just like on a Mac.

Then there are a few feature differences. 8GB of built-in SSD vs 20GB in the Linux-based EeePC 901. Huge difference. And while the second SD card slot on the Acer tries to make up for it, the SD cards aren’t flush with the case when inserted which is really bad for transporting the computer. And of course access to an SD card is slower than access to the built-in SSD. Also, the Aspire One is lacking Bluetooth which the EeePC 901 has built in.

What pushed me over the edge was my attempt to add more memory to the Acer. On the Asus you remove two screws, pop in a new SO-DIMM, you’re done. On the Acer you remove 14(!!) screws, remove the keyboard connector cable, the touchpad connector cable, remove the keyboard, the top cover, a bunch more screws and then the whole motherboard assembly; and then add the SO-DIMM. You are kidding, right? I realize this is not something that you do every day (or more than once, for that matter). But to me it simply shows that Acer didn’t think this one through.

Finally, the OS. Yes, the Linupus Linux desktop looks pretty at first, but frankly I don’t see any real improvement to the Xandros desktop. It’s just different. And somethings seem much harder to me. I couldn’t get the Network Connection Manager to log me into any wireless networks. It’s really hard to get a terminal window (you have to open the file browser and then you can start a terminal from the File menu – not exactly intuitive, compared to Ctrl-Alt-T on the EeePC). But I’ll admit that this wouldn’t really be a deal breaker – I’ll switch over to a Fedora 9 install right away.

I’ll get my own EeePC 901 on Monday (so far I’ve only played with one that belongs to a coworker of mine for a while). I’ll post more impressions then.

User Experience Design

I’m at GUADEC in Istanbul. I just listened to Leisa Reichelt talk about User Experience Design. Very nice presentation about something way too few open source developers really and truly focus on.

User experience design is very different from focusing on usability (and even that often isn’t done enough). User experience includes how people feel about using a product. So suddenly being cool can be a plus. The usability of the iPhone virtual keyboard is rather bad if you have larger hands. But the iPhone is considered way cool, so in the end the user experience might be good. On the other hand you can design a very usable piece of software, but if its underlying design is flawed and doesn’t reflect what the user really wants or needs to do, then the best user interface in the world is not going to fix it.

The open source community certainly is a good example for how things can go wrong with user experience. I brought a Linux laptop to the conference and after having used a Mac as my main system for so long it is really eye opening to me how many things just don’t work smoothly on a Linux system – and how the experience for me as the user is quite frustrating. From connecting to a wireless network to inserting an SD card from my camera – almost every application as a different design for its user interface and often they appear to be in the way of what I actually want to do.

Part of this is caused by the way open source software is written – a lose collection of mostly volunteers interested in creating good software. Upfront design is often considered in the way of creativity. But it also is an indication that this is a very hard problem. It takes a lot of research and hard work to truly understand what a user really wants. Let’s hope that some of the people in the audience are considering this as something worth focusing on.