450 likes | 566 Views
Windows Mobile Developer Briefing 2008. Salvador Alvarez Patuel Senior Consultant Microsoft Limited. No one leaves empty handed. Everyone receives a collateral pack containing – Information on “System Centre Mobile Device Manager 2008”, its top ten features.
E N D
Windows Mobile Developer Briefing 2008 Salvador Alvarez Patuel Senior Consultant Microsoft Limited
No one leaves empty handed.... Everyone receives a collateral pack containing – • Information on “System Centre Mobile Device Manager 2008”, its top ten features. • Case Study highlighting real-life Windows Mobile Deployments. - eXpansys online voucher, allowing discount of up to €50.
Windows Mobile in Practice Salvador Alvarez Patuel Senior Consultant Microsoft Limited
34.1%ConvergedMobile Phones 18.6%Mobile PCs 5.8%Mobile Phones 3.9%Desktop PCs Business Wants Connected Mobility Solutions 35 30 25 20 15 10 5 0 YOY % shipping growth CAGR 2006-2010 Source: Gartner Dataquest, and IDC 2006
Silicon Vendors Mobile Operators Business ISVs and IHVs Solution Providers Device Manufacturers Microsoft Assets for Mobility
Helps IT Pro manage Windows Mobile phones like laptops and PCs Manages security for sensitive corporate data and compliance on Windows Mobile phones, all in a single environment Introducing: System Center Mobile Device Manager Enables increased access to information with a single point, behind the firewall access to corporate data and applications
Core Feature Areas System Center Mobile Device Manager will enable Windows Mobile phones to be deployed and managed (device and security) like PCs and laptops in the IT infrastructure, providing network access to corporate data Mobile VPN Device Management Security Management • Machine authentication and “double envelope security” • Session Persistence • Fast Reconnect • Internetwork roaming • Standards based (IKEv2, MobIKE, IPSEC tunnel mode) • Single point of management for mobile devices in enterprise • Full OTA provisioning and bootstrapping • OTA Software distribution based on WSUS 3.0 • Inventory • SQL Server 2005 based reporting capabilities • Role based administration • MMC snap-ins and Powershell cmndlets • WMU On/Off control • OMA-DM compliant • Active Directory Domain Join • Policy enforcement using Active Directory/Group Policy targeting (>130 policies and settings) • Communications and camera disablement* • File encryption • Application allow and deny • Remote wipe • OMA-DM Compliant Management Workload Deployment: inside firewall Network Access Workload Deployment: in DMZ
Mobile Device Manager demo Salvador Alvarez Patuel Senior Consultant Microsoft Limited
Browsing on Windows Mobile • IE Mobile is a feature-rich browser • Mobile Web Applications • Fastest way to mobilize functionality • Mobile Controls for device-specific rendering • Supports AJAX for a better user experience • Exciting developments in the pipeline • Better AJAX support in Windows Mobile 6 • Silverlight Mobile demonstrated at MIX07
The Mobile Web demo Salvador Alvarez Patuel Senior Consultant Microsoft Limited
What You’ll Need • Visual Studio 2008 • ActiveSync (XP) or Device Centre (Vista) • Windows Mobile 6 SDKs
Visual Studio 2008 demo John Wyer Developer Program Manager Microsoft Corporation
Let’s talk about... • SMS Message Interception • PIM Integration • Device State and Notification • Working with WCF • Camera Capture • Global Positioning Systems • Choosing Contacts • Sending Email • Making a Phone Call
Citizen Complaints demo Salvador Alvarez Patuel Senior Consultant Microsoft Limited
SMS Message Interception • Part of the Pocket Outlook namespace • PocketOutlook.MessageInterception • Allows use of SMS as a data transport • Alerts • Two-way conversations (e.g. Battleships game) • Things to watch out for • Cost • Security • Latency
Interception Options • Receive notification when an SMS arrives • Transient notifications • Persistent notifications • Optionally delete the SMS • Filter SMS notifications using conditions • Body or Sender SMS Fields • Equal or Not Equal • StartsWith, Contains or EndsWith
SMS Message Interception demo Salvador Alvarez Patuel Senior Consultant Microsoft Limited
Personal information Outlook session PIM Integration • Microsoft.WindowsMobile.PocketOutlook Contacts Appointments Tasks • Logs into database • Needs to be disposed
Custom Properties • Add your own properties • Does not sync to the desktop contact.Properties.Add( “BowlingAverage”, typeof(int), PimPropertyFlags.DoNotReplicate | PimPropertyFlags.Indexed); contact.Properties[“BowlingAverage”] = 175; contact.Update();
PIM Integration demo Salvador Alvarez Patuel Senior Consultant Microsoft Limited
Device State and Notification Unification of state Over 150 predefined states Network Messaging Phone Appointments Media Player Available hardware • Cell System Connectivity / Availability • Bluetooth, Camera, Wifi • New Power Management States • Internet Sharing • Device Lock
Using Persistent Notifications SystemState cradle; // member variable cradle = new SystemState(SystemProperty.CradlePresent); cradle.ComparisonType = StatusComparisonType.Equal; cradle.ComparisonValue = 1; cradle.Changed += new ChangeEventHandler(cradle_Changed); cradle.EnableApplicationLauncher(“MS.Cradle"); void cradle_Changed(object sender, ChangeEventArgs args) { // Start downloading bits } private void MainForm_Closed(object sender, EventArgs e) { cradle.Dispose(); }
Launch Initialization SystemState cradle; // member variable cradle = new SystemState(SystemProperty.CradlePresent); cradle.ComparisonType = StatusComparisonType.Equal; cradle.ComparisonValue = 1; cradle.Changed += new ChangeEventHandler(cradle_Changed); cradle.EnableApplicationLauncher(“MS.Cradle"); if (SystemState.IsApplicationLauncherEnabled(“MS.Cradle")) { cradle = new SystemState(“MS.Cradle”); cradle.Changed += new ChangeEventHandler(cradle_Changed); } else { }
Extending the Broker • States are stored in the registry • RegistryState class • Enable external applications string key = @"HKEY_CURRENT_USER\SOFTWARE\COMPANY\APP"; string value = "AppState"; RegistryStatemyState = new RegistryState(key, value);
Device State and Notification demo Salvador Alvarez Patuel Senior Consultant Microsoft Limited
Working with WCF • Windows Communication Foundation • Unified Programming Model • Targets Managed Connected Applications • Compact Framework 3.5 supports • Message-level only (no service model) • HTTP and email transport channels • Connecting with WCF services • Add Web Reference... • CFSvcUtil.exe Power Toy
WCF Store and Forward Exchange Web Services ActiveSnc Corporate Wi-Fi network Exchange Web Services Store and Forward Messaging Server Exchange 2007 Exchange Web Services ActiveSync Datacenter within the company Mobile operator network
Working with WCF demo Salvador Alvarez Patuel Senior Consultant Microsoft Limited
Camera Capture • Common Dialogs • Microsoft.WindowsMobile.Forms • Consistent look and feel • Available from the OS so no further work • Microsoft.WindowsCE.Forms (DocumentList)
Camera Capture Dialog • CameraCaptureMode • Still • VideoOnly or VideoWithAudio • Still Pictures • File will be JPEG • Extension needs to be JPG • If DialogResult.OK • Filename property points to image • Camera drivers not part of LTK • Implementations may vary
Camera Capture demo Salvador Alvarez Patuel Senior Consultant Microsoft Limited
Global Positioning Systems • Managed Libraries • Microsoft.WindowsMobile.Samples.Location • Features • Multiplexing • Parsing • Notifications • Fake GPS
Using GPS Gps gps; private void MainForm_Load(object sender, EventArgs e) { gps = new Gps(); gps.Open(); } private void DisplayCurrentPosition() { GpsPosition position = gps.GetPosition(); double lat = position.Latitude; double lon = position.Longitude; // Display lat and lon } private void MainForm_Closed(object sender, EventArgs e) { gps.Close(); } gps.LocationChanged += new LocationChangedEventHandler(gps_LocationChanged); void gps_LocationChanged(object sender, LocationChangedEventArgs args) { GpsPosition position = args.Position; }
Global Positioning Systems demo Salvador Alvarez Patuel Senior Consultant Microsoft Limited
Choosing Contacts • ChooseContactDialog • Filter by Property • On selection • SelectedContact
Choosing Contacts demo Salvador Alvarez Patuel Senior Consultant Microsoft Limited
Sending Email PocketOutlook E-mail SMS
OutlookSession session = new OutlookSession(); EmailMessage email = new EmailMessage(); email.To.Add(new Recipient(“you@domain.com”); email.Subject = “Hello”; email.BodyText = “Let’s do lunch!”; EmailAccount emailAccount = session.EmailAccounts[0]; email.Send(emailAccount); session.Dispose(); // Send the email MessagingApplication.Synchronize(emailAccount); Composing an Email Message
Sending Email demo Salvador Alvarez Patuel Senior Consultant Microsoft Limited
Making a Phone Call • Microsoft.WindowsMobile.Telephony • Call Number • Prompt User for Confirmation
Making a Phone Call demo Salvador Alvarez Patuel Senior Consultant Microsoft Limited
Summary • SMS Message Interception • PIM Integration • Device State and Notification • Working with WCF • Camera Capture • Global Positioning Systems • Choosing Contacts • Sending Email • Making a Phone Call