nokia music is, like, awesome

60

Upload: quasar

Post on 25-Feb-2016

40 views

Category:

Documents


1 download

DESCRIPTION

Nokia Music is, like, awesome. The Story of Bringing Nokia Music to Big Windows. Matt Cooper, Ben Buttigieg, Craig Pugsley Senior Architect, Senior Code Monkey, Principle Pixel Pusher Nokia Music, Bristol, UK 2-219. Agenda. Where we started Design approach Architecture approach - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Nokia Music is, like, awesome
Page 2: Nokia Music is, like, awesome
Page 3: Nokia Music is, like, awesome

Nokia Music is, like, awesome

Page 4: Nokia Music is, like, awesome

The Story of Bringing Nokia Music to Big WindowsMatt Cooper, Ben Buttigieg, Craig PugsleySenior Architect, Senior Code Monkey, Principle Pixel PusherNokia Music, Bristol, UK2-219

Page 5: Nokia Music is, like, awesome

Where we startedDesign approachArchitecture approachDevelopment challengesDesign tips and tricks

Agenda

Page 6: Nokia Music is, like, awesome

Nokia Music for Windows Phone demo

Page 7: Nokia Music is, like, awesome

Windows Phone design

Page 8: Nokia Music is, like, awesome

Central application hub with home page menu

Information Architecture

Page 9: Nokia Music is, like, awesome

Information Architecture for Nokia Music

Page 10: Nokia Music is, like, awesome

Information Architecture for Nokia Music

Page 11: Nokia Music is, like, awesome

Original architecture

Page 12: Nokia Music is, like, awesome

Windows Phone Application Architecture

Nokia Music REST API

Shared Libraries (WP7)

API Wrapper

Utilities and Business Logic

Windows Phone 7 Application

Views

View Models

Models

Windows Phone 8 Application

Views

View Models

Models

Page 13: Nokia Music is, like, awesome

Target architecture

Page 14: Nokia Music is, like, awesome

Target Architecture

Nokia Music REST API

Shared Libraries (PCL)

API Wrapper

Utilities and Business Logic

Platform Abstraction Interfaces

Windows Phone 7 Application

Views

Platform Specifics

Windows Phone 8 Application

Views

Platform Specifics

Windows 8 Application

Views

Platform Specific

View Models

Models

Page 15: Nokia Music is, like, awesome

Shared Libraries (PCL)

API Wrapper

REST API and C# APIs

Nokia Music REST API

Public REST API

WP7 API

Public API wrapper

WP8 API

Public API wrapper

Win 8 API

Public API wrapper

Page 16: Nokia Music is, like, awesome

Makes it easy for you to integrate music data into your app.MusicClient api = new MusicClient(AppId);var artists = await api.GetTopArtistsAsync();list.ItemsSource = artists.Result;// when user selects artist... artist.PlayMix();

Nokia Music C# API

Page 17: Nokia Music is, like, awesome

Initial design approach

Page 18: Nokia Music is, like, awesome

SIMPLESupreme ease of use from FTU onwardsNo registration. Click: play

DELIGHTFULContent is kingPersonally relevant

EFFORTLESSFocus on the casual user

LOVE THE PLATFORM

Know what’s important.

It helps when making design decisions.

Design Principles

Page 19: Nokia Music is, like, awesome

Know HOW you’re going to be used

Page 20: Nokia Music is, like, awesome

Microsoft have lots of information on this in their design guidelines.

Ergonomics & Gestures

Page 21: Nokia Music is, like, awesome

Know WHERE you’re going to be used

Page 22: Nokia Music is, like, awesome

Know WHO will be using your app

Page 23: Nokia Music is, like, awesome
Page 24: Nokia Music is, like, awesome

“If you want a great site, you’ve got to test. After you’ve worked on a site for even a few weeks, you can’t see it freshly anymore. You know too much. The only way to find out if it really works is to test it.”

- Steve Krug Krug, Don't Make Think: A Common Sense Approach to Web Usability

Page 25: Nokia Music is, like, awesome

What we did first

Page 26: Nokia Music is, like, awesome

Cut-out-and-stick IA demo

Page 27: Nokia Music is, like, awesome

WP8 <> W8 demo

Page 28: Nokia Music is, like, awesome

The harsh reality…

Page 29: Nokia Music is, like, awesome

Original Windows 8 application architecture

Nokia Music REST API

Shared Libraries (WP7)

API Wrapper

Utilities & Business Logic

Windows Phone 7 Application

Views

View Models

Models

Windows Phone 8 Application

Views

View Models

Models

Windows 8 Application

Views

View Models

Models

Windows 8 Libraries

API Wrapper

Utilities & Business Logic

Page 30: Nokia Music is, like, awesome

Current application architectureNokia Music REST API

Shared Libraries (WP7)

API Wrapper

Utilities & Business Logic

Windows Phone 7 Application

Views

View Models

Models

Windows Phone 8 Application

Views

View Models

Models

Windows 8 Application

Views

View Models

Models

Portable Libraries

API Wrapper

Utilities & Business Logic

Page 31: Nokia Music is, like, awesome

Ben Buttigieg(Senior code monkey)

Page 32: Nokia Music is, like, awesome

What is it?What was the problem?What was the solution?

Connected Standby

Page 33: Nokia Music is, like, awesome

Screen OFF

Network ON

Connected Standby Flow

Song 1 Song 2

Device enters connected standby. Screen shuts off, device enters lowest power mode that supports audio playback.

MediaElement opens network connection and starts buffering Song 2. We use this is our opportunity to request next set of tracks to stream.

Network ON

Low Power Audio Platform State

Screen ONScreen ON

Network ON

Device exits connected standby. Screen turns on and network is brough out of it’s low power state.

Low Power Audio Platform State

MediaElements indicates that it no longer requires network connection so device re enters low power audio playback mode and drops network connection. Any requests made after this point is likely to cause the app to be terminated.

Page 34: Nokia Music is, like, awesome

What is it?What was the problem?What was the solution?

Semantic Zoom

Page 35: Nokia Music is, like, awesome
Page 36: Nokia Music is, like, awesome
Page 37: Nokia Music is, like, awesome
Page 38: Nokia Music is, like, awesome

SemanticZoom views bound to CollectionViewSource used to perform the sorting and grouping. Automatically synchronizes scroll position when switching between the two views.

Typical Semantic Zoom Implementation

SemanticZoom Control

Zoomed In View

Model

CollectionViewSource

Zoomed Out View

XAML

Database

Page 39: Nokia Music is, like, awesome

Dedicated virtualized collections with no grouping and bound to each view independently. Ensures virtualisation can still be enabled. But requires scroll position to be manually synchronised between views.

Our Semantic Zoom Implementation

SemanticZoom Control

Zoomed In View

Database

Albums Virtualized Vector

Task<int> GetCountAsync();Task<T> GetItemAsync(int index);int GetIndexOf(T item);

Zoomed Out View

Artists Virtualized Vector

Task<int> GetCountAsync();Task<T> GetItemAsync(int index);int GetIndexOf(T item);

XAML

Page 40: Nokia Music is, like, awesome

Top 10 design tips & tricks

Page 41: Nokia Music is, like, awesome

Top 10 design tips & tricks

1. Make some principles2. Make your app consistent

Page 42: Nokia Music is, like, awesome

Share: visual styles iconography naming conventions copy style

Consistent Brand Experience

Page 43: Nokia Music is, like, awesome

Top 10 design tips & tricks

1. Make some principles2. Make your app consistent3. READ THE GUIDELINES!

Page 44: Nokia Music is, like, awesome

FLAT

Understand Windows 8 Interaction Models

Page 45: Nokia Music is, like, awesome

HEIRARCHICAL

Understand Windows 8 Interaction Models

Page 46: Nokia Music is, like, awesome

Top 10 design tips & tricks

1. Make some principles2. Make your app consistent3. READ THE GUIDELINES!4. Use the apps5. Don’t fear long Hubs

Page 47: Nokia Music is, like, awesome
Page 48: Nokia Music is, like, awesome
Page 49: Nokia Music is, like, awesome
Page 50: Nokia Music is, like, awesome
Page 51: Nokia Music is, like, awesome

Top 10 design tips & tricks

6. Sweat the details7. Know how components map8. Flatten your IA9. Be aware of resolution & scaling

Page 52: Nokia Music is, like, awesome
Page 53: Nokia Music is, like, awesome
Page 54: Nokia Music is, like, awesome

Top 10 design tips & tricks

6. Sweat the details7. Know how components map8. Flatten your IA9. Be aware of resolution & scaling10. Leave snap view to last

Page 55: Nokia Music is, like, awesome

That’s it!

Page 56: Nokia Music is, like, awesome
Page 57: Nokia Music is, like, awesome

Q&A

Page 58: Nokia Music is, like, awesome

ResourcesWindows 8 Design Guidelineshttp://msdn.microsoft.com/en-us/library/windows/apps/hh779072.aspx

Nokia Music APIhttp://nokia.ly/wpmusicapi

@craigpugsley

@benbtg @mcooperg

Page 59: Nokia Music is, like, awesome

Evaluate this session

Scan this QR code to evaluate this session and be automatically entered in a drawing to win a prize!

Page 60: Nokia Music is, like, awesome

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