Upload
aiden-gardner
View
224
Download
6
Tags:
Embed Size (px)
Citation preview
Salvador Alvarez PatuelSenior ConsultantMicrosoft 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.
Salvador Alvarez PatuelSenior ConsultantMicrosoft 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
Silicon
Vendors
Device
Manufacturers
Business ISVs and IHVs
Mobile Operator
s
Solution
Providers
Helps IT Pro manage Windows Mobile phones Helps IT Pro manage Windows Mobile phones like laptops and PCslike laptops and PCs
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
Salvador Alvarez PatuelSenior ConsultantMicrosoft 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
Salvador Alvarez PatuelSenior ConsultantMicrosoft Limited
Visual Studio 2008ActiveSync (XP) or Device Centre (Vista)Windows Mobile 6 SDKs
John WyerDeveloper Program ManagerMicrosoft Corporation
SMS Message InterceptionPIM IntegrationDevice State and NotificationWorking with WCFCamera CaptureGlobal Positioning SystemsChoosing ContactsSending EmailMaking a Phone Call
Salvador Alvarez PatuelSenior ConsultantMicrosoft 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
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
Salvador Alvarez PatuelSenior ConsultantMicrosoft 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
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
Salvador Alvarez PatuelSenior ConsultantMicrosoft 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
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();}
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
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
Salvador Alvarez PatuelSenior ConsultantMicrosoft 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
Store and Forward MessagingServer
Exchange 2007
ExchangeWeb
Services
Exchange Web
Services Datacenterwithin thecompany
Exchange Web
Services
ActiveSnc
CorporateWi-Fi
network
ActiveSync
Mobileoperatornetwork
Salvador Alvarez PatuelSenior ConsultantMicrosoft Limited
Common DialogsMicrosoft.WindowsMobile.FormsConsistent look and feelAvailable from the OS so no further workMicrosoft.WindowsCE.Forms (DocumentList)
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
Salvador Alvarez PatuelSenior ConsultantMicrosoft Limited
Managed LibrariesMicrosoft.WindowsMobile.Samples.Location
FeaturesMultiplexingParsingNotifications
Fake GPS
GpsPositionClass
Properties
EllipsoidAltitudeEllipsoidAltitudeValidHeadingHeadingValidHorizontalDilutionOfPrecisionHorizontalDilutionOfPrecisionValidLatitudeLatitudeInDegreesMinutesSecondsLatitudeValidLongitudeLongitudeInDegreesMinutesSecondsLongitudeValidPositionDilutionOfPrecisionPositionDilutionOfPrecisionValidSatelliteCountSatelliteCountValidSatellitesInSolutionValidSatellitesInViewCountSatellitesInViewCountValidSatellitesInViewValidSeaLevelAltitudeSeaLevelAltitudeValidSpeedSpeedValidTimeTimeValidVerticalDilutionOfPrecisionVerticalDilutionOfPrecisionValid
Methods
GetSatellitesInSolutionGetSatellitesInView
GpsClass
Properties
Opened
Methods
CloseGetDeviceStateGetPosition (+ 1 overload)GpsOpen
Events
DeviceStateChangedLocationChanged
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;}
Salvador Alvarez PatuelSenior ConsultantMicrosoft Limited
ChooseContactDialogFilter by PropertyOn selection
SelectedContact
Salvador Alvarez PatuelSenior ConsultantMicrosoft Limited
SMS
PocketOutlook
AccountClass
public
DisposeName
EmailAccount
Account
Class
public
SendTransport
SmsAccount
Account
Class
public
Send
IDisposable
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)
Salvador Alvarez PatuelSenior ConsultantMicrosoft Limited
Microsoft.WindowsMobile.TelephonyCall NumberPrompt User for Confirmation
PhoneClass
Methods
PhoneTalk (+ 1 overload)
Salvador Alvarez PatuelSenior ConsultantMicrosoft Limited
SMS Message InterceptionPIM IntegrationDevice State and NotificationWorking with WCFCamera CaptureGlobal Positioning SystemsChoosing ContactsSending EmailMaking a Phone Call