Docstoc
EXCLUSIVE OFFER FOR DOCSTOC USERS
Try the all-new QuickBooks Online for FREE.  No credit card required.

Windows Powered Smartphone 2002

Document Sample
Windows Powered Smartphone 2002 Powered By Docstoc
					Windows Powered
Smartphone 2002
Development

Cherno Jagne
Developer Support Engineer
Product Support Services
Microsoft Corporation
Agenda
   Platform
   Tools
   Telephony
   Web development
   Device management
   Security




                        2
Smartphone Platform
   Hardware
       Cell phone form factor – phone first, PDA second
       No touch screen – single-handed UI
       120 MHz ARM processor
       8+ MB persistent storage
       176×220 16-bit color display
       Internal flash file system (IFFS) replaces RAM backup
        battery
   Software
       Microsoft® Windows® CE 3.0 operating system
       Strong wireless communications infrastructure
       Shares a lot with Pocket PC 2002 platform



                                                                3
Applications

   Telephony                         Smartphone shell
       Integrated phone dialler          Microsoft Win32® API
                                           platform
       Ringer profiles                   One-handed navigation
       Shortcuts                     Microsoft Internet Explorer
       Custom ring tones                 HTML 3.2 + XML
   Microsoft Outlook®                    WAP 1.2.1
       Integrated Inbox                  Scripting support
        (e-mail, v-mail, sms)         MSN Messenger
       Contacts                      Windows Media® Player
       Calendar                      Synchronization
       Tasks                             Desktop
                                          Wireless to server



                                                                     4
Pocket PC vs. Smartphone


                      Pocket PC Phone Edition                         Smartphone

 Usage              Data centric with voice support      Phone first with data functionality

 Target Market      Mobile Pros                          Mobile Pros; Consumer



 Form Factor        Larger 240x320                       176x220 hi-res color screen



 Input              Two-handed use                       One-handed navigation
                    Touch screen and stylus              Keypad and joystick

 Applications       Full application suite               No Pocket Word, Pocket Excel, Reader
                                                           or TSC

 Key Scenarios      Mobile Outlook                       Voice and text communication
                    Web access                           Mobile Outlook
                    Voice and text communication         Web access

                                                                                                  5
Development Environment

    eMbedded Visual C++® 3.0
    Smartphone 2002 SDK Plug-in
    Includes emulation environment
        Use Wavecom radio for wireless connectivity
        Ethernet network connectivity is another option
    eMbedded Visual C++ and SDK available for
     free at
     http://www.microsoft.com/mobile/developer/



                                                           6
eMbedded Visual C++ 3.0

   Familiar IDE (similar to Visual C++ 6.0)
   Same environment used for Pocket PC 2002
   Build, deploy, debug against both Emulator
    and physical Smartphone 2002 device
   Integrated Smartphone Security tab
    (simplified interoperability with Smartphone code signing
    security model)
   Integrated remote tools
       Remote File Viewer
       Remote Registry Editor
       ... and several others
                                                                7
Smartphone SDK
   Plugs into eMbedded Visual C++ 3.0
   Enables rich Win32-based development
   Includes x86 Emulation Images
       No-radio Smartphone 2002 x86 image
       Radio-enabled Smartphone 2002 x86 image
       Supports Microsoft ActiveSync® over serial
        connections
       Supports Wavecom module for GSM/CDPD
        phone functionality
       Few differences from using a real device
   Unsupported development run times
       eMbedded Visual Basic, ATL, MFC, .NET
                                                     8
        Compact Framework
Smartphone SDK Components
 eMbedded Visual C++ plug-in
 Smartphone 2002 Emulation images
 API reference
 Documentation
       Design guide
       Application porting guide
       Device management, application management
       Additional white papers and articles
 Code samples
 Miscellaneous tools

                                                    9
Code Samples
   Basic samples that demonstrate one feature
    or area of the device
       Telephony samples – SMS, TAPI
       Sample PIM Tasks application that uses POOM
        API
       Samples for getting system information
   Larger samples that cross multiple feature
    areas and demonstrate how to use the
    various features of the device to solve a
    business problem


                                                      10
The Emulator
   A “Virtual CEPC” that runs x86 CEPC builds
    in a skinned window on the desktop
   Runs under Windows 2000 or later and
    emulates an x86 CEPC
   Functions as a standalone executable that
    resides in an application window
       Extremely high fidelity emulation
       Access to the full range of device languages
       Full communication with the tools as if you were
        running a CEPC next to your desktop computer
       Emulator is actually running the Windows CE
        operating system (within a windowed virtual
        computer on top of a host operating system)
       Networking is supported
                                                           11
Sample Emulator Screen




                         12
Radio Add-on Pack
 Purchase radio directly from Wavecom
  (special pricing for MSPP members)
 Plug and Play
 Full telephony capability
 First level of support will still come from
  Microsoft
 Note: Use of radio and ActiveSync
  simultaneously requires three serial ports



                                                13
The Architecture

                               Control
  Apps / UI   Dialler                          Toolkit UI         Inbox
                               Panel


              Connection                                       Sync
     Logic                               Toolkit
               Manager                                        Engine



 Core APIs     TAPI              SIM               WAP            SMS




Radio Stack             CDMA                                GSM     SIM



                                                                          14
CellCore Goals
   Improve key Win32 APIs to seamlessly support
    digital cellular
       Focus on TAPI and Win32
   Fortify Win32 API deficiencies
       How to handle SIM, SMS, WAP, and GPRS
   Abstract the underlying cellular networks and
    hardware
       Developers should not worry if they are on GSM or CDMA
       Hardware partners should not worry about new drivers
   Enable innovation on top of new APIs
       WAP Support
       “Push to talk” chat
       OTA SMS configuration

                                                                 15
Advanced Voice Control
   TAPI provides advanced telephony control
      Dial, answer, hold, conference, forward, transfer, deflect


   ExTAPI supports additional cellular features
      Extension of TAPI
      HSCSD, USSD, operator selection, call barring




            Extended TAPI
                                                       Telephony API


                                                 Telephony Service Provider
                            Telephony Service Provider




                                                                              16
Data Connections
   Circuit switched data
       TAPI still used, but with “Data Mode” flag
       PPP obtains COM handle to the virtual serial port
   GPRS
       TAPI is used, but with additional DevConfig fields
       Looks like a RAS connection that was quickly
        set up




                                                             17
Connection Manager
   Intelligent data connectivity
        Network based versus connection based
        Scheduled connections
   Each CSP has connection criteria
        Error rate, cost, bandwidth, latency, connect time
        Can add CSPs to support new connection types
   Planner arbitrates connection decisions
        Preconfigurable by carrier/corporate IT




        Planner                   Connection Manager

                                                               Connection
                   Voice   RAS   Proxy   PPTP     GPRS   etc   Service
                                                               Providers

                                                                            18
Connection Manager
   Common CSP examples
       ISP
       Corpnet
                                               Internet
       Secure tunnelling (PPTP)
       Proxy




                                               Corpnet

         ISP    Corpnet   Tunnelling   Proxy




                                                          19
    Short Messaging Service
   Providers allow custom message types
       GSMText (with fragmentation/reassembly)
       WDP (GSM 03.40)
       Other custom types
       SmsSetMessageNotification to register for a particular type
   Similar to Winsock APIs
       SmsOpen
       SmsClose
       SmsSendMessage
       SmsReadMessage
   Additional APIs for SMS-related tasks
       SmsGetSMSC
       SmsSetSMSC


                                                                      20
WAP
 Several   layers of WAP
     WTP: reliable transactions
     WTLS: secure datagrams
     WDP: unreliable datagrams over IP and SMS
 APIs   modelled after Winsock
     WapOpen
     WapClose
     WapSend
     WapRead



                                                  21
SIM Manager
   SIM access – exposes a SIM API
   API protection – permits concurrent access to the SIM
    card
   Password locking
       SimGetPhoneLockedState
   Phonebook
       SimReadPhonebookEntry
   SMS storage access
       SimWriteMessage
   SIM record access
       SimReadRecord


                                                            22
SIM Manager Example

   Simple APIs for accessing records and
    phone books on the SIM
   Notifications available for detecting SIM
    changes




                                                23
SIM Manager Example, Part 1
 #include <simmgr.h>

 HRESULT result = S_OK;
 HSIM hSim;
 SIMPHONEBOOKENTRY phonebookEntry;

 result = SimInitialize(0, NULL, NULL, &hSim);
 if (result != S_OK)
 {
     // Handle error here
 }




                                                 24
SIM Manager Example, Part 2
 result = SimReadPhonebookEntry(hSim, SIM_PBSTORAGE_SIM,
     42, &phonebookEntry);
 if (result != S_OK)
 {
     // Handle error here
 }

 // Do something with the phone book entry here

 result = SimDeinitialize(hSim);
 if (result != S_OK)
 {
     // Handle error here
 }




                                                           25
Voice Calls

   Based on TAPI, with extensions for GSM-
    specific functionality
   One simple API to make a voice call
       tapiRequestMakeCall




                                              26
Voice Calls Example 1
 #include <astdtapi.h>

 LONG result;

 result = tapiRequestMakeCall(TEXT(“+18005551212”), NULL
     NULL, NULL);
 if (result != 0)
 {
     // Insert error handling code here
 }




                                                           27
Voice Calls Example 2
  #include <phone.h>

  PHONEMAKECALLINFO mci;
  FOO result;

  memset(&mci, 0, sizeof(mci));
  mci.cbSize = sizeof(mci);
  mci.dwFlags = SHMCF_PROMPTBEFORECALLING ;
  mci.pszDestAddress = TEXT(“+18005551212");

  result = PhoneMakeCall(mci);
  if (result != 0)
  {
      // Insert error handling code here
  }




                                               28
Data Calls
     All data calls are requested through
      Connection Manager
     Connection Manager takes care of
      everything
     All connections are made to networks
         “The Internet”
         “My Corporate Network”




                                             29
Data Calls Example
     Shows how to establish a data
      connection
         Could be GPRS, CSD, Ethernet
     Does not open a TCP/IP socket
         Additional code is required to do this after
          the call is established




                                                         30
Data Calls Example, Part 1
  #define INITGUID
  #include <connmgr.h>

  CONNMGR_CONNECTIONINFO connInfo;
  HANDLE hConnection;




                                     31
Data Calls Example, Part 2
  // Fill in the structure with the connection details
  memset(&connInfo, 0, sizeof(connInfo));
  connInfo.cbSize = sizeof(connInfo);
  connInfo.dwParams = CONNMGR_PARAM_GUIDDESTNET;
  connInfo.dwPriority = CONNMGR_PRIORITY_USERINTERACTIVE;
  connInfo.dwFlags = 0;
  connInfo.bExclusive = false;
  connInfo.bDisabled = false;
  connInfo.guidDestNet = IID_DestNetInternet;
  connInfo.hWnd = hwnd;
  connInfo.uMsg = WM_APP_CONNMGR;
  connInfo.lParam = (LPARAM)0;




                                                            32
Data Calls Example, Part 3
  // Make the connection
  ConnMgrEstablishConnection(&connInfo, &hConnection);

  // In your main window message loop put the following
      code to look for a successful connection.
  case WM_APP_CONNMGR:
      switch ((WPARAM)wp)
      {
         case CONNMGR_STATUS_CONNECTED:
                // We’re connected!
                break;
      }




                                                          33
Data Calls Example, Part 4
// Close the connection
ConnMgrReleaseConnection(hConnection, 1);




                                            34
Internet Explorer
     HTML 3.2
         No frames
         HTML 4.0 – innerText, innerHTML, accesskey
         No style sheets
     WAP 1.2.1
     Microsoft JScript® 1.1
     cHTML (i-Mode)
         accesskey, tel: URL
     XML / XSL
     Microsoft ActiveX® controls
     SSL security
     Images
         JPEG, GIF, PNG, BMP, 2BP, XBM, WBMP



                                                       35
WAP Support
     Seamless integration with HTML viewer
     WAP June 2000 – http://www.wapforum.org
     WML, WBXML, WML Script, WTLS security
     Bearers
         IP, SMS (WAP Push, SI/SL)
     Interoperability
         Currently tested against 10 gateways
         Compliance testing when the Open Group finalizes the 1.2.1
          test suite
     WTAI?
         Only allow MakeCall
         Other features are not feasible for Smartphone and are not
          secure



                                                                       36
Device Management
   Manageable device with low TCO
   Managing millions of devices
   Standards-based provisioning
       Standard WAP provisioning protocols
       Standard WAP Push protocol
   Secure application download
       Signed CAB files




                                              37
Scenarios
   Bootstrap
   Configuring corporate network access
   Changing registry information
       Mandatory device settings
       Application settings
   Device personalization
   Over the air (OTA) upgrades
       Security fixes



                                           38
OTA Provisioning Architecture


   Carrier                                                  Push Router
Provisioning
                   WAP Push Proxy    WAP                                       Configuration
  System
                     Gateway        Gateway                                      Manager
                                                               Push
                                                           Authentication
Provisioning   P
  Website      A
               P                              Smartphone
                                                                            Configuration Service
                                                                                  Provider




                                                                                                    39
Device Management – Configuration

Carrier Provisioning
                          Web Site
      System
                                     Device-Config Mgr

  Interface                                                       Registry /
                                        Configuration
  HTTP/PAP                                                          App
                                       Service Provider
                                                                  Database


        Configuration Manager


                                       Configuration Manager

                            SMSC


                                       Push Router


                                       SMS Router              Type Mapping
                                                                               40
Sample Configuration Message
   Content-Type: text/vnd.wap.connectivity-xml
   <?xml version="1.0" encoding="UTF-8"?>
   <!DOCTYPE wap-provisioningdoc PUBLIC
    "http://schemas.microsoft.com/prov.dtd">
   <wap-provisioningdoc>
       <characteristic type="Locale">
            <parm-query name="LOCALE_SCURRENCY"/>
            <parm name="LOCALE_IDIGITS" value="3"/>
       </characteristic>
       <characteristic type="KeyStore">
         <characteristic type="HKCU\ControlPanel\Accessibility">
            <parm name="FontSize" value="4"/>
         </characteristic>
         <nocharacteristic
           type=”PKCU\COMM\TerminalPreferances\Small”>
       </characteristic>
   </wap-provisioningdoc>

                                                                    41
Bootstrap
   Permits the device to receive provisioning
    information
   First document to provision device can be
    stored locally or sent to device using WAP
    Push message
   Processed by Configuration Manager
   Support for Standard WAP bootstrap
    network PIN-signed message




                                                 42
Application Installation
   Notification of application availability
       SMS, SI/SL, e-mail
   Forms for application download
       Download an application through pIE over
        HTTP/HTTPS/WSP
       Installation through desktop ActiveSync
       Application can be sent to a user through e-mail as an
        attachment
   Transactional support, role mask for installation
    tasks
   CAB file optionally signed with certificate
   Useful for fixes/patches and new applications



                                                                 43
Installation Security
   Installation through CAB files
   CAB files can be signed
   Security process
       Permissions are assigned
       Configuration Manager receives installation
        instructions
       Installation succeeds or fails based on operator’s
        security policy




                                                             44
Execution Security
   All executable files can be signed
   Three modes of execution
       Untrusted, unprivileged, privileged
   Security process
       Mode is assigned
       Execution succeeds or fails based on operator’s
        security policy




                                                          45
The Signing Process
   Two variables in the signing process
   Which certificates are on the device?
       Mobile2Market
       Mobile Operator
   How is security policy configured?
       OPEN – most applications do not require signing
       LOCKED – applications require signing




                                                          46
The Signing Process
Example with Default Security

   Device has default security policies
       OPEN
   Applications requiring normal access
       Do not have to be signed
   Applications requiring elevated access
       Must be signed with certificate from operator




                                                        47
The Signing Process
Example with Orange’s Security

   Device has Orange’s security policies
       LOCKED
   Applications requiring normal access
       ISV gets application signed by Mobile2Market
        partner (Verisign, Baltimore)
   Applications requiring elevated access
       Must be signed with certificate from operator




                                                        48
Resources
   http://www.microsoft.com/mobile/developer/
   http://www.microsoft.com/mobile/
   http://support.microsoft.com
   microsoft.public.smartphone.developer




                                                 49
Thank you for joining today’s Microsoft Support
WebCast.

For information about all upcoming Support WebCasts,
and access to the archived content (streaming media
files, PowerPoint® slides, and transcripts), visit:
http://support.microsoft.com/webcasts/

Your feedback is sincerely appreciated. Please send any
comments or suggestions about the Support
WebCasts to supweb@microsoft.com.
                                                          50

				
DOCUMENT INFO