building metro style apps that connect to specialized devices l.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Building Metro style apps that connect to specialized devices PowerPoint Presentation
Download Presentation
Building Metro style apps that connect to specialized devices

Loading in 2 Seconds...

play fullscreen
1 / 33

Building Metro style apps that connect to specialized devices - PowerPoint PPT Presentation


  • 444 Views
  • Uploaded on

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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Building Metro style apps that connect to specialized devices' - issac


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
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
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
slide4

What is a specialized device?

Devices with

Extensible Built-in Experiences

Printers

Webcam

MB SIM

Specialized

Devices

Portable

Storage

Networked

Other

slide5
Windows 8 provides flexible APIs to build a Metro style app that showcases your device’s unique functionality.
slide6
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
customer benefits
Customer benefits
  • App is automatically installed when device connects
  • Can experience the richness of device with a Metro style app
device m aker b enefits
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
specialized d evice a ccess models
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
device access for desktop apps
Device access for desktop apps

App Process

App

SetupDi API

WPD

HID

WinUSB

CreateFile/DeviceIoControl

I/O Manager

Driver

Device

Microsoft

Partner

comparison with metro style a pp m odel
Comparison with Metro style app model

Desktop model

Application A

Application B

I/O manager – access check per user

Driver

Device

Microsoft

Partner

comparison with metro s tyle a pp model
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

specialized d evice access for metro s tyle apps
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

slide16

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

windows portable d evice
demo

Windows portable device

Based upon the portable device services SDK sample Nokia N8

wpd apis
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

windows storage apis
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

windows networking apis
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

deviceiocontrol apis
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

deviceiocontrol
demo

DeviceIOControl

SDK sample: accessing a custom device

WDK sample: OSRUSBFX2

OSR USB FX2 learning kit

recap
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
related sessions
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
further reading and documentation
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
feedback and q uestions http forums dev windows com session f eedback http bldw in sessionfeedback
thank you

Feedback and questions http://forums.dev.windows.com

Session feedbackhttp://bldw.in/SessionFeedback

slide32

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