Page MenuHomePhabricator

Extract exact license info for share a fact cards
Closed, ResolvedPublic3 Estimated Story Points

Assigned To
Authored By
Moushira
Jun 4 2015, 8:29 PM
Referenced Files
F183584: 2015_in_sports.jpg
Jun 25 2015, 8:26 PM
F183582: Image-1 (1).jpg
Jun 25 2015, 8:26 PM
F183586: Image-1.jpg
Jun 25 2015, 8:26 PM
F183580: Blue_s_Clues.jpg
Jun 25 2015, 8:26 PM
F180882: Screenshot_2015-06-18-16-35-38.png
Jun 18 2015, 11:37 PM
F180883: Screenshot_2015-06-18-16-35-59.png
Jun 18 2015, 11:37 PM
F180884: Screenshot_2015-06-18-16-36-28.png
Jun 18 2015, 11:37 PM
F179446: License_Icon_Legend.png
Jun 15 2015, 11:37 PM

Description

Given the lengthy community discussion here: https://www.mediawiki.org/wiki/Wikimedia_Apps/Share_a_fact, it is currently misleading (and problematic in some regions) to have share a fact cards rendering a default CC by SA for all cards, regardless of the actual image license. We need to extract exact license info from https://www.mediawiki.org/wiki/API:Imageinfo.

@Vibhabamba, the extracted license would replace the existing current CC by SA field?

  • Use one of the three license icons we use in Gallery (cc, pd, free).
  • Once the user enters the share preview screen, we initially disable the share as image button, (possibly show a progress bar?), fetch the license info, then reenable the button.
  • The preview doesn't need to have the license icon yet, but the final image which will be shared must have it.

Android specifics

We already have image gallery code that parses the license type into those three categories: GalleryItem and GalleryItemFetchTask. We just reuse those.

Suggestion to refactor: move GalleryActivity.getLicenseIcon(GalleryItem item) to GalleryItem.getLicenseIcon(), and make public.

SnippetImage: We remove the call of drawLicenseIcons() from createImage(). But will have a public method we can call later to draw one of the other three icons. (Will need to save the location of the icon in the canvas as instance var.)

We disable the "Share as image" button by default.
We extend GalleryItemFetchTask to add the extra UI code to enable the "Share as image" button and also update the SnippetImage to include one of the license icons. (It would be nice to update the preview as well.)

Care should be given to cancel the GalleryItemFetchTask when the PreviewDialog gets dismissed.

Extra requests take time and can fail. I'm not sure what we should do in the failure case yet.
It would be nice if there was a default icon we could use. But as far as I understand this there is no default icon.
We could keep the "Share as image" button disabled in that case. The user would have to go back to try again manually.
-> It would be good to have some progress indication for the user.

The hope is that in the future this information can be provided by the mobileapps content service in the page load request, next to the lead image info.

Cleanup: R.drawable.cc_by_sa_white (png + svg) can be removed since it's not used anywhere else.

Event Timeline

Moushira raised the priority of this task from to Needs Triage.
Moushira updated the task description. (Show Details)
Moushira subscribed.
Moushira added a subscriber: Slaporte.

@bearND mentioned that there was some email discussion that we should add to this card

KLans_WMF renamed this task from Extract exact license info for share a fact cards to BLOCKED by DESIGN: Extract exact license info for share a fact cards.Jun 5 2015, 6:00 PM
KLans_WMF added a subscriber: Dbrant.

@bearND @Dbrant please add more info

Here's more info from the email thread:

  • Use one of the three license icons we use in Gallery (cc, pd, free).
  • Once the user enters the share preview screen, we initially disable the share as image button, (possibly show a progress bar?), fetch the license info, then reenable the button.
  • The preview doesn't need to have the license icon yet, but the final image which will be shared must have it.
KLans_WMF renamed this task from BLOCKED by DESIGN: Extract exact license info for share a fact cards to Extract exact license info for share a fact cards.Jun 8 2015, 7:50 PM

@bearND, could you please either forward me that email discussion or let me know who you were talking to about this? Let's chat about it on Monday.

@Slaporte, I think it might be good for us to touch base on this as well if you have some time next week.

@Mholloway Done. I've added more info/ideas to the description under the Android specifics section.

@Slaporte, I think it might be good for us to touch base on this as well if you have some time next week.

@Mholloway: Great! I'll set up some time and we can discuss via email.

@Vibhabamba, the extracted license would replace the existing current CC by SA field?

The icon representing the license would replace the existing CC by SA field.

Use one of the three license icons we use in Gallery (cc, pd, free).

Yes, exactly.
Icons correspond with what mediaviewer uses. This is a quick legend for the categorization system, which we created for galleries.

License_Icon_Legend.png (470×1 px, 18 KB)

This also helps for cases when license cannot be extracted.

Once the user enters the share preview screen, we initially disable the share as image button, (possibly show a progress bar?), fetch the license info, then reenable the button.

Can we do this once the image is actually being shared (as suggested in point 3)

The preview doesn't need to have the license icon yet, but the final image which will be shared must have it.

Agree.

@Vibhabamba: will do. Thanks for posting the chart.

Change 218694 had a related patch set uploaded (by Mholloway):
Fetch and add underlying image license icon to Share-a-Fact cards

https://gerrit.wikimedia.org/r/218694

@Slaporte Which license icon should we show when there is no lead image? No license icon, CC, PD, free?

@bearND: We can use the CC icon to indicate that the full card may be freely shared.

Does anything appear in the background?

@Slaporte: It's a plain black background when no lead image is present.

It seems confusing to me to have the license icon refer only to the underlying image when an image is present, and to the card as a whole when one isn't. If the icon is now referring to the underlying image, I would have thought a license icon wouldn't be needed when there isn't one.

Based on guidance from @Slaporte and discussion with @Mholloway & @Moushira the first immediate step is:

  1. Although we are legally compliant but we could take steps to address user concerns reported on the discussion page for Share a fact
  2. An immediate solution as part of this patch is to get a bit more specific with the license. We will present a category icon based on the legend provided, consistent with the gallery UX in apps.
  3. There is no change in the perceived user experience (no delays/ loading indicators etc)
  4. For cases where we are unable to detect a license we will fall back to the Fair use category.

@Slaporte Let us know if you recommend breaking these categories down any further.

@Mholloway - Kindly attach screenshots for each of the license categories, So I may have a chance to review sizing and alignment.

Icons are currently being used in the gallery and should be re-used from there.
Please let me know if you need SVG dupes.

@Vibhabamba -- A couple of supplements to your four points above:

-on #3: I don't think it's correct to say there will be zero noticeable delay while the API call for license info is made, but it will be small. The progress bar indicates loading during this period. I'm going to do some testing in a minute to see more precisely how long the call takes and will update here.

-on #4: In the course of developing the patch I haven't found any images for which license info was unavailable, and if I understood @Slaporte correctly it's only a small percentage of images for which this is the case, so "falling back" will be a rare occurrence.

@Vibhabamba Testing now on a shared wifi connection, to request and process the license info took between about 250-333ms on my Samsung Galaxy S3 and between about 150-200ms on my Nexus 9 tablet. Obviously this will vary with signal strength but under reasonable conditions the delay should be a fraction of a second.

Change 218694 merged by jenkins-bot:
Fetch and add underlying image license icon to Share-a-Fact cards

https://gerrit.wikimedia.org/r/218694

Michael - Can you add a screenshot of what this loading indicator looks like for the user?

Checked on 2.0.103-alpha-2015-06-24 on Samsung Tablet Ce0168(Android 4.0.4.

There is some discrepancies in displayed icons in Share fact images info between iOS and Android.

iOS

Image-1 (1).jpg (360×640 px, 54 KB)

Android
2015_in_sports.jpg (360×640 px, 39 KB)

iOS

Image-1.jpg (360×640 px, 74 KB)

Android
Blue_s_Clues.jpg (360×640 px, 51 KB)

Since it's about legal info - returning the ticket to Design Signoff for feedback.

@Etonkovidova Android has implemented this story but looks like iOS has not yet. That explains the difference in license icons.
Before we implemented this the Android app showed the same license icons as iOS still does: always the same three CC-BY-SA icons.

Agree with bearND.
Is there a ticket tracking this for iOS?

I spoke with @Mholloway and @Vibhabamba about using an icon to explain the license for the background photo, and this design is legally allowed. I'm happy to share more details by email if you need further clarification on the advice. Thanks!