Super Embed MVP #1
Replies: 4 comments 5 replies
-
I see two ways forward. Let me know which one you prefer:
Both work for us. I will start to add some basic UI flow to also have an idea how the transformation from Link to widget could look like (and how the user can revert that). I would suggest to have a example (or default) implementation from link to widget, that can be customized of course. |
Beta Was this translation helpful? Give feedback.
-
@Jethro87 - If you'd like to join this milestone, feel free to list any additional web services that you need to scrape, and card visuals that you need. |
Beta Was this translation helpful? Give feedback.
-
Based on a recommendation, I checked out a service called Iframely. Iframely fetches data from any given URL and parses relevant data based on supported domains. The parsed data can then be retrieved as embeddable HTML, or structured data. @bk-one @Jethro87 @miguelcmedeiros - the question is whether the existence of this service should change the direction of this project? I would say that what we're attempting with this project is the recreation of Iframely, specifically for Flutter, and with a shared/open definition for all parsers. Iframely, on the other hand, specifically targets the web stack for UI, and the structured data parsing happens on their servers, resulting in service subscriptions and fees. I don't think that this project, or any of our clients can make use of Iframely's UI tools, because those tools would only work on web. This project, or our clients, might make use of Iframely's massive domain parsing library. However, that use would require an Iframely account, and subscription fees. We could, in theory, provide some kind of hook from Super Embed's rendering system to the Iframely backend, but we can't automatically provide access to the Iframely API because that API requires an account and fees. What are your thoughts about Iframely? |
Beta Was this translation helpful? Give feedback.
-
@miguelcmedeiros @Jethro87 - I drafted an architecture document to guide the work breakdown for the MVP. Please take a look at the document and comment with any questions or concerns. Once you've reviewed the architecture, I'll breakdown tickets for other Bounty Hunters to work on. |
Beta Was this translation helpful? Give feedback.
-
Super Embed is a package that knows how to scrape metadata from popular web services and then display a card, or other visual, that represents the given media. For example, a YouTube link could turn into a video player for the associated video. A Medium link could turn into a card that shows the title and header image from the Medium post.
This milestone is to create the initial minimum viable product for Super Embed.
What sets Super Embed apart
The pub.dev ecosystem includes a few link preview packages, e.g., any_link_preview and link_previewer. Super Embed will be different in a few significant ways.
Drop-in widgets: Super Embed will collect a growing number of fully spec'd, designed, and implemented drop-in widgets for various services, like YouTube and Twitter. The other pub.dev packages focus on a high level of configuration for a single link preview widget. Super Embed takes the opposite approach, providing widgets that are specialized for the type of content that they represent.
Responsive by default: Super Embed widgets will adjust their display for varying sizes, as appropriate. Some widgets, like a video player, may not alter their appearance in response to available space, but something like a social media card might change its layout from a row to a column as the available width decreases.
A toolkit: Super Embed will make all of its non-visual tools available in the API surface, too. Page scrapers for each service will be publicly available so that developers can utilize the same scraping behavior, even if they don't want the associated widget. Similarly, the widgets for each service will be usable even without executing a web scrape operation. This way, developers can cache scrape results locally, or even obtain scraped data from their own backend system and still utilize the polished Super Embed widgets.
Scope
Initially supported web services:
Initially supported widget formats:
Funders:
Beta Was this translation helpful? Give feedback.
All reactions