Cool New Tools in Windows Mobile 6

Cool New Tools in Windows Mobile 6

icrosoft has recently announced the release of Windows Mobile 6 to device manufacturers. While it will be sometime before you can get your hands on a Windows Mobile 6 device, Microsoft has since released the Windows Mobile 6 SDK so that developers can have an early look at it and prepare for the impending launch of these newer devices. A good portion of the features of the newer platform is for native developers (using Embedded Visual C++), and it will take some time for these new features to be supported on the .NET Compact Framework, making them available to managed developers. Nevertheless, the release of Windows Mobile 6 contains some cool new tools and utilities for managed developers.

With the launch of Windows Mobile 6, Microsoft has yet again introduced a new naming convention for Windows Mobile devices. Table 1 shows the new names for each device category.

Previously known as

Now known as

Windows Mobile 5.0 Pocket PC

Windows Mobile 6 Classic

Windows Mobile 5.0 Pocket PC Phone Edition

Windows Mobile 6 Professional

Windows Mobile 5.0 Smartphone

Windows Mobile 6 Standard

Table 1. New Naming for Windows Mobile devices

The previous version of Windows Mobile has a point release number, which is Windows Mobile 5.0. But in this latest version, Microsoft has decided to do away with the point and simply calls it Windows Mobile 6 (and not Windows Mobile 6.0).

Downloading the SDKs
To develop for the Windows Mobile 6 platforms, you need to download two SDKs, depending on the platform you are targeting:

  • Windows Mobile 6 Classic/Professional: Windows Mobile 6 Professional SDK (Standard and Professional)
  • Windows Mobile 6 Standard: Windows Mobile 6 Standard SDK

Both SDKs can be downloaded here.

Note that installing the new Windows Mobile 6 SDKs requires the following:

  • Visual Studio 2005 SP1 or later
  • ActiveSync 4.5
  • .NET Compact Framework 2.0 SP1

If you don’t have the prereq before installations, a dialog will appear during the installation process. Simply click on the Prerequisites button to download the appropriate components you are missing.

New Project Templates
When the SDKs are installed, you’ll find two new project types listed under the Smart Device item in Visual Studio 2005: Windows Mobile 6 Professional and Windows Mobile 6 Standard.

Figure 1. The Tools: These are installed with the Windows Mobile 6 SDKs.

Note that unlike Windows Mobile 5.0 projects, you do not have a choice to choose the older version of the .NET Compact Framework (which is version 1.0). This is because Windows Mobile 6 devices will now come preinstalled with:

  • .NET Compact Framework 2.0 SP1 in ROM
  • SQL Server 2005 Compact Edition in ROM

This will greatly simplify the deployment process, because it eliminates the need to explicitly bundle the .NET Compact Framework 2.0 distributable with your applications.

Once the SDKs are installed, you will find the Windows Mobile 6 SDK menu item installed in your Start menu (Figure 1).

Emulator Images
The Windows Mobile 6 SDKs comes with the following emulator images:

  • Windows Mobile 6 Standard SDK
    • Windows Mobile 6 Standard (176×220 pixels – 96 dpi)
    • Windows Mobile 6 Standard Landscape QVGA (240×320 pixels – 131 dpi)
    • Windows Mobile 6 Standard QVGA (320×240 pixels – 131 dpi)
  • Figure 2. The Emulator Images: And their screen sizes.
  • Windows Mobile 6 Professional SDK
    • Windows Mobile 6 Classic (240×320 pixels – 96 dpi)
    • Windows Mobile 6 Professional (240×320 pixels – 96 dpi)
    • Windows Mobile 6 Professional Square (240×240 pixels – 96 dpi)
    • Windows Mobile 6 Professional Square QVGA (320×320 pixels – 128 dpi)
    • Windows Mobile 6 Professional Square VGA (480×480 pixels – 192 dpi)
    • Windows Mobile 6 Professional VGA (480×640 pixels – 192 dpi)

Figure 2 shows some of the emulator images and their screen sizes.

Device Emulator v2
The Windows Mobile 6 SDK’s emulators are now much more realistic and offer significantly improved performance. You can now also emulate different battery power levels, as well as speakerphone, headset, and car kit (see Figure 3).

Figure 3. Emulating Different Peripherals: Battery power levels, speakerphone, headset, and car kit.

For example, suppose your application wants to monitor the battery power status and issue a warning when the battery power is low. You can do the following:

Imports Microsoft.WindowsMobileImports Microsoft.WindowsMobile.StatusPublic Class Form1    Private WithEvents batteryState As Status.SystemState    Private Sub Form1_Load( _       ByVal sender As System.Object, _       ByVal e As System.EventArgs) _       Handles MyBase.Load        batteryState = New Status.SystemState( _           SystemProperty.PowerBatteryState)    End Sub    Private Sub batteryState_Changed( _       ByVal sender As Object, _       ByVal args As Microsoft.WindowsMobile.Status.ChangeEventArgs) _       Handles batteryState.Changed        If SystemState.PowerBatteryStrength = BatteryLevel.Low Or _           SystemState.PowerBatteryStrength = BatteryLevel.VeryLow Then            MsgBox("Please remember to save your work.")        End If    End SubEnd Class

In this case, you can adjust the battery power level of a device and see how your code reacts to it. The battery level in Figure 3 is adjusted to 5 percent. Figure 4 shows the Main Battery Very Low notification message and the message displayed by your code (on the right).

Figure 4. Emulating Low-battery Status: The message displayed by your code is on the right.

Cellular Emulator v1
One very useful tool in the Windows Mobile 6 SDKs is the Cellular Emulator. The Cellular Emulator emulates real phone functionalities such as voice calls and SMS messaging. To use the Cellular Emulator with your Windows Mobile emulator, launch it from Start | Windows Mobile 6 SDK | Tools | Cellular Emulator and observe the serial port number it uses (see Figure 10). In this case, the port is COM3.

Next, open up the Emulator Properties window by going to File | Configure… and enter the port number (COM3) under Serial Port 0.

Using the Windows Mobile emulator, you can emulate making a phone call by calling one of the pre-fixed numbers (Figure 5):

  • 7272024 – Busy
  • 7272020 – Reject
  • 7272021 – Hang Up after Connect
  • 7272022 – No answer

You can also use the Cellular Emulator to make calls to the Windows Mobile emulator, as shown in Figure 6.


Figure 5. The Emulator: Making a phone call.
 
Figure 6. The Cellular Emulator: Use it to make calls to the emulator.

For network emulation, the Cellular Emulator allows you to emulate 2G and 3G networks (see Figure 7).

For SMS messaging, you can send a message from the Windows Mobile emulator and if the message is sent correctly, the Cellular Emulator will receive it (see Figure 8).


Figure 7. The Cellular Emulator: Emulating 2G and 3G networks.
 
Figure 8. Sending an SMS Message: From the Windows Mobile emulator to the Cellular Emulator.

Conversely, you can also send a SMS message from the Cellular Emulator to the Windows Mobile emulator (see Figure 9).


Figure 9. Sending an SMS Message: From the Cellular emulator to the Windows Mobile emulator.
 
Figure 10. SMS Series: Sending a series of SMS messages at regular time intervals.

The ability to send SMS messages using the Cellular Emulator is very useful?especially if you are writing SMS applications and need to filter incoming messages. For example, the following code snippet will intercept all incoming messages, pass them to your application for processing (in this case display the content of the message on the screen), and delete them:

Imports Microsoft.WindowsMobile.PocketOutlook.MessageInterception'---add reference to Microsoft.WindowsMobile.PocketOutlook---Public Class Form1    Dim msgInterceptor As MessageInterceptor    Private Sub Form1_Load( _       ByVal sender As System.Object, _       ByVal e As System.EventArgs) _       Handles MyBase.Load        msgInterceptor = New MessageInterceptor( _           InterceptionAction.NotifyAndDelete, True)        '---set the event handler for the message interceptor        AddHandler msgInterceptor.MessageReceived, _           AddressOf smsInterceptor_MessageReceived    End Sub    '---event handler for the MessageReceived event    Private Sub smsInterceptor_MessageReceived( _       ByVal sender As Object, _       ByVal e As MessageInterceptorEventArgs)        Dim msg As Microsoft.WindowsMobile.PocketOutlook.SmsMessage        msg = e.Message        MsgBox(msg.Body)    End SubEnd Class

You can also configure the Cellular Emulator to continuously send SMS messages to the Windows Mobile emulator at regular time intervals (Figure 10).

GPS Test Utility?FakeGPS
One cool new utility in the Windows Mobile 6 SDK is the FakeGPS utility. This utility allows you to test GPS functionalities without the need to purchase a real GPS receiver. It works by reading sample GPS sentences and passing them to the GPS Intermediate Driver (GPSID). To test GPS functionalities with FakeGPS, perform the following steps:

  1. In Visual Studio 2005, select Tools | Device Emulator Manager…
  2. Right-click on the Windows Mobile 6 Professional Emulator and select Connect. This will launch the Windows Mobile emulator. Then right-click on it again and select Cradle. This will connect the Windows Mobile emulator with ActiveSync.
  3. In ActiveSync, click on the Explore button and a window will appear, displaying the folders inside the emulator. Double-click on the item named My Windows Mobile-Based Device.
  4. In Windows, open the folder containing the FakeGPS application (C:Program FilesWindows Mobile 6 SDKToolsGPS) and copy the FakeGPS.cab into the folder opened by ActiveSync. When prompted, click Yes.
  5. In the Windows Mobile emulator, launch File Explorer and navigate to My Device. Tap on the FakeGPS item to install it on the device. The FakeGPS utility will not be installed in the My Device | Program Files | FakeGPS folder.
  6. Launch the FakeGPS utility and enable it (see Figure 11).

Figure 11. A Cool Utility: Using FakeGPS.
 
Figure 12. The Sample GPS Application: Running.

The Windows Mobile 6 SDKs contains a sample GPS application (C:Program FilesWindows Mobile 6 SDKSamplesPocketPCCSGPS) that talks to the GPSID through a managed wrapper. Figure 12 shows how the application looks like when run on the emulator.

Only the Beginning
This article has shown you some of the new tools and utilities that shipped with the Windows Mobile 6 SDKs. Future articles will dive more deeply into the new APIs offered by Windows Mobile 6, both native APIs and managed classes.

devx-admin

devx-admin

Share the Post:
Global Layoffs

Tech Layoffs Are Getting Worse Globally

Since the start of 2023, the global technology sector has experienced a significant rise in layoffs, with over 236,000 workers being let go by 1,019

Cybersecurity Banking Revolution

Digital Banking Needs Cybersecurity

The banking, financial, and insurance (BFSI) sectors are pioneers in digital transformation, using web applications and application programming interfaces (APIs) to provide seamless services to

FinTech Leadership

Terry Clune’s Fintech Empire

Over the past 30 years, Terry Clune has built a remarkable business empire, with CluneTech at the helm. The CEO and Founder has successfully created

The Role Of AI Within A Web Design Agency?

In the digital age, the role of Artificial Intelligence (AI) in web design is rapidly evolving, transitioning from a futuristic concept to practical tools used

Global Layoffs

Tech Layoffs Are Getting Worse Globally

Since the start of 2023, the global technology sector has experienced a significant rise in layoffs, with over 236,000 workers being let go by 1,019 tech firms, as per data

Huawei Electric Dazzle

Huawei Dazzles with Electric Vehicles and Wireless Earbuds

During a prominent unveiling event, Huawei, the Chinese telecommunications powerhouse, kept quiet about its enigmatic new 5G phone and alleged cutting-edge chip development. Instead, Huawei astounded the audience by presenting

Cybersecurity Banking Revolution

Digital Banking Needs Cybersecurity

The banking, financial, and insurance (BFSI) sectors are pioneers in digital transformation, using web applications and application programming interfaces (APIs) to provide seamless services to customers around the world. Rising

FinTech Leadership

Terry Clune’s Fintech Empire

Over the past 30 years, Terry Clune has built a remarkable business empire, with CluneTech at the helm. The CEO and Founder has successfully created eight fintech firms, attracting renowned

The Role Of AI Within A Web Design Agency?

In the digital age, the role of Artificial Intelligence (AI) in web design is rapidly evolving, transitioning from a futuristic concept to practical tools used in design, coding, content writing

Generative AI Revolution

Is Generative AI the Next Internet?

The increasing demand for Generative AI models has led to a surge in its adoption across diverse sectors, with healthcare, automotive, and financial services being among the top beneficiaries. These

Microsoft Laptop

The New Surface Laptop Studio 2 Is Nuts

The Surface Laptop Studio 2 is a dynamic and robust all-in-one laptop designed for creators and professionals alike. It features a 14.4″ touchscreen and a cutting-edge design that is over

5G Innovations

GPU-Accelerated 5G in Japan

NTT DOCOMO, a global telecommunications giant, is set to break new ground in the industry as it prepares to launch a GPU-accelerated 5G network in Japan. This innovative approach will

AI Ethics

AI Journalism: Balancing Integrity and Innovation

An op-ed, produced using Microsoft’s Bing Chat AI software, recently appeared in the St. Louis Post-Dispatch, discussing the potential concerns surrounding the employment of artificial intelligence (AI) in journalism. These

Savings Extravaganza

Big Deal Days Extravaganza

The highly awaited Big Deal Days event for October 2023 is nearly here, scheduled for the 10th and 11th. Similar to the previous year, this autumn sale has already created

Cisco Splunk Deal

Cisco Splunk Deal Sparks Tech Acquisition Frenzy

Cisco’s recent massive purchase of Splunk, an AI-powered cybersecurity firm, for $28 billion signals a potential boost in tech deals after a year of subdued mergers and acquisitions in the

Iran Drone Expansion

Iran’s Jet-Propelled Drone Reshapes Power Balance

Iran has recently unveiled a jet-propelled variant of its Shahed series drone, marking a significant advancement in the nation’s drone technology. The new drone is poised to reshape the regional

Solar Geoengineering

Did the Overshoot Commission Shoot Down Geoengineering?

The Overshoot Commission has recently released a comprehensive report that discusses the controversial topic of Solar Geoengineering, also known as Solar Radiation Modification (SRM). The Commission’s primary objective is to

Remote Learning

Revolutionizing Remote Learning for Success

School districts are preparing to reveal a substantial technological upgrade designed to significantly improve remote learning experiences for both educators and students amid the ongoing pandemic. This major investment, which

Revolutionary SABERS Transforming

SABERS Batteries Transforming Industries

Scientists John Connell and Yi Lin from NASA’s Solid-state Architecture Batteries for Enhanced Rechargeability and Safety (SABERS) project are working on experimental solid-state battery packs that could dramatically change the

Build a Website

How Much Does It Cost to Build a Website?

Are you wondering how much it costs to build a website? The approximated cost is based on several factors, including which add-ons and platforms you choose. For example, a self-hosted

Battery Investments

Battery Startups Attract Billion-Dollar Investments

In recent times, battery startups have experienced a significant boost in investments, with three businesses obtaining over $1 billion in funding within the last month. French company Verkor amassed $2.1

Copilot Revolution

Microsoft Copilot: A Suit of AI Features

Microsoft’s latest offering, Microsoft Copilot, aims to revolutionize the way we interact with technology. By integrating various AI capabilities, this all-in-one tool provides users with an improved experience that not

AI Girlfriend Craze

AI Girlfriend Craze Threatens Relationships

The surge in virtual AI girlfriends’ popularity is playing a role in the escalating issue of loneliness among young males, and this could have serious repercussions for America’s future. A

AIOps Innovations

Senser is Changing AIOps

Senser, an AIOps platform based in Tel Aviv, has introduced its groundbreaking AI-powered observability solution to support developers and operations teams in promptly pinpointing the root causes of service disruptions

Bebop Charging Stations

Check Out The New Bebob Battery Charging Stations

Bebob has introduced new 4- and 8-channel battery charging stations primarily aimed at rental companies, providing a convenient solution for clients with a large quantity of batteries. These wall-mountable and

Malyasian Networks

Malaysia’s Dual 5G Network Growth

On Wednesday, Malaysia’s Prime Minister Anwar Ibrahim announced the country’s plan to implement a dual 5G network strategy. This move is designed to achieve a more equitable incorporation of both

Advanced Drones Race

Pentagon’s Bold Race for Advanced Drones

The Pentagon has recently unveiled its ambitious strategy to acquire thousands of sophisticated drones within the next two years. This decision comes in response to Russia’s rapid utilization of airborne

Important Updates

You Need to See the New Microsoft Updates

Microsoft has recently announced a series of new features and updates across their applications, including Outlook, Microsoft Teams, and SharePoint. These new developments are centered around improving user experience, streamlining