Choosing the Right Mobile Technology and Mobile Device Marcus Perryman ConsultantMicrosoft Chung Webster ConsultantMicrosoft
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 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 EMC World Cellular Database, April 2003
Supporting The Developer Mobility Developer Conference First MS Mobility Developer Conference a huge success in London First MS Mobility Developer Conference a huge success in London Bigger and better follow-up events in US, Europe and Asia Bigger and better follow-up events in US, Europe and Asia Developer Tools eMbedded Visual Tools eMbedded Visual Tools VisualStudio.NET VisualStudio.NET.NET Compact Framework (.NET CF).NET Compact Framework (.NET CF) ASP.NET Mobile Controls ASP.NET Mobile Controls 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 Certification and market delivery of mobile applications designed for Pocket PC and Smartphone Empowers ISVs to generate incremental revenues through mobile operator relationships Empowers ISVs to generate incremental revenues through mobile operator relationships Extends customer reach and reducing time-to-market 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 Excellent platform for LOB applications Excellent mail linkage with Outlook and Exchange Rich environment online and offline Rich photo and music experience Pocket PC Phone Edition 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) 3 rd 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 April 00 Oct 01 H Pocket PC 2002 Ozone Win CE 3.0 Win CE.NET (4.0) SP 1 Jan 02 June 00 Embedded Visual Tools 3.0 Embedded 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 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 PPC 2002 SP 2002 WinCE OS eVC eVB3.0- VS.NET2003-.NETCF1.0- MFCX- ATLX- eVB (runtime) X- SQL CE X- ADO.NETX- MSMQX- Web Server X- PPC 2002 SP 2002 PPC Ozone SP v.Next WinCE OS eVC (SP2) eVB VS.NET NETCF * MFCX-X- ATLX-XX eVB (runtime) X- X (RAM) - SQL CE X-X- ADO.NETX-XX MSMQX-XX Web Server X-X- Next Gen
Development Choices APIStrengths 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
Runtimes and Tools Pocket PC Ozone, Smartphone v.Next Native Code Development eVC eVC 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 All native 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 (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 Tools (eVC / eVB) Yes eVC++ Only Yes.NETYes (via Tablet SDK).NET CF (future)Yes ASP.NET Mobile Controls YesYesYes
Smart Device Programmability ASP.NET Mobile Controls Mobile Web Browser.NET Device Programming Two approaches – one model, one tool.NET Compact Framework Local Code Remote Web Pages Device Operating System Thin client Smart client
Server side Broad device support Server side logic No client installation Browser or messaging UI Online only Smart Client Target smart clients Client side logic & data UI flexibility Performance Offline & Online Server Side Smart Client ? Server Side or Smart Client Key questions
ASP.NET Mobile Controls Mobile Web Browser.NET Device Programming Server Side Development Remote Web Pages Device Operating System Thin client
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
Smart Device Programmability.NET Device Programming Client Side Development.NET Compact Framework Local Code Device Operating System Smart client
.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.
Choosing the Right Mobile Technology and Mobile Device Choosing the Right Mobile Technology and Mobile Device In this session firstly we will introduce the next generation Pocket PC and Smartphone development platforms, where we will focus on key new features for mobile software developers, starting from the underlying Windows CE OS. Secondly we will show the Windows Mobile powered devices such as the Tanager and SPV Smartphone’s, the HP 1910 and other new devices such as Smartdisplay and the Tablet PC. We will finish the session by considering how to choose the right Microsoft technology from the many available to solve your business problem on a mobile platform.