Closed Bug 1273501 Opened 8 years ago Closed 8 years ago

Create a thumbnail from a screenshot of current state of a URL

Categories

(Hello (Loop) :: Client, defect, P1)

defect
Points:
5

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: fcampo, Assigned: crafuse)

References

Details

(Whiteboard: [akita-alpha])

Attachments

(1 file, 1 obsolete file)

We want to use a URL thumbnail as an image for the Tile.

- Taken at Tile creation time.
- Done in server side.
- stored as DataURI in Firebase

- framescript, canvas, drawWindow, pageShot were all mentioned as possibilities for the service, no decision made yet.
Blocks: 1273495
Blocks: 1273506
Points: --- → 5
Depends on: 1274179
Rank: 19
Priority: -- → P1
Whiteboard: [akita]
Whiteboard: [akita] → [akita-alpha]
Whiteboard: [akita-alpha] → [akita-beta]
Blocks: 1275737
No longer blocks: 1273506
The easy way to start is to use the metadata extracted by PageMetadata, and get an image from .previews – which is typically a og:image image, or <link rel="image_src">.  That property also falls back on all <img> tags, which is a not-very-good-but-maybe-ok-for-a-little-while substitute.

Mark: is there a reason not to temporarily use a screenshot service for alpha only?

Note Activity Stream does not plan to use thumbnails for their tiles (because they tend to be crowded).
Flags: needinfo?(standard8)
(In reply to Ian Bicking (:ianb) from comment #1)
> The easy way to start is to use the metadata extracted by PageMetadata, and
> get an image from .previews – which is typically a og:image image, or <link
> rel="image_src">.  That property also falls back on all <img> tags, which is
> a not-very-good-but-maybe-ok-for-a-little-while substitute.

We've already seen that the og:image & other things in metadata aren't really a good substitute.

> Mark: is there a reason not to temporarily use a screenshot service for
> alpha only?

I guess I don't feel that a screenshot/thumbnail is necessary for alpha. It doesn't feel important in working out the user flow.

I'd rather we just look at creating a thumbnail from a loaded page (assuming we're talking about an owner here). There's already code for drag and drop of tabs that does this, it shouldn't be too hard just to base something on that.
Flags: needinfo?(standard8)
Rank: 19 → 15
Whiteboard: [akita-beta] → [akita-alpha]
Assignee: nobody → crafuse
Comment on attachment 8761871 [details] [review]
[loop] chrafuse:bug-1273501-create-thumbnail-from-screenshot-of-current-state-of-a-url > mozilla:akita

Added the google screenshot to request and response.  TODO - need to wire up the data correctly in toc.jsx.  See PR comment.  Request hand-off to Manu to complete this.
Attachment #8761871 - Flags: feedback?(dmose)
Attachment #8761871 - Flags: feedback?(b.mcb)
To add some more info, after playing around with Embed.ly, we had various problems with it: it regularly ended up returning robot-Amazon robot-detector CAPTCHAs.  Searching found a few other folks had run into this, and Embed.ly just suggested filing a ticket.  We also tried using Embedly with ebay (as a similar script), and found the images it produced wanting.

As a result, we decided to take a run at the thing @mancas originally implemented in his prototype: use google page speed for the screenshots.  So far, it seems to be working nicely.
Obsoletes the previous PR.  If anyone in the EU timezones wants to pick this up and run with it, great.  If not, we'll keep pushing in the US tomorrow...

See the commentary in the PR for more details about where things are at,
Attachment #8761871 - Attachment is obsolete: true
Attachment #8761871 - Flags: feedback?(dmose)
Attachment #8761871 - Flags: feedback?(b.mcb)
Attachment #8761925 - Flags: review?(fernando.campo)
Attachment #8761925 - Flags: review?(edilee)
Attachment #8761925 - Flags: review?(dmose)
Attachment #8761925 - Flags: review?(crafuse)
Comment on attachment 8761925 [details] [review]
Link to Github pull-request: https://github.com/mozilla/loop/pull/495

Timezoned review!

It works nicely indeed, and existing tests should suffice. Just needs few comments added to the code for the future changes, as I understand it is still a temporary solution.

A few comments not related to the PR but to the 'Add a tile' steps:
- It might be a little confusing to have a grey 'Loading' text while scrapping the metadata, as it takes longer time now than using the embed.ly service
- Intro key does not activate the adding process when writing the URL
- If URL not valid, button does not change back to active, adding panel does not hide. Should be one or the other.

I don't think it is worth it to open specific bugs for this issues, as everything should change when a final UI is presented, and clearly not issues to be fixed on this PR, but thought it would be better to mention them.
Attachment #8761925 - Flags: review?(fernando.campo)
Attachment #8761925 - Flags: review?(edilee)
Attachment #8761925 - Flags: review?(dmose)
Attachment #8761925 - Flags: review?(crafuse)
Attachment #8761925 - Flags: review+
Landed in akita: https://github.com/mozilla/loop/commit/279275b31a6d08966b9c2df17eb1771065a717dd
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: