Mobile/Projects/Tab streaming

From MozillaWiki
Jump to navigation Jump to search

Tracking

Full Query
ID Priority Summary Status Whiteboard Assigned to
742832 -- Add support for tab sharing for getUserMedia RESOLVED [getUserMedia], [blocking-gum-] Brad Lassey [:blassey] (use needinfo?)
928096 -- UI for Tab streaming RESOLVED [getUserMedia], [blocking-gum-] Brad Lassey [:blassey] (use needinfo?)
942805 -- SecReview: Screen sharing UI RESOLVED Curtis Koenig [:curtisk-use curtis.koenig+bzATgmail.com]]
942806 -- SecReview: Screen sharing UI RESOLVED Daniel Veditz [:dveditz]
942808 -- Privacy-Technical Review: Screen sharing UI RESOLVED Curtis Koenig [:curtisk-use curtis.koenig+bzATgmail.com]]

5 Total; 0 Open (0%); 5 Resolved (100%); 0 Verified (0%);


Goals

Need to chat with brad before I can finish this...TBD!

User stories

User initiating the session

  • As a user, I want to be able to stream one of my tabs to another device or user.
  • As a user, I don't care about the service/site I'm using to stream my tab to another device or user, I just care about where my tab is going to end up - if possible, I'd like to select just the destination rather than having to first figure out the intermediate site/service.
  • As a user, I want to be able to initiate streaming one of my tabs from that tab, rather than having to initiate sharing and then selecting a tab. (See "Random questions" below)
  • As a user, I want to be able to easily terminate my tab streaming session.
  • As a user, I want it to be clear if streaming terminates for whatever reason, and what that reason is (ie: if the other user has terminated, if there is a network fault, etc.)
  • As a user, I want it to be very clear which tab is being streamed, and whether that streaming is still active. If at all possible, the UI should be differently coloured or highlighted in some very obvious way, and possibly moved all the way to the left (desktop) or top (mobile) of my open tab list (or right for RTL on desktop).

User receiving the session

  • As a user on the receiving end of a tab streaming session, I want to be asked whether I want to accept/deny the streaming request before any content appears in my browser/device so I can avoid having any unexpected content displayed on my browser/device.
  • As a user on the receiving end of a tab streaming session, I want it to be clear if streaming terminates for whatever reason, and what that reason is (ie: if the other user has terminated, if there is a network fault, etc.)
  • As a user on the receiving end of a tab streaming session, I want to be able to block all streaming requests from a particular source/user so I can stop someone from harassing me or from initiating requests at inappropriate times.
  • As a user on the receiving end of a tab streaming session, I want to be able to block all streaming requests from all sources, so I do not have to deal with unexpected or unwanted requests at a particular time.
  • As a user on the receiving end of a tab streaming session, I want to be able to clear all current blocks as easily as I was able to set them.
  • As a user on the receiving end of a tab streaming session, I want to be able to terminate the session at any time so I am able to control that session from my end.
  • As a user on the receiving end of a tab streaming session, I want to be able to control whether that stream includes audio, and how loud that audio is so I can avoid overly loud or unexpected sound coming from my browser/device.

Random questions

  • Would it make sense to put the tab streaming initiation in the context menu for the tab in question? For desktop I would expect it to be in the same right-click menu as the "Pin Tab" function, and on mobile I would expect it to be in the same location as any other page actions (wherever that ends up being)
  • Why are we selecting audio & video sources as part of this at all? I would expect that sharing a tab would be a wholly separate action from initiating an audio/video call, even if it uses the same backend technology. Sharing a tab with another device just feels like a wholly separate and independent scenario. Users can initiate a call and *then* share a tab as well, but I would expect the call initiation and the tab sharing initiation to be completely separate activities.
  • Is group sharing/streaming out of scope for an MVP? If not, we'll have to add a bunch of user stories for that as well.

UX design

Justification

  • Proof of concept to demonstrate that we have the technologies in place to make this possible.

Quality criteria

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