Developer's Guide to Intel® Atom™ Processor (part 3 of 4)

Submit New Article

Last Modified On :   May 5, 2009 11:57 AM PDT
Rate
 


Optimizing Browser-Based i86 Applications for Intel® Atom™ Processor Mobile Devices


Strategic evaluation of optimization potential is the first step in moving existing browser-based applications and content to small-display, battery-powered devices using the Intel® Atom™ processor. First-cut identification of good optimization candidates should determine how well a particular application's user interaction patterns mesh with the physical and cognitive characteristics of mobile internet devices (MIDs). MIDs aren't just small versions of desktop or laptop computers: They have unique strengths but also very real limitations that you must take into account to successfully leverage an existing Intel® code base.

To make the first cut at choosing the right optimization candidate, keep the following points in mind:
  • Understand what constitutes an ideal MID application from a user's point of view, then select candidate applications for optimization based on their potential for congruency with these expectations.
  • Identify applications that could immediately deliver a return on investment (ROI) in MID-based solutions.
  • Recognize showstoppers in the existing code base, and intelligently adapt to the inherent limitations of power constraints and display size.
The Ideal MID Application
An application that you can streamline to run, yield to other processes, and degrade gracefully in an environment that accommodates most of the features in the list that follows is a good optimization candidate. Typically, getting there from a standard desktop or laptop code base involves trimming redundant, overlapping, and nonessential features, then revisiting your user interface (UI) design. User expectations include:
  • Instant-on and fast application launch.
  • Long battery life, even for connected operation (four or more hours).
  • Flexible communications options (Wi-Fi, Ethernet, Bluetooth, or wireless wide area networking).
  • Easily comprehensible visuals at sizes of 3.5-8 inches.
  • Intuitive, streamlined navigation.
  • Fast, seamless access to cloud-based interactions, media and content delivery, social networking, and the like.
  • Support for hybrid interface technologies-in particular, touch screens.
  • Premium user experiences that emphasize emotional components like "immediacy," "fun," and "community."
Applications with Immediate ROI
There are entire classes of enterprise applications that currently aren't mobilized and that constitute a suboptimal use case or are mobilized on more expensive devices (and that would mean more expensive to own, operate, and support). Some of these classes are niche specific-for example, the expanding uses to which radio-frequency identification (RFID) and smart cards are being applied. Others are mainstream enterprise thin-client solutions-a broad category that embraces traditional enterprise application software, services, and tools.

In addition, MIDs pose a significant consumer opportunity. Because of low price points and accelerating adoption in the developing world, the Intel® Atom™ processor MID/Windows* XP-powered device may be well positioned to become the first transcendent global standard as a platform for popular culture. This application category embraces content aggregation, media distribution, and dynamic social engagements-for example, social networking and communications.

Adapt to Showstoppers
Early consumer feedback on the MID class is mixed when it comes to the standard browser experience. Because displays are very small, few MIDs can display a full browser page-a limitation often addressed by forcing users to scroll back and forth, up and down. Adapting presentation formats to account for display sizes and resolutions is key to user acceptance in the MID niche. In particular, the "flatness" of the navigation hierarchy is critical to a good user experience.

Additionally, although most MIDs advertize three or more hours of battery life, this longevity is entirely contingent on the assumptions that applications are both well behaved and intelligently power optimized. Certain operations that would be insignificant in a desktop or laptop environment can drain small device batteries rapidly. If power-hungry behaviors can't be designed out of an application, it isn't a good MID candidate. In general, display backlighting and powering the antenna have the largest battery impacts. Another key software design requirement for MID applications is use of coding techniques that allow the processor to idle.

While battery draining characteristics generally disqualify an app as a porting candidate, there certainly are cases where an app which would kill a battery quickly might be a wonderful MID application. In these cases, there are still things apps can do to reduce battery consumption. Frequent recharging or plugging in might also be acceptable options for users of high value mobile apps. One such usage: flight computers in small aircraft.

Typical MID Optimization Challenges and Strategies to Handle Them


Challenges to optimizing applications for MID use include the cognitive implications of small displays, limitations to UI navigation, and managing application state for the MID form factor.

Cognitive Implications of Small Displays
Appropriate design of UIs for MIDs demands an appreciation of how the human brain processes information gathered from small areas like MID displays. Here are two cognitive considerations that influence the usability of small device applications and content:
  • Readability. Small displays can't be read with the same sort of acuity or rapid comprehension as the full-page formats of traditional books and laptop/desktop displays, because reading is a highly integrative cognitive process-not just a sequential, linear traversal of printed words. Accomplished readers unconsciously scan the page, preferentially identifying nouns and phrases. Punctuation is key to the scanning process, because it paces the brain's information acquisition, showing the reader where to slow down, stop, or focus. Cognitively and visually, punctuation is emphatic, because it is typically followed by a noticeable region of white space. For purposes of reading comprehension and speed, white space is a key cue as to what information should be given the most weight. Small-display devices don't support high-level cognitive reading processes well because of their limited visual scanning area. Tiny display sizes make it impossible for the user to employ punctuation to determine emphasis and structure, because several sentences must be simultaneously visible to acquire punctuation cues. Scrolling or frequent page transitions interrupt continuity, thereby further reducing comprehension and reading speed.
  • Blink time. The average person blinks every 2-6 seconds. For small objects like a MID display, the human brain is wired to assume that it should be able to decipher, analyze, and store information in a single blink cycle, or at most a few blink cycles. This, coupled with considerations relating to reading comprehension on small devices, means that navigation and UI controls need to be visual, streamlined, limited in number, unambiguous, and intuitive.
UI Navigation Issues
Best practices for optimizing browser-based application and content navigation for the small display have grown up in the smart phone space and transfer well to the MID application space. Clarity and simplicity of navigation is a make-or-break issue on small devices:
  • Use on-screen soft keys for operations like Next, Previous, and Done to make certain that the user always has visual cues about the flow of the application. Best practice is to offer soft key controls that are big enough to see at a glance and easily accept input from a fingertip.
  • Use visual separation to relate Next and Previous soft keys and to isolate Done. Visually isolate Done by positioning it further from the other two keys than they are from each other.
  • Be consistent about soft key placement so that users can operate the application in poor lighting conditions. Be consistent about the meaning of soft keys to establish a usability "contract of trust and predictability."
  • Very frequently performed operations deserve their own soft keys.
  • Breaking forms or complex input screens into "decks" of pages can work to downsize a UI, but only if there is constantly available, easily understood navigation between sequential "cards," the application home page, and the device home page.
  • For display of actionable information, don't plan to rely on scrolling to any large extent. If scrolling is appropriate or necessary, scroll content, but don't allow navigation controls and soft keys to scroll outside the user's view.
Application Management
Browser-oriented MID applications and content have two types of "state" considerations: first, the ordinary issues related to statelessness of Web applications in general, and second, issues that arise from the intermittent connectedness of MIDs. A well-designed MID application should degrade as gracefully as possible when connection is terminated, because powering the device antenna is the second most battery-consuming operation. Savvy users will want to get content while connected, store it locally, and enjoy it repetitively to prolong battery life. Here are key considerations for optimizing application state management on MIDs:
  • Save any user input locally. Passwords are an exception, unless the user was offered a choice and elected to store them.
  • Save the user settings, data, and input relevant to a particular operation until the operation has either successfully finished or been terminated by the user. Ensure that these items persist across application activations.
  • Save overall application state, including whatever data and resources are necessary to redraw the page.
  • When the user resumes an application that wasn't explicitly closed after the last use, reposition the user at the point where he or she exited.
  • Rapid launch is a fundamental user expectation. Applications that require the user to have a valid license (think live sports or music) should check the license as infrequently and as intelligently as possible. For example, check near the known expiration date but not every time the application launches.
  • To the extent possible, avoid presenting the user with setup and configuration questions. Instead, get the necessary information using device capabilities application programming interfaces (APIs).
  • One of the big advantages MIDs have over smart phones is the relatively unfettered and unrestricted use to which you can put cookies. Revisit a candidate application's use of cookies, and fully exploit them for creating application-specific local caching that will help speed launch, improve the grace with which an application handles a disconnect, supplies auto-complete text, and the like.
Working with Designers to Create Effective Graphical Elements
Early usage pattern research shows that consumers are often attracted to MIDs as entertainment devices, using them to watch live sports, Internet TV, and music performances. It's very likely that early successes in the MID content space will involve collaborations between software developers and graphics specialists. In this partnership, leadership from the technical side will help designers create satisfying and entertaining content that uses the best features of MIDs but respects the inherent limitations of a small-display, battery-powered device. Here are some key principles:

Intuitive comprehension of an image typically relies as much on the empty space around the subject as the actual depiction of the subject. Artists and designers call this empty area negative space, and it is often the most significant feature of a good design (think logos and other service marks, including stylized text). The small size of the MID display basically makes it impossible to effectively use negative space as a significant design element. For a graphical element to be effective across a range of MIDs, designers have to use a different set of tools to achieve good application visuals:
  • Use a single, uncomplicated subject, and crop it very tightly.
  • Use a limited palette of high-contrast colors, eliminating subtle color transitions.
  • Use heavy, distinct lines, bold shapes, and simple designs.
  • Avoid the use of processor-intensive rendering techniques, and favor the use of fast drawing and filling methods.
Transmission rates have significant influence on audio and video quality and, by extension, on user experiences. Significant consumer interest in cloud content on MIDs makes it important to be aware of and account for the transmission rates at which users consider quality acceptable. Research has shown that most people regard a mobile video experience as "good" at a video frame rate of five frames per second and an audio rate of 12 kilobits per second. (Video depicting fast action requires higher frame rates to receive a "good" rating.) If the connection speed falls below these rates, images appear pixilated or smeared. Here are some guidelines for creating high quality video content for the small display:
  • Crop tightly to the subject. Cut between shots rather than panning.
  • Avoid wide-angle shots, and keep them short where their use is a necessity (for example, establishing location).
  • Shoot close-ups as much as possible.
  • When shooting fast action, shoot objects moving directly toward or away from the camera to reduce frame rates necessary to convey the action. Use stop action and replay to compensate the viewer for technical tradeoffs made to hold frame rates down.
  • When displaying text features and signage like scoreboards, support the image with explanatory audio, as it is unlikely they'll be completely legible.
  • It is possible to repurpose or multi-purpose video captured for larger display formats, but it requires planning. Small devices use a much smaller color palette; many shots will require cropping or need to be dropped altogether.
  • Consider the possibility of caching scaled content or resizing content on the server side. This minimizes the volume data sent to the MID and takes advantage of the server's wall power to do computationally intensive jobs, conserving power necessary to support processing and antenna time on the small device.
Audio is the most important feature of a quality content consumer experience. A vast body of user acceptance research shows that consumers will overlook occasionally faltering video quality if images are supported by satisfactory audio. This is good news for content providers, because acceptance seems to level off at an audio transmission rate of around 12 kilobits per second. Less than that is unacceptable to most people, but more doesn't add significantly to user satisfaction, which effectively means that the entire amount of bandwidth above the audio requirement can be devoted to improving video throughput.

Finally, remember that optimizations need to be done based on the types of workloads involved. For fixed workloads, optimize for performance so that the task is finished sooner and the CPU can step to lower power states. For steady state workloads (such as video playback), optimize performance to allow the CPU to continually run at a lower state. In the case of video playback, ways to accomplish power step down include lowering video quality, lowering frame rate, or reducing the size of the window in which the video is displayed.

Getting Started with Quantitative Performance Analysis for Local MID Applications


The Intel® VTune™ Performance Analyzer is a tool for quantifying which applications-and which parts of applications-may rapidly and successfully be tuned for local high performance on a small device. The optimization considerations for local applications and content are inherently different from those in browser-based scenarios. Discovering how to get the last bit of performance out of the MID platform while still sparing the battery requires empirical comparison of optimization approaches. VTune™ Performance Analyzer provides fast, definitive performance metrics for code running on a small device, highlighting inefficiencies that could cost battery life or have the potential to create instability in a limited operating environment. The local mode of operation is important, because it can extend device battery life by a factor of two and is a second, distinct area of opportunity for content and application development on Intel® Atom™ processor based devices.

You can try the Intel® tools at no cost, but Microsoft* Visual Studio* is a prerequisite, as the Intel® tools are add-on components. Table 1 provides links to download everything necessary to explore and quantify MID optimization candidate performance. An upcoming article on optimizing local applications on MIDs will examine the Intel® tools and their uses in depth.

Table 1. Development Tools for Evaluating Performance of MID Optimization Candidates

Tool URL
Microsoft* Visual Studio (90-day free trial) http://msdn.microsoft.com/en-us/evalcenter/bb655861.aspx#
Intel® Compiler Suite Professional Edition for Windows* - Evaluation (30-day free trial) http://www.intel.com/cd/software/products/asmo-na/eng/388198.htm
Intel® VTune™ Performance Analyzer (30-day free trial) http://www.intel.com/cd/software/products/asmo-na/eng/239144.htm

Table 2 provides additional resources for developers interested in the MID platform.

Table 2. Further Reading for MID Developers

Tool URL
"Using VTune™ Performance Analyzer for Intel® Atom™ Processor on Windows* XP" http://software.intel.com/en-us/articles/using-vtune-atom-windows
"Using the VTune™ Performance Analyzer Sampling Collector for Mobile Internet Devices" http://software.intel.com/en-us/articles/sampling-collector-mid
"Developing Applications for Netbooks and Ultra-Mobile Devices under Microsoft* Windows*" http://software.intel.com/en-us/articles/developing-applications-netbooks-umpc

Looking Ahead: Preemptive Debugging, Tuning and Stress Testing Strategies That Speed Optimization for Windows Targeting Intel® Atom™ Processor Solutions


In the next installment, we explore tools and techniques that can help empirically validate optimization decisions and choices. For many solution architects, the decision to pursue a MID-based product or service is the product of a strategic analysis about how to deploy to an ultra-mobile, connected audience as rapidly as possible. The key to getting the fastest deployment of repurposed apps and components, is to understand how debugging, stress testing, and tuning tools can speed optimization and provide a significant "time to market" advantage for mobilizing content, entertainment, social networking, and business process apps.

Link to other parts of this series:

Part 1: Developer's Guide to Intel® Atom™ processors
Part 2: Choosing Porting 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.