Blog

  • Emulator Images in the Windows Mobile 6 SDKs

    The Windows Mobile 5.0 SDKs shipped with a number of emulator images, and additional form factors were made available in separate packages at a later date when they were introduced with AKU2. Below is the list of emulator images which will ship with the Windows Mobile 6 SDK:-


    Windows Mobile 6 Standard



    • Windows Mobile 6 Standard (176×220)

    • Windows Mobile 6 Standard Landscape QVGA (320×240)

    • Windows Mobile 6 Standard QVGA (240×320)

    Windows Mobile 6 Professional



    • Windows Mobile 6 Classic (No Phone) (240×320)

    • Windows Mobile 6 Professional (240×320)

    • Windows Mobile 6 Professional Square (240×240)

    • Windows Mobile 6 Professional Square QVGA (320×320)

    • Windows Mobile 6 Professional Square VGA (480×480)

    • Windows Mobile 6 Professional VGA (480×640)


    Except for the square form-factors all of the Professional emulator images support screen rotation, the emulator rotates the device skin in place so that the screen is always shown in the correct orientation on the development computer.

  • Windows Mobile 6 SDKs Update

    Turns out the SDKs haven’t been abducted by aliens, James Pratt reveals the story here on the Windows Mobile blog. So if you missed them you’ll have to wait until 1st March for their official release.


    The good news is that there will be an update to the SDKs due out on May 1st with new emulator images, additional samples and documentation improvements. Lets hope that all my bug reports submitted on documentation errors in the current release are resolved in that release.

  • What’s New For Managed Developers In Windows Mobile 6 (Part 2)

    When I previously posted the list of additional system properties I was using the Windows Mobile 6 SDK Documentation as a reference. Well it turns out that there are even more new properties, you can view them using Object Browser in your project but they aren’t included in the documentation. The other new properties are:-



    • CameraEnabled – This in addition to existing CameraPresent property
    • CellularSystemAvailable1xrtt
    • CellularSystemAvailableEdge
    • CellularSystemAvailableEvdo
    • CellularSystemAvailableEvdv
    • CellularSystemAvailableGprs
    • CellularSystemAvailableHsdpa
    • CellularSystemAvailableUmts
    • CellularSystemConnected1xrtt
    • CellularSystemConnectedEdge
    • CellularSystemConnectedEvdo
    • CellularSystemConnectedEvdv
    • CellularSystemConnectedGprs
    • CellularSystemConnectedHsdpa
    • CellularSystemConnectedUmts
    • ClamshellClosed
    • DeviceLocked
    • KeyLocked
    • LockStates – A combination of flags for Device, Key and Sim locks
    • SimLocked
    • PhoneTalkingCallStartTime

     

  • 32feet.NET v2.1 Released

    Yesterday I released the latest update to the personal area networking library to the 32feet.NET site. This release focussed on bug fixes and improved compatibility and error handling. This release supports device discovery on the latest WM5.0 AKU3 devices and beyond where the registry layout has undergone a few undocumented changes. You can view the full list of closed work items for this release on the CodePlex workspace.


    The code also now has unit testing (not yet covering all functionality) and a new sample application for using IrDA on desktop Windows versions.

  • What’s New For Managed Developers In Windows Mobile 6

    At first glance it doesn’t appear there are any new goodies in the managed code libraries for Windows Mobile 6. But wait, there are – SystemState has gained a few new properties which allow you to monitor the state of:-



    • BluetoothStateA2DPConnected

    • BluetoothStateDiscoverable

    • BluetoothStateHandsFreeAudio

    • BluetoothStateHandsFreeControl

    • BluetoothStateHardwarePresent

    • BluetoothStatePowerOn

    and



    • WiFiStateConnected

    • WiFiStateConnecting

    • WiFiStateHardwarePresent

    • WiFiStateNetworksAvailable

    • WiFiStatePowerOn

    Another noticable enhancement, which isn’t really part of the managed APIs, is that the dialog for Task items (Task.ShowDialog()) is now much more useful on Smartphone (sorry Standard Edition) in that it has an Edit option with the ability to set properties such as Priority, Status, Reminder etc. These have always been present in Pocket PC (oops Professional Edition) and sorely lacking from Smartphone prior to WM6.

  • Am I Running on Windows Mobile 6

    Following Daniel’s post announcing the appearance of the Windows Mobile 6 SDKs on Microsoft’s download site, I headed off to get the SDKs and start poking around. A common question I can see arising is how to detect if you are running on WM6 from your managed code. The answer is to use the System.Environment.OSVersion.Version property. If your device is running WM6 this will report back 5.2 (for the emulators the full build is 5.2.318 but the build numbers are likely to change by the time real devices emerge). In contrast WM5.0 devices report back 5.1 (5.1.1700 for the original 5.0 SDK emulators). Both platforms are running on top of Windows CE 5.0, and not Windows Embedded CE 6.0 which is currently available, and understandably this can cause some confusion when the OS and marketing versions don’t exactly tie up. The .1 and .2 minor versions are special Windows CE releases for Windows Mobile which are not available to generic CE platform builders. You may remember a similar thing occuring with Windows Mobile 2003 Second Edition which had an OS version of 4.21.

  • Windows Mobile 6 for Developers

    You’ve probably not managed to miss the barrage of reports announcing the upcoming Windows Mobile 6. One in particular caught my eye which was by Loke Uei on new developer features:-


    http://blogs.msdn.com/lokeuei/archive/2007/02/07/windows-mobile-6-what-s-in-it-for-developers.aspx


    On the device the main highlights are the latest framework and SQL Server CE components in ROM, and two new APIs:-


  • Windows Ink Services Platform (WISP) Lite
  • New Sound API – Plays MP3s and more

    The first came as a bit of a shock, after all in Windows Mobile 5.0 the number of places in the OS where Ink was used was reduced, no more Ink notes on Pocket Outlook items for example. I’ll be interested to see what this API supports.


    The sound functionality will be greeted with cheers by many developers, there are many occasions when you need to simply play a wma or mp3 audio file and there isn’t anything as comfortable to use as PlaySound and yet supporting audio types other than .wav.


    There are a number of improvements to the Emulator tools which are always welcome, especially in the early stages when it will be difficult to get hold of Windows Mobile 6 devices. The last item on the list entitled “Platform unification investments” is rather vague, I look forward to finding out exactly what this means for the end developer. Anything that simplifies writing code once for the multitude of Windows Mobile versions and form factors available gets my full approval!

  • Windows Mobile Device Center Released

    A couple of days after Vista’s official release we now have the final version of Windows Mobile Device Center. This news comes hot off the press from Josh at Windows Connected. If you are running the Beta release grab yourself the final version here:-

     

    http://www.microsoft.com/downloads/details.aspx?FamilyID=83d513ea-9df9-4920-af33-3a0e2e4e7beb&DisplayLang=en

  • Bluetooth RSSI

    By chance I was looking through the Windows CE 6.0 documentation and cam across a new Bluetooth method – BthReadRSSI. My interest was heightened when reading the Requirements section. Apparently the method is supported on Windows Mobile 5.0 as well as CE 6.0. Without further ado I added the P/Invoke definition to the 32feet source and did some quick tests on my iMate JasJar. The method was present, however it returned the error code 0x00000490 which according to the error lookup tool represents “Element not found”. So that’s where I leave it for now, but I’d be interested to hear from you if you have another device or a Bluetooth equipped CE 6.0 device. You can download the latest 32feet source from the GitHub project which has this functionality – see the BluetoothDeviceInfo.Rssi property.

  • SQL Server Compact Edition – Coming Tomorrow

    Excellent news from the SQL Server Everywhere blog (those guys need to change the name of their blog again :-)). Tomorrow the runtimes and tools for SQL Server Compact Edition will be released to the web. It will replace the RC1 download so the link will remain the same:-


    http://www.microsoft.com/downloads/details.aspx?FamilyID=85E0C3CE-3FA1-453A-8CE9-AF6CA20946C3&displaylang=en