You are currently browsing the monthly archive for April 2009.

In an article on LinuxDevices this morning, we learn that a company called Igel is producing a PCI card that turns older PCs into Linux thin clients in one step—just plug the card into an empty PCI slot, move the hard drive cable over to it, and boot.

This is one of the first serious pre-packaged solutions—and certainly first one have seen that is based on PCI—that helps to solve the e-waste problem as well as addressing the mass migration (back) toward thin clients. The pen-drive Linux folks have been doing this for a while by packaging Linux on a USB thumb drive, which is actually quite easy to do, but not all older PCs can boot from USB, as I discovered about one of my older laptops during my quest for desktop Linux that started a few weeks ago.

The e-waste issues are important to solve. NPR reported recently that huge numbers of older PCs are shipped as “recycled” or “refurbished” machines from first-world to third-world countries, where a large percentage of them are burned as garbage, causing rampant pollution problems in those communities. (Also see Wikipedia’s article on e-waste.)

For a somewhat saner recommendation about recycling gadgets, Wired has some advice. However, there is nothing greener than re-use. Kudos to Igel for grabbing that market!

I also must add the obligatory link to my recent article on IBM developerWorks that discusses Linux thin clients and cloud computing and briefly covers recycling older PCs.

This excellent, well-written article (full disclosure: I wrote it 🙂 ) is on IBM’s developerWorks site. In their words:

Cloud computing isn’t just a server consideration. When you consider how ready the world is for pervasive clients — and how ready Linux is to accommodate — you’ll want to put your cloud plans on the front burner.

The article is at the top of the page here:
along with a lot of other excellent articles on Linux, though not necessarily embedded.

In case it has been bumped, here is a link directly to the article:

UPDATE 4/29: The article was reviewed by (thanks guys!)

I consider myself reasonably geeky.  I have been programming and writing technical documentation for all kinds of hardware and software (and combinations thereof) since 1992, and wrote and maintained database software for four years prior to that.  I wrote very bad games in BASIC on a Commodore 64 in the early and mid 80s, and saw a spreadsheet for the first time on an Apple ][+ in about 1981.  I can safely claim to have been a serious propellerhead for more than half of my life.

Over the past two weeks, I have finally found motivation to switch to desktop Linux.  Prior to this, in my life as a technical writer, I have nearly always been constrained to using tools under Windows—Adobe FrameMaker, Acrobat, Photoshop, and Illustrator; MS Word, PowerPoint, and Visio; and a few others.  I still need access to those applications, but at this point I need Linux for other reasons.

This leads me to the meat of this article.  I’m saying this as a dedicated open-source advocate, and also as an advocate for users:  Desktop Linux is not ready for prime time.  I chose “desktop” to indicate general-purpose usage on a machine that is built for such, whether it is fixed (a tower that sits on or under your desk) or portable (reasonably-featured laptop).  Prime time means as a direct, painless replacement for polished proprietary software (namely Windows and MacOS).

In my opinion, there are several issues that make up the Golden Standard for all desktop distributions.

  • Making it work out of the box.  Appropriate drivers should be included, and default drivers should at least bootstrap the most important systems:  video, audio, keyboard, mouse, storage.
  • An Internet connection should not be required in order to make it Just Work.
  • Included applications should cover most situations appropriate for the distribution.  If a normal user can’t open a standard office file without installing an application, the UX has been compromised.
  • Sharing files and printers with other systems should be seamless.  I don’t want to understand the details of Windows networking in order to get my files from my legacy machine, I just want to set up file sharing with a few button clicks and have it Just Work.
  • Software updates should be seamless and non-intrusive.
  • Portable installations running on batteries should default to use power management settings, and warn when battery is low.  (Fedora 10 failed on me in this respect.)
  • Successful communities have a number of ways of researching information:  FAQs, wikis, and searchable forums, at the very least.  Information in static repositories like wikis and FAQs should be very visibly marked for the releases to which they apply.  (There is a lot of cruft out there.)
  • The user experience should be obvious, should actively enable my usage of the system, and should contain consistent defaults that I don’t have to tweak in order to make the system work well.
  • Help should be both available and useful.

This is all basic stuff for any general-purpose distribution.  I’m not picking on Linux here—BSD fails on a few of these counts as well, and frankly so does Windows.  However, that does not change the ideal.

After reviewing ALL of the popular freely available distros, I chose Ubuntu because my experience and experimentation with many distributions has told me that I prefer it.  I like its seamless flexibility, I love aptitude, and things Just Work.  I was a hardcore Fedora user on development machines in past lives, and have done actual work with OpenSUSE, RHEL, and CentOS, but Ubuntu is simply great stuff. The community has made a strong effort to make as many features as possible function straight out of the box. In my opinion, Ubuntu is as good as desktop Linux gets for the average user as well as for many power users.  However, as good as Ubuntu is, it simply does not have the fit and finish of Windows or MacOS from a user experience point of view.  Some dedicated distros, particularly embedded distros, are indeed ready for prime time, as evidenced by the many millions of embedded devices in the field, from networking equipment to cell phones to blade servers, but the definition of “prime time” is different for devices—the user’s expectations for embedded devices are quite different from those for a general-purpose system.

In future posts here I will go into details about problems and fixes, but I wanted to get this message out:  Like it or not, Microsoft and Apple have set the bar for user experience on the desktop.  If open-source software developers (I include myself here) are to make Linux, BSD, or any other open distribution successful, we have to adhere to the basics of the user experience.  This goes for “granny” distributions like Ubuntu as well as for developer distros like OpenSUSE, Fedora, and CentOS.  I have met too many developers who believe that algorithms and elegance take precedence over what the user sees, thereby shooting their own projects in the foot.  Don’t require me to be smart in order to use your tools.

Last week, I attended and presented at the 2009 Embedded Linux Conference and the 2009 Linux Collaboration Summit.  The conferences were co-located at the Kabuki Hotel in San Francisco, CA.  Both conferences were extremely useful individually, but the combination of the two was absolutely electric.

ELC is a twice-annual conference, in the US in springtime and in Europe in the fall.  This year marked its first co-location with a Linux Foundation conference, although the two groups have long had a correspondence relationship.  I attended some fantastic sessions, beginning with Dirk Hohndel’s keynote on ubiquitous Linux—very appropriate for an embedded conference.   I sadly missed a few of the sessions that day due to scheduling conflicts, but was able to attend the wiki BoF and submit a few changes.  I’m actually very excited about because it is a wealth of information that fits very well with what we are trying to do with Meld, and I was glad to see so much participation (even if some bribery was involved).

The next day was full of fascinating information.  I attended a presentation on Maemo, a keynote by embedded maintainer David Woodhouse, a great talk by embedded luminary Jim Ready, a fascinating discussion by David Mandala from Ubuntu on how they got such a large distro to work well in an ARM environment, as well as an extremely interesting panel hosted by Tim Bird and featuring Matt Mackall, Jon Corbet, and David Woodhouse.  The evening provided a showcase of demos, including my demo of Meld running in Firefox on a Beagle Board.

Wednesday was a rough one, because it was the day the two conferences overlapped.  It was quite odd to wake up to find the population in the hotel’s conference area quadrupled, quite literally, and the rooms changed around to accommodate all of the new conferencegoers.  I didn’t get a chance to see many of the remaining technical talks because I was riveted by the keynotes, most of which addressed community either directly or indirectly.  I also managed to meet several community leaders, including Karsten Wade, Joe Brockmeier, and Jono Bacon.  As a newcomer to community management, I found all of them welcoming, open, and filled with advice about community-building.  The advice itself was worth the price of the trip—they gave me a lot to think about, particularly Karsten, whose role with Fedora is probably most similar to mine in the embedded space.

I gave my ELC presentation Wednesday as well, and was pleased to see some participation despite being opposite a very compelling panel featuring representatives from Sun, Microsoft, and the Linux Foundation.  Note that Free Electrons recorded all of the sessions at ELC, including mine, so I expect to see those online in the coming weeks.  Well done again, guys.

The Linux Collaboration Summit is normally an invitation-only affair.  This year, however, they invited all ELC members to stay for the remaining two days and participate.  Thursday and Friday were simply a blur of packed sessions, including one I gave with Joerg Bertholdt, VP Mktg at MontaVista, during the Community Best Practices track on Friday morning.  The attendees were mostly community managers and active members, and we had a lively discussion about community and its role in product development and commericalization as well as some details about Meld itself.  The final presentation I attended was by Dr. Christine Hansen, a global advisor to governments and large institutions.  The place was just packed with fascinating information.

I came home exhausted on Friday afternoon, very grateful for such events and eager for more (after a rest!).