3 min read

Analysis Paralysis: When too much choice is a bad thing

Topics:

I just finished up a Lightning Talk at the 2010 Linux Symposium where I chose the somewhat provocative title

Let go of your widgets! Image based embedded user interfaces

In such a short time frame it is hard to cover all of the different reasons why including a graphic designer as part of an embedded product development team has been a challenge ... so I glossed over it and moved on.

Instead, I focused on looking at why Linux is a great platform for embedded products to start with.  In addition to its large developer community, Linux has near universal support from various silicon vendors.  Nearly every modern evaluation board that you will get from a vendor like Freescale or Renesas (among others) comes with Linux support available out of the box.

The problem arises as you move away from hardware/operating system choices up the application stack.

A common complaint for first time embedded Linux users is that there are simply to many choices and options available to them.  When you are getting started with a new technology, having more than one path forward is more of a hindrance than a benefit.

This is particularly challenging when it comes to choosing the rendering platform/technology that your user interface is going to be reliant on. Here are just a few of the choices available to you under Linux:

fbdev, directfb, Open GL/GL ES, OpenVG, x11/TinyX, QT, gtk/gtk+cairo, skia, svg

... and the list goes on

Many of these technologies build on one another, but under Linux the graphics landscape is far from straightforward.

Unfortunately, with the way embedded user interfaces are developed today, a significant amount of time is spent translating the content and vision of a graphic designer to the actual screen content layout used in the product.  This work can't start in earnest until a particular rendering technology is chosen.  Under Linux we've seen some of our customers completely paralyzed by this decision ... so much that they've jumped ship to other OS technologies with a simpler graphics story.

This was bad news to deliver at a Linux conference

The good news is that we are working on a solution.  Storyboard Suite alleviates the need to select a particular graphics technology or operating system or hardware.  With to its flexible back end runtime technology you can continue to build your application while you make hardware and operating system selections, and the work can all be performed by a graphic designer who is ideally positioned to create and manage the product's user interface.

An interesting case in point is our Beagleboard support.  We can easily leverage three different rendering technologies on this platform; fbdev, directfb and hardware accelerated OpenVG.  It is very interesting to see the small differences in general performance when you run the same application, but I don't want to ruin the surprise so you'll have to try it for yourself.

The good news for the Linux folks is that we run WinCE on this same board and Linux does run better out of the box!

Thomas