I am pleased to announce that the Smartphone 2003 SDK has just been released to the public. Click the link above to download it from Microsoft.
Here is the list of changes from Smartphone 2002 as described in the SDK. This list is geared towards developers, but end users will also gain insight as to what is coming.
Development Environment Microsoft .NET Compact Framework is included in ROMThe .NET Compact Framework is included in both Pocket PC 2003 and Smartphone 2003 ROM. The .NET Compact Framework is a subset of the .NET Framework that provides much of the rich functionality in a smaller footprint and allows managed code applications to run on Pocket PC 2003 and Smartphone 2003.
Applications can be written in C# and Microsoft Visual Basic® .NETManaged code applications for Pocket PC 2003 and Smartphone 2003, written in C# or Visual Basic .NET, can be developed through Microsoft Visual Studio® .NET 2003 Smart Device Extensions.
Device Emulator Emulator supports drive mappingThe new emulator supports mapping a drive on the host desktop computer as a storage card within the emulator.
Emulator supports Gaming API (GAPI)Both Pocket PC 2003 and Smartphone 2003 emulator images now support GAPI.
Emulator supports full duplexThe emulator is now full-duplex. However, sound input in the emulator is not yet supported.
Emulator supports synchronizing over EthernetUsing the VirtualSwitch driver with Microsoft eMbedded Visual C++® version 4.0, developers can now synchronize with Microsoft ActiveSync® over Ethernet and no longer need to use a serial port.
Device Management WAP push router extensibility allows for custom processing of WAP push messagesApplications can intercept different types of Wireless Application Protocol (WAP) push messages and reroute them to different push clients for custom handling through the PushRouter client functions declared in pushclient.h. The push client is registered for notification with the push router to receive specific types of push messages on the device for custom processing. This capability is orthogonal to Short Message Service (SMS) interception. This functionality is supported for Global System for Mobile Communications (GSM) devices only; Code Division Multiple Access (CDMA) devices are not supported for this functionality.
Mobile device applications can perform a selective installationThe system now provides a selective install method for a mobile application based on a combination of platform (Pocket PC or Smartphone) and a specific release version (2003, 2004, etc.).
Security L2TP/IPSec VPN is supportedThis technology allows mobile devices to use Layer Two Tunneling Protocol (L2TP) connections with Internet Protocol security (IPSec). The combination of L2TP and IPSec, known as L2TP/IPSec, is a highly secure technology for making remote access virtual private network (VPN) connections across public networks such as the Internet. It is supported through the CM_VPNEntries CSP.
Smartphone 2003 can use a security prompt for unsigned applicationsSmartphone 2003 can use a security policy that, when turned on, causes a prompt to appear that asks the user whether to accept the installation or execution of an unsigned application.
Mobile2Market security certificates for Smartphone 2003 are in ROMThe Mobile2Market certificate roots are included on Smartphone 2003 by default.
Shell Microsoft Pocket Internet Explorer is updated on Pocket PC 2003 and Smartphone 2003Pocket Internet Explorer has been updated to support the following:
HTML 4.01
Extensible HTML (XHTML)
Cascading style sheets
Microsoft JScript® version 5.5
Wireless Markup Language (WML) 2.0 (XHTML + WML 1.x)
Internet Protocol version 6 (IPv6) is supported in IPv4/IPv6 mixed-mode environments
New extensible imaging library
Home Screen functionality is updated on Smartphone 2003The Home Screen plug-in infrastructure supports a new function, SHOnPluginDataChange, and a new interface, IHomePluginEnvironment2, declared in aygshell.h.
Messaging Incoming SMS messages can be interceptedThe IMailRuleClient interface provides the ability for an application to intercept incoming text SMS messages. This interface and its methods enable developers to perform customized filtering rules on incoming messages and handle them as appropriate within their applications.
More e-mail services are configurable through Configuration ManagerThe Email2 Configuration Service Provider (CSP) enables the configuration of Internet Protocol e-mail services, such as Internet Message Access Protocol 4 (IMAP4) and Post Office Protocol 3 (POP3), by means of the device’s Configuration Manager infrastructure.
Custom Read or Compose forms for Inbox can be registeredThe IMessageFormEx and IFormProviderEx interfaces, declared in cemapi.h, allow developers to register a custom set of Inbox Read or Compose forms that match their application needs. Such forms can be used to construct Enhanced Messaging Service (EMS) or Multimedia Messaging Service (MMS) clients.
Networking IPv6 is now supportedMost Pocket PC 2003 and Smartphone 2003 APIs and components now support IPv6-style addressing. IDccManSink2 is the new sink interface that supports IPv6 and is used to notify client applications about device connections.
Bluetooth functionality is more controllableThe BthGetMode and BthSetMode functions, declared in bthutil.h, provide the ability to query the current state of the Bluetooth control panel, and to modify its state (Bluetooth Power Off, Connectable, Discoverable, etc.).
Applications can be woken via a WAP packet over SMSThis functionality provides applications with a mechanism to shutdown and then be woken up (or launched) when a WAP packet arrives over SMS. This is accomplished via a registry-based registration scheme. See WAP Wakeup for more information.
Key Changes eMbedded Visual C++ 4.0 SP2 is required for eMbedded Visual C++ developmentPocket PC 2003 and Smartphone 2003 development will only be supported through eMbedded Visual C++ 4.0 with Service Pack 2 installed. Previous versions of eMbedded Visual C++ are not supported for development, deployment, and debugging of Pocket PC 2003 and Smartphone 2003 applications.
COM objects now use the free-threaded modelAll new Component Object Model (COM) objects, including ActiveX® controls, should be free-threaded to optimize their performance. Previously developed COM objects will continue to run correctly, regardless of their threading model, because the operating system performs run-time checks to ensure the correct threading model is used.
New emulator cannot run side-by-side with previous versionsThe new emulator (version 4.2) does not support running side-by-side with previous versions of the emulator. However, you can run multiple instances of the new emulator simultaneously.
Some CEMAPI string constants are no longer supportedThe following string constants, previously defined in cemapi.h, are no longer supported: kszCapAmountToFetch, kszCapAttachAmount, kszCapAgeFilter, kszCapSMTPAuthenticate, kszCapMoveToTrash