Linux Device Roundup
In this article, Linux Journal speaks with four Linux device experts—Henry Kingman, Rick Lehrbaum, Shawn Powers and Bill Weinberg—in a virtual roundtable to take the pulse of Linux-based devices. They discuss the state of Linux-driven devices, their promise for the future and which ones are their favorites. Our roundtable participants are some of the best-known voices and “virtual pens” in the Linux device space:
Henry Kingman has edited the renowned site LinuxDevices.com since 2003. Kingman started his Web publishing career in 1998 at ZDNet, building a massive TipZone database largely composed of Microsoft software bugs.
Rick Lehrbaum is the founder and editor of the popular site DeviceGuru.com, an independent blog devoted to new and emerging device technologies. In addition to founding LinuxDevices.com—now a part of DeviceForge.com—Lehrbaum cofounded Ampro Computers and consults for companies in the embedded market.
Shawn Powers is the celebrated Gadget Guy product reviewer for LinuxJournal.com and Associate Editor for Linux Journal. He is also technology director for a K–12 school district in Michigan.
Bill Weinberg is an Independent Analyst and Consultant at LinuxPundit.com. He also serves as General Manager of the Linux Phone Standards (LiPS) Forum and Mobile Linux Weatherman for the Linux Foundation. Previously, Weinberg was with Open Source Development Labs (OSDL) as Senior Technology Analyst and manager of the group's Mobile Linux and Carrier Grade Linux Initiatives, as well as a founding team member at MontaVista Software.
Henry Kingman: Some trends in the world of Linux may be:
Using desktop and server software instead of special “embedded” software (Nokia started this trend).
Using Linux in place of an RTOS (real-time OS).
Better “free” sources of Linux, such as the kernels, BSPs and filesystems supplied by chip or board suppliers and open-source projects.
More commercial support options, with hybrid service/product companies like Embedded Alley making headway.
Better tools, with the industry aligning behind Eclipse and its top-level Device Software Development Platform.
Trends caused by Linux may include:
Ridiculous feature proliferation, such as multiple radios in mobile devices, car stereos that can park the car, vending machines that phone in orders and so on.
Ubiquitous Web control interfaces.
Near-ubiquitous media rendering and GPS.
Richer interfaces across the board.
Ever-shorter product life cycles.
Rick Lehrbaum: First, Linux is really well established. It's become the default choice for devices with 32-bit processors—that is, developers tend to start with the assumption that they'll use Linux and use something else only if they require special capabilities, or if the “politics” of their company are strongly stacked in favor of an RTOS or Windows CE/XPe.
Second, Linux has become the default OS for several device categories, including the emerging MID, Netbook and Nettop product categories; traditional thin-client terminals; Wi-Fi routers; set-top boxes, such as TiVo and the Roku Netflix box; and very significantly, mid- and high-end mobile phones.
Shawn Powers: I think largely the idea that Linux is no longer a buzzword, but rather the norm, is very significant. It's almost unsettling that so many devices are incorporating Linux, and yet that isn't as unique and exciting as it used to be from a marketing standpoint. Back in August at LinuxWorld, I noticed a huge trend in that so much of the conference was Linux, but wasn't really about Linux. It's as if we've finally taken over the world, and it's not as exciting as we thought it would be.
Bill Weinberg: Linux is becoming increasingly ubiquitous as an embedded software platform. From data gleaned from analyst reports and from my own direct contact with OEMs, about one-third of 32- and 64-bit designs are using Linux. Application areas include mobile telephony, consumer electronics, automotive systems/GPS, telecommunications and networking infrastructure, even medical and aerospace/defense.
Trends that I see include consolidation of systems/software platforms—mobile in particular. The visible manifestations of the trend toward consolidation include the merger of dot-orgs like LiPS and LiMo; companies like ACCESS, Azingo, Purple Labs and others joining LiMo and embracing that platform spec; Intel embracing Ubuntu/Canonical as part of Moblin and also buying OpenHand; Wind River buying Mizi Research; and Sun refocusing the role of Linux-based JavaFX Mobile to complement Google/Android.
Frankly, more important (in my humble opinion) than “.organic” mergers and activities is ORGANIC consolidation. In particular, if you look at the range of FOSS and commercial mobile platforms (including those mentioned above), you will see a consolidation of foundation components around: the Linux kernel 2.6, glibc, GTK+/Cairo/Pango, WebKit, GStreamer and Java (still a must for legacy interoperability). This development is illustrated in Figure 1.
The second major trend is that the upward motion of the value line put OEMs in the pilot seat. OEMs and integrators have a better range of choices with regard to buying and/or building a Linux-based embedded platform and toolkit. They can certainly turn to OSVs, like MontaVista and Wind River, and/or smaller packaged product/services companies. They also can purchase application-purposed vertical stacks for mobile, automotive, MIDs and so on from companies like those mentioned above. They also can, with more confidence than ever before, self-integrate bits directly from OSS projects with their value-added internal code and ISVware. And, they can mix and match. This development is illustrated in Figure 2.
Kingman: Yes. If they are running Linux, they won't crash, and the battery will last a long time.
Lehrbaum: Yes, very much so. Silicon vendors now favor Linux as the number-one platform to get their new device-oriented processors, chipsets and peripheral controllers up and running on, so Linux support gets a strong head start and is generally promoted by chip makers.
Powers: Oh, without a doubt. In fact, although I was joking a bit regarding “taking over the world”—I think Linux will continue to spread into the embedded market. It just makes sense. Also, with projects like Moblin and its ilk, embedded Linux on devices is looking really snazzy.
Weinberg: I remain very bullish on Linux as embedded systems software, notwithstanding announcements from Nokia, Symbian and others (see my blog, address in the Resources for this article) and advances by Microsoft. These and other moves/gestures toward openness and FOSS “scratch the itch” for access to source code as documentation and for source escrow, but they don't offer the unique combination of community-driven development, scalability, performance and real self-determination that you get with Linux and accompanying FOSS.
Kingman: The Wind River Linux Platform for Infotainment, for showing Linux could crack the automotive OEM equipment market; Motorola's Rokr Z6, for showing that a Linux phone could ship in volume in the US; the Netflix Player, for showing how inexpensive and powerful Linux multimedia devices can be; the myriad Orion-based NAS devices, for making NAS affordable to home users; and low-cost, power-efficient Nettop and Netbook devices, such as the Eee PC, for bringing desktop Linux to the masses.
Lehrbaum: I really like the Netflix movie-streaming set-top-box (manufactured by Roku). Linux has long been a winner in TV set-top boxes (think TiVo), and it's an area of exploding interest, given the growing ubiquity of broadband and drive toward streaming content to everyone's home theaters.
Automotive infotainment systems—featuring GPS, traffic updates, Internet access, streaming media, VoIP and so on—is another area set to explode.
There also are two+ major emerging device categories that both typically either come standard Linux or offering Linux as a full-fledged alternative to Windows: MIDs (mobile Internet devices), Netbooks and Nettops. All these terms were coined by Intel. MIDs strongly favor Linux due to being more appliance-like with built-in applications and not a lot of capability for normal users to alter the application set. Netbooks, typified by the Eee PC, have fully functional OSes, albeit stripped to fit in limited resources (often Flash, though HDDs sometimes are available as an option). They are generally available with Linux-only offered for the least expensive models and a choice of Linux or Windows XP Pro for the higher-end models (which have more RAM and storage Flash or HDD). A variant of the Netbook is the Nettop, having similar computing resources (including chipsets) but packaged in a mini PC-style box rather than the mini laptop-style formats of Netbooks.
The [articles on Netbooks by Lehrbaum, linked to in the Resources section] project the Netbook market will reach 50 million units by 2012, up from about 5 million this year. Obviously, given Linux as a baseline OS in the low-end models, this could be good news for Linux. However, as costs come down and RAM/Flash becomes higher density, the barriers to using Windows (depending on Microsoft's price positioning) could make Windows affordable. But clearly, the lower the end-user pricing of a Netbook, the less likely it is going to be able to afford a full-function MS OS like Windows XP or Vista.
So there is exciting potential here for Linux. Furthermore, bearing in mind that the whole idea of Netbook is the Net—that is, Web-based applications are central to its functioning. Thus, a Netbook is a bit like an Internet-connected thin client, and Linux does very well in such scenarios. Consequently, Netbooks should be considered a very high-priority target for Linux, just as mid- to high-end mobile phones are an important battleground for embedded Linux.
And, just as Netbooks are a fertile field for Linux, the same is true with Nettops—devices in which much of the heavy-lifting apps are Internet-based, and the device itself mainly needs a browser, e-mail client (not even required), media players and other basic functions, but are not expected to be true PCs that run every app you might want to try to load from a DVD.
Powers: Yes, indeed. The Eee PC began a trend that not only caught on like wildfire, but also significantly displayed Linux as a viable operating system for standard computer usage. We're just beginning to see how the Linux Netbook idea will change computing. The Netbooks are smaller than standard computers (or even notebooks), so they have a lot in common with handheld devices, and yet they are fully functional, so they demonstrate some of the same characteristics as a standard desktop solution. I think Netbooks might bridge the gap and open the door for vendors to take another look at pre-installing Linux on OEM hardware—even on the big desktop machines. That's my hope anyway.
Weinberg: Embedded Linux is already incredibly ubiquitous in intelligent devices. The real question is “What would change the game?” I think there are two vectors that could boost embedded Linux positioning:
Truly open mass-market devices running Linux plus enabling middleware that would engender and excite both ISVs and a targeted developer community.
Highly differentiated devices where Linux at the core would make a real impression on end users and build brand equity.
I haven't seen either of those situations emerge yet, but then again, other embedded platforms don't enjoy either scenario. Most RTOSes are 100% invisible to end users (except when they fail). Even Windows Mobile does not enjoy ubiquitous end-user pull, nor much popularity among developers, even if in some markets it's the only game in town.
Kingman: Well, Linux has been the dominant device OS since 2003 or 2004, according to the market research I see. For it to continue, I see three hurdles to clear:
Each vertical market may ultimately need to fight fragmentation by forming an industry group and/or support existing standardization efforts, like CELF, LiMo, the LF and so on. That way, the “value line” separating what you get for free vs. where you start differentiating your product can continue to rise, which in turn will attract new adopters. Linux is a collaboration, and I suspect that the better we work together, the bigger it will get.
Within the limitations of the fast product development cycles embedded Linux developers have to deal with, it would be great if more of them would get involved in Linux kernel development. By “active role”, I mean tracking current kernel versions when feasible during development and submitting patches to the LKML. This saves Linux from being wholly shaped by enterprise server companies, but it also makes things easier when the time comes to port your stack forward to a new kernel version (if you ever plan to do that), especially if your patches are accepted.
It would be great if things continue to get easier, financially, for the commercial embedded Linux OS and tool providers like MontaVista, Wind River and others. These companies contribute quite a bit to open-source projects, like Linux and Eclipse, as well as to standards bodies and industry groups, helping to ensure that embedded interests are well represented in key projects.
Lehrbaum: One area of concern is the lack of a truly dominant, mainstream, free graphical application toolkit for device applications based on Linux. Qt is popular, but there are licensing and royalty requirements for commercial device applications. This could result in design wins for Windows CE, which is offered at a fairly low royalty rate to OEMs, and which has excellent and inexpensive development tools.
Powers: If you look at the number of Linux-based devices in the market now—not a whole lot needs to be done. I think perhaps we need to market “Linux Inside” stickers, so people actually know there's a penguin under the hood.
If you look slightly outside the gadget or device arena, however, there are a few hurdles that are still sizable. I have a friend who works for Honeywell, designing hardware-testing solutions. Much of the firmware and software he develops for the hardware is still in MS-DOS. Many vendors are still embedding with DOS and providing only DOS drivers for their hardware. Since he's a friend, I've been hounding him for years to start switching over to Linux instead of building layers of DOS on top of Windows solutions, but in the end, he's held hostage by hardware vendors not opening up their specs enough to allow a programmer any access outside their proprietary DOS or Windows drivers. Because much of what he builds is mission-critical (and often could endanger lives), reverse-engineering isn't something he feels confident doing. It's very frustrating.
Weinberg: In real-world terms, “world domination” and 30%+ market share are almost synonymous. However, some ongoing barriers to adoption include:
The refusal by the kernel developer community to stabilize kernel APIs and driver architecture to help OEMs and OSVs “future-proof” device drivers. The mismatch between the practices of this important community and actual industry practices is a gap that neither side is ready to bridge.
The hazy definition of “embedded Linux” and “mobile Linux” that is presented to ISVs and other developers not currently familiar with Linux. Although Windows/CE/Mobile, Symbian and Java are actually rather fragmented of their own accords, they at least provide the appearance of unified APIs and SDKs. The situation for Linux is improving. See the emerging quasi-standardized APIs from LiMo, OHA and others.
The insistence of many embedded industry players, advocates and opponents of embedded Linux alike, in perpetuating concerns about GPL and other OSS licensing terms. Reciprocity need not be equated with “infection” and “contamination”.
Kingman: Any Linux device released without source code or a promise to provide it is a dud in my book. There tends to be more GPL license violations in the device world, I guess because people think that no one will notice or want to modify software that's “embedded” inside a device. But, it's pretty obvious which devices out there run Linux. Usually, you can tell from a glance at the spec sheet—let alone any of the more-technical telltale fingerprints.
Lehrbaum: The Nokia 770. I've had one since it came out and have updated to the latest released OS for it, but I have to say that its capabilities are quite disappointing—particularly in comparison to how well Apple's iPhone performs on a small touchscreen.
Powers: Well, my Eee PC's tiny keyboard annoys me, but my fat fingers shouldn't count as a strike against ASUS. If there's a potential dud, it would be with the saturation of Netbook solutions from multiple vendors, and multiple revisions from the same vendors. I'm not sure whether that means it's a dud or just the natural progression of a viral product idea, but I do worry that it will start to veer people away from the tiny Notebook concept.
Weinberg: It's best to reference the reviews on LinuxDevices.com. The biggest dud concept, however, is that Linux-based phones confer almost none of the virtues to those devices that the OS does to other devices.
Kingman: Limiting myself to currently available offerings:
Netflix Player—instant movie gratification!
Nokia N810—sofa surfing!
Motorola U9—ooh, curvy!
MooBella ice cream machine—moo!
The ones you build yourself—custom!
Lehrbaum: As mentioned above, the Roku Netflix box. Key features are its low cost, simplicity, low power consumption, ease of wireless configuration and a very nice, clean UI.
Powers: Although I've never touched one, the Nokia devices look like awesome little handheld devices. The ASUS Eee PC 701 was very significant, and even if just by merit of originality, it's one of my favorites. I like the OpenMoko FreeRunner, and although it's not ready for prime time yet, I think it might be a huge boon to Linux-based cellular phones. Add in the adorable Tux Droid, and I think you have a handful of really nifty Linux devices. One is even penguin-shaped. [See page 46 for a review of the OpenMoko Neo FreeRunner and page 64 for an article on hacking Nokia Internet tablets.]
Weinberg: On a purely personal note, some of my favorite Linux-based devices from recent years include:
TomTom navigation systems.
Kangaroo TV (NASCAR streaming video).
Dash in-car navigation with real-time interactive traffic data. [See Kyle Rankin's review of the Dash on page 50.]
BMW Series 3 and 5 vehicles.
Roku's Netflix Player (www.roku.com/products/netflixplayer)
“Instant movie gratification” coos Henry Kingman of Roku's Linux-driven Netflix Player, a networked video device that delivers Netflix streaming content directly to your television. It provides access to a library of more than 12,000 on-demand titles from Netflix. The Netflix Player is HD-ready and has all the connections you need to connect to a TV, HDTV, home theatre or A/V receiver, including HDMI. The device includes Ethernet and Wi-Fi (802.11b/g), allowing one to play, pause, fast-forward and rewind movies directly from the Internet over a home network.
Roku has used Linux on the Netflix Player has since its inception. Roku's David Westerhoff, Director of Software Engineering, says his company chose Linux because it has “come a long way” and allows it to “focus on developing [its] application and helps keep the costs down”. Westerhoff adds that having the source code gives his team the flexibility to “go deep if necessary to debug, troubleshoot and optimize our software for the best user experience”. During product development, Roku developers found and fixed about a half-dozen distinct bugs in the build toolchain, plus some driver-specific bugs. However, the 184.108.40.206 Linux kernel has been very stable and required no modifications to the product.
The device uses the MIPS-based PNX8935 SoC from NXP Semiconductors for application and video processing. The application is written primarily in C++ and runs a Linux 220.127.116.11 kernel. Roku uses DirectFB to provide an abstraction layer for the graphics and video services on the platform and Qt 4.3 to provide a framework for UI development. The device has no hard disk, just 256MB of DDR RAM to provide the memory needed for its applications, plus the buffering necessary to support streaming video playback.
“Robust video streaming over home networks takes a significant amount of effort to get right”, adds Westerhoff. Therefore, the Player uses dynamic bandwidth detection to select the best possible stream for the user's network and then monitors it continuously during playback to provide the best user experience possible. If the available bandwidth changes, the device responds by selecting a new stream at a bitrate appropriate for the situation.
Wind River Linux Platform for Infotainment (www.windriver.com)
Although the Wind River Linux Platform for Infotainment (WRLPI) will remain in development until late 2009, our experts see it as a watershed development for the Linux device space. Wind River calls the platform an “automotive-optimized commercial Linux” for applications for the in-vehicle infotainment segment of the automotive industry. John Bruggeman, Wind River's Chief Marketing Officer, spoke of a “pure open-source strategy”—that is, not just a distribution but a “full and complete platform”.
The company chose Linux because consumer electronics manufacturers and suppliers in the automotive sector have found that traditional proprietary approaches come with numerous barriers. These include not only integration and interoperability challenges, but also a lack of the flexibility to create true differentiation. Wind River says that its platform will improve both product development and time-to-market concerns.
WRLPI will be optimized for the Intel Atom processor and will offer pre-integration with third-party networking and multimedia applications, such as speech-recognition and speech-to-text technologies by Nuance Communications, Inc.; Bluetooth and echo-cancellation and noise reduction solutions by Parrot; music management and automatic playlisting technologies by Gracenote, Inc.; multimedia networking solutions by SMSC; and DVD playback by Corel's LinDVD.
Wind River's senior VP and GM of the Linux product division, Vincent Rerolle said that WRLPI will “reduce the daunting complexity in the in-vehicle market” and be a “disruptive innovation expected to challenge the traditional approach to proprietary solutions and spawn a level of creativity not yet seen in this segment”.
Other WRLPI features include support for popular audio and video standards; connectivity with numerous devices, such as the iPod; rich 3-D graphics support; power-state management; quick booting/initialization and automotive standards connectivity (for example, CAN and MOST).
Kangaroo TV (www.kangaroo.tv)
It's official, folks—Linux has gone Joe Sixpack. That's because our beloved OS has infiltrated the world of NASCAR autoracing and other sporting events. Embedded Linux is the horsepower under the hood of Kangaroo TV, a new device available for rental at NASCAR (and soon other) events that gives spectators a more entertaining autoracing experience. The wireless, handheld Kangaroo TV provides racing fans a slew of event information, including ten live MPEG-4 video feeds (replays, highlights and in-car views), 64 AC3 audio feeds (driver-to-pit conversations and commentary) and a plethora of real-time stats.
Jean Arseneau, Kangaroo's CTO, says that his firm chose Linux four years ago for many reasons, including its good fit with the ARM processor, strong customization possibilities, easier standardized device driver development, easier graphic application development with embedded Qt, availability of codec open-source libraries and a small footprint, among others.
Linux also has allowed Kangaroo to offer advanced features, says Arseneau, such as video fluidity and audio quality with low latency and a high level of user customization. The device is upgradeable through the USB port by becoming a mass storage to the PC.
TomTom GO 930 (www.tomtom.com)
TomTom's GO 930 is one of the slicker portable navigation devices (PNDs) running Linux that has caught our experts' attention. Just switch on the GO 930 and get moving, right out of the box, to find any address in the US, Canada or Europe, complete with turn-by-turn spoken instructions. Bill Weinberg raves about the TomTom devices because they offer “a great experience at an aggressive price and have features that I really love”. He touts the community-based points of interest and IQ Routes (explained below), as well as TomTom's humorous approach to in-car navigation. For instance, you can choose John Cleese's voice to guide you, chuckling your way from point A to point B.
Although TomTom is coyest of all about sharing information on its Linux internals, it trumpets the IQ Routes that Weinberg enjoys. These are optimal driving routes that have been gathered by its users, calculated by gathering voluntary, anonymous historical driving data from more than seven million users.
But, the GO 930 isn't the only Linux-driven PND in TomTom's lineup—all of the company's products are and have been since 2004.
Our beloved Linux can do almost anything, including producing real, fresh ice cream in 45 seconds flat! Well, it used to do that anyway. For almost three years, Linux was the OS inside the MooBella Ice Cream System, a device that produces hard-packed ice creams fresh to order. The device also used Firefox and open-source SQL databases. LinuxDevices.com's Henry Kingman interviewed MooBella's VP of Engineering, Jim Baxter, who spoke highly of Linux, saying, “This product has gotten further than I ever imagined, in my wildest dreams.”
Then in early 2008, MooBella switched manufacturers, the new one a Windows-only shop chosen for non-OS-related reasons, said Bob Brooks, MooBella's Director of Marketing. Although we are saddened to see such a neat device move over to the other side, it's a great feeling to know that our favorite OS can help make your favorite ice cream!
Bill Weinberg's Blog: linuxpundit.wordpress.com
Shawn Powers' Video Reviews at LinuxJournal.com: www.linuxjournal.com/video
Shawn Powers' Web Site, The Brain of Shawn: The Thinks I Think: www.brainofshawn.com
Netbooks to Take the Market by Storm: www.deviceguru.com/2008/08/23/netbooks-to-take-the-market-by-storm
What's the Difference between a Netbook and a Nettop?: http://download.intel.com/pressroom/kits/events/idfspr_2008/Netbook-Nettopbriefing.pdf"/>
Rick Lehrbaum's Review of the Roku Netflix Player: www.deviceguru.com/2008/05/20/100-netflix-dvd-downloader-runs-linux
James Gray is Linux Journal Products Editor and a graduate student in environmental sciences and management at Michigan State University. A Linux enthusiast since the mid-1990s, he currently resides in Lansing, Michigan, with his wife and cats.