!!!! Apps & UX Guidelines for 3rd party integration



Similar documents
Verizon Cloud Desktop Application Help Guide Version

itunes Basics Website:

Entrepreneurship and Innovation Strategy - Mini-Project Spotify s Ecosystem

X10 Webinterface User Quick Guide(ver0.9.2 Beta)

Cloud Storage Service

itunes 4.2 User Guide for Windows Apple Computer, Inc.

HOME PAGE. Quick Start Guide. Here s how to navigate the Films On Demand home page you first see when you log in.

How to Use Freegal on your ipad/iphone

Welcome to Audible s Getting Started Guide!

Personal Cloud. Support Guide for Windows Mobile Devices

CinePlay User Manual

Personal Cloud. Support Guide for Mobile Apple Devices

Frequently Asked Questions for the USA TODAY e-newspaper

Messaging App UI Guidelines GOOGLE INC.

X10 Webinterface User Guide(ver0.9)

Media Control Server MCS-EX Integration Guide for RTI Control Systems

Welcome to Sookasa. Getting Started Guide for SafeMonk users

Configuring your client to connect to your Exchange mailbox

Anchor End-User Guide

TouchCopy is designed to help you get the most out of your ipod, ipod Touch, iphone or ipad.

Welcome to EMP Monitor (Employee monitoring system):

General. What is Freegal?

Mechanics Bank Mobile Banking Mobile Finance Manager (MFM) Application Windows Mobile Phone Installation

Amcrest 960H DVR Quick Start Guide

AT&T U-verse App for iphone FAQ s

Citrix Virtual Classroom. Deliver file sharing and synchronization services using Citrix ShareFile. Self-paced exercise guide

CloudCall for Salesforce- Quick Start Guide. CloudCall for Act! CRM Quick Start Guide

Pcounter Web Administrator User Guide - v Pcounter Web Administrator User Guide Version 1.0

Windows Media Player 10 Mobile: More Music, More Choices

STINGRAY MUSIC MOBILE APP USER GUIDE FOR MTS VERSION 1.0

DreamFactory on Microsoft SQL Azure

Store & Share Quick Start

Personal Cloud. Support Guide for Mac Computers. Storing and sharing your content 2

Egnyte App for Android Quick Start Guide

Online International Business Certificate Programs

123RF Corporate+ User s Guide

imanage V2.0 Overview

Music Servers/Streamers Line For 2015

DocuSign for Salesforce Administrator Guide v6.1.1 Rev A Published: July 16, 2015

Mechanics Bank Mobile Banking Mobile Finance Manager (MFM) Application Palm Treo Installation

MEDIA SHARE Set Up Guide for PCs with Windows 7

Understanding Native Applications, Tools, Mobility, and Remote Management and Assistance

Installation Instructions

MultiSite Manager. User Guide

ATC-AUDIONET Internet Radio Tuner Card

How to Enable the Persistent Player

DEEZER LEADS THE CHARGE ON INNOVATION FOR MUSIC LOVERS

How to pull content from the PMP into Core Publisher

Erasmus+ Support: Licence Management System for Beneficiaries User Guide 4.0

Quick Reference Guide

Multimedia Playback & Streaming

KING ONLINE APPLICATIONS USING THE APPLE IPAD

Mikogo Web Conferencing & Remote Support. User Guide (Windows Version)

INSTALL AND CONFIGURATION GUIDE. Atlas 5.1 for Microsoft Dynamics AX

Seagate NAS OS 4 Reviewers Guide: NAS / NAS Pro / Business Storage Rackmounts

OAS Playout Quick Start Guide

Table of Contents. Vu ipad. v2.6. Navigation. Document Manager. Sync Manager. File Access. Field Verification Measurements. Markups List.

educ Office Remove & create new Outlook profile

How will the transition to the new Adobe Forums be handled?

itunes 7.0 Fall 07 fall 2007

Music Radio and Video

CONTENTS PAGE. c) Our Recommended Settings d) Overview...7. i. Check Out and Download a book... 27

What is a NAS drive...?

NJCU WEBSITE TRAINING MANUAL

MultiSite Manager. Setup Guide

TouchTunes Mobile Application Operator FAQ Version 1.3

Introduction Download and Install Mobile Application About Logging In Springboard Navigation List Pages...

There is a separate guide for students, available from Moodle at Student Resources > General Resources > Using Moodle for Students

UP L18 Enhanced MDM and Updated Protection Hands-On Lab

Nonprofit Technology Collaboration. Web Analytics

Welcome to myihome! This is a step-by-step guide that will teach you on how to use myihome in the simplest way.

10 things Group Policy Preferences can do better than your current script!

End User Guide. July 22, 2015

Team Foundation Server 2010, Visual Studio Ultimate 2010, Team Build 2010, & Lab Management Beta 2 Installation Guide

Getting Started with the Skillsoft Learning App

Customize Mobile Apps with MicroStrategy SDK: Custom Security, Plugins, and Extensions

User Guide FOR TOSHIBA STORAGE PLACE

USING YOUR DMX PROFUSION

Cloudfinder for Office 365 User Guide. November 2013

Using OwnCloud. OwnCloud is a very easy to use file storage and sharing system that you can access anywhere you have an internet connection.

user manual It is important to read this user manual prior to using your new product for the first time.

Administering Jive for Outlook

SAP BusinessObjects Business Intelligence Platform Document Version: 4.1 Support Package Business Intelligence Launch Pad User Guide

Business Objects InfoView Quick-start Guide

Novell Filr. Mobile Client

Online Master of Science in Information Technology Degree Program User s Guide for Students

MEDIA SHARE Set Up Guide for PCs with Windows XP

MP3 Player Tips and Tricks

B&SC Office 365

Mobile Device Management Version 8. Last updated:

Table of Contents. Table of Contents

Explanation of Membership Benefits 2. Register for Seminars 5. View Live Webcasts 6 View On-Demand Web Programs 7. The PLI Mobile App for the ipad 8

Transcription:

A Apps & UX Guidelines for 3rd party integration

Getting started 1 Introduction 1 About Qobuz 1 In-depth technical integration 1 Navigation principles 2 Notes 2 Dedicated 3rd party Qobuz app 2 Qobuz from within your app 2 First level entries 3 Search entry 3 Playlists entry 4 Favorites entry 4 Purchases entry 4 Recommandations / Discoveries entry 4 Artists, albums and songs meta data 5 Use of meta data 5 Modification of user s data 7 UX Principles 9 Scrolling and pagination 9 Performance 9 Preload and seek 9 Offline timeout 9 Integration Guidelines 10 Localization 10

Error management 10 Rights management 10 Multi-quality management 11 User devices management 11 User log in management 11 User sign up management 11 Caching policy 11 Reporting 11 HTTP Headers 12 User informations parameters 12 Notifications headers 12 i18n headers 12 Support 12

Getting started Introduction Music is universal, so should be the ways to access it. This document outlines all the basic requirements that every Qobuz integration should follow in order to guaranty Qobuz users will feel as good on your apps than they feel on Qobuz s apps. This requirements are in terms of functions. Please view this document for design guidelines. About Qobuz Qobuz is a Paris (France) based online music service providing a high quality (lossless) music store (per track/album download) and a streaming music service (on a subscription basis). Qobuz is the only lossless (FLAC 16-bit / 44.1 khz) streaming service and also have the largest high resolution 24-bit (up to 192 khz) music catalogue which makes it the best online music source in the world. The whole catalogue is today available in France, and Streaming was recently launched in Belgium, Luxembourg, Switzerland, United Kingdom, Ireland, Netherlands, Germany and Austria. In-depth technical integration Please refer to Qobuz API Integration documentation available on Github. 1

Navigation principles Notes We will always refer to the Qobuz for ios app and Qobuz Desktop app in this document as example of integration. As of today, Qobuz isn t using any private API methods and you should have access to the exact same tools our apps developers have access to. 1. Dedicated 3rd party Qobuz app Developers are always welcomed to create their own dedicated Qobuz experience. 2. Qobuz from within your app Many of our partners apps are multi-services. One user can access their favorite service, and can also be logged in to multiple services at once. We require our partners and hobbyist developers to consider Qobuz integration as a «stand-alone experience» within their apps. Sonos A full standalone Qobuz experience from within Sonos app 2

First level entries Throughout every Qobuz clients, Qobuz users are excepting to find the following entries to access their music as well as the rest of the service. When they ll enter the Qobuz entry, they should find the following sections in this order. List of first level entries First level entries Search Playlists Favorites Purchases Locale music - Optional Recommandations Description Search through artists/albums/songs/public playlists User s playlists User s favorites songs/albums and artists User s purchased tracks and albums On device music (only if you re planning on writing a player) Lists of album by genre and theme (best-sellers, Qobuz choice, etc.) Important: We require you to follow this exact wording. You ll find all the adequate translations in the localization kit." 1. Search entry The search feature is segmented inside Artist / Album / Songs and Playlists methods, meaning that you can choose to specifically search for one type of data. Implementation should follow one of those two patterns : Display in a tabbed view each sections Display successively on the same view a glance of each sections (5 of each kind) 3

We consider that our Search feature response will have the user s wanted data on first search. In terms of UX, we consider that our user should get all the results in the same view. Data can be organized in one unified list, or through tabs, but they should never have to go back and forth to choose between one type of data. Regarding Suggestions, Qobuz provides suggestions while typing. We also provide fallback suggestions if their isn t any clear matching. That type of data structure should be handled by your client. Best practice When search results aren t displayed in the same view, user will have to go back and forth looking for the right type of data. This will result in poor user experience. It is then important to consider implementing either a tabbed view or an heterogenous list." 2. Playlists entry This entry must display a list of playlists, that can be reordered through criteria such as : Date of creation Alphabetical order Last update date Best practice Consider displaying album arts inside playlists lists and playlists content." 3. Favorites entry This entry must display Artists, Albums and Tracks that were favorited by the user. Best practice If an album hasn t been favorited but the some content has been, you should only display those tracks to the user and have a button that would display the entire content of the album." 4. Purchases entry This entry must display Albums and Tracks that the user has bought, grouped by Artist, Albums or Tracks. Differentiation point You should give the user the ability to reorder tracks, albums and artists by the purchase date of their content." 5. Recommandations / Discoveries entry We provide a full recommandations feature. This feature displays only albums. It can display five categories. We provide full support for multi-genres recommandations. We advise to make this setting persistent through sessions. 4

Lists of Recommandations categories Recommandations cat. New releases Selected by Qobuz Bestsellers Most streamed Press awards Description Latests albums Handpicked albums by Qobuz Editorial team Bestseller albums Most streamed albums Rewarded albums by the press Best practices While the UI should be different from search, it should be consistent between tabbed view and heterogenous list view with the search view." Artists, albums and songs meta data One of the reasons users come to Qobuz to listen to their music is the number and the quality of the meta data we have for each artist and each album. 1. Use of meta data From descriptions, to awards and booklets, the number of information that can be displayed is huge. here is the entire list of the metas that can be found. At Qobuz, we really focus onto albums. Therefore, most of the work you will have to do to handle metas will be on this type of data. Notes : We only are focusing on what metas should be displayed to your end user. API response always have many more informations required for technical integration. Artist available metas Available metas Description Mandatory name Name of the artist. Yes image biography Images aren t yet fully supported for every artist yet. You will need to take this into account Biographies are being rolled out in every languages supported by Qobuz right now. Be aware that some can be empty. Album available metas Available metas Description Mandatory title Title of the album. Yes popularity Popularity is still a beta feature. It is better not to display it. Recommanded Yes Yes 5

Available metas Description Mandatory duration Duration of the entine album. Users like to know this data. Yes image track_count Every album has a cover art. We give you a URL for different resolution. You will need to give the user the ability to display the maximum resolution available. The number of tracks in an album is a good way for the user to locate the right version when several exist. Yes Yes artist Main artist of the album Yes genre Genre of the album. Yes label Label on which the album was released on. Yes description Most of the time, description are being Yes program Specific to Classical genre. Recommanded recording_inform ation original_release _date Not mandatory The original release date is something users love to use to browse their music. It should be displayed. Recommanded Yes composer Not mandatory Recommanded awards goodies Every awards the album has gotten is stored here. Not many albums has any. There will be found the booklet, and videos, if there are any. Booklet are in PDF format. Your app should handle PDFs and videos (youtube or vimeo) Track available metas Recommanded Yes Available metas Description Mandatory title Title of the track. Yes track_number Track number on the CD version. Yes media_number Is mandatory only if exists. Number of CDs. Yes duration Duration of the track. Yes performers Should be display in a subsidiary menu Yes composer Should be display in a subsidiary menu Yes Good to know: While mandatory features are necessary to a minimal implementation, bonus features will be a key differentiation point to your integration in regards of existing and potential partners. 6

Better practices Some metas won t be available out of French localization. Therefore, your UI will need to handle the possibility for a data not to be available. Never should be written in your UI something like «Awards : null»." Best practices Displaying the content is great, but giving it a good emphase is better. It will enforce the experience of your app and our service at the same time." 2. Modification of user s data Through Qobuz API, you have access to methods that can alter user s data. Meaning that you can provide the user with features to handle his playlists and his favorites list. Here is a list of features we require you to implement in a Qobuz integration: Mandatory features to be implemented Mandatory features Login / logout Basic music player controls Search Real-time suggestion management Display favorites Add / Remove favorites Edit a playlist Add to a playlist Create / delete playlists Description Your app must be able to log in onto Qobuz service. Play / Pause / Shuffle / Random / Repeat Search engine feature On-type suggestion is a great feature you must implement to help your users to find more quickly contents on Qobuz servers We send you the information about an album or a track being already favorited by the user. You must give the user the ability to add and delete a track, an album and an artist as a favorite You must give the user the ability to edit a playlist You must give the user the ability to add a track to a playlist. You must give the user the possibility create a playlist when they attempt to add a track to a playlist. Choice of quality User should be able to choose between different audio quality Here is a list of optional features that you may consider adding in a Qobuz integration as a differentiation point from other partners. Bonus features to enforce Qobuz experience Bonus features Current playlist Description Give the ability to your user to control the current playback 7

Bonus features to enforce Qobuz experience Bonus features Current playlist Offline mode Download for offline listening Sign up Reorder lists by critera Playback history Social features Description Give the ability to your user to control the current playback User should be able to play imported and cached songs even without any connection byproduct, importation should be considered in development of a mobile client API handles the user signup process User should be able to reorder lists according to purchased date or other criteria User should be able to see their last played tracks Rely on native sharing features if available 8

UX Principles Scrolling and pagination For a best UX, we ask you to implement pagination (less data to load) and load each new page in the same view, at the end of the list. This is mandatory for a mobile integration. Performance We have decided to break down our API so that you can call for a small element without having to get the whole package. Though the easiest way of getting data is to multiply calls, this ends up giving a sense of slowness to your user. Best practice To ensure performance, be sure to aggregate calls before making them, so that you get the most data possible, and can choose to leave one specific data out to the user demand only." Preload and seek If the remaining duration of a track played is equal or inferior than 25 seconds, you should start caching the next song to be played. Offline timeout If you re writing a mobile client app you should consider adding a timeout to the offline mode. 9

Integration Guidelines Localization As of today, Qobuz is available in 4 languages : Dutch German English French Apps that are developed with Qobuz integration as a target must handle those 4 languages. Important : We will use the user login to define the localization of the meta we re serving. In almost all use cases, this will result in sending the correct language to the correct UI localization. Although, this means a borderline use case can occur where the user isn t using the same language on his device than his account suggests. We advise you to take into account the returned locale. Ressources For the most common terms of Qobuz s UX, please download the Localization kit. Please refer to the section i18n headers for more information." Error management As in any software, errors can occur. It is then of crucial importance that you properly handle error and empty states. Best practice For every view that calls the API, you should keep in mind that a null object can be sent back. You should then consider spending some time designing your empty answer response. Example: for an empty search result, Qobuz app for ios displays a button to initiate a new search." Rights management As Qobuz also sells music, a small percentage of the tracks and albums that are given by the API could not be available for streaming. In order to diminish the frustration caused by this fact, you must implement a specific Rights management to display messages such has «this track isn t available to stream due to rights limitations, but you can purchase it on qobuz.com and stream it afterward.». 10

Note For this specific topic, please contact api@qobuz.com for further information." Multi-quality management Qobuz is the only streaming service that serves lossy and lossless quality. The entire catalog is available in lossless quality. User should be able to, if his credentials entitles him to, choose the quality they want to listen to. Best practice User should be able to acknowledge the quality of the music they re listening to. It will also reenforce your brand as audiophile-friendly." User devices management Users are expected to log to 3 devices at max. If maximum number of devices is reached, the API will send you an error code. You should then display a message asking the user to log into his Qobuz account on www.qobuz.com to remove an existed, and maybe deprecated, device. User log in management User can log in to Qobuz through username or email. A login field should then be able to handle both types of strings. User sign up management Sign up process can be implemented through our API. Beware of specific App Store s rules. Caching policy We advise you to cache a song that has been played as well as the data of an album that has been displayed. You can also choose to cache album metas and track metas before the user demand. Be sure to implement what s necessary to invalidate the cache. What shouldn t be done Caching up in advance the tracks of an album or a view (such as Discovery). " Reporting As every user should be logged in to user our service, we require you to report every played song. 11

Best practice Until the report hasn t been fully reported as delivered, you will need to stack up the reports." HTTP Headers 1. User informations parameters You must send for each user specific information through HTTP Headers. 2. Notifications headers We will occasionally send notifications through HTTP Headers answers. You will need to be able to display them. 3. i18n headers If you re eager to choose localization according to user s data, we send you those information in the HTTP headers. Support Please contact api@qobuz.com for any need of support throughout your integration. 12