Windows Powered Smartphone 2002 Development - PowerPoint PPT Presentation

1 / 50
About This Presentation
Title:

Windows Powered Smartphone 2002 Development

Description:

Cell phone form factor phone first, PDA second. No touch screen ... Custom ring tones. Microsoft Outlook Integrated Inbox (e-mail, v-mail, sms) Contacts ... – PowerPoint PPT presentation

Number of Views:189
Avg rating:3.0/5.0
Slides: 51
Provided by: MicrosoftC8
Category:

less

Transcript and Presenter's Notes

Title: Windows Powered Smartphone 2002 Development


1
Windows PoweredSmartphone 2002Development
Cherno Jagne Developer Support Engineer Product
Support Services Microsoft Corporation
2
Agenda
  • Platform
  • Tools
  • Telephony
  • Web development
  • Device management
  • Security

3
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
  • 176220 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

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

5
Pocket PC vs. Smartphone
6
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/

7
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

8
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 Compact
    Framework

9
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

10
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

11
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

12
Sample Emulator Screen
13
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

14
The Architecture
15
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

16
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
17
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

18
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

Connection Manager
Planner
ConnectionServiceProviders
Voice
RAS
Proxy
PPTP
GPRS
etc
19
Connection Manager
  • Common CSP examples
  • ISP
  • Corpnet
  • Secure tunnelling (PPTP)
  • Proxy

Internet
Corpnet
ISP Corpnet Tunnelling Proxy
20
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

21
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

22
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

23
SIM Manager Example
  • Simple APIs for accessing records and phone books
    on the SIM
  • Notifications available for detecting SIM changes

24
SIM Manager Example, Part 1
  • include
  • HRESULT result S_OK
  • HSIM hSim
  • SIMPHONEBOOKENTRY phonebookEntry
  • result SimInitialize(0, NULL, NULL, hSim)
  • if (result ! S_OK)
  • // Handle error here

25
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

26
Voice Calls
  • Based on TAPI, with extensions for GSM-specific
    functionality
  • One simple API to make a voice call
  • tapiRequestMakeCall

27
Voice Calls Example 1
  • include
  • LONG result
  • result tapiRequestMakeCall(TEXT(18005551212),
    NULL NULL, NULL)
  • if (result ! 0)
  •     // Insert error handling code here

28
Voice Calls Example 2
  • include
  • 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

29
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

30
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

31
Data Calls Example, Part 1
  • define INITGUID
  • include
  • CONNMGR_CONNECTIONINFO connInfo
  • HANDLE hConnection

32
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_USERINTERAC
    TIVE
  • 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

33
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_CONNMGRswitch ((WPARAM)wp) case
    CONNMGR_STATUS_CONNECTED // Were
    connected! break

34
Data Calls Example, Part 4
  • // Close the connection
  • ConnMgrReleaseConnection(hConnection, 1)

35
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

36
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

37
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

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

39
OTA Provisioning Architecture
Push Router
Carrier
Provisioning
WAP Push Proxy
Configuration
WAP
System
Gateway
Manager
Gateway
Push
Authentication
Provisioning
P
Website
A
P
Smartphone
Configuration Service
Provider
40
Device Management Configuration
Carrier Provisioning System
Web Site
Device-Config Mgr
Interface HTTP/PAP
Configuration Service Provider
Registry / App Database
Configuration Manager
Configuration Manager
SMSC
Push Router
Type Mapping
SMS Router
41
Sample Configuration Message
  • Content-Type text/vnd.wap.connectivity-xml
  • "http//schemas.microsoft.com/prov.dtd"
  • ity"
  • ces\Small

42
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

43
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

44
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
    operators security policy

45
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 operators
    security policy

46
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

47
The Signing ProcessExample 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

48
The Signing ProcessExample with Oranges Security
  • Device has Oranges 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

49
Resources
  • http//www.microsoft.com/mobile/developer/
  • http//www.microsoft.com/mobile/
  • http//support.microsoft.com
  • microsoft.public.smartphone.developer

50
  • Thank you for joining todays 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_at_microsoft.com.
Write a Comment
User Comments (0)
About PowerShow.com