| Last Modified On : | April 29, 2009 7:13 PM PDT |
Rate |
|
In my last article, I reviewed the extensive opportunities to develop great applications for use on MID class devices, and specifically such devices powered by the Intel® Atom™ processor. In this article, I’ll take a closer look at what you need to consider when deciding to port existing x86 applications to an Intel® Atom™ microarchitecture.
Surveying the press, technical commentary and vendor positioning for MID class devices, it’s fair to say that no one has accurately or completely defined the space they potentially occupy, either in the technical sense or from the consumer perspective. Even so, given the current state of the world economy, the demand for these devices is astonishingly durable, largely because of their affordability as mobile connectivity solutions. This poses something of a dilemma for developers. While MID class devices offer an obvious opportunity for innovation, it is difficult to make a platform targeting choice in an immature market space. There are, however, a number of basic questions you need to ask when deciding on what legacy code you should port to an Intel® Atom™ processor-powered device.
Here are some key questions you should consider when deciding which legacy apps make the best porting candidates:
An old bit of wisdom tells us that a rising tide lifts all boats. In the technology business, standards have always been this tide. And while a standards process is typically collaborative, the basis of a standard always arises when a single, key player comes forward with an evolutionary vision and can back it up with financial resources and market share. At the end of the day, when it comes to standards, numbers matter, branding matters, and foresight matters. The Intel® Atom™ processor and the Intel® x86 legacy code base have all three:
#2: Which business processes and use cases in the existing x86 code base offer the best porting candidates for rapid Intel® Atom™ processor class device exploitation?
From a solution designer’s point of view, the mobile device based on the Intel® Atom™ processor serves as the entry point to an architecture, for participation in the connected mobile work style, and a highly flexible personal tool for extending the reach of existing business processes.
In the context of the solution you have in mind, what does “mobile” mean? For example, if “mobile” means “connected”, then you need to consider what a MID can do beyond what a phone does. But if “mobile” means ultra-portable access to big computing iron and heavy lifting client/server functionality, you need to consider why notebook or netbook portability isn’t sufficient. You need to decide what it is that the MID class device will do that the phone does not do.
#3: What is the protocol for evaluating the porting potential of existing x86 code base assets?
In the world of low power devices, the Intel® Atom™ processor occupies the enviable position of being “heir apparent” to the world’s largest code base, the x86 legacy. This means that enterprise and institutional IT strategists looking to extend the reach and flexibility of existing business process tools and support plenty of reasons to target the Intel® Atom™ processor and the powerful, inexpensive, highly mobile devices it enables. To wit:
Ironically, these pragmatic motivations are also why mobilizing existing solutions is demanding of discernment and discipline on the part of pioneering MID architects. Approaching mobile devices powered by the Intel® Atom™ processor like tiny notebooks or really big smart phones misses the unique and inherent opportunity in this new device class, and will definitely miss the usability mark.
Begin with a clear eyed, realistic evaluation of existing assets, time lines, budgets, and goals. From a technical perspective, you need to be able to answer the next three questions with a high degree of confidence in order to choose porting candidates that will perform well on the devices, stay on schedule, and produce early financial returns:
#5: Can the porting candidate function effectively and respect small device constraints?
In a best case scenario, well designed x86 legacy code could port extremely rapidly to a device with an Intel® Atom™ processor if it rigorously observes separation of concerns. Being able to completely separate the presentation layer from business logic and server side infrastructure reliance translates to a dramatic reduction in recoding and testing costs, but developers will still need to take a new reality into account: Applications must be designed to handle a disconnected state gracefully, whether or not the disconnection was initiated intentionally by user or application.
Application state management: Certain behaviors that work well on the desktop are anathema to battery-powered devices. In general, any behavior that keeps the processor from idling is prohibitively power-expensive. Polling a server is a good example of this perverse behavior: The device has to keep track of a timer, sends streams of queries which usually provide nothing useful in response, and has to maintain the overhead of a constant connection. For most devices with an Intel® Atom™ processor, connected battery life is about half that of unconnected battery life. “Spinning” the processor also incurs dramatic reductions in battery life. If dynamic update is required, it is much more power efficient to set the process up as a “push” from the server end.
Conservative use of device resources: Along with powering the antenna and the processor, drawing the display is the big battery power consumer. Screen brightness is the most obvious consideration here, but there are a few other operations that can be optimized to great effect.
Summary:
Rapid, successful, cost controlled application implementation on mobile devices with Intel® Atom™ processors are chiefly a matter of carefully selecting existing x86 applications to port. The best candidates will have most of these features:
Link to other parts of this series:
Part 1: A New Class of Internet Devices
Part 3: Choosing Optimization Candidates
Part 4: Hands-On Debugging Guide
About the Author
Nancy Nicolaisen is an author, researcher and veteran software developer specializing in mobile and embedded device technologies. Her feature articles, columns and analyses have been internationally circulated in publications including BYTE, PC Magazine, Windows Sources, Computer Shopper, Dr. Dobbs Journal of Software Engineering, Microsoft Systems Journal; She is author of three books: Making Windows Portable: Porting Win32 to Win CE (2002, John Wiley & Sons); The Practical Guide to Debugging 32 Bit Windows Applications (1996, McGraw Hill); and The Visual Guide to Visual C++ (1994, Ventana Press) available in five foreign language editions. In 2007 she served as technical advisor for the development of the Microsoft Professional Education course titled "Designing, Building and Managing Wireless Networks". Ms. Nicolaisen is currently active in exploring open source technologies and trends for mobile, embedded and wireless devices. In terms of power management, one of the costliest operations on a mobile device is the use of high contrast screen lighting. For this reason, determining the environments in which a mobile application will be used is a key consideration. Variations in ambient lighting have a dramatic effect on the usability of mobile applications. For more on application-level power optimization, read Energy Efficient Software.
| November 13, 2009 1:53 PM PST
mahmoudgalal
| is there any comming parts for this article |

southsidesmoka
105
Status Points:
55
CCK