What's New in Windows Phone "Mango"

772 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
772
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
26
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • The small slice represents what we know so far. There’s plenty more coming.
  • There are over 1,500 new APIs available to us in the next version of Windows Phone development. They range from new access to the camera all the way to manipulating tiles on the Start screen. This is just a small, small sampling.
  • There are over 1,500 new APIs available to us in the next version of Windows Phone development. They range from new access to the camera all the way to manipulating tiles on the Start screen. This is just a small, small sampling.
  • DEMOS TO DO:RawSensorDataSampleAugmentedRealityMotionSample
  • DEMOS TO DO:ExecutionModelSampleYou can also show Fast App Switching by holding down the F1 key inside the emulator. Load up a few applications, and then you can return to any of them by scrolling in the list.
  • DEMOS TO DO:BackgroundAudioPlayerSampleReminderSample
  • Integrated Experiences:The market for Windows Phone 7 consists of consumers with both a personal life and a business lifeThe phone works great in the customer’s personal life as well as in their business lifeIntegrated Office functionality creates great experiences for business usePictures and Multimedia experiences are great for personal useGetting applications on the phone for end users is easy through MarketplaceDelivering applications to Marketplace is easy for Developers
  • There are three different ways to retrieve location on the phone:GPSLocation information very accurateRadio drains significant powerInitial reading slow (especially if the device has been moved over a long distance without GPX fixes)Does not work indoorsCell Tower LookupNot that accurate (depends on the distance between cell towers)No additional power requirements (assuming the phone radio is switched on already)Fast location retrieval (if the phone radio is switched on, you are already connected to tower(s))No 100% coverageWiFi LookupIn between GPS and Cell Tower in both accuracy, speed and battery consumptionWorks pretty good in larger citiesIndependent of physical location retrieval, one consistent API is used inside your application.The cloud can help getting more accurate location readings, based on other people having been at the same location (without the need for enabling GPS on a particular, individual device)Location services do not only retrieve Lat/Long readings, but can also resolve address information through reverse geocoding services.
  • DEMOS TO DO:RawSensorDataSampleAugmentedRealityMotionSample
  • Integrated Experiences:The market for Windows Phone 7 consists of consumers with both a personal life and a business lifeThe phone works great in the customer’s personal life as well as in their business lifeIntegrated Office functionality creates great experiences for business usePictures and Multimedia experiences are great for personal useGetting applications on the phone for end users is easy through MarketplaceDelivering applications to Marketplace is easy for Developers
  • DEMOS TO DO:BasicCameraSampleCameraGrayscaleSample
  • There are three types of push notifications that you can use on a Windows PhoneNotifications that show up when your application is not running:Tile UpdateToast NotificationNotification that show up when your application is running:Possibility to immediately update your UITile UpdateImagine an application that gets photo feeds, for instance from a service like flickr. Currently the tile shows there are 14 pictures available[Animate]Something happens on the backend: new pictures become available. Through push notifications the tile can be updated[Animate]Toast NotificationImagine a weather application. The user has indicated that they want to be informed about weather updates. Currently the user is not using the weather application though.[Animate]You can send a toast to the device. It appears on the screen, regardless of what the user is doing on the device. If the user clicks on the toast, your application will be launched.[Animate]Push Notification while your application is runningInstead of polling for changes, you setup a push notification (meaning your application will wait for something to happen on the backend with no polling necessary). When something happens on the backend, the server will ping your application.[Animate]The application can take immediate action, for instance to display a newly received message to the user.
  • DEMOS TO DO:TileSample
  • Push notifications are a way to offload background processing from the device into the cloudNo need to use the battery, CPU cycles and memory on the deviceInitiated by the server to enable key background scenariosAKA ‘Smart Multitasking’Users can focus on the foreground application that has as much resources as possible availableYou (as a developer) can notify the user through the server if there is something they should know about or react upon
  • There are three types of push notifications that you can use on a Windows PhoneNotifications that show up when your application is not running:Tile UpdateToast NotificationNotification that show up when your application is running:Possibility to immediately update your UITile UpdateImagine an application that gets photo feeds, for instance from a service like flickr. Currently the tile shows there are 14 pictures available[Animate]Something happens on the backend: new pictures become available. Through push notifications the tile can be updated[Animate]Toast NotificationImagine a weather application. The user has indicated that they want to be informed about weather updates. Currently the user is not using the weather application though.[Animate]You can send a toast to the device. It appears on the screen, regardless of what the user is doing on the device. If the user clicks on the toast, your application will be launched.[Animate]Push Notification while your application is runningInstead of polling for changes, you setup a push notification (meaning your application will wait for something to happen on the backend with no polling necessary). When something happens on the backend, the server will ping your application.[Animate]The application can take immediate action, for instance to display a newly received message to the user.
  • Explain in a bit of detail how push notifications work (numbers correspond to next animation)Start with your application running on the deviceThe user indicates that they are interested in some notifications that your application can receiveYou are opening a push channel inside your application with the push clientThe push client returns a unique (per device and per application) URI to your applicationThe URI points to some live service hosted by Microsoft, somewhere in the cloudYour application sends that unique URI to your own back end serviceCan use any mechanismCan use any type of authenticationCan use custom protocolsYour service just sits somewhere in the cloud, waiting for something to happenIf something interesting happens ….Your service takes the event data and posts it to the unique URINo magic, just an ordinary http POSTThe Push Service takes the data you gave it and uses the URL to identify the device and the applicationThe data is send to the deviceDepending on the state of the device and the type of notification, the notification willAppear in the application (where you are responsible to display it to the user)Show up as a toast notification (the operating system takes care of this)Update a tile (the operating system takes care of this)
  • I highly recommend using the Weather application from the Windows Phone Developer Training Kit. This is an excellent example of building push notifications, and is something that the audience can use later to model their own applications against.
  • DEMOS TO DO:MyLittleTeapot
  • DEMOS TO DO:SearchExtensibilitySample
  • The bold (red-bulleted)options are new to Windows Phone 7.1
  • DEMOS TO DO:RingtoneSampleChoosers – Final Solution
  • Applications are built in pagesGives your application easy navigationGives your application integration with the back keyMakes things easier when your application needs to handle pause and resumeA Windows Phone UI is really clean and simpleIf you have a strong brand (e.g. making your own controls bright and flashy), you can show thatHowever, if you want to look like the default applications, be clean and simpleNotification and location services can really be used to help turn your application into a better user experience
  • What's New in Windows Phone "Mango"

    1. 1. Jeff Brand<br />jbrand@microsoft.com | @jabrand | slickthought.net<br />Developer Evangelist<br />Microsoft Corporation<br />What’s New inWindows Phone 7.5(codename Mango)<br />
    2. 2. Agenda<br />Introduction<br />Execution Model & Fast App Switching<br />Background Agents & Reminders<br />Sensors & Location<br /> Launchers & Choosers<br />Camera<br />Live Tiles & Push Notification Services<br />Silverlight & XNA Integration<br />Search Extensibility<br />…with TONS of demos<br />
    3. 3. Introduction<br />
    4. 4. Mango?<br />
    5. 5. Over 1500 new APIs<br />Microsoft.Phone.Net.NetworkInformation.ConnectState<br />Microsoft.Phone.UserData.Appointments<br />Microsoft.Phone.Tasks.GameInviteTask<br />Microsoft.Devices.CaptureResolution<br />Microsoft.Phone.BackgroundAudio<br />Microsoft.Phone.Tasks.SaveRingtoneTask<br />Microsoft.Phone.Scheduler.Alarm<br />Microsoft.Devices.Sensors.Compass<br />Microsoft.Devices.FlashMode<br />Microsoft.Devices.PhotoCamera<br />System.Data.Services.Client<br />Microsoft.Phone.Info.PowerSource<br />Microsoft.Phone.Scheduler.Reminder<br />Microsoft.Phone.Info.DeviceStatus<br />Microsoft.Phone.UserData<br />Microsoft.Phone.Shell.ShellToast<br />Microsoft.Phone.Shell.ProgressIndicator<br />Microsoft.Phone.Scheduler<br />Microsoft.Phone.BackgroundAgent<br />Microsoft.Phone.Tasks.BingMapsTask<br />Microsoft.Devices.Sensors.Gyroscope<br />Microsoft.Phone.BackgroundAudio.PlayState<br />System.Windows.Navigation.JournalEntry<br />Microsoft.Phone.UserData.Contacts<br />Microsoft.Phone.BackgroundAgent<br />
    6. 6. Internet Explorer 9<br />=<br />
    7. 7. Getting Started<br />A Tour around WP7 Development<br />Demo<br />
    8. 8. Execution Model<br />
    9. 9. MOVED TO BACKGROUND: DEACTIVATED<br /><ul><li>Hit Start
    10. 10. Open toast
    11. 11. Lock screen</li></ul>Load state to continue where you left off<br />User is back where they left off<br />Assume your process is killed<br />Save state for later use<br />
    12. 12. Fast App Switching<br /><ul><li>Just hold down the back button</li></li></ul><li>EXECUTION MODEL<br />Tombstoning your application<br />Demo<br />
    13. 13. Background Agents &Reminders<br />
    14. 14. Background Agents<br />Enable background actions when app isn’t running<br />Allow scheduling<br />Great for audio players or location tracking<br />
    15. 15. Background Agents<br /><Tasks><br /> <DefaultTaskName="_default"NavigationPage="MainPage.xaml" /><br /> <ExtendedTaskName="BackgroundTask"><br /> <BackgroundServiceAgent<br />Specifier="AudioPlayerAgent“<br />Name="MyAudioPlaybackAgent“<br />Source="MyAudioPlaybackAgent“<br />Type="MyAudioPlaybackAgent.AudioPlayer" /><br /> </ExtendedTask><br /></Tasks><br />
    16. 16. Reminders<br />Reminderreminder = newReminder(name);<br />reminder.Title= titleTextBox.Text;<br />reminder.Content= contentTextBox.Text;<br />reminder.BeginTime= beginTime;<br />reminder.ExpirationTime= expirationTime;<br />reminder.RecurrenceType= recurrence;<br />reminder.NavigationUri= navigationUri;<br />ScheduledActionService.Add(reminder);<br />
    17. 17. BACKGROUND AGENTS & REMINDERS<br />Playing music in the background, and setting a reminder for your user.<br />Demo<br />
    18. 18. Sensors & Location<br />
    19. 19. +Y<br />Accelerometer<br /><ul><li>Detects the force of gravity, as well as any forces resulting from the movement of the device.</li></ul>-Z<br />+X<br />+Z<br />-Y<br />PEOPLE<br />
    20. 20. Gyroscope<br /><ul><li>Determines the rotational velocity of the device on all three axes.</li></ul>PEOPLE<br />
    21. 21. Compass (Magnetometer)<br /><ul><li>Determines the device’s rotation relative to the Earth’s magnetic north pole.
    22. 22. Can also detect magnetic forcesaround the device.</li></ul>PEOPLE<br />
    23. 23. Motion<br /><ul><li>Combines the data from Compass, Gyroscope, and Accelerometer.
    24. 24. Handles data like yaw, pitch, roll.
    25. 25. Ideal for augmented reality applications.</li></ul>PEOPLE<br />
    26. 26. Location: Sources of Location<br />GPS<br />+ Accuracy<br />- Power<br />- Speed<br />- Indoors<br />- Accuracy<br />+ Power<br />+ Speed<br />- Wilderness<br />WiFi<br />Location services<br />+/- Accuracy<br />+/- Power<br />+/- Speed<br />+/- Urban areas<br />Cell towers<br />22<br />
    27. 27. New Emulator Tools<br /><ul><li>Accelerometer data
    28. 28. Location Data
    29. 29. Gyroscope & Compass are not yet supported by the emulator.</li></ul>PEOPLE<br />
    30. 30. Accelerometer Tool<br />PEOPLE<br />
    31. 31. Location Tool<br />PEOPLE<br />
    32. 32. SENSORS & LOCATION<br />A look at the raw sensor data, and simple augmented reality.<br />Demo<br />
    33. 33. Camera<br />
    34. 34. Programmatic Access<br /><ul><li>You now have direct access to the camera, including real-time access to raw frames
    35. 35. Enables augmented reality
    36. 36. You also have access to the flash and focus in your applications.</li></ul>PEOPLE<br />
    37. 37. CAMERA<br />Camera events and changing the raw image to grayscale.<br />Demo<br />
    38. 38. Live Tiles & Push Notification<br />
    39. 39. Live Tiles<br /><ul><li>Used to require push notifications to update
    40. 40. Secondary tiles can be created
    41. 41. Deep linking is easy</li></li></ul><li>LIVE TILES<br />Adding secondary tiles with deep linking<br />Demo<br />
    42. 42. Push Notifications<br />Server-initiated communication<br />Enables key background scenarios<br />Preserves battery life and user experience<br />
    43. 43. Notification Types<br />15<br />14<br />New photos online!<br />Seattle, WA: Sunny and 85 degrees<br />34<br />
    44. 44. Push Notifications: Data Flow<br />Tile<br />Push client<br />Toast<br />Open push channel<br />Return URI<br />Data to App<br />Data to toast<br />Data to tile<br />App<br />Send URI to server<br />Send push data to client<br />Your service<br />Push service<br />Send push data to URI<br />Event<br />35<br />
    45. 45. PUSH NOTIFICATIONS<br />Subscribing to and receiving push notifications<br />DEMO<br />
    46. 46. Silverlight & XNA - Together<br />
    47. 47. Fully Integrated<br />Silverlight controls in an XNA game<br />XNA models in a Silverlight app<br />Solves the trouble with UI in XNA<br />
    48. 48. SILVERLIGHT & XNA<br />Using Silverlight UI with XNA models<br />DEMO<br />
    49. 49. Search Extensibility<br />
    50. 50. Putting Apps In Their Place<br />Extends the search experience<br />Launches the user directly into your app<br />Deep linking makes it seamless<br />
    51. 51. Search Extras<br />
    52. 52. SEARCH EXTRAS<br />Getting our app in the search results<br />DEMO<br />
    53. 53. Launchers & Choosers<br />
    54. 54. Launchers & Choosers<br />Launchers<br />BingMapsDirectionsTask<br />BingMapsTask<br />EmailComposeTask<br />GameInviteTask<br />MarketplaceDetailTask<br />MarketplaceHubTask<br />MarketplaceReviewTask<br />MarketplaceSearchTask<br />MediaPlayerLauncher<br />PhoneCallTask<br />SaveEmailAddressTask<br />SavePhoneNumberTask<br />SaveRingtoneTask<br />SearchTask<br />SMSComposeTask<br />WebBrowserTask<br />Choosers<br />AddressChooserTask<br />CameraCaptureTask<br />EmailAddressChooserTask<br />PhoneNumberChooserTask<br />PhotoChooserTask<br />
    55. 55. LAUNCHERS & CHOOSERS<br />Adding a new ringtone to the user’s device<br />DEMO<br />
    56. 56. KEY TAKE-AWAYS<br />There’s tons of new stuff to try out<br />This is a first-class mobile platform<br />The sky is now the limit<br />Use your imagination, and get coding!<br />HTTP://CREATE.MSDN.COM<br />
    57. 57. Q&A<br />

    ×