HTML-in-Canvas Demos

(github.com)

66 points | by simonpure 2 days ago ago

28 comments

  • Barbing 2 days ago ago

    Tried this demo in Safari: https://arrival.space/htmlcanvas

    Looks very cool, and showed a pretty message indicating there's even more:

      HTML IN CANVAS NOT SUPPORTED  
      Use Chrome and enable chrome://flags/#canvas-draw-element
    
    Use Chrome... idontthinkiwill.jpg and aren't we supposed to reject these technologies that allow Google to Embrace, Extend, Extinguish[1]?

    Kudos to the artist in spite of this unfortunately esoteric (wish it weren't) concern

    [1](hope I'm wrong about it being a triple E https://en.wikipedia.org/wiki/Embrace,_extend,_and_extinguis... )

    • rafram a day ago ago

      The standardization process requires implementations before standardization. And the most recent comments on the WHATWG issue are from Jake Archibald (Mozilla) and Anne van Kesteren (Apple). This isn't a unilateral Google project.

      • Barbing 21 hours ago ago

        Thank you! Did you see the pushback from Mozilla? (downthread - https://news.ycombinator.com/item?id=48208340 )

        Given the David & Goliath nature I'd be bending over backwards to avoid situations where I get that kind of pushback, but I may be so utterly out of touch with the reality of how it "has to" be (and then I'm very optimistic that it could still be better).

        Maybe this could've been deprioritized until succeeding on other features and learning each other more through that process, then coming to the table with an excellent first draft Mozilla only has polish to add (not fundamental disagreements).

      • troupo 8 hours ago ago

        > This isn't a unilateral Google project.

        I can list dozens of unilateral Google projects that are pushed under the guise of "standardization" and then released despite no consensus or against explicit objections from other browser vendors.

        And this feature? It's literally pushed by Google unilaterally.

    • afavour a day ago ago

      > aren't we supposed to reject these technologies that allow Google to Embrace, Extend, Extinguish

      In what way is this technology a means to embrace, extend and extinguish?

      This seems like a logical extension of existing web APIs. If we reject everything out of hand then the platform won't improve. It's going through the standards process:

      https://github.com/whatwg/html/issues/10650

    • socalgal2 2 days ago ago

      Seems like you have some pretty strong ranty bias there.

      AFAICT, this is a web standard and expected to get buy in from Safari and Firefox before shipping to users. For now it's an experiment you have to specifically enable with flags. No different than any other browser that runs experiments

      Here's one from from Apple from 2017

      https://webkit.org/blog/7504/webgpu-prototype-and-demos/

      Here's another from last year

      https://webkit.org/blog/17118/a-step-into-the-spatial-web-th...

      • JimDabell a day ago ago

        > AFAICT, this is a web standard and expected to get buy in from Safari and Firefox before shipping to users.

        If it hasn’t already got buy in then it isn’t a web standard, it’s just a Google proposal. Something isn’t automatically a web standard just because Google thinks it’s a good idea.

        Here are Mozilla and WebKit positions on this:

        > This proposal attempts to solve multiple problems with a single solution. We (Mozilla) recognize the motivation for solving some of the problems, but believe that this is not the right solution to each problem, or in some case a step in the wrong direction.

        https://github.com/mozilla/standards-positions/issues/1076

        https://github.com/WebKit/standards-positions/issues/630

        As far as I can see, nobody outside of Google has committed to implementing this.

        • Barbing a day ago ago

          What a thread (Mozilla). Thank you much.

          > If this ships, this is what we think we'll be facing, but in reverse. Your rendering would become the defacto default. Does this help see where we're coming from?

          One side cares about a private, free, open web; the other devs made something COOL and potentially USEFUL (ship it!). Both highly intelligent of course, shockingly different priorities.

        • troupo a day ago ago

          From the discussion linked in the Webkit repo:

          --- start quote ---

          Philip: First, google slides is written in svg, so that won't change with this. But google docs is using canvas, so they might be a candidate. … they might want to integrate this peicemeal, this API allows them to start to adopt the feature slowly,

          --- end quote ---

          This reads to me like "Google Docs decided to go with canvas sometime ago [1], found it to be too hard, so pushed Chrome to have a way to support HTML in Canvas. The rest is just post-hoc justifications"

          [1] https://workspaceupdates.googleblog.com/2021/05/Google-Docs-...

      • Barbing a day ago ago

        Strongly ranty!

        Happy to praise anything good Google does (speedy, reliable YouTube delivery). When they don’t get buy in first, I’m suspicious. They know, but should also care about how bad it is for the web for sites to dictate the browsers we use.

      • troupo a day ago ago

        > his is a web standard and expected to get buy in from Safari and Firefox before shipping to users.

        1. It's not a standard. It's a scribble on a napkin in a working group's repo: https://github.com/WICG/html-in-canvas Created and edited by people from Google.

        2. Chrome continuously ships "standards" like this that they create with no buy in and against any and all opposition.

        3. Neither of your links have any relation to HTML in Canvas.

  • designerarvid 2 days ago ago

    HTML-in-Canvas-in-HTML. Yo dawg.

    • BobbyTables2 2 days ago ago

      Nah, you forgot the canvas.

      I heard you like html-in-canvas demos, but what about canvas-in-html-in-canvas-in-html?

      • ivolimmen 2 days ago ago

        You broke the internet!

  • BobbyTables2 2 days ago ago

    Title should have been “html-in-canvas demos in gif on X”

    I naively thought the “demo” was a demo, not a X posting by a twit.

  • phyzix5761 a day ago ago

    I remember this repo a few weeks ago: https://github.com/remotion-dev/html-in-canvas

    I wonder if it works in more than just Chrome Canary now.

  • Rygian a day ago ago

    How long until a canvas is used to render the full chrome of a web browser (e.g. including the TLS padlock), showing a fake benign URL in the (fake) address bar while having the user interact with a malicious page?

    • stanac a day ago ago

      That's why we have "youtube.com is now full screen" message.

      • lukan a day ago ago

        Yes, but this "emergency" UI of the OS could be improved I think. (Also that functionality could have been build easily with normal DOM and JS, cancel and override all events, etc)

    • l23k4 a day ago ago

      Already done, it's called a "browser-in-browser" attack.

  • beezlewax 2 days ago ago

    Flash is back baby!

    • troupo a day ago ago

      In a significantly reduced, dumbed down and non-functional way

  • RecycledEle 20 hours ago ago

    I had to poke around a little to learn this:

    "The HTML-in-Canvas API lets you draw DOM content directly into a <canvas> or a WebGL and WebGPU texture while keeping the UI interactable, accessible, and hooked up to your favorite browser features."

    • RecycledEle 20 hours ago ago

      The word "Canvas" is overloaded in that it can mean dozens of different things. I thought you meant the recently hacked learning management system (LMS) at first.