Mobile/Projects/My List: How My List works

From MozillaWiki
Jump to: navigation, search
Draft-template-image.png THIS PAGE IS A WORKING DRAFT Pencil-emoji U270F-gray.png
The page may be difficult to navigate, and some information on its subject might be incomplete and/or evolving rapidly.
If you have any questions or ideas, please add them as a new topic on the discussion page.

This is a longer-term view of some My List features - see Third-party service integration MVP for the MVP requirements.

Tracking

  • Meta-bug to be filed

Goals

People love having a list for stuff they want to look at later, but they also want to be able to create lists for other things - recipes, tasks, vacation ideas, home decor inspiration, etc.

We want to extend the My List feature so users can create and curate more and different lists with all of the same benefits and features.

Use cases & user stories

These need to be reviewed & probably expanded

Adding items

  • When I come across content I don't have time to watch/read right now, I want to add that content to My List, so I can easily find and watch it later.
  • When I go to save something for later, I want to be able to create a new, named list for that content, so I can quickly organize it now and find it more easily later. Every new list will appear on about:home as a new panel.
  • When I save something for later, I want to be able to put it in more than one list, so I don't have to spend a lot of time overthinking which list it should best go into and that it will be easier to find later.
  • When I save something for later, I want it to default to the most recently used list but also give me the option of selecting another list, so I can save clicks if the default is correct.

Viewing items

  • When I have time to consume the content I've added to My List, I want to quickly swipe over to My List so I can start consuming the items I've saved there.
  • When I swipe over to My List, I want items to be shown as viewed/read or unviewed/unread, so it's easy for me to see which items I haven't looked at yet.
  • When I finish reading/viewing an item on My List, I want it to be flagged as viewed/read, so I know I've already looked at it later.
  • When I swipe over to My List, I want to be able to sort it by chronological or reverse chronological order, so I can quickly find and view the items I added first or most recently.

Filtering

  • When I am viewing a list, I want to filter the list to particular media types, so it's easy for me to find and view them in bulk. Filterable media types be any recognizable media type, including:
    • Photos & images
    • Videos
    • Text articles (in readability format)
    • Pages (not in readability format)
    • PDFs & other similar docs
    • Audio files

Removing items

  • When I'm finished with an item on a list, I want it to be easy to remove, so I can keep My List tidy.
  • When I'm finished with an item on a list but I want to save it for future use, I want to change it from being a My List item to being a more permanent Bookmark (or somesuch), so I can keep it for later but also keep my list tidy.

Awesomescreen integration

  • When I start typing in awesomescreen bar, I want items I have saved to My List -- whether locally or to a cloud service -- to be include in the results so it is easier for me to find and open that item instead of having to go and look for it in My List directly.
  • When I delete an item from My List -- whether locally or from a cloud service -- I no longer want that item appearing in my awesomescreen, so I am not confused by it showing up in my search results.

Cloud service integration: discovery & initial use

  • When I first add something to a list, I want Firefox to give me the option of either using Firefox's built-in list storage or setting up a third-party service to use for that list content, so I can take advantage of the new integrated Cloud Services without having to know about & set them up beforehand.
  • When I first opt to use an integrated cloud service, I want the option to log-in to an existing account if I already have one, so I don't end up with multiple accounts for the same services.
  • When I first opt to use an integrated cloud service, I want the option to create a new account inline -- without having to go to a separate tab or website -- so I can quickly set-up and start using the integrated cloud service for saving list items.

Technical details

  • Where at all possible, if a third-party service has an existing API that will work for integrating it into My List, use that API.

UX design

See Mobile/Projects/Third-party_service_integration_MVP#UX_design.

Justification

See Mobile/Projects/Third-party_service_integration_MVP#Justification.

Quality criteria

  • No user-perceptible performance degradation
  • All goals are met
  • All user stories are implemented & tested