I’m back…with more development!
I haven’t been on here a while and I apologize for that. This summer has been a busy one for me – first in summer school for AP Macroeconomics for 6 weeks and then I went back to India for 4 weeks. I’m back now and of course, school starts in 2 days. But I have been doing some WinMo stuff over the past 2 months. However, I haven’t been working on my OnDemand customization. Instead, something bigger has caught my attention.
Ever since Da_G over at XDA-Developers created a thread about the Image Update system, I’ve been following and developing some of my own software. For those who don’t know, the Image Update system allows for you to update the IMGFS and XIP partition of your phone via cab files instead of flashing the device and losing all personal data/installed applications. To make this mechanism work, which has been present in Windows Mobile since WM5, all of the DSMs (Device Side Manifests) need to be in the proper MS format. Unfortunately, all of the current kitchen tools that we use for ROMs malform these DSMs or completely remove them from the ROMs. Because of that, I’ve been working on applications that will make Image Update work properly. In June, I was able to create two applications – one that regenerated DSMS from scratch in the exact same way MS’s tools are supposed to work. The other would create the Image Update packages and sign them - they produce the same results as the ones generated my MS’s tools as well. I’ve been working to consolidate them into one app that will also act as a ROM kitchen that adheres to MS’s documentation (for the most part :D).
For those who are interested, you can check out Da_G’s thread in the Dev & Hacking section of XDA (I’m too lazy to link to it right now :D)
Related posts
3D phone UI concept
What if the graphics on your mobile seemed to have real depth? Imagine tilting your mobile so you can look around corners and behind objects in the GUI to access additional information. Imagine layered GUIs where pop-up windows really pop up. With eye-tracking and the real 3D capabilities of TAT Cascades, this is now possible.
This is a very nice idea, how to make the phone UI appear as 3D environment. I can imagine this, really working on phones with G sensor.
I am not quite sure, why they call it EyeTracking, as i think it cannot work with that.
But this idea is great!
Some other great ideas by TAT
http://www.tat.se/site/products/cascades.html
TAT CASCADES™
TAT Cascades is a UI framework for the production of advanced user interfaces. TAT Cascades makes it possible to quickly and easily create and customize unique user interfaces with unmatched graphical capabilities, giving consumers a richer and more dynamic experience.
Traditional UI frameworks do not allow creation or modification of the user interface without having a major impact on the UI software. This results in long development times, limited creativity, and a lower user experience quality.Embedding TAT Cascades on your device provides a UI technology that not only enhances the experience of your applications, but also enables mechanisms for creating and customizing application UIs faster than other UI solutions on the market.
TAT Cascades utilizes a design principle that separates the application logic from its appearance. Combined with a declarative programming model that reduces both the amount and the complexity of code, TAT Cascades offers a range of UI controls (such as menu, form and button) and mechanisms for creating the best possible user experience in shorter development times.
Using TAT Kastor as the rendering engine for TAT Cascades enables a range of advanced layouts, animations and special effects for creating a rich user interface. Since UI controls are decoupled from their look and feel, this allows for extensive skinning to target a wide range of users and types of devices.
Related posts
Proxy Fun
In the previous post Hijacking Mobile Data Connections , Mobile Security Lab pointed out how an attacker could gain full control on mobile data connections originated by mobile phone.
For the beginning, you may wat to read little info about XML provisioning by utak3r.
This could be achieved by reconfiguring the DNS address on victim’s mobile phone with one controlled by the attacker, by means of OMA provisioning SMS. However, during our tests some mobile phones resisted to this attack, due to the fact that, despite supporting OMA provisioning, they don’t honour configuration requests of DNS address, neither locally nor remotely.
But, as we said, OMA provisioning allows for setting other parameters than DNS; among them there are the proxy settings.
In mobile world, a proxy isn’t different from any other environment: it is a software component that is located between a client, in this case a mobile phone, and a server on Internet; any standard HTTP proxy can be used for an HTTP mobile client.
In our experiences we have noticed that the proxy settings are widely used by several operator services, mainly for delivering MMS messages.
On the other side, an attacker could use proxy configuration to hijack the victim traffic, HTTP and HTTPS, and redirect it towards an IP address under his control. Still the victim, after having installed the rogue configuration, will be unaware that a third party, the attacker, is eavesdropping the data traffic.
Hijacking by means of a proxy configuration has some differences with respect to DNS configuration, apart from being supported by a few more phones:
- Proxy component is enough to redirect user’s data traffic.
- The proxy port could be set to a different value, other than the standard TCP/80. This could be useful for the attacker to overcome some firewall restriction.
- While the operator could block DNS traffic to outside of its network, in order to mitigate attacks to DNS settings, it may be difficult to restrict access to HTTP proxies over Internet;
The limitation, of course, is that only HTTP-based services could be hijacked; this excludes email and most dedicated clients.
To be more technical, let’s shows a simple proxy configuration:
In order to provide new proxy configuration it is necessary to use the two characteristic, PXPHYSICAL and PXLOGICAL as described in provided in Provisioning Content Specification
PXLOGICAL characteristic is used to introduce a new proxy configuration inside the current XML configuration.
PXPHISICAL characteristic, defined inside PXLOGICAL characteristic, specifies the proxy server information needed to use it: proxy address, port number and other proxy related parameters, if needed.
The following two pictures show the proxy configuration on LGKM900 where it is not possible to configure a DNS address.
A suitable program must now be used to compile this configuration in a binary SMS message; then, the message can be delivered to the victim by sending AT commands to a mobile phone attached to the PC.
Original post: Mobile Security Lab
Related posts
iPhone 3G S introduction
Apple just introduced the new iPhone 3G S, featuring improved speed and performance—up to twice as fast as iPhone 3G—longer battery life, a high-quality 3 megapixel autofocus camera, easy to use video recording and hands free voice control.
iPhone 3G S includes the new iPhone OS 3.0, with over 100 new features such as Cut, Copy and Paste, MMS, Spotlight Search, landscape keyboard and a new Find My iPhone feature that works together with MobileMe to help you locate a lost iPhone.
The Fastest iPhone Ever
The first thing you’ll notice about iPhone 3G S is how quickly you can launch applications. Web pages render in a fraction of the time, and you can view email attachments faster. Improved performance and updated 3D graphics deliver an incredible gaming experience, too. In fact, everything you do on iPhone 3G S is up to 2x faster and more responsive than iPhone 3G.
Video
Images of the iPhone 3G S camera’s tap to focus feature and the video camera interface.
Now you can shoot video, edit it, and share it — all on your iPhone 3G S. Shoot high-quality VGA video in portrait or landscape. Trim your footage by adjusting start and end points. Then share your video in an email, post it to your MobileMe gallery, publish it on YouTube, or sync it back to your Mac or PC using iTunes.
Learn more about video recording
3-Megapixel Camera
The new 3-megapixel camera takes great still photos, too, thanks to built-in autofocus and a handy new feature that lets you tap the display to focus on anything (or anyone) you want.
Learn more about the camera
Voice Control
Voice Control recognizes the names in your Contacts and knows the music on your iPod. So if you want to place a call or play a song, all you have to do is ask.
Learn more about Voice Control
Compass
With a built-in digital compass, iPhone 3G S can point the way. Use the new Compass app, or watch as it automatically reorients maps to match the direction you’re facing.
Learn more about Maps + Compass
Cut, Copy & Paste
Cut, copy, and paste words and photos, even between applications. Copy and paste images and content from the web, too.
Learn more about Cut, Copy & Paste
Landscape Keyboard
Want more room to type on the intelligent software keyboard? Rotate iPhone to landscape to use a larger keyboard in Mail, Messages, Notes, and Safari.
Messages
Send messages with text, video, photos, audio, locations, and contact information. You can even forward one or more messages to others. MMS support from AT&T coming in late summer.
Search
Find what you’re looking for across your iPhone, all from one convenient place. Spotlight searches all your contacts, email, calendars, and notes, as well as everything in your iPod.
Learn more about Spotlight Search
Accessibility
iPhone 3G S offers accessibility features to assist users who are visually or hearing impaired. These features include the VoiceOver screen reader, a Zoom feature, White on Black display options, Mono Audio, and more.
Learn more about accessibility
Internet Tethering
Surf the web from practically anywhere. Now you can share the 3G connection on your iPhone with your Mac notebook or PC laptop. Tethering is not currently offered in the U.S. and some other countries. See your carrier for availability.
Learn more about Internet tethering
Voice Memos
Capture and share a thought, a memo, a meeting, or any audio recording on the go with the new Voice Memos application.
Learn more about Voice Memos
Nike + iPod
iPhone includes built-in Nike + iPod support. Just slip the Nike + iPod Sensor (available separately) into your Nike+ shoe and start your workout.
Stocks
Stocks on iPhone shows you charts, financial details, and headline news for any stock you choose. Rotate iPhone to see even more detailed information.
YouTube
Watch YouTube videos wherever you are. Log in to your YouTube account to save and sync bookmarks and rate your favorites.
Related posts
How to post source code for highliting
Here’s little howto about posting source code in your posts, here at buzzdev website.
Posting Source Code
While our site doesn’t allow you to use potentially dangerous code on your blog, there is a way to post source code for viewing. We have created a shortcode you can wrap around source code that preserves its formatting and even provides syntax highlighting for certain languages, like so:
#button {
font-weight: bold;
border: 2px solid #fff;
}
Wrap your code in these tags:
[sourcecode language='css']
your code here
[/sourcecode]
Any of the following can be used for the language parameter (using one is required):
- bash
- cpp
- csharp
- css
- delphi
- html
- java
- jscript
- php
- python
- ruby
- shell
- sql
- vb
- xml
Code in between the [sourcecode] tags will automatically be encoded for display, you don’t need to worry about HTML entities or anything.
Other BBCode Methods
Find [sourcecode language='css']code here[/sourcecode] too long to type? Here’s some alternative examples:
[source language='css']code here[/source]
[code language='css']code here[/code]
[sourcecode lang='css']code here[/sourcecode]
[source lang='css']code here[/source]
[code lang='css']code here[/code]
[sourcecode='css']code here[/sourcecode]
[source='css']code here[/source]
[code='css']code here[/code]
[lang='css']code here[/lang]
[css]code here[/css] (or any of the supported language)
Note: Quotation marks around the language can be omitted for even shorter and neater syntax.
FAQ
I still see the BBCode in my post. What gives?
Make sure you correctly use the BBCode with a valid language attribute. A malformed usage of it won’t result in replacement.
I use the visual editor, my code has lots of line breaks inserted, what do I do?
Use ’shift + return’ instead of ‘return’ when changing lines.
Related posts
Getting started with widgets on Windows Mobile 6.5
Now that the Windows Mobile 6.5 resource kit is out (You can download it from here) it is time to start writing widgets!!!
Necessary equipment
- The 6.5 emulator images
- The web development environment of choice
- WMDC or Windows mobile device center (on vista or windows 7) or ActiveSync 4.5
With that you should be ready to go to get started, the first step is to start the emulator and cradle the device. The emulators can be started from the start menu under the “Windows Mobile 6 SDK -> Stand Alone Emulator Images -> ”. The device emulator manager can be started using explorer to navigate to the following folder “C:\Program Files\Microsoft Device Emulator\1.0” and selecting dvcemumanager.exe.
Once they are both started, open WMDC or ActiveSync and select connection options and, on the “Connect one of the following” combo box select “DMA” and click “OK”.

Now, on the “Device Emulator Manager” select “Refresh” and then find the emulator on the list, should be the GUID under others and right click -> cradle to connect it to the PC.

Once that is done, select “Connect without setting up my device” and you should be ready to go, to test, open internet explorer on the 6.5 emulator and navigate to any site, if all is set up correctly it will navigate to it using our brand new browser.
And now…. the fun part begins!
To write a widget we need to follow three easy steps.
Develop your widget code
For this you can use the web development tool of your choice, but as an example we can start with something super simple, as follows (write it into a widget.htm document)
Package your widget
Now we have our extremely functional widget code, now we need to create a manifest file (so the framework knows what to do with it) following the w3C widget standard for packaging and configuration (On 6.5 we support the December 22 2008 draft), but to make things easy, here is a small manifest, copy it into a config.xml file in the same folder as your widget.htm
Don’t forget to also add an icon called icon.png on the same folder.
At this point, you should have three files (config.xml, icon.png and widget.htm), now we need to package them, on explorer, select the files, right click and send to a compressed folder (it is important to select the files and not the folder that contains them because we want config.xml to be in the root of the zip container). Now just rename the newly created zip file to “widget.wgt” and you are done with this step.
Deploy and run
On “Computer” you should see the cradled device emulator as “PocketPC device”

Use it to navigate to “My Documents” on the device and copy the widget file created in step 2 there. Now, on the emulator, open file explorer using the start menu and, listed there you should see your widget file, click on it.

This should start the installation process, once that is done you will see your very first widget on screen!!!

To continue playing with this widget (make it better, etc) you can find the uncompressed files on the “Program Files\Widgets\User\ folder” on the device.

The widget ID is generated at install time and it is an always increasing integer (therefore, the most recently installed widget will have the greatest number). You can replace, add, remove files here for testing at will; the only thing you need for a your widget to pick the changes up is to exit it and start it again, it will have an entry on the start menu.
I will be sharing more information about the widget API, how to extend the widget framework capabilities, debugging tips, best practices, etc in future posts but I wanted to help everyone to get started.
For now, you can also take a quick look at my TechDays session where I describe the API set and some of the capabilities of the framework. To access it you’ll need to log into the Microsoft Tech Days site and search for MBL302 Windows Mobile Web and Widgets: Leveraging web technologies to build experiences for Windows Mobile.
Stay tuned, have fun and don’t forget to share your thoughts… Also, before I forget, you can upload your cool widget creations to the Marketplace :), visit http://developer.windowsmobile.com for more information.
Related posts
SDK, DTK, DRK: WTF?!
This is one cool note, posted on Windows Mobile Team Blog @ microsoft!
Finally i know what WTF means :)
Earlier this week we released the Windows Mobile 6.5 Developer Toolkit (DTK). This release has raised a few questions relative to the other Windows Mobile software development tools and resources. I’d like to take a moment to describe what the SDK, DTK, and DRK are, and just as importantly what they are not.

SDK: Software Development Kit
We have not released a new SDK for Windows Mobile 6.5. The Windows Mobile 6 Professional SDK or Windows Mobile 6 Standard SDK are required for Windows Mobile 6.5 application development.
DTK: Developer Toolkit
The Windows Mobile 6.5 Developer Toolkit (DTK) is not an SDK! The DTK contains emulators, gesture APIs, and samples useful for developing Windows Mobile 6.5 applications. You will still need to install Microsoft Visual Studio® 2008 and the Windows Mobile 6 SDK prior to running the toolkit installer.
DRK: Developer Resource Kit
The Windows Mobile Developer Resource Kit (DRK) is an offline DVD copy of the most useful and relevant Windows Mobile application development tools and resources. Traditionally the DRK does not contain any exclusive content, in that nearly everything on the DRK is available for download online. This time we are pleased to publish the Windows Mobile 6.5 DRK with several sample chapters of Microsoft Mobile Development Handbook from Microsoft Press (Wigley, Moth, and Foot).
We hand out free copies of the DRK at several conferences and developer events throughout the year. Beginning in July 2009, you may also order the Windows Mobile 6.5 DRK online at this Microsoft Web site. The previously listed Windows Mobile 6 Developer Resource Kit will be replaced.
WTF: Where To Follow?
Follow us on Twitter @wmdev to get the inside scoop and up to date information for development on Windows Mobile!
Related posts
Windows Mobile 6.5 DTK available for download
The Windows Mobile 6.5 Developer Tool Kit adds documentation, sample code, header and library files, emulator images and tools to Visual Studio that let you build applications for Windows Mobile 6.5. This document contains important information about this package. For general information about writing software for Windows Mobile, please see the Windows Mobile Developer Center. The Windows Mobile 6 SDK must also be installed in order to use any of the Windows Mobile 6.5 Gesture API or samples. Windows Mobile 6.5 Developer Tool Kit comes with the following.
Quick Details
Version: 6.5
Date Published: 6/3/2009
Language: English
Download Size: 71.4 MB – 1848.3 MB*
*Download size depends on selected download components.
Emulator Images
- Windows Mobile 6.5 Professional Square Emulator
- Windows Mobile 6.5 Professional QVGA Emulator
- Windows Mobile 6.5 Professional WQVGA Emulator
- Windows Mobile 6.5 Professional VGA Emulator
- Windows Mobile 6.5 Professional WVGA Emulator
- Windows Mobile 6.5 Standard Square Emulator
- Windows Mobile 6.5 Standard QVGA Emulator
Available locales
- 0804 CHS Chinese Simplified
- 0409 USA English
- 0407 GER German
- 040c FRA French
- 0410 ITA Italian
- 0c0a ESN Spanish
A new set of APIs is being introduced that will enable application developers to take advantage of the new Windows Mobile 6.5 touch gesture framework. The gesture APIs allow an application to handle touch gesture input and provide a visually consistent experience with the rest of the device UI. Note that the gesture APIs are only available on the Windows Mobile Classic and Professional SKUs. The headers and libraries are installed in the Windows Mobile SDK\Pocket PC\ folder. Samples that make use of these APIs are installed into the Windows Mobile 6.5 Developer Tool Kit\Samples\ folder.System Requirements
Supported Operating Systems
- Windows Server 2003 Service Pack 2
- Windows Vista
- Windows XP Service Pack 3
Download
Related posts
Say good bye to GAPI
The Games API (GAPI) was a technology that allowed Windows Mobile 2003 applications to quickly draw graphics onto the device screen. It also contained functions that allowed an application to request all button press messages, even the ones that were normally intercepted by the Windows Mobile operating system.
The graphics component of GAPI was replaced by DirectDraw (which allowed hardware acceleration) in Windows Mobile 5.0. Application compatibility was maintained so that older programs would still work.
Most of the reference material for GAPI was removed from the Windows Mobile 6.1 documentation set, although the input functions were kept, so that applications could still request all key and button presses. Application compatibility was maintained for this release as well.
This is all changing for the next generation of Windows Mobile, Windows Mobile 6.5. Although some devices may still support GAPI, there is no longer a requirement for device manufacturers or mobile operators to ship or test for compatibility with GAPI. This means that applications that require GAPI will provide an unpredictable experience for users on Windows Mobile 6.5 devices.
Another important change is that acceptance to the Windows Marketplace for Mobile and Designed for Windows Mobile certification requires no application dependencies on GAPI.
In order to replace the input functionality that GAPI once provided, a new keyboard API function is being made public. This function is AllKeys(), and is defined below. One great thing about this substitution is that AllKeys has been a part of Windows Mobile as long as GAPI, and is actually the API call that GAPI wrapped in order to publicly expose this functionality. This means that the transition to AllKeys should be easy, and backwards compatibility should be maintained.
You can migrate your input code to AllKeys in the following way:
Replace:
While AllKeys is set to true, all key presses will be sent to your application for handling.
Since GXOpenInput and GXCloseInput were simply wrappers for a call to AllKeys, so this substitution should cause no change in behavior in your programs.
The following is the definition of the new AllKeys API.
AllKeys
This function allows your programs to request that all key presses be sent directly to the requesting application. Normally some buttons are intercepted by the operating system for its own use, but games and input – intensive applications may want access to these buttons for their own use.
Syntax
BOOL AllKeys( BOOL bAllKeys );
Parameters
| Parameter | Description |
| bAllKeys | [in] If bAllKeys is set to TRUE, this function allows all keyboard events to be sent to the application. (This includes the soft-key buttons and back button).
If it is set to FALSE, this function specifies standard keyboard event behavior. Some events including soft-key buttons and the back button are not sent to the application. |
Return Value
Nonzero indicates success. Zero indicates failure. To get extended error information, call GetLastError.
Sample Code
The following C++ code illustrates how to use AllKeys. In the application that this sample is taken from, a check box is used to set AllKeys to true or false.
// process checkbox
case IDC_ALL_KEYS_CHECK_BOX:
if (g_AllKeys == true)
{
// Allow the OS to intercept some button presses
AllKeys(FALSE);
g_AllKeys = false;
// set button state
SendMessage(hwndCtl,BM_SETCHECK, BST_UNCHECKED,0);
}
else
{
// Do not allow os to intercept button presses
AllKeys(TRUE);
g_AllKeys = true;
//set button state
SendMessage(hwndCtl,BM_SETCHECK, BST_CHECKED,0);
}
Requirements
OS Versions: Windows Mobile 2003 and later.
Header: Winuser.h
Related posts
How to start developing for Windows Mobile
Where to start?
It is safe to say that there are more options for development on Windows Mobile 6 than on any other mobile platform. WM has been around for a while, and Microsoft has built up a huge variety of APIs and development tools to support the platform. This is good – no matter what your preferred style of programming is, there is probably a supported solution on WM. It can also be confusing if you are trying to find out where to start when developing an application.
The options include:
- Browser based development using scripting languages and Flash or Silverlight. This option is poorly supported in the existing mobile browsers, so at the moment, this is not a practical option.
- Managed Code using . NET languages and the .NET Mobile Library.
- Native coding using C++ and Windows Mobile native libraries.
Note: Not all Windows Mobile native libraries have managed equivalents. This means that the author of a managed program (in C# or VB for example) will have to use cumbersome and potentially unsafe methods to integrate the native library into the managed application if they wish to make use of the full libraries.
There are also different flavors of Windows Mobile 6: Standard and Professional. The big difference is that Professional devices have touch screens, and generally more features. It’s reasonable to expect that the performance of a professional device will be superior to that of a standard (no touch screen) device and the touch screen allows more input possibilities so I expect to focus on those devices.
At the moment, I’m not sure if I want to develop on managed or unmanaged code. I prefer to develop in C# using managed code, but may need the performance and APIs that are available to the C++ programmer. Luckily, I will use the same tools to develop both kinds of applications for WM, so I don’t have to decide what environment to use quite yet.
Reading up
In the past, the first stop in making sense of all these options would be to check Microsoft’s official documentation on MSDN, but that is changing. The official starting point for development on Windows Mobile is now the Windows Mobile Developer Portal.
For the moment, I actually prefer the material found on a different site -Windows Mobile Developer Center, although I’m told that these two sites will be integrated in the next few months. This site has webcasts, videos, and (of course) this blog.
The first thing I want to do is set up my development environment, and so I started looking for a section that would tell me how to start. I already have a copy of Visual Studio 2008 installed, and wanted to use it, so I looked for that first.
Setting up
Note: Unlike the documentation on MSDN (Windows Mobile 6 Documentation) which only covers Visual Studio 2005, the information I found for setting up Visual Studio 2008 on the Developer Center was in videos. See http://code.msdn.microsoft.com/WM6YourFirstApp for a good getting started video.
Although the videos are current, excellent and accurate, watching the video is more time consuming than reading a procedure, (and impossible to find via search) so I’ll summarize them here:
- Install Visual Studio 2008. The SDK only works with the Standard and Professional editions, not with the free Express editions. There is a 90 day trial edition that you can download for free at the following web page: Try Visual Studio 2008 – Trial Software.
- Install the Visual Studio 2008 Service Pack 1 and .NET Framework 3.5 Service Pack 1. There may be other service packs available by the time you read this. Information on the latest service packs may be found at the following page: Visual Studio 2008 Development System.
- Download the Windows Mobile 6 SDKs from the following page: Mobile 6 Professional and Standard Software Development Kits Refresh. I am installing both, although I am planning on writing only for the Professional Edition device. You never know when you might change your mind!
Note: if you have installed the SDKs before Visual Studio 2008, you will need to remove and re-install them after the VS 2008 install.
Building a test application
To confirm that you have a working installation of Visual Studio and the SDK(s), try creating a simple application. I created a blank C++ project by following these steps:
- On the start page of Visual Studio 2008, in the upper left hand corner, there is a block titled “Recent Projects”. At the bottom of this block, there is a link for Opening a Project, and for Creating a Project. Choose Create Project.
- In the New Project dialog box, choose “Visual C++, then “Smart Device in the Project Types list. The Templates section should be populated with different project templates for different kinds of projects.
- Choose Win32 Smart Device Project, and enter a name for the project. “Test” is fine. Click OK.
- The Win32 Smart Device Project Wizard opens. The presets are set to Windows Mobile 5.0, which I don’t want to use, so I choose the Next button at the bottom of the dialog.
- This brings up a list of installed Windows Mobile SDKs. I am going to remove the Windows Mobile 5.0 SDK from the Selected SDKs list, and add the Windows Mobile6 Professional SDK and Windows Mobile Standard SDK. Once this is done, I click Next.
- In the Project Settings Dialog, I select “Windows application” and click Finish. The dialog closes, and Visual Studio creates a new project, populated with basic files, named “Test”.
In Visual Studio, I make sure that “Windows Mobile 6 Professional Emulator” is chosen in the drop down list on the upper left tool bar. I then build the application “Test”, and choose to start debugging.
The Emulator appears, and in a moment, my application (with a blank screen) loads and is displayed in the emulator.
Clicking on the close icon in the upper right hand corner shuts down my application, and Visual Studio returns to its default state.
Excellent – that was easy, and everything works!
If I wanted to build for a different flavor of Windows Mobile (Standard, Windows Mobile 5, or deploy to an actual device, I would choose a different option from the upper left hand tool bar drop down. Does it all make sense so far?











