40
Choosing the Right Choosing the Right Mobile Technology and Mobile Technology and Mobile Device Mobile Device Marcus Perryman Marcus Perryman Consultant Consultant Microsoft Microsoft Chung Webster Chung Webster Consultant Consultant Microsoft Microsoft

2003 landscape

Embed Size (px)

Citation preview

Page 1: 2003 landscape

Choosing the Right Choosing the Right Mobile Technology and Mobile Technology and Mobile DeviceMobile DeviceMarcus PerrymanMarcus PerrymanConsultantConsultantMicrosoftMicrosoft

Chung WebsterChung WebsterConsultantConsultantMicrosoftMicrosoft

Page 2: 2003 landscape

AgendaAgenda Mobile Growth and opportunityMobile Growth and opportunity Diverse DevicesDiverse Devices

Pocket PC, Smartphone, Tablet, Pocket PC, Smartphone, Tablet, SmartDisplaySmartDisplay

Next Generation Pocket PC and Next Generation Pocket PC and Smartphone PlatformSmartphone Platform What’s new!What’s new! Development for OzoneDevelopment for Ozone

Choosing the right development Choosing the right development approachapproach Thin client solution vs Smart client Thin client solution vs Smart client

applicationapplication Development tool choices.Development tool choices.

Page 3: 2003 landscape

Mobile GrowthMobile Growth Software Platform for Clients Software Platform for Clients

Worldwide shipments of high-end smartphones will Worldwide shipments of high-end smartphones will reach 45M by 2007 - reach 45M by 2007 - Arc Group, 16 April 2003Arc Group, 16 April 2003

"Worldwide, there will be 1.7 billion mobile "Worldwide, there will be 1.7 billion mobile connections at the end of 2007", connections at the end of 2007", 'Mobile Terminals: 'Mobile Terminals: Worldwide, 1997 to 2006' report (TCMC-WW-MS-Worldwide, 1997 to 2006' report (TCMC-WW-MS-0374), B. Prohm et al., Gartner0374), B. Prohm et al., Gartner

Services to SubscribersServices to Subscribers 2,154,246,090 cellular subscribers World wide by 2,154,246,090 cellular subscribers World wide by

2007 - 2007 - EMC World Cellular Database, April 20EMC World Cellular Database, April 200303

Page 4: 2003 landscape

Supporting The DeveloperSupporting The Developer

Mobility Developer ConferenceMobility Developer Conference First MS Mobility Developer Conference a huge First MS Mobility Developer Conference a huge

success in Londonsuccess in London Bigger and better follow-up events in US, Europe and AsiaBigger and better follow-up events in US, Europe and Asia

Developer ToolsDeveloper Tools eMbedded Visual Tools eMbedded Visual Tools VisualStudio.NETVisualStudio.NET .NET Compact Framework (.NET CF).NET Compact Framework (.NET CF) ASP.NET Mobile ControlsASP.NET Mobile Controls

Partner ProgramPartner Program Designed to help developers build applications Designed to help developers build applications Provides marketing support for product launches and PRProvides marketing support for product launches and PR

Certification and market delivery of mobile applications Certification and market delivery of mobile applications designed for Pocket PC and Smartphonedesigned for Pocket PC and Smartphone

Empowers ISVs to generate incremental revenues through Empowers ISVs to generate incremental revenues through mobile operator relationshipsmobile operator relationships

Extends customer reach and reducing time-to-marketExtends customer reach and reducing time-to-market

Page 5: 2003 landscape

Mobile Device StrategyMobile Device Strategy Microsoft’s vision is Microsoft’s vision is

““Empower people Empower people through great software through great software any where any time,any where any time,and on any device”and on any device”

OEM differentiation in hardware and capability

Excellent platform for LOB applications

Excellent mail linkage with Outlook and Exchange

Rich environmentonline and offline

Rich photo and music experience

Pocket PCPocket PC

Pocket PC Pocket PC Phone EditionPhone Edition

SmartphoneSmartphoneTablet PCTablet PC

Page 6: 2003 landscape

Diverse DevicesDiverse DevicesSmartphoneSmartphonePocket PCPocket PCTabletTabletSmart DisplaySmart Display

Page 7: 2003 landscape

What is Smartphone What is Smartphone 2002?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

Page 8: 2003 landscape

What is PocketPC 2002What 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

Page 9: 2003 landscape

Microsoft PocketPC Phone EditionMicrosoft 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

Page 10: 2003 landscape

Introducing the Tablet PCIntroducing the Tablet PC Full Function Mobile Business PC Full Function Mobile Business PC

Runs Windows XP Tablet PC Edition Runs Windows XP Tablet PC Edition (superset of Windows XP Pro)(superset of Windows XP Pro)

Runs Runs allall existing Windows applications existing Windows applications Enables New PC Usage ScenariosEnables New PC Usage Scenarios

Unprecedented PC mobilityUnprecedented PC mobility New Pen and Speech technologiesNew Pen and Speech technologies

A Powerful PlatformA Powerful Platform Enables a new generation of business solutionsEnables a new generation of business solutions E.g., MS Office, many third party ISV applicationsE.g., MS Office, many third party ISV applications

The Smartest .NET Client The Smartest .NET Client Most mobile PC, most powerful OSMost mobile PC, most powerful OS Includes full .NET frameworkIncludes full .NET framework

Page 11: 2003 landscape

Windows Powered Smart Windows Powered Smart Display: What Is It?Display: What Is It?

The Evolution of the MonitorThe Evolution of the Monitor Does for the home PC what the cordless Does for the home PC what the cordless

handset did for the home phonehandset did for the home phone LiberatingLiberating

Free yourself with a secure cordless connection to Free yourself with a secure cordless connection to your Windows XP-based PC from anywhere in your your Windows XP-based PC from anywhere in your homehome

EmpoweringEmpowering Extend the power of your personalized Windows XP Extend the power of your personalized Windows XP

experience and the rich features, applications and experience and the rich features, applications and services you use mostservices you use most

ConvenientConvenient Access your PC instantly whenever you want to with Access your PC instantly whenever you want to with

devices that are simple to set-updevices that are simple to set-up & require minimal & require minimal maintenancemaintenance

Page 12: 2003 landscape

Next Generation Device Next Generation Device PlatformPlatform

Pocket PC Ozone PlatformPocket PC Ozone PlatformNext Generation SmartphoneNext Generation Smartphone

Page 13: 2003 landscape

Brief History of TimeBrief History of TimePocket PCPocket PC

April 00April 00 Oct 01Oct 01 H1 2002H1 2002

Pocket PCPocket PC20022002

Pocket PCPocket PCOzoneOzone

Win CE 3.0Win CE 3.0 Win CE .NETWin CE .NET(4.0)(4.0)

4.24.24.14.1SP 1SP 1Jan 02Jan 02June 00June 00

Embedded Embedded Visual Tools 3.0Visual Tools 3.0

Embedded Embedded Visual Tools 4.0Visual Tools 4.0

Page 14: 2003 landscape

What’s New in Ozone?What’s New in Ozone?(Part 1)(Part 1) New OS version: Windows CE 4.2New OS version: Windows CE 4.2

Security – Trustworthy Computing InitiativeSecurity – Trustworthy Computing Initiative Trusted CE devices as part of a corporate Trusted CE devices as part of a corporate

networknetwork L2TP and IPSecL2TP and IPSec 802.11 Native AP support, including 802.1x, 802.11 Native AP support, including 802.1x,

TKIP, WEP rekeying, etcTKIP, WEP rekeying, etc IPv6 protocol and applicationsIPv6 protocol and applications

Improved pIE with IPv6 supportImproved pIE with IPv6 support MultimediaMultimedia

Windows Media 9 codes/DMO wrapperWindows Media 9 codes/DMO wrapper Real Time CommunicationsReal Time Communications

RTC IPv6 SupportRTC IPv6 Support Sync with latest MS Messenger technologies Sync with latest MS Messenger technologies

Page 15: 2003 landscape

What’s New in Ozone?What’s New in Ozone?(Part 2)(Part 2) File System FiltersFile System Filters

Sit on top of the FS, intercept FS calls before FS Sit on top of the FS, intercept FS calls before FS handlinghandling

Useful for…Useful for… Encrypt / Decrypt; Compress / Uncompress; Encrypt / Decrypt; Compress / Uncompress;

Virus scan Virus scan Device managementDevice management

Configuration ManagerConfiguration Manager Delivery through: RAPI, CAB, XML, WAPDelivery through: RAPI, CAB, XML, WAP

Shell changesShell changes Background execution (e.g. screen off)Background execution (e.g. screen off)

PIEPIE HTML 4.01, XHTML, CSS, WML 2.0, Jscript 5.5HTML 4.01, XHTML, CSS, WML 2.0, Jscript 5.5

Messaging… Messaging…

Page 16: 2003 landscape

Backwards CompatibilityBackwards Compatibility Goal is for 100% back compatGoal is for 100% back compat But, be aware:But, be aware:

New OS (major revision from 3.0)New OS (major revision from 3.0) Same MFC, rebuilt ATLSame MFC, rebuilt ATL COM objects are now free-threadedCOM objects are now free-threaded eVB/ADO runtimes have been rebuilteVB/ADO runtimes have been rebuilt Some CEMAPI constants no longer Some CEMAPI constants no longer

supportedsupported Few APIs migrated from one .h to anotherFew APIs migrated from one .h to another

Test, test, test!Test, test, test!

Page 17: 2003 landscape

Remote Device Remote Device ConfigurationConfiguration

Page 18: 2003 landscape

SMS Interception and SMS Interception and ProcessingProcessing

Page 19: 2003 landscape

Development For OzoneDevelopment For Ozone

Page 20: 2003 landscape

TodayTodayPPC 2002PPC 2002 SP 2002SP 2002

WinCE OSWinCE OS 3.03.0 3.03.0eVCeVC 3.03.0 3.03.0eVBeVB 3.03.0 --

VS.NETVS.NET 20032003 --.NETCF.NETCF 1.01.0 --

MFCMFC XX --ATLATL XX --eVB eVB

(runtime)(runtime)XX --

SQL CESQL CE XX --ADO.NETADO.NET XX --

MSMQMSMQ XX --Web ServerWeb Server XX --

PPC 2002PPC 2002 SP 2002SP 2002 PPC OzonePPC Ozone SP v.NextSP v.NextWinCE OSWinCE OS 3.03.0 3.03.0 4.24.2 4.24.2

eVCeVC 3.03.0 3.03.0 4.0 (SP2)4.0 (SP2) 4.0 (SP2)4.0 (SP2)eVBeVB 3.03.0 -- -- --

VS.NETVS.NET 20032003 -- 20032003 20032003.NETCF.NETCF 1.01.0 -- 1.01.0 1.0*1.0*

MFCMFC XX -- XX --ATLATL XX -- XX XXeVB eVB

(runtime)(runtime)XX -- X (RAM)X (RAM) --

SQL CESQL CE XX -- XX --ADO.NETADO.NET XX -- XX XX

MSMQMSMQ XX -- XX XXWeb ServerWeb Server XX -- XX --

Next GenNext Gen

Page 21: 2003 landscape

Development ChoicesDevelopment ChoicesAPI Strengths

Microsoft Win32 (C / C++)

Smallest and fastest .exe files and DLLs. Lowest memory overhead. Required for device drivers, control panel applets, shell extensions No runtime required; Windows CE .NET is the runtime.

MFC / ATL(C++)

Object-oriented. Inheritance, Encapsulation, Polymorphism Classes support arrays, lists, and simplify data handling. Type safety Complete MFC/ATL source code ships with tools. Good tool support & wizards

.NET Framework (C# and Microsoft Visual Basic® .NET)

Well-designed programming interface. Object-oriented. Inheritance, Encapsulation, Polymorphism 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

Page 22: 2003 landscape

Runtimes and ToolsRuntimes and Tools Pocket PC Ozone, Smartphone v.NextPocket PC Ozone, Smartphone v.Next

Native Code DevelopmentNative Code DevelopmenteVC++ 4.0 eVC++ 4.0 eVC++ 4.0 Service Pack 2 requiredeVC++ 4.0 Service Pack 2 requiredPPC: eVB/ADO runtime supported, PPC: eVB/ADO runtime supported,

but no eVB SDK/Toolsbut no eVB SDK/Tools Managed Code Development (C# / VB.Net)Managed Code Development (C# / VB.Net)

.NETCF in ROM.NETCF in ROMVisual Studio .NET 2003Visual Studio .NET 2003

All native and managed code All native and managed code development requires PPC/SP SDKsdevelopment requires PPC/SP SDKs

Page 23: 2003 landscape

Native Code Native Code DevelopmentDevelopment Improved DebuggingImproved Debugging

JIT debugging (attach to dead process)JIT debugging (attach to dead process) Attach to already running processAttach to already running process Multithreaded application debuggingMultithreaded application debugging

Updated CompilersUpdated Compilers SEH and C++ exception handlingSEH and C++ exception handling STL (Standard Template Library)STL (Standard Template Library) Intrinsics (generate in-line code)Intrinsics (generate in-line code)

Updated Remote ToolsUpdated Remote Tools Call ProfilerCall Profiler Performance MonitorPerformance Monitor

Page 24: 2003 landscape

New Debugging FeaturesNew Debugging Features

Page 25: 2003 landscape

New Remote ToolsNew Remote Tools

Page 26: 2003 landscape

Managed Code Managed Code DevelopmentDevelopmentVisual Studio .NET & .NET Compact Visual Studio .NET & .NET Compact FrameworkFramework Visual Studio .NET 2003Visual Studio .NET 2003

Provides all development tools for the Provides all development tools for the devicedevice

Includes Compact Framework CAB installIncludes Compact Framework CAB install Compact Framework in ROM Compact Framework in ROM

Pocket PC Ozone Pocket PC Ozone

More later…More later…

Page 27: 2003 landscape

Ozone SDK (Beta)Ozone SDK (Beta)All you need to develop against Ozone…All you need to develop against Ozone… Plug-ins for eVC++ 4.0 (SP2)Plug-ins for eVC++ 4.0 (SP2) Plug-ins for Visual Studio .NET 2003Plug-ins for Visual Studio .NET 2003 All required headers / libs / etc. (x86/ARM)All required headers / libs / etc. (x86/ARM) Runtimes and components:Runtimes and components:

eVB runtimeeVB runtime HTTPD (Web Server)HTTPD (Web Server) MSMQMSMQ

Emulation imagesEmulation images Pocket PCPocket PC Pocket PC Phone EditionPocket PC Phone Edition Pocket PC Phone Edition Virtual RadioPocket PC Phone Edition Virtual Radio

Updated samples collectionUpdated samples collection Design guideDesign guide Reference documentationReference documentation

Page 28: 2003 landscape

Choosing the right Choosing the right development approachdevelopment approach

Page 29: 2003 landscape

Tools vs. DevicesTools vs. DevicesSmartphoneSmartphone Pocket PCPocket PC Tablet PCTablet PC

Embedded Embedded ToolsTools

(eVC / eVB)(eVC / eVB)

YesYeseVC++ OnlyeVC++ Only

YesYes

.NET.NETYes Yes

(via Tablet (via Tablet SDK)SDK)

.NET CF.NET CF (future)(future) YesYes

ASP.NET ASP.NET Mobile Mobile

ControlsControls YesYes YesYes YesYes

Page 30: 2003 landscape

Smart Device Smart Device ProgrammabilitProgrammabilit

yyASP.NET Mobile ASP.NET Mobile

ControlsControls

Mobile Web Mobile Web BrowserBrowser

.NET Device .NET Device ProgrammingProgrammingTwo approaches – one model, one toolTwo approaches – one model, one tool

.NET Compact .NET Compact FrameworkFramework

Local CodeLocal CodeRemote Web PagesRemote Web Pages

Device Operating SystemDevice Operating System

Thin clientThin client Smart clientSmart client

Page 31: 2003 landscape

Server sideServer side Broad device supportBroad device support Server side logicServer side logic No client installationNo client installation Browser or messaging UIBrowser or messaging UI Online onlyOnline only

Smart ClientSmart Client Target smart clientsTarget smart clients Client side logic & dataClient side logic & data UI flexibilityUI flexibility PerformancePerformance Offline & OnlineOffline & Online

Server SideServer Side

SmartSmartClientClient

??

Server Side or Smart Server Side or Smart ClientClientKey questionsKey questions

Page 32: 2003 landscape

ASP.NET Mobile ASP.NET Mobile ControlsControls

Mobile Web Mobile Web BrowserBrowser

.NET Device .NET Device ProgrammingProgrammingServer Side DevelopmentServer Side Development

Remote Web PagesRemote Web Pages

Device Operating SystemDevice Operating System

Thin clientThin client

Page 33: 2003 landscape

Mobile Development Mobile Development SituationSituation

Page 34: 2003 landscape

ASP.NET mobile controlsASP.NET mobile controls

Write-once mobile web pagesWrite-once mobile web pages From a single code base target multiple devicesFrom a single code base target multiple devices Separate code from presentation layerSeparate code from presentation layer

Support for a variety of devicesSupport for a variety of devices Web enabled Cell Phones, PDAs and PagersWeb enabled Cell Phones, PDAs and Pagers

Support multiple mark-up languagesSupport multiple mark-up languages WML1.1 (WAP); cHTML 1.0, and HTML 3.2WML1.1 (WAP); cHTML 1.0, and HTML 3.2

Customizable and extensible frameworkCustomizable and extensible framework Add new controls and support for new devicesAdd new controls and support for new devices

Page 35: 2003 landscape

ASP.NET Mobile ASP.NET Mobile Controls DemoControls Demo

Page 36: 2003 landscape

Smart Device Smart Device ProgrammabilitProgrammabilit

yy

.NET Device .NET Device ProgrammingProgrammingClient Side DevelopmentClient Side Development

.NET Compact .NET Compact FrameworkFramework

Local CodeLocal Code

Device Operating SystemDevice Operating System

Smart clientSmart client

Page 37: 2003 landscape

.NET Compact .NET Compact FrameworkFramework Lightweight version of .NET FrameworkLightweight version of .NET Framework Designed for resource-constrained devicesDesigned for resource-constrained devices Compatible with VS.NET, C#, VB.NETCompatible with VS.NET, C#, VB.NET Runs applications securely on-deviceRuns applications securely on-device

High performance JIT compilerHigh performance JIT compiler Guarantees robustness and securityGuarantees robustness and security Highly interactive, offline, and networked Highly interactive, offline, and networked

experiencesexperiences Makes it easy to consume web servicesMakes it easy to consume web services

Tunable size and performanceTunable size and performance

Page 38: 2003 landscape

.NET Compact .NET Compact Framework DemoFramework Demo

Page 39: 2003 landscape

SummarySummary

Mobile technology industry is Mobile technology industry is diverse, fast paced and growing very diverse, fast paced and growing very quickly, with no one device able to quickly, with no one device able to solve all problems.solve all problems.

Microsoft offers a rich suit of flexible Microsoft offers a rich suit of flexible software to cater for a wide variety software to cater for a wide variety of devices and solutions.of devices and solutions.

Visual Studio.NET provides a ‘state Visual Studio.NET provides a ‘state of the art’ development tools for of the art’ development tools for managed mobile solutions.managed mobile solutions.

Page 40: 2003 landscape