Gaia/Music: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
No edit summary
m (Add a Security Review section)
 
(38 intermediate revisions by 9 users not shown)
Line 1: Line 1:
===UX Feature Spec (Draft)===
== Design Specs ==
==Library==
For the latest UX specifications, please visit:
=Overview=
https://mozilla.box.com/applications
 
== Requirements ==
=== Music Library===
====Overview====
At app launch, the user is presented with a library. The library should include the following options:
At app launch, the user is presented with a library. The library should include the following options:
*Playlists
*Playlists
*Podcasts
*Podcasts [P2]
*Audiobooks
*Audiobooks [P2]
Only applies to music files (not the above), filters your music based on metadata (ID3):  
Only applies to music files (not the above), filters your music based on metadata (ID3):  
*Artist
*Artist
*Song
*Song
*Album
*Album
*Genre
*Genre (probably not needed, since this filter is less useful as often artists will vary genres from album to album. Auto tagging in many apps is inconsistent, so you will get numerous similarly named genres that may not represent the actual artist's genre)


=Layout=
====Layout====
The library lists should be visual and typographic.
The library lists should be visual and typographic.<br>
In portrait orientation when the user clicks on any category they should see a list formatted in this manner:
In portrait orientation when the user clicks on any category they should see a list formatted in this manner:<br>
[album art] text based on filter type
[album art] text based on filter type


In landscape orientation, the view should be more visual, more focused on album art. When the user clicks on any category they should see:
(Landscape support would be nice to have for v.1)
[large album art]  
In landscape orientation, the view should be more visual, more focused on album art. When the user clicks on any category they should see:<br>
[large album art]<br>
small text based on filter type
small text based on filter type


=Quick Browsing=
====Quick Browsing====
Each browsing list should contain:
Each browsing list should contain:
*Search input field, to search the entire music library
*Search: search entire music library
*Quick index browsing: A-Z column, when the user touchs a letter the list quickly scrolls to that letter in the list
*Index list: Sorted alphabetically, with index component that enables user to jump to letter.
*Inertial scrolling, the fast the user touch scrolls down the page, the quicker the scrolling becomes.
*Back
*Back Button: back 1 level


==Sync==
===Sync===
=When plugged into a computer.=
====Playlist Support====
Phones are replacing the need for MP3 players. It would be good to have the option to sync with itunes and windows media player playlists when you connect the b2g device to a computer. This could be done either through itunes or through a desktop top manager (web app / firefox).
User can (manually) import (copy) a playlist from popular desktop apps such as iTunes or Windows Media Player.


=Management within the device.=
====Management within the device.====
The user can:
The user can:
*the system tracks the quantity of playbacks for each track
*1. create a new playlist, place tracks within this playlist
*rate music
*2. organize the tracks in existing playlists
*organize the tracks in the playlists
*3. rate music
*edit the metadata
Would be nice to have...
 
*4. edit the metadata
At sync, all the data is copied to your local (desktop) library.
*5. the system tracks the quantity of playbacks for each track


==Playback==
===Playback===
When playing audio files, the player should contain the following:
When playing audio files, the player should contain the following:


=Music Control Buttons:=
====Music Control Buttons:====
*Play / Pause
*Play / Pause
*Skip to Next track
*Skip to Next track
*Skip to Previous track
*Skip to Previous track
*Scrubber (shuffle to any point in the track, scubber updates location with playback)
*Scrubber (shuffle to any point in the track, scrubber updates location with playback)
*Repeat Infinitely
*Repeat Infinitely
*Repeat Once
*Repeat Once
Line 54: Line 58:
*Volume Control (adjusted by touch and hardware volume rocker)
*Volume Control (adjusted by touch and hardware volume rocker)


=Indicators:=
====Indicators:====
*Playback time elapsed
*Playback time elapsed
*Playback time remaining
*Playback time remaining
*song name
*Song name
*artist
*Artist
*album (if one exists)
*Album (if one exists)
*album art or default album graphic
*Album art or default album graphic


=Global Navigation:=
====Navigation:====
*Back Button: back 1 level to music library
*Back: to music library
*Album Track List Button
*Album: view album track list




==System Control during Playback (Indication)==
== Requirements (Apps) ==
 
* Users have the ability to search within application contexts
 
=== Search ===
* Search music
* Filters
** by Artist
** by Album
** by Song (all)
 
===System Control during Playback===
 
Nice to have's:
 
*Status Bar: “now playing” when music is playing.  
*Status Bar: “now playing” when music is playing.  
*Task Switcher: The music player should be easily accessed through the task switcher, ideally with playback controls (play / pause, skip to next track, skip to previous track)
*Task Switcher: The music player should be easily accessed through the task switcher, ideally with playback controls (play / pause, skip to next track, skip to previous track)
*Lock Screen: The music player should be easily accessed through the task switcher, ideally with playback controls (play / pause, skip to next track, skip to previous track, volume indication / scrubber)
*Lock Screen: The music player should be easily accessed through the task switcher, ideally with playback controls (play / pause, skip to next track, skip to previous track, volume indication / scrubber)
=== Bluetooth file sharing ===
* Ability to share music using Bluetooth file transfer.
== Development ==
[https://github.com/mozilla-b2g/gaia/tree/master/apps/music Source code on Github]
== Security Review ==
The security review of this app can be found [https://wiki.mozilla.org/Security/Reviews/Gaia/Music here].

Latest revision as of 14:46, 28 October 2013

Design Specs

For the latest UX specifications, please visit: https://mozilla.box.com/applications

Requirements

Music Library

Overview

At app launch, the user is presented with a library. The library should include the following options:

  • Playlists
  • Podcasts [P2]
  • Audiobooks [P2]

Only applies to music files (not the above), filters your music based on metadata (ID3):

  • Artist
  • Song
  • Album
  • Genre (probably not needed, since this filter is less useful as often artists will vary genres from album to album. Auto tagging in many apps is inconsistent, so you will get numerous similarly named genres that may not represent the actual artist's genre)

Layout

The library lists should be visual and typographic.
In portrait orientation when the user clicks on any category they should see a list formatted in this manner:
[album art] text based on filter type

(Landscape support would be nice to have for v.1) In landscape orientation, the view should be more visual, more focused on album art. When the user clicks on any category they should see:
[large album art]
small text based on filter type

Quick Browsing

Each browsing list should contain:

  • Search: search entire music library
  • Index list: Sorted alphabetically, with index component that enables user to jump to letter.
  • Back

Sync

Playlist Support

User can (manually) import (copy) a playlist from popular desktop apps such as iTunes or Windows Media Player.

Management within the device.

The user can:

  • 1. create a new playlist, place tracks within this playlist
  • 2. organize the tracks in existing playlists
  • 3. rate music

Would be nice to have...

  • 4. edit the metadata
  • 5. the system tracks the quantity of playbacks for each track

Playback

When playing audio files, the player should contain the following:

Music Control Buttons:

  • Play / Pause
  • Skip to Next track
  • Skip to Previous track
  • Scrubber (shuffle to any point in the track, scrubber updates location with playback)
  • Repeat Infinitely
  • Repeat Once
  • Shuffle playback Playlist
  • Volume Control (adjusted by touch and hardware volume rocker)

Indicators:

  • Playback time elapsed
  • Playback time remaining
  • Song name
  • Artist
  • Album (if one exists)
  • Album art or default album graphic

Navigation:

  • Back: to music library
  • Album: view album track list


Requirements (Apps)

  • Users have the ability to search within application contexts

Search

  • Search music
  • Filters
    • by Artist
    • by Album
    • by Song (all)

System Control during Playback

Nice to have's:

  • Status Bar: “now playing” when music is playing.
  • Task Switcher: The music player should be easily accessed through the task switcher, ideally with playback controls (play / pause, skip to next track, skip to previous track)
  • Lock Screen: The music player should be easily accessed through the task switcher, ideally with playback controls (play / pause, skip to next track, skip to previous track, volume indication / scrubber)

Bluetooth file sharing

  • Ability to share music using Bluetooth file transfer.

Development

Source code on Github

Security Review

The security review of this app can be found here.