Windows Mobile: Platform Overview
Categories of Windows Mobile Platforms Based on Hardware • Pocket PC – OS: Windows Mobile
• Smart Phone – OS: Windows Mobile Customized for Smart Phones
• Embedded or Custom Hardware – OS: Windows CE
Differences Between Mobile Platforms Platform s Touch Screen
Windows Mobile 6 Classic Windows and Professional Mobile 6 Standard Yes No
Keypad
No Keyboard Or QWERTY Keyboard
Telephon e Capability Operating System
Yes for Pocket PC Phone Edition Windows Mobile 6 Classic Windows Mobile 6 Professional
Windows Mobile 6 Standard
Hardware
Pocket PCs
Smart Phones
Windows CE Decision of OEM
Phone Keypad, or Decision of OEM QWERTY keyboard Yes Custom Windows CE 5.0 Windows Embedded CE 5.0 For Custom Hardware
Windows CE vs. Windows Mobile • Windows CE – –
A Modular Operating System Completely Adaptable to Build Customized Operating System for a Hardware Platform – Platform Builder is the Tool Used to Pick Modules of Windows CE Required for a Particular Hardware
Windows Mobile vs. Windows CE • Windows Mobile – Ensures Look & Feel Consistency Across Devices – Built Using Windows CE – Additional Features • Pocket PC or Smart Phone Shell for UI & User Input • Word, Excel, IE etc.
Microsoft .Net Architecture
Microsoft .Net Compact Framework • .Net CF is for Mobile • • •
Devices .Net Compact Framework is Subset of Full .Net Very Small Footprint (4MB for v2.0) Feature that are Not Included in the Compact Framework are Shaded
Default Threads in .Net CF Applications • Primary Thread of the Application • A Thread to Track Active TCP/IP
Interfaces • A Thread to Call finalizers at the Time of Garbage Collection • A Thread to Control Timers
Data Storage Options • SQL Server Compact Edition (SQL Server CE)
– Lightweight Relational Database
• Datasets have Built-in Capability to Store Data in File in XML Format • XML Based Objects Serialization
– Persist Public Properties of an Object in File
Typical Configuration of a Device Running Windows Mobile 6.0
Messaging and Events • Message Pump: – Every Application has a Message Pump where All Messages Related to that Application are Delivered by the System
Compact CLR Engine— Performance Considerations • Intermediate Compilation – VB.Net and C#.Net are Compiled to Intermediate Language (IL) – IL is Translated into Native Executable Code at Runtime – Generally in Desktop Applications, Once Generated, Native Code is Reused in Each Function Call During App Life Cycle
• In Mobile Devices, Code Pitching May Occur • Code Pitching means Throwing Away the Compiled Native Code Because of Some Reasons; for instance, Severe Memory Constraints
• Limited Support for Method Inlining
Compact CLR Engine— Performance Considerations • Memory Allocation for Managed Code is Quick Because •
System Pre-Allocates Memory on Heap in Chunks and Assign it to Requesting Processes Garbage Collection is Done in a Separate Thread and May Occur in Following Cases for Instance:
– A cumulative 1 MB of heap data has been allocated since the last collection – Explicitly Calling GC.Collect. – Application is Moved to Background – Failure to Allocate Memory for a Managed Object Occurs – Simple Collection
• Identify Dead Objects and Make Space Available
– Compact Collection
• Movement of Live Objects to Contagious Block and Cleanup Unused Objects
Security Policies and Code Signing • Smartphones Support 1 or 2 Tier
Security Model • Pocket PCs Support 1 Tier Security Model
Authentication Level
Two-Tier Security (Most Smartphones)
One-Tier Security (Pocket PCs)
Signed with a Privileged Certificate
Application may access privileged and normal APIs and registry keys
Application may access privileged and normal APIs and registry keys
Signed with an Unprivileged Certificate
Application may not access privileged APIs and certain registry locations
Application may access privileged and normal APIs and registry keys
Unsigned
Application may be prevented from running
Application may be prevented from running
Device to Desktop Communications • Microsoft ActiveSync • Windows Mobile Device Center for Vista
Tools and Technologies • Microsoft Visual Studio • Windows Mobile 5.0 SDK for Pocket PC • Windows Mobile 5.0 SDK for Smartphone
Mobile2Market Application Certification • Microsoft certification and marketing program for •
mobile applications Steps
– Certifying the Application. 'Designed for Windows Mobile Version 6' certification is more rigorous than previous versions – Certification is required for participation in Microsoft promotional activities, including the Certified Software Catalog, – Certification is a prerequisite for many mobile operator and original equipment manufacturer (OEM) programs. – Distribution partners also offer special promotions for "Designed for Windows Mobile" logo-certified applications.
References • Microsoft Mobile Development
Handbook by Andy Wigley, Daniel MothandPeter