7 comments

  • groomlake 17 minutes ago
    I’m always curious how Google, Microsoft and Co. build their web apps - given that they need to work well on any computer, from a top-shelf speed machine to a potato with wires.

    In my experience, Microsoft webapps (which now includes many of their desktop apps) are rather sluggish. Even the Copilot Chat website. How hard could it be to make a chatbox and a session transcript not be sluggish?

    • esperent 0 minutes ago
      [delayed]
    • nilslindemann 2 minutes ago
      [delayed]
    • amiga-workbench 14 minutes ago
      YouTube too. And I'm not even talking about the video player. Displaying a 4x4 grid of thumbnails seems to be some kind of herculean task.
      • mister_mort 10 minutes ago
        I think some of the Youtube thumbnail stuff is lazy-loaded, so depending on the speed of your browser and connection it can just hang there doing nothing for a while.
    • slopinthebag 6 minutes ago
      All of their webapps are garbage.
  • dinkelberg 56 minutes ago
    The dev tools in the browser become much more useless when you draw everything in a canvas. It's gonna be sad when everyone starts using frameworks that draw on canvases. Arguably more sad than when Webassembly came. One could probably write new dev tools for those frameworks though.

    I also imagine this will be a big setback for web accessibility.

  • efficax 1 hour ago
    Not a word in here about accessibility, of course. If you’re blind you’re blind to the canvas as well without a lot of work, it’s much more straightforward to make the DOM accessible
    • martinbooth 57 minutes ago
      It says:

      > For most web apps, the DOM remains the better choice. It gives you accessibility, responsive layouts, text selection, input handling, and countless other features for free

      • evan_ 40 minutes ago
        Ah, so literally a word.

        I was thinking you could probably get a fair bit of accessibility by using <div>s for your text rendering- or by maintaining a separate, hidden outline of DOM elements mirroring what’s on screen.

  • everdrive 42 minutes ago
    I block all canvas requests. When I can no longer do so, I will just try to use the web less.
  • frollogaston 5 days ago
    People who work on web browsers have ranted that HTML/CSS isn't a very natural interface into the engine, so it's inefficient and has nasty edge cases. I know nothing about browser engines but do find CSS awkward as a user when I'm not making a plaintext website, so have been relying heavily on React for side projects.

    Been thinking about doing a toy project where I try to build my own alternative to HTML/CSS that runs on top of Canvas, drawing inspiration from how Wayland is actually less abstracted than X11.

    • xscott 51 minutes ago
      You might find this video useful or interesting: https://youtu.be/by9lQvpvMIc

      I've been tempted to do something similar for browser canvas, perhaps with some slightly different choices than he made. His approach uses a very elegant way of looking at things though.

  • zarzavat 35 minutes ago
    Canvas is a last resort if you absolutely cannot build the thing any other way.

    When you use canvas you're giving up on not just accessibility but also optimizations that the browser does for you transparently when you use the native render tree. There's no guarantee that your app will be faster in canvas, it could easily be slower. Do you really think you can beat the browser's C++ by writing code in a language that doesn't even have a native integer type? Perhaps you can, but your base assumption should be that you can't.

  • bramadityaw 20 minutes ago
    If you've decided to make your next webapp's interface in Canvas, you are jeopardizing what makes the web flourish in the first place: openness. I personally agree with DHH that View Source is one of the browser's most liberating feature. Others in this thread have also pointed issues in accessibility.

    It's a shame that this is what the web is trending towards with more and more enterprise interest in the internet.