A little Flash goes a long way in embedded devices
February 01, 2009
Using "old school" interfaces on today's applications is a waste of embedded engineering.
As embedded devices become increasingly sophisticated in functionality and pervasive in society, applications are crying out for a human interface that aggressively engages users. With the availability of Adobe's Flash Lite technology, embedded developers can create rich media content that allows users to take advantage of all the capabilities built into their designs.
Gone are the days when a user connected with an embedded device using simple static text menus and graphics built from alphanumeric and block ASCII characters. It’s a waste of great embedded engineering if an interface is so arcane or bland that the user is either intimidated or bored. Using “old school” interfaces on today’s embedded applications would be like building all the wondrous functionality of a Macintosh computer and hiding it under an MS-DOS interface. The capability might be there somewhere, but the user may never find it or figure out how to exploit it.
To meet this demand for intuitive user interfaces, companies are expending a tremendous amount of marketing resources on developing websites that make it easy for customers to understand their mission and research, purchase, and obtain support for their products. A company with a quality website featuring meaningful and engaging content is likely to have far more success than a competitor with a weak website.
One way companies have improved their ability to effectively convey messages to their Web visitors is by implementing Adobe Flash technology, which is widely used to provide compelling site content such as intro pages, navigation systems, and advertising content. The good news for embedded developers is that Adobe offers a subset of Flash technology in a derivative product called Flash Lite. Previously targeted for the mobile device market, Flash Lite is now available to the broader embedded community.
Designed to address development constraints
Flash is a platform for developing and rendering a variety of rich media content and delivering it to the end user in a highly portable fashion. Using Flash, developers can bring together vector and raster graphics, vivid animation, streaming video and audio, and even Web browsing. Providing this kind of user experience in embedded applications used to be a challenge for both technical and logistical reasons. Today, developers can use Flash Lite to easily reach their target audience with media types such as Shockwave Flash (SWF), Flash Video (FLV), H.264 and other MPEG-4 video formats, Musical Instrument Digital Interface (MIDI), Pulse Code Modulation/Adaptive Delta Pulse Code Modulation (PCM/ADPCM), JPEG, GIF, and XML. Interfaces integrating these and other media types can be developed with off-the-shelf Flash tools and harnessed with ActionScript, the Adobe Flash Player runtime programming language already in use by media content developers worldwide.
Developing with Flash involves the usual embedded technical challenges such as dealing with limited memory, achieving responsiveness in constrained processing environments, and adapting to nonstandard I/O devices. Overcoming these issues requires solutions specifically built to address them.
Flash Lite is designed to meet embedded development constraints head-on. As a stripped-down version of the full Flash environment, Flash Lite can provide critical functionality for Flash interfaces while requiring a minimum footprint of only 380K and as little as 2 MB RAM to support basic content. Capabilities, footprint, and performance are highly dependent on target hardware and functional requirements and may vary significantly from one application to another.
Using Flash also presents logistical complications in finding the right skill set to develop sophisticated user interfaces. These challenges are more acute in the embedded world because embedded developers tend to be focused on the inner workings of their processors and support stacks, involved with manipulating devices, minimizing resources, and often meeting real-time constraints. Furthermore, embedded developers typically aren’t practiced in designing sophisticated user interfaces such as those found in desktop applications.
Flash Lite resolves this problem because it is based on the popular Flash platform already used by thousands of Flash designers, so there is no shortage of experts to consult for help. Embedded application developers can easily tap into the vast pool of Flash content designers to build an engaging front end suitable for exploiting all the capabilities built into their embedded designs. Specialized tools are not required; developers can build interfaces using popular COTS tools like Adobe Creative Suite and prototype designs with conventional Windows or Macintosh desktop environments during or even before embedded device hardware and software development.
Leveraging functionality and expertise
With more than one billion deployments on top of specialized mobile operating environments like Windows Mobile, Symbian, Brew, and Linux, Flash Lite has gained a significant foothold in the mobile market.
Many embedded applications are able to benefit from Flash technology. For example, integrated telematics systems meld diverse capabilities such as fleet interaction, GPS, mapping, sensor monitoring, vehicle control, route planning, and entertainment functions into a single device. These capabilities can be tied together with an intuitive user interface that allows a vehicle operator to use a variety of graphics, audio and video components, and a multitouch display. Consumer product applications adopt Web browsing capabilities, location-sensitive content, or sponsored advertising messages and games. Factory floor applications tie together various factory equipment management functions, status monitoring, and controls. Medical systems combine equipment operation with imaging, diagnostics, and medical knowledge manipulation in devices like biopsy tools, which can scan a sample, compare an image and test results against a medical history database, and pull up relevant Web pages to assist in diagnosis.
While some of the devices in these applications can employ the full Flash Player 10 implementation, devices with limited resources such as memory can use Flash Lite to leverage Flash design expertise and much of the already developed Flash material. Combining Flash Lite with an RTOS like SYSGO’s ELinOS makes the development environment even easier for software programmers to implement Flash in embedded devices.
Dave Wood is an independent embedded systems consultant and cofounder of SOS Business Services. He has more than 25 years of experience in developing and marketing real-time and embedded computing devices in the aerospace, military, consumer electronics, and development tools markets. Prior to establishing SOS Business Services, Dave worked for Lear Siegler, General Electric, SofTech, the Software Engineering Institute, and Aonix in many capacities including software engineering, research, field engineering, and product management.