| Last Modified On : | October 16, 2008 9:21 AM PDT |
Rate |
|
Developers who want to get started with creating applications for the Ultra-Mobile PC (UMPC) and Mobile Internet Device (MID) generally already have many of the development tools and skills they need. Since these devices run full versions of Windows* and Linux* operating systems, developing for UMPCs and MIDs is more of a variation on a theme than an utterly new undertaking. By building the right core development environment and then taking advantage of developer toolkits available from Intel and elsewhere to augment it, developers can get started quickly in meeting the challenges associated with UMPC and MID development. This article guides the reader in rounding up their tools of choice for both Windows and Linux development, helping to make developing for these platforms an extension of the work they are already doing.
The availability of UMPC and MID devices clearly represents an opportunity for software companies to reach a new market segment, and many vendors are considering how best to take advantage of it. An important part of the value proposition to software companies is that development for these devices is very similar to development for conventional PCs. Thus, those companies can take advantage of existing tools and expertise to update their products to take advantage of the UMPC and MID platforms.
Perhaps the first thing to recognize when getting ready to develop software for UMPC and MID devices is that the development tools, APIs, and skill sets are very similar to those associated with developing for other x86 platforms, such as conventional laptops. Typically, developers will want to create software on a standard laptop or desktop PC, using an actual UMPC or MID only for testing purposes.
It is possible to run development tools on a UMPC or MID device, but because of their small footprint—such as memory and hard-drive constraints—most programmers choose not to. Typically, you will find the inefficiency of moving between hardware during the test and debug phases to be less of an imposition than coding on an actual UMPC or MID. A variety of tools, discussed in this article, helps to streamline this process.
Windows developers are likely to choose Microsoft Visual Studio* as an IDE, adding elements to suit their personal tastes as well as the needs of supporting issues like mobility and touch-screens. Linux developers can use their tools of choice, while also taking advantage of various open-source initiatives that will help them to efficiently make high-quality applications for these platforms. Both types of developers also benefit from the enormous availability of existing applications, drivers, libraries, and other resources for x86 devices.
Both Windows and Linux developers can benefit from the use of Intel® Software Development Products like compiler s, libraries, and analyzers that streamline the effort to achieve high performance on Intel® architecture-based devices. Intel and others also make a variety of developer toolkits that facilitate ultra-mobile software production. The primary scope of all these offerings is discussed in the following sections of this article.
The most obvious issues at stake in moving from conventional PCs to UMPCs and MIDs are related to the physical differences in the platforms. Before anything else, one must consider the small display (about five to seven inches), the lack of a keyboard and mouse, the addition of touch-screen input, and the availability of hardware buttons on the typical device. With a grasp of these issues in hand, one can turn to matters of enhancing usability, which aids in the quality of the final software product and helps to build customer acceptance and adoption.
To facilitate the bridge between conventional PCs and UMPC/MID devices, the developer can take advantage of a couple of tools from Microsoft and Intel, discussed below:
These simple, free tools can greatly enhance development efficiency. Because UMPC devices have been on the market longer than MIDs, these tools focus on that class of device. They are currently also limited to use on Windows machines. As the market matures, these tools may multiply and to provide enhanced support for more device types.
Intel® Mobile Platform SDK v1.2 Open Source Project
Intel Corporation is providing the Intel® Mobile Platform SDK 1.2 as a free, open source project to give the developer community an innovative solution for developing mobile-aware applications. The powerful feature set of the Intel® Mobile Platform SDK 1.2 enables developers to create efficient, reliable software that adapts to fluid mobile computing environments.
For more detailed information please visit: Intel Mobile Platform SDK.
Another core resource for developers is a set of toolkits from Intel that allow them to more efficiently meet the design challenges associated with mobilized software, including developm ent for UMPCs and MIDs. These tools are designed specifically to assist in the creation of software that can be used across multiple platforms and runtime environments, which makes them well-suited to the challenges associated with creating products that support laptop PCs, UMPCs, and MIDs from a single code base.
Using the software and technology development kits (SDKs and TDKs, respectively) discussed in this section, applications can be effectively mobilized to meet primary challenges associated with creating mobile software for ultra-mobile devices. As part of this effort, applications must be able to operate smoothly as network connections come and go, manage power consumption to provide optimal battery life, take good advantage of the hardware resources such as memory and disk space available from the device, and adapt effectively to the amount of network bandwidth available.
Windows support for ultra-mobile platforms is provided by both Windows XP Tablet PC Edition 2005* and Windows Vista*. Many of the pen and ink support features that were formerly supported only in the Windows XP Tablet PC Edition are now supported in all versions of Window s Vista. Visual Studio is the usual center of the development environment for Windows-based UMPCs and MIDs.
To create the actual development environment, on either Windows XP Tablet PC Edition 2005 or Windows Vista, you must first install the extra drivers for things like wireless, screen rotation, and other hardware-specific actions. Microsoft recommends the following list of installed packages in order to develop for ultra-mobile platforms; all of them are available from http://www.microsoft.com/downloads/* except where noted:
For further research on Windows development for the UMPC and MID, visit Microsoft's UMPC developer center.
Analogously to the Windows environment, Linux developers have the full range of Linux developer tools available to them when building software for the UMPC or MID. Many will choose to use tools from the GNU Free Software Foundation*, including the following core components:
In addition, a variety of tools are available to augment the development environment for mobility. For example, the GNOME Mobile & Embedded Initiative* is another open-source initiative that is working on the development of mobility-s pecific development tools and components. This initiative targets a wide variety of mobile device types, and APIs are available for developers using C, C++, or Python, with components under consideration for the Java* Mobile & Embedded platform (Java ME*).
Another open-source initiative of interest to the mobile Linux developer is the Mobile Internet Linux* Project*, which is sponsored by Intel with the stated goal of accelerating the development of cross-platform mobile Linux solutions. The growing community surrounding the initiative is working on a variety of tools and components that are useful in developing software for the UMPC and MID, as well as other mobile devices, such as smart phones. The project also has involvement from several makers of mobile Linux distributions, such as Ubuntu*, Red Flag, and Pepper Linux.
Once the primary development environment is built, Intel® Software Development Products can help both Windows and Linux developers speed up application tuning for UMPCs and MIDs. These products are designed to integrate smoothly with popular development tools like Microsoft Visual Studio 2005*, Eclipse*, and the GNU toolset:
As software vendors consider how to take advantage of the opportunities offered by the arrival of UMPC and MID devices, they have a tremendous head start in terms of development tools. The environment that programmers already use every day forms the basis for developing ultra-mobile applications, and a variety of other free and commercial tools from Intel and third parties complete the picture.
Because UMPCs and MIDs run full versions of Windows or Linux operating systems, it is viable to create software that runs on these devices as well as conventional PCs from a single code base, as long as appropriate accommodations are made for differences in form factor. For an examination of how to meet those challenges and to make software deliver a great user experience, see the companion whitepaper, "Meeting Key Challenges in Developing Software for UMPCs and MIDs."
The following materials provide a point of departure for further research on this topic:
Matt Gillespie is an independent technical author and editor working out of the Chicago area and specializing in emerging hardware and software technologies. Before going into business for himself, Matt developed training for software developers at Intel Corporation and worked in Internet Technical Services at California Federal Bank. He spent his early years as a writer and editor in the fields of financial publishing and neuroscience.

English | 中文 | Русский | Français
Matthew Gillespie
|