1 / 33

Building Metro style apps that connect to specialized devices

HW-747T. Building Metro style apps that connect to specialized devices. George Roussos Senior Program Manager Microsoft Corporation. Nar Ganapathy Partner SDE Microsoft Corporation. Agenda. What is a specialized device? Differentiating your device with an Metro style app

issac
Download Presentation

Building Metro style apps that connect to specialized devices

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. HW-747T Building Metro style apps that connect to specialized devices George Roussos Senior Program Manager Microsoft Corporation Nar Ganapathy Partner SDE Microsoft Corporation

  2. Agenda • What is a specialized device? • Differentiating your device with an Metro style app • Specialized device access models • Specialized device access APIs You’ll leave with an understanding of how to… • Access specialized devices from Metro style apps • Choose the right API and access model for your device

  3. What is a specialized device?

  4. What is a specialized device? Devices with Extensible Built-in Experiences Printers Webcam MB SIM Specialized Devices Portable Storage Networked Other

  5. Windows 8 provides flexible APIs to build a Metro style app that showcases your device’s unique functionality.

  6. Why… • Device makers want the flexibility to differentiate • Not every device can be covered by a built-in experience or API in Windows 8 • So we enabled you to create your own experience as a Metro style app

  7. Customer benefits • App is automatically installed when device connects • Can experience the richness of device with a Metro style app

  8. Device maker benefits • A Metro style app can access your device’s unique functionality • Windows 8 installs your app when your device is connected • You can control 100% of pixels displayed • You can control which Metro style apps access your device

  9. Specialized device access models

  10. Specialized device access models Open device access • Many apps can access device • Example devices: camera, smartphone, eBook reader Restricted device access • Access restricted to app(s) declared in device metadata • Example device: credit-card reader

  11. Device access architecture

  12. Device access for desktop apps App Process App SetupDi API WPD HID WinUSB CreateFile/DeviceIoControl I/O Manager Driver Device Microsoft Partner

  13. Comparison with Metro style app model Desktop model Application A Application B I/O manager – access check per user Driver Device Microsoft Partner

  14. Comparison with Metro style app model Metro style model Metro style app A Metro style app B Device Access Broker I/O manager – access check per user Driver Device Microsoft Partner

  15. Specialized device access for Metro style apps Driver Package app container Metro style app (HTML/JS, C#,C++) Windows.Storage Windows.Networking Windows Runtime Component (C++) DeviceIoControl Windows Portable Device (WPD) Device Metadata Device Broker I/O Manager Application Manifest Driver Device Microsoft Partner

  16. Specialized device APIs and access models Category API Family Access Model Portable Windows Portable Device (WPD) Both Specialized Storage Windows.Storage Open Networked Windows.Networking Open Other DeviceIOControl Restricted

  17. Windows portable device (WPD) APIs

  18. demo Windows portable device Based upon the portable device services SDK sample Nokia N8

  19. WPD APIs Application Manifest <Capabilities> <DeviceCapability Name=“Device Service GUID” /> </Capabilities> app container Metro style app (optional) Windows Runtime Component (C++) WPD APIs Device Metadata SoftwareInfo.xml ,,,,,, <DeviceCompanionApplications><Package>….</Package> </DeviceCompanionApplications> Optional Driver MTP or MSC Class Driver Portable Device Microsoft Partner

  20. Storage device APIs

  21. Windows.StorageAPIs app container Application Manifest <Capabilities> removableStorage </Capabilities> Metro style app (HTML/JS, C#, C++) Windows.Storage APIs Device Metadata SoftwareInfo.xml ,,,,,, <DeviceCompanionApplications><Package>….</Package> </DeviceCompanionApplications> Storage Device Microsoft Partner

  22. Network device APIs

  23. Windows.NetworkingAPIs Application Manifest <Capabilities> Internet </Capabilities> app container Metro style app (HTML/JS, C#, C++) Windows.Networking APIs Device Metadata SoftwareInfo.xml ,,,,,, <DeviceCompanionApplications><Package>….</Package> </DeviceCompanionApplications> Networked PNP-X Device Microsoft Partner

  24. DeviceIOControl APIs

  25. DeviceIOControlAPIs app container Application Manifest <Capabilities> <DeviceCapabilityName=“GUID for custom device interface class” /> </Capabilities> Metro style app (e.g., Microsoft.SDKSamples.Mofx2App) Windows Runtime Component (C++) CreateDeviceAccessInstance & DeviceIoControlAPI Device Metadata SoftwareInfo.xml ,,,,,, <PrivilegedApplications>App Identity, AccessCustomDriver </PrivilegedApplications> Custom Driver Other Device Driver Package [OsrUsb_Interface_AddProperty] {Enable restricted interface} Microsoft Partner

  26. demo DeviceIOControl SDK sample: accessing a custom device WDK sample: OSRUSBFX2 OSR USB FX2 learning kit

  27. Recap

  28. Recap • Differentiate your specialized device with a Metro style app • Windows 8 has four APIs families for Metro style apps to access the unique functionality of your device • Many apps can access your device in the open device access model • Device makers can control which Metro style apps access their device in the restricted device access model

  29. Related sessions • [HW-322T] Designing great devices and drivers • [HW-283T] Introducing Metro style device apps • [HW-275T] Building and delivering a great Metro style app for your device • [PLAT-278T] Using connected devices in Metro style apps

  30. Further reading and documentation • Windows Dev Center home  • SDK Samples • Custom Device Access • Portable Device Services • Removable Storage • Whitepapers • Metro style Device App for Specialized Devices - Design Guide • The Device Software Lifecycle – Deployment, Acquisition, Uninstall and Update Process • Metro style Device App for Specialized Devices Custom Driver Access Design Guide • Metro style Device App for Specialized Devices Custom Driver Access Development Guide • Questions? • Please visit the forums on the Windows Dev Center at http://forums.dev.windows.com • For best response, please include the Build Session # in the title of your post

  31. thank you Feedback and questions http://forums.dev.windows.com Session feedbackhttp://bldw.in/SessionFeedback

  32. © 2011 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

More Related