Choosing the Right Mobile
Technology and Mobile
Device
Marcus Perryman Chung Webster
Consultant Consultant
Microsoft Microsoft
Agenda
Mobile Growth and opportunity
Diverse Devices
Pocket PC, Smartphone, Tablet, SmartDisplay
Next Generation Pocket PC and
Smartphone Platform
What‟s new!
Development for Ozone
Choosing the right development
approach
Thin client solution vs Smart client
application
Development tool choices.
Mobile Growth
Software Platform for Clients
Worldwide shipments of high-end smartphones will reach
45M by 2007 - Arc Group, 16 April 2003
"Worldwide, there will be 1.7 billion mobile connections at
the end of 2007", 'Mobile Terminals: Worldwide, 1997 to
2006' report (TCMC-WW-MS-0374), B. Prohm et
al., Gartner
Services to Subscribers
2,154,246,090 cellular subscribers World wide by 2007 -
EMC World Cellular Database, April 2003
Supporting The Developer
Developer Tools
eMbedded Visual Tools
VisualStudio.NET
.NET Compact Framework (.NET CF)
ASP.NET Mobile Controls
Mobility Developer Conference
First MS Mobility Developer Conference a huge
success in London
Bigger and better follow-up events in US, Europe and Asia
Partner Program
Designed to help developers build applications
Provides marketing support for product launches and PR
Certification and market delivery of mobile applications
designed for Pocket PC and Smartphone
Empowers ISVs to generate incremental revenues through
mobile operator relationships
Extends customer reach and reducing time-to-market
Mobile Device Strategy
Microsoft‟s vision is
“Empower people through
great software any where
any time,
and on any device”
OEM differentiation in
hardware and capability
Pocket PC
Excellent platform for LOB
applications
Excellent mail linkage with
Outlook and Exchange Pocket PC
Rich environment
Phone Edition
online and offline
Rich photo and music
experience
Smartphone
Tablet PC
Diverse Devices
Smartphone
Pocket PC
Tablet
Smart Display
What is Smartphone 2002?
Mobile-handset
Communication
management tool
Mobile Phone, Outlook, Web
Up-to-date
Great sync to desktop or server
Manageable
Over-the-air configuration
Extensible
Partners, carriers and customers are free to
extend/ enhance featureset
Install applications, take advantage of HW
features
What is PocketPC 2002
Improved UI
Themes
Improved software
Pocket Office, PIE
Media Player, Terminal Services
Corporate Network Access
VPN, Network Browse
Hardware
ARM Standardization
FLASH ROM in all devices
Developer
Connection Manager
Notifications
MAPI
Many more documented API‟s
Microsoft PocketPC Phone Edition
Developer
Access to phone functionality
Cell Core library
SMS, SIM, Phone
WAP, TAPI
PDA First
Extended apps to take advantage of phone.
All the PocketPC 2002 functionality
Office, Instant Messenger, Media Player
etc
Mobile Outlook
(Unified inbox) Inbox, SMS, vMail,
Calendar, Contacts, Tasks
Always up-to-date (GPRS)
3rd Party Extensible
Introducing the Tablet PC
Full Function Mobile Business PC
Runs Windows XP Tablet PC Edition
(superset of Windows XP Pro)
Runs all existing Windows applications
Enables New PC Usage Scenarios
Unprecedented PC mobility
New Pen and Speech technologies
A Powerful Platform
Enables a new generation of business solutions
E.g., MS Office, many third party ISV applications
The Smartest .NET Client
Most mobile PC, most powerful OS
Includes full .NET framework
Windows Powered Smart
Display: What Is It?
The Evolution of the Monitor
Does for the home PC what the cordless handset
did for the home phone
Liberating
Free yourself with a secure cordless connection to your
Windows XP-based PC from anywhere in your home
Empowering
Extend the power of your personalized Windows XP
experience and the rich features, applications and services
you use most
Convenient
Access your PC instantly whenever you want to with devices
that are simple to set-up & require minimal maintenance
Next Generation Device
Platform
Pocket PC Ozone Platform
Next Generation Smartphone
Brief History of Time
Pocket PC Pocket PC Pocket PC
2002 Ozone
April 00 Oct 01 H1 2002
SP 1 4.1 4.2
June 00 Jan 02
Win CE 3.0 Win CE .NET
(4.0)
Embedded Embedded
Visual Tools 3.0 Visual Tools 4.0
What‟s New in Ozone?
(Part 1)
New OS version: Windows CE 4.2
Security – Trustworthy Computing Initiative
Trusted CE devices as part of a corporate network
L2TP and IPSec
802.11 Native AP support, including 802.1x, TKIP,
WEP rekeying, etc
IPv6 protocol and applications
Improved pIE with IPv6 support
Multimedia
Windows Media 9 codes/DMO wrapper
Real Time Communications
RTC IPv6 Support
Sync with latest MS Messenger technologies
What‟s New in Ozone?
(Part 2)
File System Filters
Sit on top of the FS, intercept FS calls before FS
handling
Useful for…
Encrypt / Decrypt; Compress / Uncompress; Virus
scan
Device management
Configuration Manager
Delivery through: RAPI, CAB, XML, WAP
Shell changes
Background execution (e.g. screen off)
PIE
HTML 4.01, XHTML, CSS, WML 2.0, Jscript 5.5
Messaging…
Backwards Compatibility
Goal is for 100% back compat
But, be aware:
New OS (major revision from 3.0)
Same MFC, rebuilt ATL
COM objects are now free-threaded
eVB/ADO runtimes have been rebuilt
Some CEMAPI constants no longer supported
Few APIs migrated from one .h to another
Test, test, test!
Remote Device
Configuration
SMS Interception and
Processing
Development For Ozone
Today Next Gen
PPC 2002 SP 2002 PPC Ozone SP v.Next
WinCE OS 3.0 3.0 4.2 4.2
eVC 3.0 3.0 4.0 (SP2) 4.0 (SP2)
eVB 3.0 - - -
VS.NET 2003 - 2003 2003
.NETCF 1.0 - 1.0 1.0*
MFC X - X -
ATL X - X X
eVB (runtime) X - X (RAM) -
SQL CE X - X -
ADO.NET X - X X
MSMQ X - X X
Web Server X - X -
Development Choices
API Strengths
Microsoft Win32 Smallest and fastest .exe files and DLLs.
(C / C++) Lowest memory overhead.
Required for device drivers, control panel applets, shell extensions
No runtime required; Windows CE .NET is the runtime.
MFC / ATL Object-oriented. Inheritance, Encapsulation, Polymorphism
(C++) Classes support arrays, lists, and simplify data handling.
Type safety
Complete MFC/ATL source code ships with tools.
Good tool support & wizards
.NET Framework Well-designed programming interface.
(C# and Microsoft Object-oriented. Inheritance, Encapsulation, Polymorphism
Visual Basic® .NET) Classes support arrays, lists, hashtables, dictionaries, and stacks.
Type safety
Namespaces.
Automatic garbage collection eliminates memory leaks.
MSIL / CIL, provides binary portable of executable (.exe & .dll)
Web service clients are quick and easy to write.
Great support for handling XML.
Great tool support — Forms Designer
Runtimes and Tools
Pocket PC Ozone, Smartphone v.Next
Native Code Development
eVC++ 4.0
eVC++ 4.0 Service Pack 2 required
PPC: eVB/ADO runtime supported,
but no eVB SDK/Tools
Managed Code Development (C# / VB.Net)
.NETCF in ROM
Visual Studio .NET 2003
Allnative and managed code development
requires PPC/SP SDKs
Native Code Development
Improved Debugging
JIT debugging (attach to dead process)
Attach to already running process
Multithreaded application debugging
Updated Compilers
SEH and C++ exception handling
STL (Standard Template Library)
Intrinsics (generate in-line code)
Updated Remote Tools
Call Profiler
Performance Monitor
New Debugging Features
New Remote Tools
Managed Code Development
Visual Studio .NET & .NET Compact Framework
Visual Studio .NET 2003
Provides all development tools for the device
Includes Compact Framework CAB install
Compact Framework in ROM
Pocket PC Ozone
More later…
Ozone SDK (Beta)
All you need to develop against Ozone…
Plug-ins for eVC++ 4.0 (SP2)
Plug-ins for Visual Studio .NET 2003
All required headers / libs / etc. (x86/ARM)
Runtimes and components:
eVB runtime
HTTPD (Web Server)
MSMQ
Emulation images
Pocket PC
Pocket PC Phone Edition
Pocket PC Phone Edition Virtual Radio
Updated samples collection
Design guide
Reference documentation
Choosing the right
development approach
Tools vs. Devices
Smartphone Pocket PC Tablet PC
Embedded Yes Yes
Tools eVC++ Only
(eVC / eVB)
Yes
.NET (via Tablet
SDK)
.NET CF (future) Yes
ASP.NET Mobile
Controls Yes Yes Yes
.NET Device Programming
Two approaches – one model, one tool
ASP.NET Mobile Smart Device
Controls Programmability
Thin client Smart client
Remote Web Pages
Local Code
Mobile Web .NET Compact
Browser Framework
Device Operating System
Server Side or Smart Client
Key questions
Server side
Broad device support
Server side logic
Server Side No client installation
Browser or messaging UI
Online only
? Smart Client
Smart Target smart clients
Client Client side logic & data
UI flexibility
Performance
Offline & Online
.NET Device Programming
Server Side Development
ASP.NET Mobile
Controls
Thin client
Remote Web Pages
Mobile Web
Browser
Device Operating System
Mobile Development Situation
ASP.NET mobile controls
Write-once mobile web pages
From a single code base target multiple devices
Separate code from presentation layer
Support for a variety of devices
Web enabled Cell Phones, PDAs and Pagers
Support multiple mark-up languages
WML1.1 (WAP); cHTML 1.0, and HTML 3.2
Customizable and extensible framework
Add new controls and support for new devices
ASP.NET Mobile Controls
Demo
.NET Device Programming
Client Side Development
Smart Device
Programmability
Smart client
Local Code
.NET Compact
Framework
Device Operating System
.NET Compact Framework
Lightweight version of .NET Framework
Designed for resource-constrained devices
Compatible with VS.NET, C#, VB.NET
Runs applications securely on-device
High performance JIT compiler
Guarantees robustness and security
Highly interactive, offline, and networked experiences
Makes it easy to consume web services
Tunable size and performance
.NET Compact Framework
Demo
Summary
Mobile technology industry is diverse,
fast paced and growing very quickly, with
no one device able to solve all problems.
Microsoft offers a rich suit of flexible
software to cater for a wide variety of
devices and solutions.
Visual Studio.NET provides a „state of the
art‟ development tools for managed
mobile solutions.