toronto user groups workshop #1 - 2013-03-10 - designing a windows store app

Post on 18-Oct-2014

518 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

 

TRANSCRIPT

Designing a Windows Store App

Frédéric HarperTechnical Evangelist @ Microsoft Canada

@fharper | outofcomfortzone.net

2013-03-10

8 Traits of a great App

1. Microsoft style design2. Fast and fluid3. Snap and scale beautifully4. Use the right contracts5. Invest in a great Tile6. Feel connected & alive7. Roam to the cloud8. Embrace Microsoft design principles

Microsoft Design Style

Content Before Chrome

Content Before Chrome

Content comes first. Immerse users in the things they loveLeave only the most relevant elements on screen to minimize distractions

Traditionally chrome is added for:1. Layout2. Interactions3. Navigation

Chris Mayo
Change to Chevron bulleted list.

Layout

Layout

Give content breathing room

Intentional space frames the content and allows your eyes to focus on the right thingRemove lines and boxes as a way to group and organize content

Chris Mayo
Chevron bulleted list.

1:09

O Green World Gorillaz Demon days

Layout Use Typography to create a sense of structure and hierarchy in your contentFixed set of sizes, weights and colors convey information on a piece of content’s importanceUse the default stylesheet to get the styling in a pre-defined type ramp

Chris Mayo
Chevrons.

42pt20pt

11pt

9pt

42pt

20pt

11pt

11pt

11pt

9pt

Layout

Let content flow from edge to edgePan only on a single axis to create a sense of stability and to support the selection model (more on that later)Keep ergonomics in mindPan along the long edge of the viewHorizontal in landscape and portraitVertical in snapped

Chris Mayo
Chevrons

Layout Create visual alignment, structure, and clarity with the apps’ silhouetteAlign elements on a grid to create a structured and consistent layoutEstablish consistent anchorsUse a stable railCreate a focal point

Use the Visual Studio template to get the layout

Silhouette

Microsoft design style

In the absence of chrome when people are focusing on the content,

the formation of the content is what lets people recognize

something as Microsoft design style before their eyes even

process it. Creating a silhouette is about leveraging negative space

and content placement to establish a recognizable form.

Page titleBaseline at 100px

Content areaTop aligned at 140px

Content areaLeft margin 120px

Establish common anchorsIdentify commonalities between different pages, and present those elements in a consistent manner.

Use a stable railWhen content goes off screen, let it move from edge to edge along a single axis. Let off screen objects peek in and use negative space to create a visual rail.

Create a focal pointSelect a hero for your content, and add visual volume to it to make it the first thing that catches people's eyes.

Silhouette

Microsoft design style

In the absence of chrome when people are focusing on the content,

the formation of the content is what lets people recognize

something as Microsoft design before their eyes even process it.

Creating a silhouette is about leveraging negative space and

content placement to establish a recognizable form.

Establish common anchorsIdentify commonalities between different pages, and present those elements in a consistent manner.

Use a stable railWhen content goes off screen, let it move from edge to edge along a single axis. Let off screen objects peek in and use negative space to create a visual rail.

Create a focal pointSelect a hero for your content, and add visual volume to it to make it the first thing that catches people's eyes.

Silhouette

Microsoft design style

In the absence of chrome when people are focusing on the content,

the formation of the content is what lets people recognize

something as Microsoft design style before their eyes even process

it. Creating a silhouette is about leveraging negative space and

content placement to establish a recognizable form.

Establish common anchorsIdentify commonalities between different pages, and present those elements in a consistent manner.

Use a stable railWhen content goes off screen, let it move from edge to edge along a single axis. Let off screen objects peek in and use negative space to create a visual rail.

Create a focal pointSelect a hero for your content, and add visual volume to it to make it the first thing that catches people's eyes.

Interactions

Interaction

Integrate commands into the contentLeverage the edgeProvide commands contextually

ClearanceSale

Gifts forKids

Holiday Shopping

Home & Garden

Everything For Winter

ClearanceSale

Gifts forKids

Holiday Shopping

Home & Garden

Everything For Winter

Interaction

Integrate commands into the contentLeverage the edgeProvide commands contextually

Using the EdgeApp bar

http://msdn.microsoft.com/en-us/library/windows/apps/hh465302(v=VS.85).aspx

Use App bar to bring up commands on demand through a swipe from the top or bottom edgeUse the Charms as entry points into Search, Share, Settings, and Devices contracts

Title

Interaction

Integrate commands into the contentLeverage the edgeProvide commands contextually

Product name

Product name

Product name

Product name

Product name

Product name

Product name

Product name

Product name

Product name

Flyout

http://msdn.microsoft.com/en-us/library/windows/apps/hh465341(v=VS.85).aspx

Collecting information Confirmations or warnings

Use Flyout as a lightweight way of showing transient, contextual UI

Errors

Show errors inline when possible

Chris Mayo
Make a bullet

Navigation

Navigation

Views should be about where you are at, not where you might go

Integrate navigational elements into the content

Avoid persistent way finding chrome (such as tabs)

FeaturedLast minute deals My Trips

Contoso Travel

Chrome

Featured destinations Last minute deals My TripsContoso Travel Chrome

Navigation patterns

Hierarchical Flat

Hu

bContoso Travel Featured destinations Last minute deals

Spoke

sD

eta

ils

7 night Alaska Cruise

Last Minute Deals

Featured destinations Barcelona, Spain

Last Minute Deals 7 Night Alaska Cruise

Ocean View Cabins

Upgrade from an inside cabin and save $43/night/person!Picture windows with ocean and port viewsFrom $2,099 — only $150/night/person based on double occupancy

Suites

Upgrade from an inside cabin and save $43/night/person!Picture windows with ocean and port viewFrom $2,099 — only $150/night/person do

My Trips Weather

7 daysChicago (3/11 – 3/19)

Today54/43 Mostly Sunny

Today54/43 Mostly Sunny

Today54/43 Mostly Sunny

Today54/43 Mostly Sunny

Today54/43 Mostly Sunny

Attractions

My Trips

Featured Destinations Top Destinations for 2012

Barcelona, Spain

My Trips City Guide

1. Content area2. Sections3. Header4. Back button5. Header menu6. Semantic zoom

Components of the hierarchical pattern

Contoso Travel Featured destinations Last minute deals My Trips

Components of the flat pattern

1. Content area2. Navigation bar3. Sections4. Add button5. Delete button

Navigation pattern summary

For apps with large collections, many distinct categories, or sections for a user to explore

Use direct manipulation, the back button, header flyout for navigating between sections

Use semantic zoom to move quickly through big lists

Hierarchical Pattern

For apps with multiple tabs, documents, instant message, to switch between efficiently

The navigation bar is available on every page to enable fast switching

All navigation elements should fit in the navigation bar

Flat Pattern

Semantic Zoom

http://msdn.microsoft.com/en-us/library/windows/apps/hh465319(v=VS.85).aspx

Design zoomed-out view to show richer, meta information on your groupsTry to fit content within 1-3 pages Linear layout, use a grid for large content sets

You can enable operations on groups in the zoomed out view (select or rearrange)Ex: News app: Select a news source and pin to Start or rearrange news source order

When transitioning zooming in & out, the scope of content should stay the sameSemantic zoom is not for navigating different levels of a hierarchy

Contoso Travel Featured destinations Last minute deals My Trips Featured destinations Last minute deals My Trips

Hu

bContoso Travel Featured destinations Last minute deals My Trips

Spoke

sD

eta

ils

7 night Alaska Cruise

Last Minute Deals

Featured destinations Barcelona, Spain

Last Minute Deals 7 Night Alaska Cruise

Ocean View Cabins

Upgrade from an inside cabin and save $43/night/person!Picture windows with ocean and port viewsFrom $2,099 — only $150/night/person based on double occupancy

Suites

Upgrade from an inside cabin and save $43/night/person!Picture windows with ocean and port viewFrom $2,099 — only $150/night/person do

My Trips Weather

7 daysChicago (3/11 – 3/19)

Today54/43 Mostly Sunny

Today54/43 Mostly Sunny

Today54/43 Mostly Sunny

Today54/43 Mostly Sunny

Today54/43 Mostly Sunny

Attractions

My Trips

Featured Destinations Top Destinations for 2012

Barcelona, Spain

Fast and Fluid

Continuity through motionMotion brings life to the Microsoft design languagePurposeful animations tie experiences together and tell a storyUse the Animation Library to get scenario-based animations

Purposeful AnimationsAnimations bring life to the Windows Store apps

and make the experience feel crafted and polishedAnimations used purposefully create a sense of continuity and help build users’ confidence in the UIUse built-in controls to get the animations for free!Use the Animation Library to get pre-designed, scenario-based animationAnimation is purposeful, not for visual adornment

Animation LibraryApp navigationEnter Page / Exit Page

Animate ContentEnter Content / Exit ContentExpand / CollapseRepositionCrossfadeFade In / Fade OutPeekUpdate BadgeReveal / Hide

SelectionPointer animationsSwipe Select / Swipe DeselectSwipe Reveal

Show or hide supplemental UIShow Edge UI / Hide Edge UI Show Panel / Hide PanelShow Pop Up / Hide Pop Up

Collections and listsAdd / Delete from listDrag and drop animations

Animations demo

Design for touch first

Press and hold to learn

Tap for primary action Slide to pan Swipe to select

Turn to rotateSwipe from edge for app commandsPinch to zoom

Swipe from edge for system commands

Follow the Windows 8 touch language and use only the prescribed gesture set

Design for Touch FirstDesign with hands and fingers in mindHit targets should be sized and spaced for touch, your finger is not a pointerDesign with comfort, ergonomics and occlusion in mind

Design for Touch FirstDesign with hands and fingers in mind

Interaction areas Reading areas

Snap and Scale Beautifully

Design for Multiple Views

Widescreen (1366x768+) Snap view (required)Minimum (1024x768)

Portrait

People multi-task. An application can be displayed any one of these layouts:

SnapSnapping is a built-in Windows 8 scenarioBuilding a great snapped view keeps your app on screenDesign a purposeful snapped statePan vertically in snapped for ergonomics and to avoid conflict with the edge and snap gutterMaintain state and continuity across snapping and unsnappingIt is trivially easy to snap and unsnap. Don’t blow away the user’s work when this happens

Designing for snapLayout tailored 320px width

LayoutsScroll vertically instead of horizontallyUse a single columnKeep wire frame still intact

CSS media queries are your friend

Snap and the app barThings to know

Buttons have no labels and so 5 buttons can fit per rowIf more than 5 buttons are present, the app bar will grow to multiple rowsThink through the buttons that make sense in snapGroup commands in a way that makes sense in snap

demoSnapped

ScalingPCs will have a wide range of screen sizes and resolution

Use fluid layout (e.g. -ms-grid control, ListView control) to take advantage of screen real estateScale to fit (e.g. viewbox control) for fixed layoutsUse the VS simulator to see how your app will look on different machinesSystem-provides automatic scaling based on resolutionUse scalable vector graphics, or Provide 3 sizes of assets (100%, 140%, 180%) and use resource loading for bitmap format images

Screen sizes

10” 1024x76813” 1400x105020” 1920x108030” 2560x160011.6” 1366x768

Screen sizesThe minimum app resolution is 1024x768 A good place to start designing your app is 1366x768Apps take advantage of added screen real-estateShow more contentManage white spaceUse the VS simulator to see how your app will look on different machines

11.6” 1366x768

Pixel density

11.6” 1920x1080

As pixel density increases, things get too small to touch.Problem

With scaling, touch targets are maintained and things get crisper on screen

Pixel density scalingWindows scales to pixel density to maintain touchabilityLayouts, text and images are crisper on higher pixel densities

There are three scale percentages

100%

11.6” 1366x768135 dpi

140%

11.6” 1920x1080190 dpi

180%

11.6” 2560x1440253 dpi

Designing for pixel densityLayouts are scaled automatically based on pixel densityEnsure image rendering is crisp

Use CSS primitives or SVG

For bitmaps use resource loadingAutomatically swaps in resources based on pixel density

Designing for pixel densityUse the resource loader and specify width and height:

<img src=”projector.jpg” width=80px height=80px/>

Images are loaded automatically from the naming convention

…\projector.scale-100.jpg \projector.scale-140.jpg \projector.scale-180.jpg

100% 140% 180%

Use the Right Contracts

Windows 8 Contracts

http://msdn.microsoft.com/en-us/library/windows/apps/hh464906(v=VS.85).aspx

1+1=3. Leverage other apps to complete scenariosCharms provide a consistent invocation model that users can always confidently rely onStart with the VS Item Template (available for Search, Share, File Picker extension)

Share

http://msdn.microsoft.com/en-us/library/windows/apps/hh465251(v=VS.85).aspx

Share Source Share a link to online contentShare a copy of the actual content

Share Target Keep interactions simple Use inline controls for errors or progress

demoShare

Search

http://msdn.microsoft.com/en-us/library/windows/apps/hh465233(v=VS.85).aspx

Leverage search so users can search your content from anywhere in WindowsSearch vs FindSearch (use the contract)

Scope is across your app’s content setResult is usually a list of items containing the search term. From the search results page, you can then navigate to the view the item

Find (use in-app UI)Scope is within the current view (ex: Ctrl+F in IE or Word)Result is usually already on the page you are viewing. You just need help locating it

demoSearch

SettingsPlace all app settings under one roof where users will always expect to find them

Do not create additional entry points into Settings on the app canvas

When users invoke Settings charm, they will see your app’s basic info, and settings commands as specified by your app

Common settings commands: your settings categories, Help, About, Terms of use…

Once users choose a settings command, the settings pane will be brought up. Your app controls the UI within the settings pane

Keep it simple, minimize the number of settings

Invest in a Great Tile

TilesTiles are the “front door” to your app.Treat it as an extension of your appSecondary tiles let users promote interesting content from within your app on their Start screenProvide a way to “deep link” to interesting, frequently updated sub-sections of your appAlbums in a photo app, People in a social app, News source from a feed app, etcProvide Pin command in the app bar when content in focus is pinnableUse runtime call to invoke system UI for pinning flyout. Ex: Weather

Connected and Alive

Live TileLive tiles to draw users to your appProvide fresh, personalized content to help users feel connected to your content, motivate launchUse badges to show simple numeric or glyph informationLive updates should be accessible from the home screen of your app

You can opt in to cycle through last 5 updates:Good example – A news app wants to send five stories per day or one story and supplementary images per dayBad example – A shopping app sends a new notification per day for daily deals (last 4 days’ will still cycle but be outdated)

Both default & content tiles, small & large, support live.

Notifications

NotificationsToast notifications deliver transient messages outside the context of the appShow toast when your app is in the backgroundUse it for real-time, personal content such as IM, Call, or MailProvides quick navigation to contextually relevant location in your appUse this only for information that must be interruptive Raise notifications only if they are truly time sensitive and relevant, or users will turn off your appCoalesce notifications if there are multiple updates occurring within a short period of timeDo not use notification to raise error or warnings.Use where neededLive tile is the place where users will want to see fresh content at their leisure

Roam to the Cloud

Roam

http://msdn.microsoft.com/en-us/library/windows/apps/hh465094(v=VS.85).aspx

Leverage roaming to maintain state and preferences across machines

Roam preferences that users are likely to set on each device anyway:Favorite sports team (sports app)Favorite movie genre (media app)

Let users continue a task across devices by roaming app data:Composing a to-do listComposing emailRoaming is best for user preferences, links, and small data files

Embrace the Design Principles

Microsoft Design PrinciplesPride in craftsmanshipSweat the details. Pixels matter

Do more with lessContent before chrome

Be fast and fluidPurposeful motions and direct interactions

Authentically digitalGo beyond real world metaphors and material

Win as oneLeverage the ecosystem

Resources

Design resourceshttp://design.windows.com

Touch, Navigation, Commanding design patterns

Detailed UX guidelines

Photoshop templates

And more to come…

Questions

Frédéric Harper

fredh@microsoft.com@fharper

http://webnotwar.cahttp://outofcomfortzone.net

top related