Has Miro considered supporting the oEmbed Spec Directly for Embed Content + Better Feature Parity for Embed REST API Endpoint?


Hi folks!

 

Curious if Miro has considered more directly supporting the oEmbed standard to allow for more open-ended iFrame Embed content so long as it adheres to the open oEmbed Spec.

 

Please correct me if I’m mistaken, but my understanding is Miro currently relies on a third party platform (Embed.ly) to handle processing of iFrame embed content => generating the iFrame to embed in a Miro board given a link to some piece of content & auto-detect eg if it is a Video Player or some other type of content.

 

Further, I think that as things stand today, the awesome new Miro Embed REST API endpoint in V2’s functionality and behavior doesn’t quite match the end-user experience of manually the “Paste iFrame Code” / “Embed iFrame Code” widget inside Miro itself. It seems like the built-in feature is more permissive => tries to “do the right thing” displaying iFrame embed content and making use of web standards like OpenGraph metadata, whereas the Embed REST API V2 Endpoint seemingly ignores / does not properly display any iframe content that has not been whitelisted as an authorized provider by Embed.ly? [Please do correct me if I’m wrong on this front!]

 

Given that oEmbed is an open standard, and Embed.ly is a “middleman” of sorts which currently seems to be very under-resourced since the Medium acquisition, has the Miro team put any consideration into opening up their Embed capabilities a bit more to more directly rely on the open standard?

 

Our top-of-mind concern is that it seems like Embed.ly has been struggling to keep up with the approval workflow for new oEmbed providers over the past year+, and over time there could be some conflicts of interest between A Medium Corporation and some of the loftier goals of companies like Miro to promote a diverse, open plugin ecosystem and app marketplace that is not stifled by another third party review process that is “out of band” of Miro’s own review process and standards. We ourselves have been waiting for Embed.ly to review our provider application for nearly a month now with no follow-ups or feedback about our application status.

 

As a point of contrast:

I’ve been genuinely impressed by the approach that e.g. Notion and some other companies have taken to allow for open-ended embeds, even if it has another layer of more “first-class” iframe embeds for larger common providers like YouTube, etc.

 

 

Would love to discuss more with folks on the Miro team and hear their thoughts on this matter! Understand it is a fine line, and definitely appreciate the need to safeguard users against potentially malicious iFrames or janky end-user experiences that result from non-spec-compliant iFrame code. In that way I completely get how Embed.ly solves a real problem and can be a nice “first layer of defense”/walled garden of curated “certifiably compliant” embeds.

 

But it certainly has been frustrating to work with them so far, in stark contrast relative to the delightful and supportive experience we’ve had working with the Miro team to-date!

Just as a quick follow-up, here’s an example of how nice the embed cards look when using the manual Paste iFrame Code flow within Miro:

 

Here the manual iframe embed flow seems to successfully pick up all of the delightful opengraph metadata fields to auto-fill a nice preview card with the title, description, and even thumbnail!

 

But the downside is for some reason these embed cards do not recognize the oEmbed content type (video in our case) => do not allow any sort of click interaction to open the embed card for playback in a modal.

 

 

On the flipside, for the API-driven embed flow using the Embed V2 API, it successfully auto-recognizes the embed content type (eg video) and has the proper click interaction to open a modal containing the embed. But the downside is for some reason we don’t get any of the beautiful preview card treatment => and are instead shown a completely blank white card without the thumbnail or description from the opengraph metadata.

(Same embed link => rendered from Embed API just yields a blank white card with a play button, does not pick up the opengraph metadata thumbnail, title, or description fields)

 

I would love to see the API-based embed setup achieve the “best of both worlds” scenario => the opengraph metadata is used to display a very pretty embed preview => the click interaction still works to open the embed iframe for playback inside the miro canvas via the modal interaction.