45

Salvador Alvarez Patuel Senior Consultant Microsoft Limited

Embed Size (px)

Citation preview

Page 1: Salvador Alvarez Patuel Senior Consultant Microsoft Limited
Page 2: Salvador Alvarez Patuel Senior Consultant Microsoft Limited

Salvador Alvarez PatuelSenior ConsultantMicrosoft Limited

Page 3: Salvador Alvarez Patuel Senior Consultant Microsoft Limited

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.

Page 4: Salvador Alvarez Patuel Senior Consultant Microsoft Limited

Salvador Alvarez PatuelSenior ConsultantMicrosoft Limited

Page 5: Salvador Alvarez Patuel Senior Consultant Microsoft Limited

YO

Y

% s

hip

pin

g g

row

thYO

Y

% s

hip

pin

g g

row

th

35

30

25

20

15

10

5

0 CAGR 2006-2010Source: Gartner Dataquest, and IDC 2006

18.6%Mobile PCs

5.8%Mobile Phones

3.9%Desktop PCs

34.1%ConvergedMobile Phones

Page 6: Salvador Alvarez Patuel Senior Consultant Microsoft Limited

Silicon

Vendors

Device

Manufacturers

Business ISVs and IHVs

Mobile Operator

s

Solution

Providers

Page 7: Salvador Alvarez Patuel Senior Consultant Microsoft Limited

Helps IT Pro manage Windows Mobile phones Helps IT Pro manage Windows Mobile phones like laptops and PCslike laptops and PCs

Page 8: Salvador Alvarez Patuel Senior Consultant Microsoft Limited

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

Security Security ManagementManagement

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 denyRemote wipe OMA-DM Compliant

Device Device ManagementManagementSingle point of management for mobile devices in enterprise Full OTA provisioning and bootstrapping OTA Software distribution based on WSUS 3.0Inventory SQL Server 2005 based reporting capabilities Role based administration MMC snap-ins and Powershell cmndletsWMU On/Off control OMA-DM compliant

MobileMobileVPNVPN

Machine authentication and “double envelope security”Session PersistenceFast ReconnectInternetwork roamingStandards based (IKEv2, MobIKE, IPSEC tunnel mode)

Management WorkloadDeployment: inside firewall

Network Access WorkloadDeployment: in DMZ

Page 9: Salvador Alvarez Patuel Senior Consultant Microsoft Limited

Salvador Alvarez PatuelSenior ConsultantMicrosoft Limited

Page 10: Salvador Alvarez Patuel Senior Consultant Microsoft Limited

IE Mobile is a feature-rich browserMobile Web Applications

Fastest way to mobilize functionalityMobile Controls for device-specific renderingSupports AJAX for a better user experience

Exciting developments in the pipelineBetter AJAX support in Windows Mobile 6Silverlight Mobile demonstrated at MIX07

Page 11: Salvador Alvarez Patuel Senior Consultant Microsoft Limited

Salvador Alvarez PatuelSenior ConsultantMicrosoft Limited

Page 12: Salvador Alvarez Patuel Senior Consultant Microsoft Limited
Page 13: Salvador Alvarez Patuel Senior Consultant Microsoft Limited

Visual Studio 2008ActiveSync (XP) or Device Centre (Vista)Windows Mobile 6 SDKs

Page 14: Salvador Alvarez Patuel Senior Consultant Microsoft Limited

John WyerDeveloper Program ManagerMicrosoft Corporation

Page 15: Salvador Alvarez Patuel Senior Consultant Microsoft Limited

SMS Message InterceptionPIM IntegrationDevice State and NotificationWorking with WCFCamera CaptureGlobal Positioning SystemsChoosing ContactsSending EmailMaking a Phone Call

Page 16: Salvador Alvarez Patuel Senior Consultant Microsoft Limited
Page 17: Salvador Alvarez Patuel Senior Consultant Microsoft Limited

Salvador Alvarez PatuelSenior ConsultantMicrosoft Limited

Page 18: Salvador Alvarez Patuel Senior Consultant Microsoft Limited

Part of the Pocket Outlook namespacePocketOutlook.MessageInterception

Allows use of SMS as a data transportAlertsTwo-way conversations (e.g. Battleships game)

Things to watch out forCostSecurityLatency

Page 19: Salvador Alvarez Patuel Senior Consultant Microsoft Limited

Receive notification when an SMS arrives

Transient notificationsPersistent notificationsOptionally delete the SMS

Filter SMS notifications using conditions

Body or Sender SMS FieldsEqual or Not EqualStartsWith, Contains or EndsWith

Page 20: Salvador Alvarez Patuel Senior Consultant Microsoft Limited

Salvador Alvarez PatuelSenior ConsultantMicrosoft Limited

Page 21: Salvador Alvarez Patuel Senior Consultant Microsoft Limited

Microsoft.WindowsMobile.PocketOutlook

Outlook session

Logs into databaseNeeds to be disposedLogs into databaseNeeds to be disposed

OutlookSessionClass

Properties

AppointmentsContactsEmailAccountsSmsAccountTasks

Methods

Dispose (+ 1 overload)OutlookSession

Personal information

ContactsContacts AppointmenAppointmentsts

TasksTasks

Page 22: Salvador Alvarez Patuel Senior Consultant Microsoft Limited

contact.Properties.Add(“BowlingAverage”,

typeof(int),PimPropertyFlags.DoNotReplicate |

PimPropertyFlags.Indexed);

contact.Properties[“BowlingAverage”] = 175;contact.Update();

Add your own propertiesDoes not sync to the desktop

Page 23: Salvador Alvarez Patuel Senior Consultant Microsoft Limited

Salvador Alvarez PatuelSenior ConsultantMicrosoft Limited

Page 24: Salvador Alvarez Patuel Senior Consultant Microsoft Limited

SystemState

StateBase

Class

Properties

ApplicationArgumentsApplicationLaunchIdApplicationToLaunchBitMaskComparisonTypeComparisonValueCurrentValueProperty

Methods

DisableApplicationLauncher (+ 1 overload)DisposeEnableApplicationLauncher (+ 2 overloads)GetValueIsApplicationLauncherEnabledSystemState (+ 3 overloads)

Events

Changed

NetworkNetwork MessagingMessaging PhonePhone

AppointmentAppointmentss

Media PlayerMedia Player Available Available hardwarehardware

Over 150 predefined statesOver 150 predefined statesUnification of stateUnification of state

Cell System Connectivity / AvailabilityCell System Connectivity / AvailabilityBluetooth, Camera, WifiBluetooth, Camera, WifiNew Power Management StatesNew Power Management StatesInternet SharingInternet SharingDevice LockDevice Lock

Page 25: Salvador Alvarez Patuel Senior Consultant Microsoft Limited

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

Page 26: Salvador Alvarez Patuel Senior Consultant Microsoft Limited

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{

}

SystemState cradle; // member variable

Page 27: Salvador Alvarez Patuel Senior Consultant Microsoft Limited

string key = @"HKEY_CURRENT_USER\SOFTWARE\COMPANY\APP";string value = "AppState";RegistryState myState = new RegistryState(key, value);

RegistryState

StateBase

Class

Properties

ApplicationArgumentsApplicationLaunchIdApplicationToLaunchBitMaskComparisonTypeComparisonValueCurrentValueKeyValueName

Methods

DisableApplicationLauncher (+ 1 overload)DisposeEnableApplicationLauncher (+ 2 overloads)IsApplicationLauncherEnabledRegistryState (+ 3 overloads)

Events

Changed

Nested Types

States are stored in the registryRegistryState classEnable external applications

Page 28: Salvador Alvarez Patuel Senior Consultant Microsoft Limited

Salvador Alvarez PatuelSenior ConsultantMicrosoft Limited

Page 29: Salvador Alvarez Patuel Senior Consultant Microsoft Limited

Windows Communication FoundationUnified Programming ModelTargets Managed Connected Applications

Compact Framework 3.5 supportsMessage-level only (no service model)HTTP and email transport channels

Connecting with WCF services Add Web Reference...CFSvcUtil.exe Power Toy

Page 30: Salvador Alvarez Patuel Senior Consultant Microsoft Limited

Store and Forward MessagingServer

Exchange 2007

ExchangeWeb

Services

Exchange Web

Services Datacenterwithin thecompany

Exchange Web

Services

ActiveSnc

CorporateWi-Fi

network

ActiveSync

Mobileoperatornetwork

Page 31: Salvador Alvarez Patuel Senior Consultant Microsoft Limited

Salvador Alvarez PatuelSenior ConsultantMicrosoft Limited

Page 32: Salvador Alvarez Patuel Senior Consultant Microsoft Limited

Common DialogsMicrosoft.WindowsMobile.FormsConsistent look and feelAvailable from the OS so no further workMicrosoft.WindowsCE.Forms (DocumentList)

Page 33: Salvador Alvarez Patuel Senior Consultant Microsoft Limited

CameraCaptureModeStillVideoOnly or VideoWithAudio

Still PicturesFile will be JPEGExtension needs to be JPG

If DialogResult.OK Filename property points to image

Camera drivers not part of LTKImplementations may vary

Page 34: Salvador Alvarez Patuel Senior Consultant Microsoft Limited

Salvador Alvarez PatuelSenior ConsultantMicrosoft Limited

Page 35: Salvador Alvarez Patuel Senior Consultant Microsoft Limited

Managed LibrariesMicrosoft.WindowsMobile.Samples.Location

FeaturesMultiplexingParsingNotifications

Fake GPS

GpsPositionClass

Properties

EllipsoidAltitudeEllipsoidAltitudeValidHeadingHeadingValidHorizontalDilutionOfPrecisionHorizontalDilutionOfPrecisionValidLatitudeLatitudeInDegreesMinutesSecondsLatitudeValidLongitudeLongitudeInDegreesMinutesSecondsLongitudeValidPositionDilutionOfPrecisionPositionDilutionOfPrecisionValidSatelliteCountSatelliteCountValidSatellitesInSolutionValidSatellitesInViewCountSatellitesInViewCountValidSatellitesInViewValidSeaLevelAltitudeSeaLevelAltitudeValidSpeedSpeedValidTimeTimeValidVerticalDilutionOfPrecisionVerticalDilutionOfPrecisionValid

Methods

GetSatellitesInSolutionGetSatellitesInView

GpsClass

Properties

Opened

Methods

CloseGetDeviceStateGetPosition (+ 1 overload)GpsOpen

Events

DeviceStateChangedLocationChanged

Page 36: Salvador Alvarez Patuel Senior Consultant Microsoft Limited

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

Page 37: Salvador Alvarez Patuel Senior Consultant Microsoft Limited

Salvador Alvarez PatuelSenior ConsultantMicrosoft Limited

Page 38: Salvador Alvarez Patuel Senior Consultant Microsoft Limited

ChooseContactDialogFilter by PropertyOn selection

SelectedContact

Page 39: Salvador Alvarez Patuel Senior Consultant Microsoft Limited

Salvador Alvarez PatuelSenior ConsultantMicrosoft Limited

Page 40: Salvador Alvarez Patuel Senior Consultant Microsoft Limited

E-mail

SMS

PocketOutlook

AccountClass

public

DisposeName

EmailAccount

Account

Class

public

SendTransport

SmsAccount

Account

Class

public

Send

IDisposable

Page 41: Salvador Alvarez Patuel Senior Consultant Microsoft Limited

OutlookSession session = new OutlookSession();

EmailMessage email = new EmailMessage();email.To.Add(new Recipient(“[email protected]”);email.Subject = “Hello”;email.BodyText = “Let’s do lunch!”;EmailAccount emailAccount = session.EmailAccounts[0];email.Send(emailAccount);session.Dispose();// Send the emailMessagingApplication.Synchronize(emailAccount);

EmailMessage

Message

Class

Properties

AttachmentsBccBodyTextCCImportanceSensitivitySubjectTo

Methods

EmailMessage (+ 1 overload)Send (+ 1 overload)

MessageClass

Properties

FromItemIdLastModifiedReadReceived

Nested Types

MessagingApplicationSealed Class

Methods

DisplayComposeForm (+ 9 overloads)SwitchToAccount (+ 1 overload)Synchronize (+ 2 overloads)

Page 42: Salvador Alvarez Patuel Senior Consultant Microsoft Limited

Salvador Alvarez PatuelSenior ConsultantMicrosoft Limited

Page 43: Salvador Alvarez Patuel Senior Consultant Microsoft Limited

Microsoft.WindowsMobile.TelephonyCall NumberPrompt User for Confirmation

PhoneClass

Methods

PhoneTalk (+ 1 overload)

Page 44: Salvador Alvarez Patuel Senior Consultant Microsoft Limited

Salvador Alvarez PatuelSenior ConsultantMicrosoft Limited

Page 45: Salvador Alvarez Patuel Senior Consultant Microsoft Limited

SMS Message InterceptionPIM IntegrationDevice State and NotificationWorking with WCFCamera CaptureGlobal Positioning SystemsChoosing ContactsSending EmailMaking a Phone Call