3-622.pptx

Harnessing the Full Power of Input in Universal Windows Apps

1.0x

3-622.pptx

Created 2 years ago

Duration 0:00:00
lesson view count 101
Harnessing the Full Power of Input in Universal Windows Apps
Select the file type you wish to download
Slide Content
  1. Reed Townsend

    Slide 1 - Reed Townsend

    • Lead Program Manager
    • Harnessing the Full Power of Input in Universal Windows Apps
    • Harnessing the Full Power of Input in Universal Windows Apps
    • 3-622
    • //build/ content is being presented by Microsoft Office Mix The video for this session will be available shortly
  2. Input and UWP overview

    Slide 2 - Input and UWP overview

    • Understanding the input stack
    • Input deep dive and code demos
    • Wrap up and additional resources
    • Agenda
  3. The same Windows platform is available on all Windows devices

    Slide 3 - The same Windows platform is available on all Windows devices

    • Immediately target hundreds of millions of devices
    • Now you can code for all these endpoints in the same way!
    • UWP Promise
  4. The same input platform is available on all Windows devices

    Slide 5 - The same input platform is available on all Windows devices

    • Running on many different devices will expose your app to different types of input
    • Our platform makes it easy to handle these various inputs
    • Input Promise for UWP Apps
  5. Demo – Teaching Old Phones New Tricks

    Slide 6 - Demo – Teaching Old Phones New Tricks

  6. Demo – Bringing the Power of Xbox to the PC

    Slide 7 - Demo – Bringing the Power of Xbox to the PC

  7. Understanding the Input Platform

    Slide 8 - Understanding the Input Platform

  8. High Level View of the Input Platform Stack

    Slide 9 - High Level View of the Input Platform Stack

    • Frameworks and Controls
    • Pointer and GestureRecognizer
    • CoreInput and SwapChainPanel
  9. Frameworks and Controls

    Slide 10 - Frameworks and Controls

    • Pointer and GestureRecognizer
    • CoreInput and SwapChainPanel
    • Our universal frameworks offer a variety of controls
    • These controls have built-in support for correctly handling input
    • If you stick to these controls, your app will “just work” on all devices
    • Frameworks and Controls
  10. Demo – Frameworks and Controls

    Slide 11 - Demo – Frameworks and Controls

  11. Both controls and frameworks offer additional control over input handling

    Slide 12 - Both controls and frameworks offer additional control over input handling

    • Let’s look at two areas:
    • Customizing a control’s behavior: XAML ScrollViewer
    • Framework events for input and gestures
    • Going Deeper with Controls and Frameworks
    • Frameworks and Controls
    • Pointer and GestureRecognizer
    • CoreInput and SwapChainPanel
  12. The ScrollViewer control provides a pannable content surface in your app

    Slide 13 - The ScrollViewer control provides a pannable content surface in your app

    • ScrollViewer also provides customizations such as:
    • Zooming
    • Snapping to certain points
    • Enabling/disabling scroll inertia
    • A ScrollViewer can be used directly, and controls like ListView, FlipView, GridView, TextBox, and RichEditBox are built on it too
    • ScrollViewer
    • Frameworks and Controls
    • Pointer and GestureRecognizer
    • CoreInput and SwapChainPanel
  13. Code Walkthrough – ScrollViewer

    Slide 14 - Code Walkthrough – ScrollViewer

  14. Framework elements (including controls) have built-in support for input events

    Slide 15 - Framework elements (including controls) have built-in support for input events

    • This lets you easily add custom behavior such as:
    • Pointer press feedback
    • Pointer hover feedback
    • Respond to standard gestures
    • Input Events on Elements
    • Frameworks and Controls
    • Pointer and GestureRecognizer
    • CoreInput and SwapChainPanel
  15. Code Walkthrough – Input Events on Elements

    Slide 16 - Code Walkthrough – Input Events on Elements

  16. Need more power and flexibility?

    Slide 17 - Need more power and flexibility?

  17. If the functionality provided by the framework controls isn’t enough for your app, there are lower level input APIs available

    Slide 18 - If the functionality provided by the framework controls isn’t enough for your app, there are lower level input APIs available

    • Pointer and GestureRecognizer APIs
    • Frameworks and Controls
    • Pointer and GestureRecognizer
    • CoreInput and SwapChainPanel
  18. The Pointer APIs abstract touch, mouse, and pen input into a single API

    Slide 19 - The Pointer APIs abstract touch, mouse, and pen input into a single API

    • Pointer offers basic information common to all pointer types, and also offers input-specific data if you need it
    • This lets you handle all of these inputs without having to write specialized logic for each
    • Pointer APIs
    • Frameworks and Controls
    • Pointer and GestureRecognizer
    • CoreInput and SwapChainPanel
  19. Code Walkthrough – Pointer APIs

    Slide 20 - Code Walkthrough – Pointer APIs

  20. GestureRecognizer provides information and events about more complex user actions, such as:

    Slide 21 - GestureRecognizer provides information and events about more complex user actions, such as:

    • Manipulations
    • Taps
    • Holds
    • And more
    • GestureRecognizer
    • Frameworks and Controls
    • Pointer and GestureRecognizer
    • CoreInput and SwapChainPanel
  21. Code Walkthrough – GestureRecognizer

    Slide 22 - Code Walkthrough – GestureRecognizer

  22. Make your apps buttery smooth

    Slide 23 - Make your apps buttery smooth

  23. Slide 24

    • Ensures your app has the best performance, lowest latency input delivery for advanced scenarios
    • CoreInput handles input on a separate thread, ensuring it is never blocked by the UI thread
    • SwapChainPanel gives you a DirectX rendering surface in your XAML app
    • CoreInput and SwapChainPanel
    • Frameworks and Controls
    • Pointer and GestureRecognizer
    • CoreInput and SwapChainPanel
  24. Code Walkthrough – CoreInput and SwapChainPanel

    Slide 25 - Code Walkthrough – CoreInput and SwapChainPanel

  25. Ink

    Slide 26 - Ink

    • Gamepad
    • Text
    • Device and form factor APIs
    • Visual feedback
    • Touch targeting
    • But wait!
    • There’s more!
    • Other APIs to be Aware of
  26. When designing your app, be aware of the guidance for touch and other inputs

    Slide 27 - When designing your app, be aware of the guidance for touch and other inputs

    • Aspects like control size and placement, whitespace, and visual design all affect a user’s perception of what is interactable
    • Sidebar – Designing for All Inputs
  27. Sessions:

    Slide 28 - Sessions:

    • 681 - Introducing Direct Ink: Learn how to Unlock New Opportunities Using Ink in Your App
    • 705 - Harness the full power of Digital Inking in your Universal Windows app with Ink Recognition, Advanced Ink Processing and more
    • 716 - Cortana and Speech Platform in Depth
    • 679 - From the Small Screen to the Big Screen: Building Universal Windows App Experiences with XAML
    • 703 - Optimizing Universal Windows Apps for Continuum: How to Make the Most of the Big Screen with Your Small Screen
    • 658 – Windows User Experience: Models, Patterns, and Controls
    • Additional Resources
  28. Samples:

    Slide 29 - Samples:

    • Input: XAML user input events sample https://code.msdn.microsoft.com/windowsapps/Input-3dff271b
    • Input: Instantiable gestures sample - https://code.msdn.microsoft.com/windowsapps/Input-Instantiable-deda69ca#content
    • Input: Gestures and manipulations with GestureRecognizer - https://code.msdn.microsoft.com/windowsapps/Manipulations-and-gestures-362b6b59
    • Input: Device capabilities sample - https://code.msdn.microsoft.com/windowsapps/Input-device-capabilities-31b67745
    • Input: Touch hit testing sample - https://code.msdn.microsoft.com/windowsapps/Touch-Hit-Testing-sample-5e35c690
    • DirectX swap chain implementation sample - https://code.msdn.microsoft.com/windowsapps/CoreWindow-Sample-b51b01f2
    • Additional Resources
  29. Writing a UWP app allows your app to be used by the largest possible audience (hundreds of millions of users!) on a wide variety of devices

    Slide 30 - Writing a UWP app allows your app to be used by the largest possible audience (hundreds of millions of users!) on a wide variety of devices

    • The best-selling apps are those which work well across devices and inputs
    • Our platform makes it easy to handle different types of input
    • Now unleash your creativity and build the next great app with the confidence that it will work great across all devices!
    • Call to Action