"If you're a developer, you want to be where you can fulfill your vision. If you're a consumer, you want to be where you can do what you want to do. If you're a handset manufacturer, you need to be where that innovation happens."
There should be little doubt that any given area of technology will eventually be occupied by open solutions. Rather, it is a question of "who" and "when." In mobile and embedded platforms, there is not a single dominant proprietary solution to displace, unlike desktop software. Instead, open software produces interface and compatibility experiences on par with proprietary software.
At points where no proprietary solution is clearly differentiated from open solutions and the barriers to participation are kept low, open innovation thrives at the forefront of the technology. This article introduces BeagleBoard.org, a project that creates powerful, open, and embedded devices based on the BeagleBoard hardware, a low-cost, fan-less single-board computer. By lowering the barriers to participation and making commitments to support and sustain the architecture to preserve the innovation from that participation, BeagleBoard.org has built an active and growing community of hobbyists and professionals advancing the state of the art in low-power embedded computing.
What do People do with a BeagleBoard?
I am asked frequently if I am surprised by the rapid growth of the BeagleBoard.org community. What does not surprise me is the number of people who quickly recognize that there is something different about the BeagleBoard - it is something accessible and capable - and then want to get involved. However, I am certainly surprised by what people do with their BeagleBoards. Some examples include:
an Iron Man costume with digitally controlled air-rocket launchers
amateur radios that analyze wave contents using software
robots that know how to stand and walk on their own
three dimensional digital cameras
autonomous flying vehicles that recognize objects around them to avoid collision and redirect their path
miniature presentation projection systems that utilize 3D objects and animation to keep the audience interested
high-definition (HD) media centers
car computers with touch-screens showing video and virtual instruments with data logging
touch-screen computers that hang on a refrigerator
This is just a small pool of the hundreds of ongoing projects driven by thousands of hobbyist and engineering individuals and team members. People want to do more with their mobile or low-power embedded computing platforms than place phone calls. They want to collect and process data from the physical environment and manipulate that environment. They want to move data over a variety of media and in a variety of formats.
When given a computing platform that is sufficiently high-performance, low-power, expandable, affordable, small, and supported by tools and software stacks, developers with the capability to extend that computing platform, either through hardware or software, will simply do so. BeagleBoard.org creates an open innovation ecosystem that advances everyone using the OMAPTM 3 processor-based BeagleBoard by encouraging open source developers to utilize all the available tools wherever it makes sense in their designs.
Understanding the Community Landscape
A key benefit to collaborating with open source developers is that they are vocal about their specific wants and needs. One of the best ways to attract these developers is to simply listen and meet their demands.
LugRadio, which was a bi-weekly audio download series that featured the Canonical Ubuntu community manager Jono Bacon, nicely summarized the primary characteristics and motivations of open source developers. Each of these characteristics is a way in which the developer or innovator is able to gain some aspect of control or influence. The types of open source developers can be summarized as:
Community Participants: are characterized by enjoyment of attention and being part of something big, where they can rub elbows with influential people and improve their own profile within their desired sphere.
Tinkerers: are characterized by a desire to know how something works and have enough control to change how it works or how it is assembled.
Underdog Fans: are characterized by a desire to see the dominant influences in a realm of technology challenged by up-and-comers that limit the control of any single entity.
The Cheap: are characterized by the desire for access to be universal or at least have access be of minimal cost to them.
Freedom Crusaders: are characterized by seeking prevention of any control over them.
We discuss each of these participants further below and describe how they benefit from the BeagleBoard ecosystem.
To meet the demands of Community Participants, it has to be clear from the beginning that the community is large enough to justify their time. Given that the BeagleBoard is based on the OMAP 3 platform, the first broadly available device with an ARM® CortexTM-A8 CPU, little convincing was required to reflect that there would be a large pond of participants.
That same processor will be used as the basis for the next generation Maemo.org device. This signaled to the Maemo open source developer community that they would get early access with the confidence that their time was being spent in an area where plenty of other developers would notice their work. An English-language mailing list was created to be a focal source of announcements and queries about community developments. A single RSS feed was created to aggregate the news published on blogs of developer activities. Today, there are thousands of mailing list subscribers and thousands of articles about BeagleBoard activities with many answering complex questions about how to design something with the BeagleBoard. The RSS feed provides a centralized location to view the latest articles, and several new articles are published every day.
Many are tired and frustrated with the way computers work, or don't work. Tinkerers were born to do something about it. They love source code, but source hardware is even better. The source code to the operating system and the source hardware design files describe how the BeagleBoard operates and how it is built. The source allows Tinkerers to not only understand the inner workings, but to alter them. Dozens of systems that are open for adding more software or hardware have been built using the BeagleBoard as a starting point, with each adding some value beyond the BeagleBoard while growing the shared software base that enhances what the BeagleBoard can do. The BeagleBoard is based on a processor with multiple vendors, which further extends the sources that can be used by Tinkerers to build and experiment with software. Today, there are several OMAP 3 processor-based platforms built from the BeagleBoard with the flexibility to add new capabilities, such as those seen in Table 1:
Table 1: Possible BeagleBoard Capabilities
Developers have the ability to add many other physical world interfaces, all in a variety of form-factors, and many much smaller than the BeagleBoard itself. The BugLabs Bug 2.0 provides a plugin module architecture with an online store for people to sell their own modules that utilizes OMAP 3 and BeagleBoard support to run the Android operating system.
Underdog Fans are attracted to the challenge that BeagleBoard represents to the entrenched virtual monopoly held by the processors used in typical desktop computing. As embedded microprocessors utilizing multi-vendor ARM processor cores move up in performance at much lower power points, lower prices, more integration and specialized processing resources for some markets, many designs that would have used a traditional PC architecture are now choosing to switch. Fans help notify those who have not considered such a switch that a viable solution exists. With the influence of these Fans, who are frequently key influencers in medium and large organizations and developer communities, the BeagleBoard is being picked up by people migrating from: i) desktop or server operating systems like Ubuntu, Debian, and Gentoo; ii) boot firmware; iii) media center software; and iv) many other components not traditionally targeted at embedded processors.
The needs of the Cheap are partially satisfied by the bring-your-own peripherals approach taken by the BeagleBoard. Instead of being constrained to a single configuration where everyone needs to pay for all the possible features of the system, the BeagleBoard makes use of off-the-shelf expansion via standard interfaces, allowing developers to utilize components that they already own or allowing them to choose the components they prefer. There has been some resulting complexity for users, yet the lower-cost generates a far greater reach and lower threshold for purchasing decisions. The limitations created also open doors for value-added resellers, such as Special Computing, who become participants in the community. Although Special Computing has been successful creating some bundled kits with the BeagleBoard, the overall success and adoption of preconfigured kits has been limited. The wide variety of demands could be to blame, and improvements to the BeagleBoard.org website in positioning bundles could be a resolution.
What has taken hold is the use of the BeagleBoard in a large number of demonstrations for various hardware or software products. Some examples include demonstrations of hardware products interfaced to the BeagleBoard:
Hillcrest Labs Freespace in-air pointing devices
TI DLP Pico Projector development kit (
TI eZ430-Chronos wireless watch development tool with many personal and environmental sensors
Other examples include demonstrations of software products or concept demonstrations:
Android implementations from more vendors than I can count, including the ARowboat.org project
MontaVista's MVL6 and Montabello
ARM's ARM Linux Internet Platform and D5
Halcon machine vision from MVTec Software GmbH
MPC Data's Windows® Embedded CE
Ingenient's 720p TMS320C64x+ processor-based video codecs in Android
ARM-based video codecs from VisualOn
ASTC's BeagleBoard simulator
The Freedom Crusader
One challenge that must be met to keep the Freedom Crusader happy is to ensure BeagleBoard is not locked down to a single vendor. A key difference between the BeagleBoard and other ARM Cortex-A8 development platforms today is that all of the components are available in low quantities through the catalogs of electronics distributors, and the documentation for the critical components is available for free online. Also, since ARM processors can be licensed by just about any silicon manufacturer or vendor, it is conceivable to even replace the core processor. There are programmable elements available to the ARM processor for which there are programming guides and freely available tools. Thanks to the open programmability of the digital signal processor, which is optimal for processing video and audio data, projects such as the open source Ogg Theora video decoder thrive and provide the Crusaders with something to crusade about.
Building a Community Around Active Participation
The great success of building a community on the BeagleBoard comes not only from meeting the needs of the open source and open hardware developer communities, but by having core developers act as key participants in both the culture of quality products and the culture of open. Whenever tough decisions need to be made, the default choice is the one that involves getting out of the way of innovators and letting the community lead. The more an individual participates and contributes, the more ownership is required on the direction of the project.
Further, continued improvements and innovation are required to keep people excited. This summer, the next revision, the BeagleBoard XM, will be running at 1GHz or higher with enough RAM to natively rebuild its entire application stack. This is an important milestone in the evolution of any computing hardware. The choices made in the design of the BeagleBoard XM reflect the guidance of the community members. Despite having some features that have an effect on the cost for the new product, the commitment to maintain the existing product at the existing price point is being held. This sort of commitment to the existing community is absolutely required.
The readily apparent innovations in the available commercial and/or open source products look great, but how do we understand the full value of community involvement? Perhaps the best indicators are the customers who have already seen the BeagleBoard and likely played with it before the first sales call is ever made for a new design.