Building Metro style UIs Paul Gusmorino Lead Program Manager Microsoft Corporation DEV354.

56
Building Metro style UIs Paul Gusmorino Lead Program Manager Microsoft Corporation DEV354

Transcript of Building Metro style UIs Paul Gusmorino Lead Program Manager Microsoft Corporation DEV354.

Page 1: Building Metro style UIs Paul Gusmorino Lead Program Manager Microsoft Corporation DEV354.

Building Metro style UIs

Paul GusmorinoLead Program ManagerMicrosoft Corporation

DEV354

Page 2: Building Metro style UIs Paul Gusmorino Lead Program Manager Microsoft Corporation DEV354.

Agenda

What is Metro style UI?How can I build Metro style UIs for Windows 8?

XAML (C++/C#)HTML and Windows Library for JavaScript (JS)

Common patterns of Metro style UI

You’ll leave with examples of how to:Use common patterns to create great Metro style UIs

Page 3: Building Metro style UIs Paul Gusmorino Lead Program Manager Microsoft Corporation DEV354.

What is Metro style UI?

Page 4: Building Metro style UIs Paul Gusmorino Lead Program Manager Microsoft Corporation DEV354.

A set of common user interface patterns

Page 5: Building Metro style UIs Paul Gusmorino Lead Program Manager Microsoft Corporation DEV354.

grounded in a set of design principles

Page 6: Building Metro style UIs Paul Gusmorino Lead Program Manager Microsoft Corporation DEV354.

supported by the Windows 8 platform.

Page 7: Building Metro style UIs Paul Gusmorino Lead Program Manager Microsoft Corporation DEV354.

demo

Examples from apps on the Windows 8 Release Preview!

What is Metro style UI?

Page 8: Building Metro style UIs Paul Gusmorino Lead Program Manager Microsoft Corporation DEV354.

A set of common user interface patternsgrounded in a set of design principles

and supported by the Windows 8 platform.

Page 9: Building Metro style UIs Paul Gusmorino Lead Program Manager Microsoft Corporation DEV354.

Patterns of Metro style UI

LayoutNavigationCommandingScrolling ContentPresenting DataEssential ControlsText Editing

Page 10: Building Metro style UIs Paul Gusmorino Lead Program Manager Microsoft Corporation DEV354.

Principles of Metro style UI

Pride in craftsmanshipFast and fluidAuthentically digitalDo more with lessWin as one

Page 11: Building Metro style UIs Paul Gusmorino Lead Program Manager Microsoft Corporation DEV354.

Platform for Metro style UI

For C++/C#:XAML

For Javascript:HTMLWindows Library for JavaScript

All powered by the same underlying Windows 8 platform capabilities!

Page 12: Building Metro style UIs Paul Gusmorino Lead Program Manager Microsoft Corporation DEV354.

Layout Patterns for Metro style UI

Page 13: Building Metro style UIs Paul Gusmorino Lead Program Manager Microsoft Corporation DEV354.

Layout Patterns for Metro style UIFixed

Adaptive

Filled and Snapped

Page 14: Building Metro style UIs Paul Gusmorino Lead Program Manager Microsoft Corporation DEV354.

demo

Layout Patterns

Page 15: Building Metro style UIs Paul Gusmorino Lead Program Manager Microsoft Corporation DEV354.

Layout Patterns Takeaways

Determine whether your layout should be fixed or adaptiveSupport snapped state as a fully functional mode of your appConsider supporting portrait layout when applicableUse platform support to achieve high performance layout

Page 16: Building Metro style UIs Paul Gusmorino Lead Program Manager Microsoft Corporation DEV354.

Navigation Patterns for Metro style UI

Page 17: Building Metro style UIs Paul Gusmorino Lead Program Manager Microsoft Corporation DEV354.

Navigation Patterns

Hub Flat Back

Page 18: Building Metro style UIs Paul Gusmorino Lead Program Manager Microsoft Corporation DEV354.

demo

Navigation Patterns

Page 19: Building Metro style UIs Paul Gusmorino Lead Program Manager Microsoft Corporation DEV354.

Navigation Patterns Takeaways

Use hub pattern with hierarchical structure for apps with large collections of content to explore or multiple sections or categories.Use flat pattern with a navigation bar for apps with multiple tabs, documents, instant messages, game sessions, or other cases with relatively few sections.Enable users to go back using standard back button pattern.Use seamless, inline navigation between pages in the app with standard page transition animations.

Page 20: Building Metro style UIs Paul Gusmorino Lead Program Manager Microsoft Corporation DEV354.

Commanding Patterns for Metro style UI

Page 21: Building Metro style UIs Paul Gusmorino Lead Program Manager Microsoft Corporation DEV354.

Commanding Patterns

Message Dialog

Flyout

App Bar

Tooltip

Settings PaneContext Menu

Page 22: Building Metro style UIs Paul Gusmorino Lead Program Manager Microsoft Corporation DEV354.

demo

Commanding Patterns

Page 23: Building Metro style UIs Paul Gusmorino Lead Program Manager Microsoft Corporation DEV354.

Commanding Patterns Takeaways

Use App Bar and Flyout to show more commands ‘on demand’

Use Tooltip to show more information

Consistent, lightweight invocation and dismiss model

Optimized for touch, mouse, and keyboard

Positioned correctly based on system context

Flexibility to define the content in a way that is native to HTML or XAML

Page 24: Building Metro style UIs Paul Gusmorino Lead Program Manager Microsoft Corporation DEV354.

Scrolling Content Patterns for Metro style UI

Page 25: Building Metro style UIs Paul Gusmorino Lead Program Manager Microsoft Corporation DEV354.

Scrolling Content PatternsIdle

• No Scrollbar Touch & Keyboard

• Panning Indicator Mouse

• Scrollbar

Page 26: Building Metro style UIs Paul Gusmorino Lead Program Manager Microsoft Corporation DEV354.

Scrolling Content Patterns - Behaviors

PanningZoomingRailsInertiaBoundary feedbackSnap pointsNestingChaining

Page 27: Building Metro style UIs Paul Gusmorino Lead Program Manager Microsoft Corporation DEV354.

demo

Scrolling Content Patterns

Page 28: Building Metro style UIs Paul Gusmorino Lead Program Manager Microsoft Corporation DEV354.

Scrolling Content Patterns Takeaways

Use the built-in Scroll Views to get the right user experience

Works for touch, mouse, and keyboard

Achieve sticks-to-the-finger performance

For XAML, use ScrollView control

For HTML, use CSS overflow to get “ScrollView”

Page 29: Building Metro style UIs Paul Gusmorino Lead Program Manager Microsoft Corporation DEV354.

Presenting Data Patterns for Metro style UI

Page 30: Building Metro style UIs Paul Gusmorino Lead Program Manager Microsoft Corporation DEV354.

Presenting Data Patterns

Flip ViewList View Grid View

Page 31: Building Metro style UIs Paul Gusmorino Lead Program Manager Microsoft Corporation DEV354.

Presenting Data PatternsSingle & Multi SelectGrouping

Built-in Animations

Page 32: Building Metro style UIs Paul Gusmorino Lead Program Manager Microsoft Corporation DEV354.

Presenting Data Patterns

Semantic Zoom

Page 33: Building Metro style UIs Paul Gusmorino Lead Program Manager Microsoft Corporation DEV354.

demo

Presenting Data Patterns

Page 34: Building Metro style UIs Paul Gusmorino Lead Program Manager Microsoft Corporation DEV354.

Presenting Data Patterns Takeaways

Visible way to make your app shine with the Metro design style

Consistent interaction model and behaviors built in

Use List/Grid Views for collections of data

Define your own rich templates ‘natively’ in both HTML and XAML

Connect to your own data: local or cloud

Use Semantic Zoom to scale experience to more data

Page 35: Building Metro style UIs Paul Gusmorino Lead Program Manager Microsoft Corporation DEV354.

Essential Control Patterns for Metro style UI

Page 36: Building Metro style UIs Paul Gusmorino Lead Program Manager Microsoft Corporation DEV354.

Essential Control PatternsButton

Checkbox

Combo Box

Date Picker Radio Button

Hyperlink

ListBox

Ratings

Progress Bar

Progress Ring

Time Picker

Toggle Switch

Slider

Page 37: Building Metro style UIs Paul Gusmorino Lead Program Manager Microsoft Corporation DEV354.

Essential Control PatternsButton

Checkbox

Combo Box

Date Picker Radio Button

Hyperlink

ListBox

Ratings

Progress Bar

Progress Ring

Time Picker

Toggle Switch

Slider

Page 38: Building Metro style UIs Paul Gusmorino Lead Program Manager Microsoft Corporation DEV354.

demo

Essential Control Patterns

Page 39: Building Metro style UIs Paul Gusmorino Lead Program Manager Microsoft Corporation DEV354.

Everyday Widget Patterns Takeaways

Use the everyday widgets to get a great user experience

Take full advantage of multi-touch screens

Highly flexible styling and customizations:

Realize your scenarios and your app’s own ‘look’

Retain common feel and functionality

Page 40: Building Metro style UIs Paul Gusmorino Lead Program Manager Microsoft Corporation DEV354.

Text Editing Patterns for Metro style UI

Page 41: Building Metro style UIs Paul Gusmorino Lead Program Manager Microsoft Corporation DEV354.

Text Editing PatternsSingle-Line Text Box Password

Multi-Line Text Box Rich Text Box

Clear Button Reveal Button

Page 42: Building Metro style UIs Paul Gusmorino Lead Program Manager Microsoft Corporation DEV354.

Text Editing Patterns - BehaviorsText Selection

Cut, Copy, and Paste

Spellchecking

Mouse & Keyboard

Touch

Page 43: Building Metro style UIs Paul Gusmorino Lead Program Manager Microsoft Corporation DEV354.

Text Editing Patterns - Touch Keyboard

Page 44: Building Metro style UIs Paul Gusmorino Lead Program Manager Microsoft Corporation DEV354.

demo

Text Editing Patterns

Page 45: Building Metro style UIs Paul Gusmorino Lead Program Manager Microsoft Corporation DEV354.

Text Editing Patterns Takeaways

Powerful text editing experience

Optimized for touch, mouse, and keyboard

Spellchecking!

Integration with touch keyboard

Page 46: Building Metro style UIs Paul Gusmorino Lead Program Manager Microsoft Corporation DEV354.

What is Metro style UI?

Page 47: Building Metro style UIs Paul Gusmorino Lead Program Manager Microsoft Corporation DEV354.

A set of common user interface patterns

LayoutNavigationCommandingScrolling ContentPresenting DataEveryday WidgetsText editing

Page 48: Building Metro style UIs Paul Gusmorino Lead Program Manager Microsoft Corporation DEV354.

grounded in a set of design principles

Pride in craftsmanshipFast and fluidAuthentically digitalDo more with lessWin as one

Page 49: Building Metro style UIs Paul Gusmorino Lead Program Manager Microsoft Corporation DEV354.

supported by the Windows 8 platform.

For C++/C#:XAML

For Javascript:HTMLWindows Library for JavaScript

All powered by the same underlying Windows 8 platform capabilities!

Page 50: Building Metro style UIs Paul Gusmorino Lead Program Manager Microsoft Corporation DEV354.

A set of common user interface patternsgrounded in a set of design principles

and supported by the Windows 8 platform.

Page 51: Building Metro style UIs Paul Gusmorino Lead Program Manager Microsoft Corporation DEV354.

Related Content

DEV351 Designing Apps with Metro Principles and Windows Personality

DEV366 Building Metro style Apps with HTML and Javascript

Find Me Later At… Ask the Experts

DEV353 Building Metro style Apps with XAML

Page 52: Building Metro style UIs Paul Gusmorino Lead Program Manager Microsoft Corporation DEV354.

DEV Track Resources

Visual Studio Home Page :: http://www.microsoft.com/visualstudio/en-us

Jason Zander’s Blog :: http://blogs.msdn.com/b/jasonz/

Facebook :: http://www.facebook.com/visualstudio

Twitter :: http://twitter.com/#!/visualstudio

Somasegar’s Blog :: http://blogs.msdn.com/b/somasegar/

Page 53: Building Metro style UIs Paul Gusmorino Lead Program Manager Microsoft Corporation DEV354.

Resources

Connect. Share. Discuss.

http://europe.msteched.com

Learning

Microsoft Certification & Training Resources

www.microsoft.com/learning

TechNet

Resources for IT Professionals

http://microsoft.com/technet

Resources for Developers

http://microsoft.com/msdn

Page 54: Building Metro style UIs Paul Gusmorino Lead Program Manager Microsoft Corporation DEV354.

Evaluations

http://europe.msteched.com/sessions

Submit your evals online

Page 55: Building Metro style UIs Paul Gusmorino Lead Program Manager Microsoft Corporation DEV354.

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

Page 56: Building Metro style UIs Paul Gusmorino Lead Program Manager Microsoft Corporation DEV354.