Monday, January 23, 2006

Controls in the .NET Compact Framework

Table of Controls supported by .NET CF.

http://msdn2.microsoft.com/en-us/library/hf2k718k.aspx

Windows Mobile SDKs

You will need the Windows Mobile Version 5.0 SDK for Pocket PC and Windows Mobile Version 5.0 SDK for Smartphone to create applications using managed Mobile Direct3D Programming. You also need Windows Mobile Version 5.0 SDK for Smartphone to develop applications using the .NET Compact Framework version 2.0.

Install the SDKs on a computer with Microsoft Visual Studio 2005. When you create a new project, you can choose one of the Windows Mobile 5.0 for Pocket PCand Windows Mobile 5.0 for Smartphone project types and also deploy to Windows Mobile 5.0 emulators.

from http://msdn2.microsoft.com/en-us/library/ms172552.aspx

Monday, January 16, 2006

Mobile Edition 5.0 Simplifies

Last summer, as a research intern at Intel Research, I suffered through some of the complexities of using unmanaged code to access seemingly rudimentary phone information (e.g. is a call live, current battery level, phone number). With Mobile Edition 5.0, many of these obstacles have been eradicated and a whole slew of new APIs make it easier to do cool thing like Direct3D support, camera APIs, and a generic API for accessing GPS data.

A summary of stuff I'm looking forward to using:

1. State and Notification Broker API
Windows Mobile 5.0 devices ship with well over one hundred different state values, which are available through the State and Notification Broker API. The available values provide a wide variety of information regarding the standard Windows Mobile 5.0 applications in addition to the device itself. The following list is just a small sample of the information available through the State and Notification Broker:
  • The active application
  • The device's ActiveSync status
  • Current battery level
  • Whether a camera is connected to the device
  • Whether a headset is plugged in
  • The name of the song currently playing in Media Player
  • Number of unread SMS messages
  • Number of unread e-mail messages
  • Whether a call is currently in progress
  • Whether a conference call is currently in progress
  • Whether GPRS connectivity is currently available
  • Whether the device is currently connected to a VPN
  • Number of missed phone calls
  • The name of the phone's mobile operator
  • Number of tasks due today
2. DirectShow (Camera Support)
A rapidly increasing number of mobile devices now include cameras. For developers wanting to create applications that interoperate with these camera-enabled devices, there is the DirectShow API. DirectShow provides application developers the capability to manage and access camera hardware, enabling capture and playback of high-quality pictures and streaming video. DirectShow abstracts the details of individual camera hardware, providing application developers with a common and consistent programming interface.

3. Direct3D Mobile/Direct Draw
Direct3D Mobile is a mobile device implementation of the desktop computer's Direct3D API. Using Direct3D Mobile, developers can use their existing desktop computer Direct3D skills and code to produce rich three-dimensional gaming environments for Windows Mobile devices. DirectDraw provides mobile developers with a powerful replacement for the Game API (GAPI) allowing applications to take full advantage of hardware capability and performance in addition to providing support for drawing surfaces that developers can easily query.

4. GPS Support
Many mobile devices now include a GPS either internally or as an attachment. Historically, for applications to access the information a GPS device returned required these applications to use the serial APIs to directly open the GPS device. This technique created two issues. First, working through the serial APIs is relatively code intensive and required the application developer to have at least a moderate knowledge about serial device programming. Second, this architecture limited the receipt of GPS data to the single, currently connected application. Windows Mobile 5.0 eliminates these issues with the GPS Intermediate Driver. The GPS Intermediate Driver provides a very simple-to-use API for providing shared access to GPS data. Through the GPS Intermediate Driver, Windows Mobile greatly reduces the amount of code that is required to interact with a GPS device and allows multiple applications to interrogate the GPS device for configuration and positioning information simultaneously.

The above list compiled from:
1. What are the New APIs in Windows Mobile 5.0
2. What's New in Windows Mobile Version 5.0
3. What's New for Developers in Windows Mobile 5.0