Download
slide1 n.
Skip this Video
Loading SlideShow in 5 Seconds..
Windows Mobile Developer Briefing 2008 PowerPoint Presentation
Download Presentation
Windows Mobile Developer Briefing 2008

Windows Mobile Developer Briefing 2008

106 Views Download Presentation
Download Presentation

Windows Mobile Developer Briefing 2008

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Windows Mobile Developer Briefing 2008 Salvador Alvarez Patuel Senior Consultant Microsoft Limited

  2. 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.

  3. Windows Mobile in Practice Salvador Alvarez Patuel Senior Consultant Microsoft Limited

  4. 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

  5. Silicon Vendors Mobile Operators Business ISVs and IHVs Solution Providers Device Manufacturers Microsoft Assets for Mobility

  6. 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

  7. 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

  8. Mobile Device Manager demo Salvador Alvarez Patuel Senior Consultant Microsoft Limited

  9. 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

  10. The Mobile Web demo Salvador Alvarez Patuel Senior Consultant Microsoft Limited

  11. What You’ll Need • Visual Studio 2008 • ActiveSync (XP) or Device Centre (Vista) • Windows Mobile 6 SDKs

  12. Visual Studio 2008 demo John Wyer Developer Program Manager Microsoft Corporation

  13. 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

  14. Citizen Complaints

  15. Citizen Complaints demo Salvador Alvarez Patuel Senior Consultant Microsoft Limited

  16. 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

  17. 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

  18. SMS Message Interception demo Salvador Alvarez Patuel Senior Consultant Microsoft Limited

  19. Personal information Outlook session PIM Integration • Microsoft.WindowsMobile.PocketOutlook Contacts Appointments Tasks • Logs into database • Needs to be disposed

  20. 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();

  21. PIM Integration demo Salvador Alvarez Patuel Senior Consultant Microsoft Limited

  22. 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

  23. 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(); }

  24. 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 { }

  25. 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);

  26. Device State and Notification demo Salvador Alvarez Patuel Senior Consultant Microsoft Limited

  27. 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

  28. 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

  29. Working with WCF demo Salvador Alvarez Patuel Senior Consultant Microsoft Limited

  30. Camera Capture • Common Dialogs • Microsoft.WindowsMobile.Forms • Consistent look and feel • Available from the OS so no further work • Microsoft.WindowsCE.Forms (DocumentList)

  31. 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

  32. Camera Capture demo Salvador Alvarez Patuel Senior Consultant Microsoft Limited

  33. Global Positioning Systems • Managed Libraries • Microsoft.WindowsMobile.Samples.Location • Features • Multiplexing • Parsing • Notifications • Fake GPS

  34. 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; }

  35. Global Positioning Systems demo Salvador Alvarez Patuel Senior Consultant Microsoft Limited

  36. Choosing Contacts • ChooseContactDialog • Filter by Property • On selection • SelectedContact

  37. Choosing Contacts demo Salvador Alvarez Patuel Senior Consultant Microsoft Limited

  38. Sending Email PocketOutlook E-mail SMS

  39. 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

  40. Sending Email demo Salvador Alvarez Patuel Senior Consultant Microsoft Limited

  41. Making a Phone Call • Microsoft.WindowsMobile.Telephony • Call Number • Prompt User for Confirmation

  42. Making a Phone Call demo Salvador Alvarez Patuel Senior Consultant Microsoft Limited

  43. 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