Live data from Hacker News

Google Docs will now use canvas based rendering

workspaceupdates.googleblog.com

171–180 of 953 posts

Re: Google Docs will now use canvas based rendering

#171
post #116

Earlier quoted context omitted.

Ad blockers could still "scroll" through a website, run an AI model on it to discover the ad sections, and cut them out. Even a simple model that filters out visual animations and replaces them with a static would be useful as a large annoying component of online ads is the movement and blinking etc. that make it hard to focus on the content. Dark mode etc can, too, be implemented to work in terms of framebuffers onl…

>run an AI model what exactly would this AI model be trained on?

Ads? The suggested approach is "from pixels" so any rendered ad is a source of training pixels.

Re: Google Docs will now use canvas based rendering

#172

RIP web accessibility when everyone starts doing this to make ad blocking more difficult

(googler, opinions are my own, I know nothing about this project).

I will bet that this will ship with accessibility support. If it doesn't, maybe they will launch with it being opt-in, as they flesh out a11y. But if I were to put money on it, it will ship with a11y functionality.

The good thing here is that Google already has experience with accessibility on canvas UIs . Flutter, which uses canvas on web[0] and opengl on phones, has accessibility[1]. Hopefully there was some good knowledge sharing there.

[0] looks like this is a WiP: https://github.com/flutter/flutter/projects/68

[1] https://flutter.dev/docs/development/accessibility-and-local...

Re: Google Docs will now use canvas based rendering

#173
post #99

Ever since WebAssembly was first introduced, I thought it was obvious[1][2] that the end game for those that want to control the web is sending opaque binary blobs of code that only use the browser for the canvas tag's framebuffer. Font rendering and layout can all easily be accomplished by embedding libraries like freetype. This breaks all forms of user control - like ad blockers - and turns the web back into cable…

Is this canvas actually rendered with WASM? I don't see WASM in dev tools on their sample doc.

https://docs.google.com/document/d/1N1XaAI4ZlCUHNWJBXJUBFjxS...

Re: Google Docs will now use canvas based rendering

#174
post #99

Ever since WebAssembly was first introduced, I thought it was obvious[1][2] that the end game for those that want to control the web is sending opaque binary blobs of code that only use the browser for the canvas tag's framebuffer. Font rendering and layout can all easily be accomplished by embedding libraries like freetype. This breaks all forms of user control - like ad blockers - and turns the web back into cable…

WASM plus encryption will mean it could be illegal to decrypt/alter website code just like a Netflix video stream.

Adblock criminalization is close.

Re: Google Docs will now use canvas based rendering

#176

Earlier quoted context omitted.

> The dom is really, really fast, no, it is barely tolerable. Web apps in 2021 have trouble reaching the UI performance (latency) of early 2000 desktop software.

Is that the fault of the web apps programmers (or their library/design choices!) or the engine?

A little bit of both. The DOM enforces a specific model of presentation focused on a structural, hierarchical, declarative description with layout including an automated vertical bias. Great if I want to layout something "document-shaped," a colossally bad match to the problem domain if I just want to draw a pentagon and animate it around the screen.

The libraries exist to mitigate the huge problem-domain gap between the DOM model and other models.

Re: Google Docs will now use canvas based rendering

#177
post #99

Ever since WebAssembly was first introduced, I thought it was obvious[1][2] that the end game for those that want to control the web is sending opaque binary blobs of code that only use the browser for the canvas tag's framebuffer. Font rendering and layout can all easily be accomplished by embedding libraries like freetype. This breaks all forms of user control - like ad blockers - and turns the web back into cable…

Yet another reason to use Pi-hole. The web browser is the wrong place to try and fight against this sort of thing. Secure your home network once instead of fighting an arms race on each device you have.

Re: Google Docs will now use canvas based rendering

#178
post #103

Earlier quoted context omitted.

It's a bad thing in terms of openness but a good thing in terms of performance and making web applications more like real desktop applications. A lot of DOM work is a nightmare, so I sort of welcome to the Canvas based approach.

DOM is just HTML/CSS. It's not a 'nightmare', it's actually a pretty good fit for the semantics of most UI's.

If you've ever used a real UI framework, HTML/CSS is absolutely a nightmare. It is missing almost entirely in any kind of useful controls, which is why there are so many myriads of control libraries.

Edit: however, replacing HTML+CSS with a canvas is absolutely a step in the wrong direction. I'm advocating for a richer Web, not a stream of pixels controlled by Google.

Re: Google Docs will now use canvas based rendering

#179
post #86

(googler, opinions are my own. I know nothing about this project). I really hope this fixes the large-document problem. As someone that has to deal with large specs (1000+ page MS Word documents), Google Docs does a not-so-great job of handling them. I also understand this is why many writers don't like Google Docs to write the entire book in, as things start slowing down when you get into the hundreds-of-pages. I do…

I've looked at some of the public spec documents (Specifically the windowing system for Flutter desktop) that Google has hosted in GDocs and that was also the first time I noticed performance degradation. If I had to guess, I'd say there's not a better way around this performance barrier.

Re: Google Docs will now use canvas based rendering

#180
post #129
post #74

Earlier quoted context omitted.

... which is a menu item you can reach through the canvas rendered by a giant blob of non-free JS.

Or through scripting

Assuming they allow you programmatic access to the elements inside their binary blob rendered in the canvas. My bet is they won't.
Post reply on HN