Closed brampitoyo closed 9 years ago
The basic idea:
Pro: no nasty surprise for developer Con: long turnaround time until user can see screenshot
Pro: screenshots of apps with inaccurate content can be surfaced, warning other users Cons: developers might feel a lack of control over how her/his app is presented
UI mockup, which is pretty straightforward because it only has three elements:
The mockup below has one button that appears immediately below the screenshot gallery. Another button appears in the gallery itself as a blank image element with an added ‘+’ symbol.
The hardest part of this project consists in figuring out the consent model. Does developer need to consent to be able to accept community contribution? After uploading, do we automatically publish the new screenshot or do we want developer to approve it first?
My preference is for pre-launch reminder, auto opt-in and instant upload.
What does this mean?
Note from weekly meeting, 25 September 2014
This applies to both this idea and the translation service that @pwalm is working on at issue #16.
Let’s map out the customer journey for the service if it’s opt-in and if it’s opt-out. There are challenges associated with both approaches.
Below is the contribution permission model where developers will have to opt out of the service.
Updated the opt-out customer journey map.
Pre-launch notifications about the contribution program is delivered two ways. The message is the same: “We’re launching in a few weeks. Would you like to turn contribution off? If you do nothing, the default is on.”
There are two pre-launch starting points:
Launch notifications is also delivered two ways. The message changes: “The program is launched, so we’re going to turn contribution on. Would you like to turn it off?”
There are similarly two launch starting points:
The moderation model may stay the same regardless of whether contribution is opt-in or opt-out.
In this diagram, I’ve presented a really simple moderation system that could work well for this service. Phil had a similar moderation system in place on issue #16.
Keep in mind that we’re here to talk about the opt-in vs. opt-out model, not the moderation system.
So there are two end points. Either the contribution is approved, or declined.
This is the opt-in customer journey map.
Launch notifications about the contribution program is delivered two ways. The message is the same: “You should turn on community contribution because of these benefits”.
You’ll see these messages in two places:
If contribution is enabled, then great. We will enable the Add Translation
and Add Screenshot
links on the App Details page.
If contribution is unchanged (disabled), we will show an additional message that says “If you ever change your mind, go to the Contribution
section to enable it with one click”.
It’s virtually the same as the opt-out model.
You’ll quickly observe that the opt-in model presented above is simpler to deploy. It’s simpler because the system doesn’t need to keep track of whether a user has logged in. It will simply show the message once regardless of whether you have responded to the email or took action between pre-launch and launch periods; and when dismissed, it’s gone forever.
However, by design, this model will mean less developers joining in.
Mockups:
Mockups:
As discussed in our meeting earlier today, I thought of an approval model that’s neither opt-in nor opt-out, but is simply launched as a feature that’s activated for everybody, but is completely optional.
translate
and add screenshot
links on App Details pageContributions
tab. There are many ways we can do this.My task tomorrow:
Mockup: Two ways to notify developers that the contribution program is launched.
Mockup: Notification of new contributions that come in, plus interface to approve and reject them.
Contributor
section in the DevHub interfaceContributor
section, divided by tabs to help differentiate Translations
and Screenshots
-based contributionsMockups for integrating contributors screenshot moderation into the existing Edit details
interface.
Replace the Select an image to upload
interface with Add screenshots from contributors
.
To upload his own image, the user can either:
Add your own screenshots
Immediately below the Screenshots
pile, show another pile called Contributions
.
Screenshots
pile, drag and drop it from the Contributions
pile. This is the equivalent of performing an Approve
action.x
. If done on the contributions image, this is the equivalent of performing a Reject
. Image is removed from the pile.Screenshots
pile, drag and drop it to the desired position. User cannot reorder the image under the Contributions
pile.Split off the Contributions
pile into two sections: Pending
and Approved
.
Approved
section, user must go to the Pending
section and check an image.Approved
section, it can then be drag-and-dropped up to the Screenshots
section.Show the My Screenshots
and Contributed Screenshots
piles side by side.
My
tab, user goes to the Contribution
tab and click Approve
on one of the image. The image moves to My
, and can be reordered as desired.Contribution
tab and click Reject
. This will remove the image from the tab.Here are some ideas on how the user contributed screenshots could look on the app details page.
@brampitoyo I'm really digging the drag 'n drop simplicity of Idea 2
. You've got your screens, the user screens, and you can make your own mix pretty easily. But maybe we change the label to something like "Published Screenshots" so the dev knows what's live (everything they've uploaded + some contributor shots).
Awesome. As I looked at all four ideas again, Idea 2
seem to be the simplest in terms of mental models.
Our development challenge here will be in making the drag-and-drop interface work, but that’s an implementation-level detail.
I’m in favour of calling out contributors by using avatars. I think it’s an idea that we can extend to every other type of contributor. Avatars will show up on Top Contributor
review, so it syncs up with that idea nicely, but it can also show up on the translated Description field.
Here’s the customer journey flow for the simplified screenshot contribution program, seen only from the developer side.
In a hosted app, note that it may be possible to simply grab the image URL and input it straight away into the Marketplace Config file as a screenshot. So a way to copy the URL to clipboard must be provided.
In a packaged app, the image will need to be included the app’s folder before the whole package is resubmitted. Dragging-and-dropping the image to the desktop seems to be the easiest and most direct way to do this. Right-clicking and selecting Save Image As… is equally simple and familiar.
Here’s the paper mockup for a DevHub screenshot section UI that fulfills this workflow. The instructions provided here isn’t necessary because hopefully copy-pasting and Save As are both familiar actions – but it’s included here, just in case.
I’ll start upstreaming all of our final paper sketches and customer journey maps to the repository, them write documentation for them, tomorrow. This will wrap up the project.
I’ve put the new customer journey map and UI mockup up on the spec page, completing the scope of this bug.
This issue will think of a flow where a contributor could upload screenshots and videos to the app listing page.
These screenshots and videos need to be functional, good looking, and taken from a Firefox OS device. We’ve noticed that many apps in the Marketplace lacks this.