SlideShare a Scribd company logo
Introduction to
Windows Mobile
programming
Catalin Gheorghiu
Solution Architect
I Computer Solutions
Agenda
Windows Mobile Platform Overview
Quick Recap on Visual Studio 2005
and what new in Visual 2008
Why Windows Mobile?
Some issues facing the mobile developer
UI and user input challenges
Q&A
New Product Families
Pocket PC
Smartphone
Pocket PC Phone Edition
Windows Mobile 6 .1 Classic
Windows Mobile 6 .1 Standard
Windows Mobile 6 .1 Professional
Microsoft Windows Mobile 5.0 Microsoft Windows Mobile 6.1
http://www.microsoft.com/windowsmobile/en-
us/meet/version-compare.mspx
Windows Mobile Standard
(aka – Smartphone)
Non-touch platform designed for one
handed use (I do not agree with this)
New Naming Conventions
Windows Mobile Professional
(aka – Pocket PC)
Touch screen - enabled for flexible input
Both are great options for
Mobile Messaging
Modularity and Flexibility
New Product Family
Standard Pro Classic
Platform
Basic platform and applications, including:
Microsoft Office Outlook Mobile
Internet Explorer Mobile
Media Player Mobile
ActiveSync
Touch screen UI
Windows Mobile Update
Windows Mobile Marketplace
IP Telephony
Applications
Office Mobile
Window Live Mobile
Voice Command 1.6
Remote Desktop Mobile
Windows Mobile Device Choice
Windows Mobile 6 Devices
Based on Windows Embedded CE and
supports the .NET Compact Framework
Windows Mobile 6 devices include more
software in ROM
.NET Compact Framework 2.0 SP1
SQL Server 2005 Compact Edition 3.1
AJAX application capabilities
Top 10 Enterprise Features of Windows Mobile 6.1
1. Mobile Messaging enhancements
2. Office Mobile
3. Enhanced security capabilities
4. Increased calendaring capabilities
5. Internet Explorer browser enhancements
6. Windows Mobile update
7. Remote Desktop mobile
8. Microsoft Windows Mobile Device Center 2008
9. Mobile document access
10.Internet connection sharing
Top 6 Features of Windows Mobile 6.5
1. Windows Mobile Widgets
2. New Today Screen/ Start Menu /Lock Screen
3. Enhanced ergonomics (contacts/messaging/mail)
Build with finger operation in mind.
4. Pocket Internet Explorer 6 browser
5. MyPhone Sync service
6. Windows Marketplace for Mobile
Tools for Device Developers
Embedded
Visual
Tools 3.0
Microsoft
eMbedded
Visual
C++ 4.0
Visual Studio
.NET 2003
Visual Studio
2005
Visual Studio
2008
eVB
WindowsCE30
eVC 3.0
Managed and Native!
Desktop Parity, Designers, Data
Device Emulator 1.0 and 2.0*
.NET CF Framework 1.0 and 2.0
Microsoft Windows CE 5.0 and
6.0
Smartphone and Pocket PC
2003, Windows Mobile 5.0*
Windows Mobile 6*
Native and Managed
Device Emulator 3.0
Security Aware IDE / Unit Testing
Windows CE 5.0 and CE 6.0
Windows Mobile 2003 Smartphone**
and Pocket PC (**Native Only)
Windows Mobile:
•5.0 Smartphone and Pocket PC
•6 Professional* and Standard*
•6.1 Professional*And Standard*
•6.5 Professional*And Standard*
.NET Compact Framework 2.0
and 3.5
Managed Only
Windows CE 4.2
.NET Compact
Framework 1.0
Smartphone and
Pocket PC 2003
Native Only
Windows CE 4.0 5.0
Smartphone and PPC
2003
X86 Emulator
*Do Not Ship in the box, Install independently
Parity with desktop development experiences
WYSWYG designers with skins support
Windows Mobile 2003 SDKs in the Box
Native code development
Migration from eMbedded Visual C++
MFC 8.0 / ATL / Win32
.NET Compact Framework 1.0 and 2.0
Microsoft SQL Server 2005 Mobile Edition
Data designer support
Setup project (CAB)
Microsoft Device Emulator 1.0
VS 2005 Device Development
Features
Added 15 MFC classes
Device Emulator 2.0 (Standalone Release)
Numerous bug fixes
Better eMbedded Visual C++ 4.0 Migration Support
Ability to work with SQL Server 2005 Compact
Edition
Updated the Native Compilers and Remote
Tools
Ability to support Windows CE 6.0-based SDKs
Support for Windows Mobile 6 SDKs
Visual Studio 2005 SP1
Version 2.0 now available
Updated for Windows Embedded CE 6.0 and
Windows Mobile 6 release
Ships with the SDK or download standalone
In-place update of previous version
Enhancements
Average 40% gain in performance
Support for Windows Vista
Numerous bug fixes
Battery emulation
Notification LED in skin
Device Emulator 2.0
Visual Studio 2008 Enhancements
Unit Testing for Devices
Device Configuration Manager
Device Certificate Manager
Device Emulator Version 3.0
Windows Mobile 5.0 SDK is in-the-box
.NET Compact Framework 2.0 SP1 and 3.5
Updated Native Compilers and MFC Libraries
Managed CoreCon Framework
Windows Communication Foundation support
(over email)
Support for LINQ (XML, Objects and Dataset)
New Tool - CLR Profiler
Compression Support
Client side certificates
Sound APIs 
Windows Forms enhancements
Managed debugger fixes
.NET Compact Framework 3.5
Addressing key developer issues
.NET Compact Framework
~30% of the surface area in ~10% of the size
CopyGround-up rewrite Snapshot & Modify
System.Windows.
Forms
System.Net
System.IO
System.Resources
System.Threading
System.Xml
System.Data
System.Messaging
System.Text.
RegularExpressions
Microsoft.VisualBasic
System.ServiceModel
System.Collections
System.Collections.
Generic
System.Cryptography
System.IO.Ports
System.String
System.Text
System.Globalization
Microsoft.Win32.
Registry
System.Web.Services
System.Drawing
Microsoft.DirectX.
Direct3DMobile
Execution Engine,
JIT, GC, Loader,
Assembly Cache
Microsoft.
ServiceModel.
Channels.
MailTransport
~90%
scope of
.NET
Framework
Unit testing support for managed device
applications
Same experience as unit testing for desktop
applications
Integrates seamlessly with Team System and
Team Foundation Server
Lets you easily test your application across
various device configurations
Support for Test Execution from Command Line
Unit Testing for Devices
Device security configuration
Understand and manage device security
settings
Export security setting
Create custom security setting
Manage certificates on the device
View certificates on the device
Add or remove certificates to/from the device
Security Aware IDE
Build on top of existing core connectivity
framework
Internally used by our own tools (e.g., unit
testing)
Makes it easy to build your own remote
tools
Add reference to:
Microsoft.Smartdevice.Connectivity.dll
Managed Core Connectivity
Framework
Enhancements
Automation support
Access to interfaces via Visual Basic
Script
Made it easy to add custom images in
the Device Emulator Manager
XML config file to configure emulator
instances
Device Emulator 3.0
Windows Mobile SDK Components
Documentation
Sample Code
Emulator images & skin files
Native development items
Tools
Lend Me Your Ear…
Private /
Public
APIs
Lifecycle &
Ecosystem
Persistent
Storage
Virtual
Memory
InstallDisplayPower
Code
Signing
Perf!
Security
Policies
Platform updates driven by mobile ecosystem
Updates are aligned with OEM
Support is a partnership between Microsoft,
OEM, and Mobile Operator
Lifecycle and Ecosystem
Mobile Operator
OEM/ODM
Microsoft
Mobile UI Challenges
Screen
Size, orientation, resolution, layout
Input
SIP, keyboard, dedicated buttons, stylus
User Interaction
Standing up on a moving bus
Understand System.Windows.Forms
Compactness
Form and Control classes
Windows Mobile 2003 SE changed everything
o VGA, Square Screen, Landscape…
CE Subsystem 4.21 and higher are aware; 4.20
and lower use emulation layer.
HI_RES_AWARE resource can override
Emulation is practical—not beautiful
Display Assumptions - history
Apps that ―assume‖ anything about the screen
size of a device will have problems
Are you ready for high-res, square screen,
and landscape?
Video frame buffers may be non-linear
(direct access)
Emulation may mask some issues
Display Assumptions
Don’t assume anything
Test on different devices/emulators
Upgrading to .NET Compact Framework 2.0 in Visual
Studio 2005 makes you aware by default:
this.AutoScaleDimensions = new
System.Drawing.SizeF(96F, 96F);
this.AutoScaleMode =
System.Windows.Forms.AutoScaleMode.Dpi;
Take advantage or docking and anchoring and state info
(DisplayRotation) for simple needs
Display Assumptions - tips
Screen Layout
Do not try to create non-full screen forms
Top strip
Main Area
Bottom strip
Screen to Form
Top strip
Don’t hide the title bar
Use the same title in owned forms
Bottom strip
Don’t use a toolbar control
Don’t use more than two menus
Don’t hide the bottom strip
Main Area
Place tappable controls near the bottom
TextBoxes or anything requiring the SIP,
near the top
Form Basics
Startup
Hiding vs. Closing
Form Navigation
Application Termination
By User
By platform (!)
• Application.Run
• MinimizeBox
• Show vs. ShowDialog
• Remote Process Viewer
• Running Programs List
• MobileDevice.Hibernate
Screen-Aware
Size
Orientation
Resolution
UI design per form factor
What platform am I on?
Patterns & Practises
Mobile Client Software
Factory
(http://www.codeplex.com/smartclient)
Orientation-Aware control
Demo – Form Basics
Lifecycle of a
form (& app)
plus navigation
Handling Input
Keyboard
SIP
Respond to Show/Hide
Dedicated Buttons
Stylus or Finger
Tap
Tap and Hold
Typically for context menus
Don’t use this!
• InputPanel
• HardwareButton
• Tap events
• Click, MouseDown, MouseMove,
MouseUp
Single-Handed Operation
Design your app so it can be keyboard
driven
Soft keys, D-Pad
Automatically, you are in a good place for
Smartphone
Besides previous advice...
...make it finger driven
Learn from Smartphone Model
Entirely Keyboard driven
D-Pad (Left, Right, Up, Down, Enter)
Good use of Soft Keys are crucial
Controls are stacked
Label, LinkLabel, CheckBox, ComboBox, TextBox,
DateTimePicker
TabIndex, TabStop
...or full screen
ListView, TreeView, DataGrid
Q & A
Blog URL:
http://itboard.ro/CS/blogs/catalins_blog/de
fault.aspx
Email
Gheorghiu.Catalin@gmail.com
Contact Provide Feedback!
Get the free app foryourphone at
http://gettag.mobi
S
N
A
P
I
T

More Related Content

What's hot

Getting Started with WP7 Development
Getting Started with WP7 DevelopmentGetting Started with WP7 Development
Getting Started with WP7 DevelopmentJeff Bramwell
 
Windows Phone Apps Development overview
Windows Phone Apps Development overviewWindows Phone Apps Development overview
Windows Phone Apps Development overviewPruthvi Reddy
 
Developing silverlight applications for windows phone 7 series
Developing silverlight applications for windows phone 7 seriesDeveloping silverlight applications for windows phone 7 series
Developing silverlight applications for windows phone 7 seriesDima Maleev
 
follow-app BOOTCAMP 2: Building windows phone applications with visual studio...
follow-app BOOTCAMP 2: Building windows phone applications with visual studio...follow-app BOOTCAMP 2: Building windows phone applications with visual studio...
follow-app BOOTCAMP 2: Building windows phone applications with visual studio...QIRIS
 
Developing Silverlight Applications for Windows Phone 7
Developing Silverlight Applications for Windows Phone 7Developing Silverlight Applications for Windows Phone 7
Developing Silverlight Applications for Windows Phone 7Yuriy Opryshko
 
Porting unity games to windows - London Unity User Group
Porting unity games to windows - London Unity User GroupPorting unity games to windows - London Unity User Group
Porting unity games to windows - London Unity User GroupLee Stott
 
데브멘토 발표세미나
데브멘토 발표세미나데브멘토 발표세미나
데브멘토 발표세미나Seo Jinho
 
Mob02 windows phone 8.1 app development
Mob02   windows phone 8.1 app development Mob02   windows phone 8.1 app development
Mob02 windows phone 8.1 app development DotNetCampus
 
Monetizing Your Windows Phone App
Monetizing Your Windows Phone AppMonetizing Your Windows Phone App
Monetizing Your Windows Phone AppDave Bost
 
Introduction to visual basic programming
Introduction to visual basic programmingIntroduction to visual basic programming
Introduction to visual basic programmingRoger Argarin
 

What's hot (19)

Getting Started with WP7 Development
Getting Started with WP7 DevelopmentGetting Started with WP7 Development
Getting Started with WP7 Development
 
Windows Phone Apps Development overview
Windows Phone Apps Development overviewWindows Phone Apps Development overview
Windows Phone Apps Development overview
 
Presentation[1]
Presentation[1]Presentation[1]
Presentation[1]
 
Windows 8
Windows 8Windows 8
Windows 8
 
Windows phone7 subodh
Windows phone7 subodhWindows phone7 subodh
Windows phone7 subodh
 
Windows 8.1 a closer look
Windows 8.1 a closer lookWindows 8.1 a closer look
Windows 8.1 a closer look
 
Windows 8
Windows 8Windows 8
Windows 8
 
Developing silverlight applications for windows phone 7 series
Developing silverlight applications for windows phone 7 seriesDeveloping silverlight applications for windows phone 7 series
Developing silverlight applications for windows phone 7 series
 
follow-app BOOTCAMP 2: Building windows phone applications with visual studio...
follow-app BOOTCAMP 2: Building windows phone applications with visual studio...follow-app BOOTCAMP 2: Building windows phone applications with visual studio...
follow-app BOOTCAMP 2: Building windows phone applications with visual studio...
 
Developing Silverlight Applications for Windows Phone 7
Developing Silverlight Applications for Windows Phone 7Developing Silverlight Applications for Windows Phone 7
Developing Silverlight Applications for Windows Phone 7
 
Porting unity games to windows - London Unity User Group
Porting unity games to windows - London Unity User GroupPorting unity games to windows - London Unity User Group
Porting unity games to windows - London Unity User Group
 
windows8 vs windows10
windows8 vs windows10windows8 vs windows10
windows8 vs windows10
 
Porting tips windows phone unity
Porting tips windows phone unityPorting tips windows phone unity
Porting tips windows phone unity
 
데브멘토 발표세미나
데브멘토 발표세미나데브멘토 발표세미나
데브멘토 발표세미나
 
Visual Basic Controls ppt
Visual Basic Controls pptVisual Basic Controls ppt
Visual Basic Controls ppt
 
Mob02 windows phone 8.1 app development
Mob02   windows phone 8.1 app development Mob02   windows phone 8.1 app development
Mob02 windows phone 8.1 app development
 
Monetizing Your Windows Phone App
Monetizing Your Windows Phone AppMonetizing Your Windows Phone App
Monetizing Your Windows Phone App
 
Introduction to visual basic programming
Introduction to visual basic programmingIntroduction to visual basic programming
Introduction to visual basic programming
 
WPF
WPFWPF
WPF
 

Viewers also liked

Sinergija 11 WP7 Mango multitasking and “multitasking”
Sinergija 11   WP7 Mango multitasking and “multitasking”Sinergija 11   WP7 Mango multitasking and “multitasking”
Sinergija 11 WP7 Mango multitasking and “multitasking”Catalin Gheorghiu
 
AISEC 12 april 2012 WP 7.1.1
AISEC 12 april 2012  WP 7.1.1AISEC 12 april 2012  WP 7.1.1
AISEC 12 april 2012 WP 7.1.1Catalin Gheorghiu
 
Sinergija 12 Windows Phone is around the corned
Sinergija 12   Windows Phone is around the cornedSinergija 12   Windows Phone is around the corned
Sinergija 12 Windows Phone is around the cornedCatalin Gheorghiu
 
NetWork 2 - Barkode za nase aplikacije
NetWork 2 - Barkode za nase aplikacijeNetWork 2 - Barkode za nase aplikacije
NetWork 2 - Barkode za nase aplikacijeCatalin Gheorghiu
 
Mkdotnet Codecamp 2012 - Microsoft Tag applications or “barcodes” in our appl...
Mkdotnet Codecamp 2012 - Microsoft Tag applications or “barcodes” in our appl...Mkdotnet Codecamp 2012 - Microsoft Tag applications or “barcodes” in our appl...
Mkdotnet Codecamp 2012 - Microsoft Tag applications or “barcodes” in our appl...Catalin Gheorghiu
 
Mobile Monday Developer Summit 2012 - Introduction to HealthVault
Mobile Monday Developer Summit 2012 - Introduction to HealthVaultMobile Monday Developer Summit 2012 - Introduction to HealthVault
Mobile Monday Developer Summit 2012 - Introduction to HealthVaultCatalin Gheorghiu
 

Viewers also liked (6)

Sinergija 11 WP7 Mango multitasking and “multitasking”
Sinergija 11   WP7 Mango multitasking and “multitasking”Sinergija 11   WP7 Mango multitasking and “multitasking”
Sinergija 11 WP7 Mango multitasking and “multitasking”
 
AISEC 12 april 2012 WP 7.1.1
AISEC 12 april 2012  WP 7.1.1AISEC 12 april 2012  WP 7.1.1
AISEC 12 april 2012 WP 7.1.1
 
Sinergija 12 Windows Phone is around the corned
Sinergija 12   Windows Phone is around the cornedSinergija 12   Windows Phone is around the corned
Sinergija 12 Windows Phone is around the corned
 
NetWork 2 - Barkode za nase aplikacije
NetWork 2 - Barkode za nase aplikacijeNetWork 2 - Barkode za nase aplikacije
NetWork 2 - Barkode za nase aplikacije
 
Mkdotnet Codecamp 2012 - Microsoft Tag applications or “barcodes” in our appl...
Mkdotnet Codecamp 2012 - Microsoft Tag applications or “barcodes” in our appl...Mkdotnet Codecamp 2012 - Microsoft Tag applications or “barcodes” in our appl...
Mkdotnet Codecamp 2012 - Microsoft Tag applications or “barcodes” in our appl...
 
Mobile Monday Developer Summit 2012 - Introduction to HealthVault
Mobile Monday Developer Summit 2012 - Introduction to HealthVaultMobile Monday Developer Summit 2012 - Introduction to HealthVault
Mobile Monday Developer Summit 2012 - Introduction to HealthVault
 

Similar to Iasi 15 noiembrie 2009 Introduction to Windows Mobile programming

Windows Mobile 7 Development
Windows Mobile 7 DevelopmentWindows Mobile 7 Development
Windows Mobile 7 Developmentpranavaa
 
Mobile Devolpment Slides
Mobile Devolpment SlidesMobile Devolpment Slides
Mobile Devolpment SlidesLuke Angel
 
Compact Framework Development For The Desktop Developer
Compact Framework Development For The Desktop DeveloperCompact Framework Development For The Desktop Developer
Compact Framework Development For The Desktop Developerchristopherfairbairn
 
AISEC 12 april 2012 Introduction to Windows Embedded Handheld programming
AISEC 12 april 2012   Introduction to Windows Embedded Handheld programmingAISEC 12 april 2012   Introduction to Windows Embedded Handheld programming
AISEC 12 april 2012 Introduction to Windows Embedded Handheld programmingCatalin Gheorghiu
 
Deeper into Windows 10 Development
Deeper into Windows 10 DevelopmentDeeper into Windows 10 Development
Deeper into Windows 10 DevelopmentShahed Chowdhuri
 
System development using visual studio
System development using visual studioSystem development using visual studio
System development using visual studiojeff23_athisbest
 
Windows 10 pentru dezvoltatori - InfoEducație 2015
Windows 10 pentru dezvoltatori - InfoEducație 2015Windows 10 pentru dezvoltatori - InfoEducație 2015
Windows 10 pentru dezvoltatori - InfoEducație 2015Julian Atanasoae
 
NET app modernization and Microsoft Azure.pptx
NET app modernization and Microsoft Azure.pptxNET app modernization and Microsoft Azure.pptx
NET app modernization and Microsoft Azure.pptxNishitPatel409228
 
Training for New Users
Training for New UsersTraining for New Users
Training for New UsersAVEVA
 
Windows 7 XP Compatibility mode, Virtual PC and Microsoft ...
Windows 7 XP Compatibility mode, Virtual PC and Microsoft ...Windows 7 XP Compatibility mode, Virtual PC and Microsoft ...
Windows 7 XP Compatibility mode, Virtual PC and Microsoft ...butest
 
Visual Studio 2008 & .Net 3.5
Visual Studio 2008 & .Net 3.5Visual Studio 2008 & .Net 3.5
Visual Studio 2008 & .Net 3.5Hadi Karimi
 
MSMDC_CLI363
MSMDC_CLI363MSMDC_CLI363
MSMDC_CLI363mokacao
 
Dot Net Project Mini Game
Dot Net Project Mini GameDot Net Project Mini Game
Dot Net Project Mini Gamevarun arora
 
windows CE
windows CEwindows CE
windows CEbretorio
 
Windows Phone 8 - 1 Introducing Windows Phone 8 Development
Windows Phone 8 - 1 Introducing Windows Phone 8 DevelopmentWindows Phone 8 - 1 Introducing Windows Phone 8 Development
Windows Phone 8 - 1 Introducing Windows Phone 8 DevelopmentOliver Scheer
 
Windows Phone 8 - introducing wp8 development
Windows Phone 8 - introducing wp8 developmentWindows Phone 8 - introducing wp8 development
Windows Phone 8 - introducing wp8 developmentGouda Mando
 
Windows Phone 8 Advanced Developers Conference
Windows Phone 8 Advanced Developers ConferenceWindows Phone 8 Advanced Developers Conference
Windows Phone 8 Advanced Developers ConferenceDamir Dobric
 

Similar to Iasi 15 noiembrie 2009 Introduction to Windows Mobile programming (20)

Windows Mobile 7 Development
Windows Mobile 7 DevelopmentWindows Mobile 7 Development
Windows Mobile 7 Development
 
Mobile Devolpment Slides
Mobile Devolpment SlidesMobile Devolpment Slides
Mobile Devolpment Slides
 
Compact Framework Development For The Desktop Developer
Compact Framework Development For The Desktop DeveloperCompact Framework Development For The Desktop Developer
Compact Framework Development For The Desktop Developer
 
AISEC 12 april 2012 Introduction to Windows Embedded Handheld programming
AISEC 12 april 2012   Introduction to Windows Embedded Handheld programmingAISEC 12 april 2012   Introduction to Windows Embedded Handheld programming
AISEC 12 april 2012 Introduction to Windows Embedded Handheld programming
 
Deeper into Windows 10 Development
Deeper into Windows 10 DevelopmentDeeper into Windows 10 Development
Deeper into Windows 10 Development
 
System development using visual studio
System development using visual studioSystem development using visual studio
System development using visual studio
 
Windows 10 pentru dezvoltatori - InfoEducație 2015
Windows 10 pentru dezvoltatori - InfoEducație 2015Windows 10 pentru dezvoltatori - InfoEducație 2015
Windows 10 pentru dezvoltatori - InfoEducație 2015
 
NET app modernization and Microsoft Azure.pptx
NET app modernization and Microsoft Azure.pptxNET app modernization and Microsoft Azure.pptx
NET app modernization and Microsoft Azure.pptx
 
Training for New Users
Training for New UsersTraining for New Users
Training for New Users
 
Web Ramp Up
Web Ramp UpWeb Ramp Up
Web Ramp Up
 
Windows mobile
Windows mobileWindows mobile
Windows mobile
 
Windows 7 XP Compatibility mode, Virtual PC and Microsoft ...
Windows 7 XP Compatibility mode, Virtual PC and Microsoft ...Windows 7 XP Compatibility mode, Virtual PC and Microsoft ...
Windows 7 XP Compatibility mode, Virtual PC and Microsoft ...
 
Visual Studio 2008 & .Net 3.5
Visual Studio 2008 & .Net 3.5Visual Studio 2008 & .Net 3.5
Visual Studio 2008 & .Net 3.5
 
Windows 7 mobile
Windows 7 mobileWindows 7 mobile
Windows 7 mobile
 
MSMDC_CLI363
MSMDC_CLI363MSMDC_CLI363
MSMDC_CLI363
 
Dot Net Project Mini Game
Dot Net Project Mini GameDot Net Project Mini Game
Dot Net Project Mini Game
 
windows CE
windows CEwindows CE
windows CE
 
Windows Phone 8 - 1 Introducing Windows Phone 8 Development
Windows Phone 8 - 1 Introducing Windows Phone 8 DevelopmentWindows Phone 8 - 1 Introducing Windows Phone 8 Development
Windows Phone 8 - 1 Introducing Windows Phone 8 Development
 
Windows Phone 8 - introducing wp8 development
Windows Phone 8 - introducing wp8 developmentWindows Phone 8 - introducing wp8 development
Windows Phone 8 - introducing wp8 development
 
Windows Phone 8 Advanced Developers Conference
Windows Phone 8 Advanced Developers ConferenceWindows Phone 8 Advanced Developers Conference
Windows Phone 8 Advanced Developers Conference
 

More from Catalin Gheorghiu

MSNetwork 5 - Programiranje Windows small IoT uređaja (ARM and x86, diverse h...
MSNetwork 5 - Programiranje Windows small IoT uređaja (ARM and x86, diverse h...MSNetwork 5 - Programiranje Windows small IoT uređaja (ARM and x86, diverse h...
MSNetwork 5 - Programiranje Windows small IoT uređaja (ARM and x86, diverse h...Catalin Gheorghiu
 
WinDays XV - Programming Windows small IoT devices (ARM and x86, diverse hard...
WinDays XV - Programming Windows small IoT devices (ARM and x86, diverse hard...WinDays XV - Programming Windows small IoT devices (ARM and x86, diverse hard...
WinDays XV - Programming Windows small IoT devices (ARM and x86, diverse hard...Catalin Gheorghiu
 
Microsoft Summit 2014 Bucharest - Internet of Things - Device Side
Microsoft Summit 2014 Bucharest - Internet of Things - Device SideMicrosoft Summit 2014 Bucharest - Internet of Things - Device Side
Microsoft Summit 2014 Bucharest - Internet of Things - Device SideCatalin Gheorghiu
 
SQLSaturday #311 Sofia - Databases for mobile
SQLSaturday #311 Sofia - Databases for mobile SQLSaturday #311 Sofia - Databases for mobile
SQLSaturday #311 Sofia - Databases for mobile Catalin Gheorghiu
 
NFC for Windows Phone Developers, Microsoft MVP & Community Day, 18 June Mosc...
NFC for Windows Phone Developers, Microsoft MVP & Community Day, 18 June Mosc...NFC for Windows Phone Developers, Microsoft MVP & Community Day, 18 June Mosc...
NFC for Windows Phone Developers, Microsoft MVP & Community Day, 18 June Mosc...Catalin Gheorghiu
 
TiMo 20 - January 2014 Windows Embedded 8 Handheld
TiMo 20 - January 2014 Windows Embedded 8 HandheldTiMo 20 - January 2014 Windows Embedded 8 Handheld
TiMo 20 - January 2014 Windows Embedded 8 HandheldCatalin Gheorghiu
 
NetWork 4 - Windows Embedded 8 Handheld
NetWork 4 -  Windows Embedded 8 HandheldNetWork 4 -  Windows Embedded 8 Handheld
NetWork 4 - Windows Embedded 8 HandheldCatalin Gheorghiu
 
Tarabica 14 - Windows Embedded 8 Handheld
Tarabica 14 - Windows Embedded 8 HandheldTarabica 14 - Windows Embedded 8 Handheld
Tarabica 14 - Windows Embedded 8 HandheldCatalin Gheorghiu
 
RONUA Roadshow fall 2013 - Mobile medley
RONUA Roadshow fall 2013 -  Mobile medleyRONUA Roadshow fall 2013 -  Mobile medley
RONUA Roadshow fall 2013 - Mobile medleyCatalin Gheorghiu
 
NetWork 3 - HealthVault at work
NetWork 3 - HealthVault at workNetWork 3 - HealthVault at work
NetWork 3 - HealthVault at workCatalin Gheorghiu
 
Windows Phone Week 2013 - NFC & Windows (Phone) 8
Windows Phone Week 2013 - NFC & Windows (Phone) 8Windows Phone Week 2013 - NFC & Windows (Phone) 8
Windows Phone Week 2013 - NFC & Windows (Phone) 8Catalin Gheorghiu
 
Kulendayz 2012 Windows Phone is around the corner What now?
Kulendayz 2012   Windows Phone is around the corner What now?Kulendayz 2012   Windows Phone is around the corner What now?
Kulendayz 2012 Windows Phone is around the corner What now?Catalin Gheorghiu
 
Sinergija 11 Microsoft Tag is not just for advertising!
Sinergija 11   Microsoft Tag is not just for advertising!Sinergija 11   Microsoft Tag is not just for advertising!
Sinergija 11 Microsoft Tag is not just for advertising!Catalin Gheorghiu
 
Sinergija 11 Introduction to HealthVault
Sinergija 11   Introduction to HealthVaultSinergija 11   Introduction to HealthVault
Sinergija 11 Introduction to HealthVaultCatalin Gheorghiu
 
momo 19 december 2011 Modern 2d Barcodes from microsoft and 5 minutes of WP...
momo 19 december 2011   Modern 2d Barcodes from microsoft and 5 minutes of WP...momo 19 december 2011   Modern 2d Barcodes from microsoft and 5 minutes of WP...
momo 19 december 2011 Modern 2d Barcodes from microsoft and 5 minutes of WP...Catalin Gheorghiu
 
ItChillOut Real wold apps with Microsft Tag
ItChillOut Real wold apps with Microsft TagItChillOut Real wold apps with Microsft Tag
ItChillOut Real wold apps with Microsft TagCatalin Gheorghiu
 
Kulendayz 2010 Microsoft Tag Barcode for XXI century
Kulendayz 2010   Microsoft Tag Barcode for XXI centuryKulendayz 2010   Microsoft Tag Barcode for XXI century
Kulendayz 2010 Microsoft Tag Barcode for XXI centuryCatalin Gheorghiu
 
Pdc ro 2010 Windows Phone 7 Programming Model
Pdc ro 2010  Windows Phone 7 Programming ModelPdc ro 2010  Windows Phone 7 Programming Model
Pdc ro 2010 Windows Phone 7 Programming ModelCatalin Gheorghiu
 
Sinergija 12 WP8 is around the corner
Sinergija 12 WP8 is around the cornerSinergija 12 WP8 is around the corner
Sinergija 12 WP8 is around the cornerCatalin Gheorghiu
 

More from Catalin Gheorghiu (19)

MSNetwork 5 - Programiranje Windows small IoT uređaja (ARM and x86, diverse h...
MSNetwork 5 - Programiranje Windows small IoT uređaja (ARM and x86, diverse h...MSNetwork 5 - Programiranje Windows small IoT uređaja (ARM and x86, diverse h...
MSNetwork 5 - Programiranje Windows small IoT uređaja (ARM and x86, diverse h...
 
WinDays XV - Programming Windows small IoT devices (ARM and x86, diverse hard...
WinDays XV - Programming Windows small IoT devices (ARM and x86, diverse hard...WinDays XV - Programming Windows small IoT devices (ARM and x86, diverse hard...
WinDays XV - Programming Windows small IoT devices (ARM and x86, diverse hard...
 
Microsoft Summit 2014 Bucharest - Internet of Things - Device Side
Microsoft Summit 2014 Bucharest - Internet of Things - Device SideMicrosoft Summit 2014 Bucharest - Internet of Things - Device Side
Microsoft Summit 2014 Bucharest - Internet of Things - Device Side
 
SQLSaturday #311 Sofia - Databases for mobile
SQLSaturday #311 Sofia - Databases for mobile SQLSaturday #311 Sofia - Databases for mobile
SQLSaturday #311 Sofia - Databases for mobile
 
NFC for Windows Phone Developers, Microsoft MVP & Community Day, 18 June Mosc...
NFC for Windows Phone Developers, Microsoft MVP & Community Day, 18 June Mosc...NFC for Windows Phone Developers, Microsoft MVP & Community Day, 18 June Mosc...
NFC for Windows Phone Developers, Microsoft MVP & Community Day, 18 June Mosc...
 
TiMo 20 - January 2014 Windows Embedded 8 Handheld
TiMo 20 - January 2014 Windows Embedded 8 HandheldTiMo 20 - January 2014 Windows Embedded 8 Handheld
TiMo 20 - January 2014 Windows Embedded 8 Handheld
 
NetWork 4 - Windows Embedded 8 Handheld
NetWork 4 -  Windows Embedded 8 HandheldNetWork 4 -  Windows Embedded 8 Handheld
NetWork 4 - Windows Embedded 8 Handheld
 
Tarabica 14 - Windows Embedded 8 Handheld
Tarabica 14 - Windows Embedded 8 HandheldTarabica 14 - Windows Embedded 8 Handheld
Tarabica 14 - Windows Embedded 8 Handheld
 
RONUA Roadshow fall 2013 - Mobile medley
RONUA Roadshow fall 2013 -  Mobile medleyRONUA Roadshow fall 2013 -  Mobile medley
RONUA Roadshow fall 2013 - Mobile medley
 
NetWork 3 - HealthVault at work
NetWork 3 - HealthVault at workNetWork 3 - HealthVault at work
NetWork 3 - HealthVault at work
 
Windows Phone Week 2013 - NFC & Windows (Phone) 8
Windows Phone Week 2013 - NFC & Windows (Phone) 8Windows Phone Week 2013 - NFC & Windows (Phone) 8
Windows Phone Week 2013 - NFC & Windows (Phone) 8
 
Kulendayz 2012 Windows Phone is around the corner What now?
Kulendayz 2012   Windows Phone is around the corner What now?Kulendayz 2012   Windows Phone is around the corner What now?
Kulendayz 2012 Windows Phone is around the corner What now?
 
Sinergija 11 Microsoft Tag is not just for advertising!
Sinergija 11   Microsoft Tag is not just for advertising!Sinergija 11   Microsoft Tag is not just for advertising!
Sinergija 11 Microsoft Tag is not just for advertising!
 
Sinergija 11 Introduction to HealthVault
Sinergija 11   Introduction to HealthVaultSinergija 11   Introduction to HealthVault
Sinergija 11 Introduction to HealthVault
 
momo 19 december 2011 Modern 2d Barcodes from microsoft and 5 minutes of WP...
momo 19 december 2011   Modern 2d Barcodes from microsoft and 5 minutes of WP...momo 19 december 2011   Modern 2d Barcodes from microsoft and 5 minutes of WP...
momo 19 december 2011 Modern 2d Barcodes from microsoft and 5 minutes of WP...
 
ItChillOut Real wold apps with Microsft Tag
ItChillOut Real wold apps with Microsft TagItChillOut Real wold apps with Microsft Tag
ItChillOut Real wold apps with Microsft Tag
 
Kulendayz 2010 Microsoft Tag Barcode for XXI century
Kulendayz 2010   Microsoft Tag Barcode for XXI centuryKulendayz 2010   Microsoft Tag Barcode for XXI century
Kulendayz 2010 Microsoft Tag Barcode for XXI century
 
Pdc ro 2010 Windows Phone 7 Programming Model
Pdc ro 2010  Windows Phone 7 Programming ModelPdc ro 2010  Windows Phone 7 Programming Model
Pdc ro 2010 Windows Phone 7 Programming Model
 
Sinergija 12 WP8 is around the corner
Sinergija 12 WP8 is around the cornerSinergija 12 WP8 is around the corner
Sinergija 12 WP8 is around the corner
 

Iasi 15 noiembrie 2009 Introduction to Windows Mobile programming

  • 1. Introduction to Windows Mobile programming Catalin Gheorghiu Solution Architect I Computer Solutions
  • 2. Agenda Windows Mobile Platform Overview Quick Recap on Visual Studio 2005 and what new in Visual 2008 Why Windows Mobile? Some issues facing the mobile developer UI and user input challenges Q&A
  • 3. New Product Families Pocket PC Smartphone Pocket PC Phone Edition Windows Mobile 6 .1 Classic Windows Mobile 6 .1 Standard Windows Mobile 6 .1 Professional Microsoft Windows Mobile 5.0 Microsoft Windows Mobile 6.1 http://www.microsoft.com/windowsmobile/en- us/meet/version-compare.mspx
  • 4. Windows Mobile Standard (aka – Smartphone) Non-touch platform designed for one handed use (I do not agree with this) New Naming Conventions Windows Mobile Professional (aka – Pocket PC) Touch screen - enabled for flexible input Both are great options for Mobile Messaging
  • 5. Modularity and Flexibility New Product Family Standard Pro Classic Platform Basic platform and applications, including: Microsoft Office Outlook Mobile Internet Explorer Mobile Media Player Mobile ActiveSync Touch screen UI Windows Mobile Update Windows Mobile Marketplace IP Telephony Applications Office Mobile Window Live Mobile Voice Command 1.6 Remote Desktop Mobile
  • 7. Windows Mobile 6 Devices Based on Windows Embedded CE and supports the .NET Compact Framework Windows Mobile 6 devices include more software in ROM .NET Compact Framework 2.0 SP1 SQL Server 2005 Compact Edition 3.1 AJAX application capabilities
  • 8. Top 10 Enterprise Features of Windows Mobile 6.1 1. Mobile Messaging enhancements 2. Office Mobile 3. Enhanced security capabilities 4. Increased calendaring capabilities 5. Internet Explorer browser enhancements 6. Windows Mobile update 7. Remote Desktop mobile 8. Microsoft Windows Mobile Device Center 2008 9. Mobile document access 10.Internet connection sharing
  • 9. Top 6 Features of Windows Mobile 6.5 1. Windows Mobile Widgets 2. New Today Screen/ Start Menu /Lock Screen 3. Enhanced ergonomics (contacts/messaging/mail) Build with finger operation in mind. 4. Pocket Internet Explorer 6 browser 5. MyPhone Sync service 6. Windows Marketplace for Mobile
  • 10. Tools for Device Developers Embedded Visual Tools 3.0 Microsoft eMbedded Visual C++ 4.0 Visual Studio .NET 2003 Visual Studio 2005 Visual Studio 2008 eVB WindowsCE30 eVC 3.0 Managed and Native! Desktop Parity, Designers, Data Device Emulator 1.0 and 2.0* .NET CF Framework 1.0 and 2.0 Microsoft Windows CE 5.0 and 6.0 Smartphone and Pocket PC 2003, Windows Mobile 5.0* Windows Mobile 6* Native and Managed Device Emulator 3.0 Security Aware IDE / Unit Testing Windows CE 5.0 and CE 6.0 Windows Mobile 2003 Smartphone** and Pocket PC (**Native Only) Windows Mobile: •5.0 Smartphone and Pocket PC •6 Professional* and Standard* •6.1 Professional*And Standard* •6.5 Professional*And Standard* .NET Compact Framework 2.0 and 3.5 Managed Only Windows CE 4.2 .NET Compact Framework 1.0 Smartphone and Pocket PC 2003 Native Only Windows CE 4.0 5.0 Smartphone and PPC 2003 X86 Emulator *Do Not Ship in the box, Install independently
  • 11. Parity with desktop development experiences WYSWYG designers with skins support Windows Mobile 2003 SDKs in the Box Native code development Migration from eMbedded Visual C++ MFC 8.0 / ATL / Win32 .NET Compact Framework 1.0 and 2.0 Microsoft SQL Server 2005 Mobile Edition Data designer support Setup project (CAB) Microsoft Device Emulator 1.0 VS 2005 Device Development Features
  • 12. Added 15 MFC classes Device Emulator 2.0 (Standalone Release) Numerous bug fixes Better eMbedded Visual C++ 4.0 Migration Support Ability to work with SQL Server 2005 Compact Edition Updated the Native Compilers and Remote Tools Ability to support Windows CE 6.0-based SDKs Support for Windows Mobile 6 SDKs Visual Studio 2005 SP1
  • 13. Version 2.0 now available Updated for Windows Embedded CE 6.0 and Windows Mobile 6 release Ships with the SDK or download standalone In-place update of previous version Enhancements Average 40% gain in performance Support for Windows Vista Numerous bug fixes Battery emulation Notification LED in skin Device Emulator 2.0
  • 14. Visual Studio 2008 Enhancements Unit Testing for Devices Device Configuration Manager Device Certificate Manager Device Emulator Version 3.0 Windows Mobile 5.0 SDK is in-the-box .NET Compact Framework 2.0 SP1 and 3.5 Updated Native Compilers and MFC Libraries Managed CoreCon Framework
  • 15. Windows Communication Foundation support (over email) Support for LINQ (XML, Objects and Dataset) New Tool - CLR Profiler Compression Support Client side certificates Sound APIs  Windows Forms enhancements Managed debugger fixes .NET Compact Framework 3.5 Addressing key developer issues
  • 16. .NET Compact Framework ~30% of the surface area in ~10% of the size CopyGround-up rewrite Snapshot & Modify System.Windows. Forms System.Net System.IO System.Resources System.Threading System.Xml System.Data System.Messaging System.Text. RegularExpressions Microsoft.VisualBasic System.ServiceModel System.Collections System.Collections. Generic System.Cryptography System.IO.Ports System.String System.Text System.Globalization Microsoft.Win32. Registry System.Web.Services System.Drawing Microsoft.DirectX. Direct3DMobile Execution Engine, JIT, GC, Loader, Assembly Cache Microsoft. ServiceModel. Channels. MailTransport ~90% scope of .NET Framework
  • 17. Unit testing support for managed device applications Same experience as unit testing for desktop applications Integrates seamlessly with Team System and Team Foundation Server Lets you easily test your application across various device configurations Support for Test Execution from Command Line Unit Testing for Devices
  • 18. Device security configuration Understand and manage device security settings Export security setting Create custom security setting Manage certificates on the device View certificates on the device Add or remove certificates to/from the device Security Aware IDE
  • 19. Build on top of existing core connectivity framework Internally used by our own tools (e.g., unit testing) Makes it easy to build your own remote tools Add reference to: Microsoft.Smartdevice.Connectivity.dll Managed Core Connectivity Framework
  • 20. Enhancements Automation support Access to interfaces via Visual Basic Script Made it easy to add custom images in the Device Emulator Manager XML config file to configure emulator instances Device Emulator 3.0
  • 21. Windows Mobile SDK Components Documentation Sample Code Emulator images & skin files Native development items Tools
  • 22. Lend Me Your Ear… Private / Public APIs Lifecycle & Ecosystem Persistent Storage Virtual Memory InstallDisplayPower Code Signing Perf! Security Policies
  • 23. Platform updates driven by mobile ecosystem Updates are aligned with OEM Support is a partnership between Microsoft, OEM, and Mobile Operator Lifecycle and Ecosystem Mobile Operator OEM/ODM Microsoft
  • 24. Mobile UI Challenges Screen Size, orientation, resolution, layout Input SIP, keyboard, dedicated buttons, stylus User Interaction Standing up on a moving bus Understand System.Windows.Forms Compactness Form and Control classes
  • 25. Windows Mobile 2003 SE changed everything o VGA, Square Screen, Landscape… CE Subsystem 4.21 and higher are aware; 4.20 and lower use emulation layer. HI_RES_AWARE resource can override Emulation is practical—not beautiful Display Assumptions - history
  • 26. Apps that ―assume‖ anything about the screen size of a device will have problems Are you ready for high-res, square screen, and landscape? Video frame buffers may be non-linear (direct access) Emulation may mask some issues Display Assumptions
  • 27. Don’t assume anything Test on different devices/emulators Upgrading to .NET Compact Framework 2.0 in Visual Studio 2005 makes you aware by default: this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi; Take advantage or docking and anchoring and state info (DisplayRotation) for simple needs Display Assumptions - tips
  • 28. Screen Layout Do not try to create non-full screen forms Top strip Main Area Bottom strip
  • 29.
  • 30. Screen to Form Top strip Don’t hide the title bar Use the same title in owned forms Bottom strip Don’t use a toolbar control Don’t use more than two menus Don’t hide the bottom strip Main Area Place tappable controls near the bottom TextBoxes or anything requiring the SIP, near the top
  • 31. Form Basics Startup Hiding vs. Closing Form Navigation Application Termination By User By platform (!) • Application.Run • MinimizeBox • Show vs. ShowDialog • Remote Process Viewer • Running Programs List • MobileDevice.Hibernate
  • 32. Screen-Aware Size Orientation Resolution UI design per form factor What platform am I on? Patterns & Practises Mobile Client Software Factory (http://www.codeplex.com/smartclient) Orientation-Aware control
  • 33.
  • 34. Demo – Form Basics Lifecycle of a form (& app) plus navigation
  • 35. Handling Input Keyboard SIP Respond to Show/Hide Dedicated Buttons Stylus or Finger Tap Tap and Hold Typically for context menus Don’t use this! • InputPanel • HardwareButton • Tap events • Click, MouseDown, MouseMove, MouseUp
  • 36. Single-Handed Operation Design your app so it can be keyboard driven Soft keys, D-Pad Automatically, you are in a good place for Smartphone Besides previous advice... ...make it finger driven
  • 37. Learn from Smartphone Model Entirely Keyboard driven D-Pad (Left, Right, Up, Down, Enter) Good use of Soft Keys are crucial Controls are stacked Label, LinkLabel, CheckBox, ComboBox, TextBox, DateTimePicker TabIndex, TabStop ...or full screen ListView, TreeView, DataGrid
  • 38. Q & A
  • 39. Blog URL: http://itboard.ro/CS/blogs/catalins_blog/de fault.aspx Email Gheorghiu.Catalin@gmail.com Contact Provide Feedback! Get the free app foryourphone at http://gettag.mobi S N A P I T