Click here to learn
about this Sponsor:
Home  |  News  |  Articles  |  Polls  |  Forum  |  Directory

Keywords: Match:
Using Macromedia Flash as an embedded device UI
by A. Charles Beddoe and Ray Shapiro (Jul. 28, 2005)

This whitepaper from Vibren Technologies discusses the use of Macromedia Flash as a technology for creating rich, portable, maintainable, and consistent user interfaces across multiple models and generations of embedded devices, and outlines system requirements and porting issues. It also includes an example of an embedded device that uses embedded Macromedia Flash in its user interface.



Using Macromedia Flash as an embedded device UI
by A. Charles Beddoe and Ray Shapiro

Why embed Flash?

The runaway success of Internet-based Flash technology has been remarkable. Macromedia and its partner Vibren Technologies are now attempting to duplicate this success in the embedded arena as well, by making it easier to obtain (and pay for) smaller volumes of Flash licenses.

What makes the use of Macromedia Flash compelling in embedded applications is that embedded Flash provides the same moving picture and moving word interface as its desktop/Internet-based counterpart. Also, because Flash displays embedded content in the same manner as it does desktop content, Flash content can be developed on any platform that supports the Macromedia Flash authoring tools.

Macromedia Flash has become the de facto standard for developing rich user interfaces. It has become ubiquitous on the Web -- the favorite technology among designers looking to create compelling user experiences. Consequently, Macromedia Flash is also becoming a must-have software component of Web-enabled embedded devices.

But Flash has far more to offer embedded devices than compatibility with Web-browsers. Macromedia Flash can be used to create great user experiences, and can serve as a platform on which to build a richer, more immersive user interface (UI) that can add value to embedded products.

The same tools and rendering engine that are used to build and display Web-based Flash content targeting the desktop can also be applied to embedded designs. The main distinction between desktop and embedded Flash development and deployment tends to be factors such as display size and processor performance. Embedded devices typically have smaller displays, less processing horsepower, and reduced memory resources, compared to desktop computers.

Benefits of embedded Flash

One key benefit of Flash is that it can form the basis of a UI that is consistent across a company's complete product line, regardless of processor, operating system, or other variations. This is possible because Flash enables the UI to be implemented by means of content, rather than within the embedded software. Additionally, the Macromedia Flash player itself is microprocessor- and operating system-agnostic.

A unified look and feel is good for branding. It also helps reduce tech support issues, because users only need to learn one UI. Additionally, a consistent UI can be maintained regardless of the inevitable hardware and software changes that are made to the company's products in the future.

Another advantage of the embedded Flash UI approach is that the ability to use readily available graphics opens up a variety of creative opportunities. This can help designers embed that all-important "consumer appeal" into the devices they develop.

Additionally, the local (embedded) content required to implement the device's UI is created by means of standard Flash authoring tools. This makes it relatively easy (and inexpensive) to develop, maintain, and enhance the device UI, and to adapt it to other product models and next-generation designs.

Consider a product line that includes a non-portable model, a small form-factor portable model, and a highly compact handheld model -- all based on different processors and operating systems. Implementing identical or even similar UI's on all these devices would normally be a daunting task. Using embedded Flash, however, it is relativey easy to develop a single, simple, and unified interface.

Good interfaces are particularly important in point-of-sale terminals and wall-mounted security systems. Such devices are expected to have consistent interfaces across all stores or homes, respectively, regardless of user sophistication or technology underpinnings, since some locations may have newer or different product versions. In these situations, consistency contributes to customer satisfaction.

In short, if the proprietary UI software for a company's devices does not provide a significant competitive advantage -- that is, if it doesn't improve revenue, profitability, or cash flow in a direct or indirect manner -- an embedded Flash based solution may well be a more effective alternative from a cost and development resources perspective.

Porting considerations

Although Macromedia Flash is processor and operating system agnostic, it does require certain levels of hardware performance and memory resources to operate effectively. An x86 processor at 366MHz, or an ARM or XScale processor at 400MHz, will generally provide acceptable performance on all but the most complex Flash files. The embedded Flash player itself occupies 1-1.5 MB footprint, typically.


Embedded Macromedia Flash software architecture

The Macromedia Flash player has been ported to x86, ARM, XScale, PPC, MIPS, and SH4 processors, and to Windows XP Embedded, Windows CE, Linux, QNX, and BeOS embedded operating systems. Since the Flash player runs at application level and does not talk directly to hardware, the porting is relatively straightforward for developers with the right experience.

Some porting is easier, some harder. A port to a new embedded operating system presents a few challenges, whereas a port of an unsupported software interface (new browser, filter, etc.) to the Flash player is more difficult, and optimizing for hardware is harder still.

Optimizations of -- or extensions to -- Macromedia's Flash player require broader and deeper skills than those needed for a simple port. Depending on the requirements, hardware programming, graphics rendering, middleware, and operating systems kernel experience may be needed, as well as a detailed understanding of the Flash source code. In addition, after the port is completed, the modified version of the Flash player needs to be tested and verified by Macromedia on the intended target hardware before the final product can be shipped.

Macromedia also offers an SDK with source code, a test suite, and documentation for large volume device manufacturers, and porting services aimed at achieving optimal performance on embedded devices are available from Vibren.

Conclusion

Macromedia Flash offers many advantages to embedded devices. It is powerful, portable, programmable, and easily maintained and updated. And, because it has become so popular on the Web, Flash is tending to become a "must have" feature for a wide range of Web-enabled devices. Perhaps more important, the popularity of Flash has fostered a broad development community that knows how to create compelling content that delivers rich user interfaces that the end users of devices can appreciate.

The decision regarding whether to develop in-house expertise in embedded Flash or to outsource it is likely to be influenced by the company's current product mix and future product plans. In companies with long-term visions of "immersive" interfaces for their embedded devices, it probably makes sense to invest in internal Flash expertise. For short-term or isolated projects, on the other hand, companies may be better off farming out their Flash development to outside services. In either case, thanks to the growing ubiquity of Flash, companies using embedded Flash have many alternatives for Flash content development.

In summary, deploying Macromedia Flash as the basis for user interfaces in today's embedded devices is an attractive alternative to traditional approaches, and is supported by a value proposition that is both affordable and easily achievable. Embedded Macromedia Flash is a technology on the cusp of widespread adoption, and is worthy of serious consideration for next generation user-interactive device designs.


An embedded Flash case study


(Click each image to enlarge)
Macromedia has published a case study about a device maker (CorAccess) that used Flash to create "an engaging, dynamic" user interface for its Companion family of home control devices. According to the writeup, "the UI had to be able to run standalone (rather than connected to a Web browser) and had to be based on open, accessible technology for easy use by the dealers who sell Companion to home and business owners, as well as vendors who embed Companion in their products (such as lighting or home theater makers)."

The resulting product (in this case based on Linux) has been profiled in an article at LinuxDevices.com. Visit Macromedia's website for an interesting, interactive demonstration of the CorAccess Companion's Flash-based user interface. The full embedded Flash case study is also available on Macromedia's website.



About the Authors


A. Charles Beddoe has spent 32 years in the real-time and embedded systems industry, in embedded application development, real-time system deployment, and operating system development. Beddoe holds a B.Sc. in mathematics and an M.S. in computer science.

Ray Shapiro has over 25 years in the computer industry, including 10 years building embedded systems. A veteran of Digital Equipment and SystemSoft, Shapiro was a founder of Rachis Corp, which specialized in software for digital set-top boxes. He also served as Director of Embedded Solutions at Vibren Technologies from 2002 to 2005.


Related Stories


(Click here for further information)


Windows XP for Embedded Applications
This white paper describes the benefits of using Windows XP when developing embedded applications.

A Manager's Guide to Selecting a Mobile Device Operating System
This white paper offers a comparative review of Microsoft Windows CE and Windows Mobile.

Visual Basic 6.0 to .NET Migration
This paper focuses on the methodology and techniques which Infosys (Microsoft Technology Center) has developed for migrating VB 6.0 Applications to .NET. Our approach ensures a smooth, cost effective, and efficient migration.

Mobile Device Security: Securing the Handheld, Securing the Enterprise
This whitepaper identifies security threats to corporate data on mobile devices and details how mobile devices can become a "backdoor" to the enterprise.

Mobile Device Security: The Eight Areas of Risk
It's common knowledge that adding mobile devices to your network increases security risks. There are multiple facets to mobile security, all of which should be paid close attention to. This E-Guide presents a more in depth look into the eight key areas of securing wireless devices.

Quality Assurance and .NET
This paper discusses best practices for functional, regression and load testing of .NET applications.

SCADA Security in Integrated Networks
As businesses leverage their SCADA systems by integrating them into the business networks, they must also assure the security of the SCADA system.

The Advantages of Small Form Factor HMI
HMIs have mutated and changed with new requirements, and they have become more flexible and capable. And while they've been doing that, they've become smaller and more useful.

9 Critical Requirements for Web Application Security
Learn why your Web applications expose dangerous security breaches and what’s required to effectively protect your Web applications and the sensitive information behind them.

 


Got a HOT tip?   please tell us!
Free weekly newsletter
Enter your email...
Click here for a profile of each sponsor:
PLATINUM SPONSORS
(Become a sponsor)

ADVERTISEMENT
(Advertise here)

Updated! The latest Windows-powered...

mobile phones!

other cool
gadgets

HOT TOPICS
Microsoft targets PNDs with new embedded OS
Microsoft tips .NET MF 3.0 highlights
Microsoft previews Windows Embedded Standard
Microsoft offers free Windows CE 6.0 textbook
Microsoft renames embedded operating systems
Microsoft unveils Windows Mobile 6.1
New Atom models target low-cost PCs
REFERENCE GUIDES
Windows Device Showcase
Intro to Windows Embedded
Intro to Shared Source
Real-time Windows Embedded
Windows Embedded books
Join our Windows Embedded discussion forums:
Windows XP Embedded
Windows CE
Windows Mobile


Windows Embedded developer newsgroups
Windows CE
XP Embedded
PocketPC
Smartphone

Microsoft's Windows Embedded resources
Embedded dev center
Mobile dev center
Windows CE tutorials
XP Embedded tutorials
Windows Embedded seminars
Windows Embedded application categories
3rd-party partners


BREAKING NEWS

• Cortex-A8 SBCs target signage and kiosks
• Student competition offers a different kind of fireworks
• Windows CE SBC targets HMI development
• All-you-can-eat carrier launches -- sort of
• Adeneo and IntervalZero promote "soft-control" architecture
• App creates virtual serial ports in Windows CE
• Windows satellite phone service takes off (literally)
• Bsquare and Microsoft renew key distribution agreement
• Software syncs HTC phones with Macs
• Electricity meter runs Windows, talks to Google
• Windows device is two phones in one
• MIcrosoft's online store to debut with 600 Windows Mobile apps
• Windows Mobile gets upgraded Skype VoIP client
• Panel PC targets outdoor use
• Samsung shrinks ARM11 application processor


MOST POPULAR (last 90 days)
• "Netbook" uses Intel's Atom N270
• Windows CE takes on Linux in low-end netbooks
• HTC ups Touch resolution
• Microsoft unleashes new embedded OS
• Windows Mobile phone gets 800 x 480 display
• HTC spins WiMAX phone?
• Smart camera sports Atom
• Dual-core AMD netbook gets rave review
• Windows Mobile 7 "delayed"
• GPS phone uses new Marvell "Tavor" chip
MOST POPULAR (Classics from the vault)
Windows XP Embedded USB boot
Troubleshooting Windows XPe's blue screen "Stop 0x0000007B" error
Asus reveals $190 mini notebook
Windows Mobile 6 SDKs available for download
Windows Mobile VPN client plays with Cisco
HTC adds GPS to Windows Mobile Touch line
Microsoft unveils Windows Mobile 6.1
Guide to HTC's Windows Mobile smartphone platforms
• HTC releases Touch Diamond ROM upgrade
Customizing Windows XP Embedded thin clients

Also visit our sister sites:


Sign up for WindowsForDevices.com's...

news feed

Or, follow us on Twitter...



Home  |  News  |  Articles  |  Polls  |  Forum  |  Directory  |  About  |  Contact
 

Ziff Davis Enterprise Home | Contact Us | Advertise | Link to Us | Reprints | Magazine Subscriptions | Newsletters
Tech RSS Feeds | White Papers | ROI Calculators | Tech Podcasts | Tech Video | VARs | Channel News

Baseline | Careers | Channel Insider | CIO Insight | DesktopLinux | DeviceForge | DevSource | eSeminars |
eWEEK | Enterprise Network Security | LinuxDevices | Linux Watch | Microsoft Watch | Mid-market | Networking | PDF Zone |
Publish | Security IT Hub | Strategic Partner | Web Buyer's Guide | Windows for Devices

Developer Shed | Dev Shed | ASP Free | Dev Articles | Dev Hardware | SEO Chat | Tutorialized | Scripts |
Code Walkers | Web Hosters | Dev Mechanic | Dev Archives | igrep

Use of this site is governed by our Terms of Service and Privacy Policy. Except where otherwise specified, the contents of this site are copyright © 1999-2008 Ziff Davis Enterprise Holdings Inc. All Rights Reserved. Reproduction in whole or in part in any form or medium without express written permission of Ziff Davis Enterprise is prohibited. Windows is a trademark or registered trademark of Microsoft Corporation in the United States and/or other countries and is used by WindowsForDevices under license from owner. All other marks are the property of their respective owners. WindowsForDevices is an independent publication not affiliated with Microsoft Corporation.