Adapting Existing Applications to Work on UMPCs The Ultra-Mobile PC (UMPC) presents a new opportunity for existing applications to extend their potential audience. Microsoft® Windows® desktop applications can mobilize onto the UMPC platform, providing users with desktop functionality while on the move. Windows Mobile™ device applications can take advantage of the larger screen size and storage space of the UMPC to extend the application capabilities. Whether you are a Windows Mobile device developer or a desktop application developer, the UMPC provides exciting new opportunities for your applications to reach users who might not have previously enjoyed interacting with your software. In order to provide the best user experience on the UMPC, your application is likely to require some user interface changes. If you are looking to extend the reach of your Windows Mobile application, there may also be some functionality changes required. | " | To resolve the lack of hover support, you need to think about what other visual clues you can provide to the user.
| " |
This article will walk through two scenarios: changing an existing desktop Windows application to work well on the UMPC, and then repeating the process but this time with a Windows Mobile device application. The goal in both scenarios is to maintain a single code base that creates an application that continues to run on the original target platform but also provides a great user experience for a user running on an Ultra-Mobile PC. You can download all the code for this article from http://Roodyn.com/WorkOnUMPC.ashx Adapting a PC Application to the UMPC A UMPC is a full PC, running the full version of the Windows operating system. This implies that a PC application should “just run” on a UMPC and it will. However, there is a slight hitch; most PC applications are built with a view that the user will be driving the application with a mouse, the screen size will be at least 1024 x 768 pixels, a keyboard is attached to the computer, and users eyes will be approximately between 20 and 30 inches from the screen. A user is likely to drive a UMPC application with either their finger or a stylus. The default resolution for the UMPCs available today is 800 x 480 pixels. Many of today’s UMPCs will not have a keyboard attached. Microsoft designed the UMPC to be held in the hand and the user’s face is likely to be approximately 10 to 15 inches from the screen. With these differences in mind, you can create a UMPC version of an application. The sample PC application converted in this article is a simple picture viewer that allows the user to build collections of pictures to browse-think of the collections as playlists for pictures. Figure 1 shows the application running on a UMPC before it has been converted. You can see that the window has been squashed to try and fit it within the screen size and the right edge of the window is off the screen. The toolbar buttons are small; unless you have delicate little fingers these would cause an issue for most users.  Figure 1: Windows application running on a UMPC.If you run this application on a PC with a larger screen and a mouse you will notice that the default size for the main windows is a quite large 1000 x 700. You will also notice that each toolbar button shows a tooltip when the mouse pointer hovers over the button. These tooltips provide the user with information as to the function of each button. With a UMPC being operated by finger there is no concept of hover. Unlike an active digitizer Tablet PC, the UMPC touch digitizer provides no means to hover with a stylus or your finger. Tooltips, such as those used on the toolbar buttons, are useless for a UMPC application. The TreeView and Menu controls will also likely present some issues for a UMPC user using their finger to interact with the screen. You can address the size of the buttons, TreeView control nodes, and the menu by simply increasing their respective sizes and font sizes. Microsoft provides a document on MSDN® called the “Mobile PC User Experience Guidelines for Developers” (http://msdn2.microsoft.com/en-gb/library/ms695565.aspx), which addresses many issues such as control sizing. To resolve the lack of hover support you need to think about what other visual clues you can provide to the user. In this case, changing the toolbar button style from Image to ImageAndText provides informative text on the buttons. You can resolve the issue with sizing the form by ensuring the form is never bigger than the working area of the screen. You should then position the form in the center of the screen. The code in Listing 1 provides an example of a simple approach you should consider. In order to support features, such as changes in screen orientation, you will need to get a little bit smarter. I will explain this further in the next section as Windows Mobile applications need to deal with orientation changes as well. You can see the final result of these changes in Figure 2. The controls are far more finger friendly. As the UMPC is a full PC there will be no issues with functionality needing to be changed; it is simply a case of ensuring the user interface provides a better experience for your users.  Figure 2: Windows application after the user interface changes. |