2 ms·
Those quotes from The Register are almost entirely yours (unless there's another Tim Sneath)! Little of it is The Reg itself. I'm going off what you said Tim.
by rektide 4y ago
Those quotes from The Register are almost entirely yours (unless there's another Tim Sneath)! Little of it is The Reg itself. I'm going off what you said Tim.
I'm sorry you find this to be a "screed," but Tim, this reply feels inline with the quotes of yours I've shared that have amplified my sense of alarm. It's inline with what I know & what I've seen of Flutter over the years. I want to be hearing how the new Flutter is better at using DOM as much as it can, and only using Canvas here and there for special cases. Anything short of that is a new Flash coming back from bad-place to haunt us again; a bunch of pixels on the screen the user cannot control or modify, that don't have the standard high level hypertext interface but instead have a special-purpose interface designed only for graphics. Instead of acknowledging the issues & challenges though, you seem to be doubling down on justifying why apps-as-bitmaps is sufficient. So, my screed seems correct?
Canvas does exist, and it has good uses. Yes, absolutely. Something like Figma is a graphical tool, a creative tool for expressing design. Having that fine control is appropriate there, and giving up some of the standards-based interoperable hypermedia is ok: there is a real higher calling for this task.
But generally... Canvas kind of sucks & is a regression. If this screen we were typing into here was just a bitmap, I'd be sad. My form editor control wouldn't work, my vim integration wouldn't work, my wordcount plugin might not work, my restylers like Dark Mode wouldn't work, and I'd know that no one could ever open view source & grasp at the common lingua franca of the medium. If users had the choice, given two parallel/equal experienced, many would want a view-source capable experience. We'd want a rich hypermedia. We'd want structured data & layout.
With Sheets, maybe the good outweighs the bad, but it's pretty frustrating & sad that the core part of Google Sheets is a giant bitmap with no HTML, that it's so resistant to Web Extensions. Maybe it has to be that way, for reasons, but it's a fallback position, and one that has negative impacts. Rather than be able to script Google Sheets with the web, we need a specific "macro" capability built in to the webapp to do anything at all powerful. How many apps will build their own macro system? How many wont? Either way this is a huge loss versus having the web itself give this power to use the users; it is a direct threat to user-agency, and I don't see you taking that challenge in a mature & responsible fashion. The pixels being pushed at us come with less freedom, less context, less malleability, less understandability to them. Some people wouldn't care, but over time, if we didn't have hypermedia at all, if there couldn't be at least some people to peer the covers, society would be a duller less interesting world, and less people would discover their passion for computing & creative digital work.
You may be taking accessibility as a high priority, but it's really hard to envision that the hundreds of different Web Extensions that do accessibility are going to work out of the box at the same level they do now. You can try to provide other tools & capabilities & affordances, try to provide invisible parallel DOMs or use web apis to provide similar ish structure, but some tools people know & love will not work or wont work as well without actual HTML on the page. The Canvas is structureless, is not as rich a medium as the HTML hypermedium, and I continue to not see recognition that CanvasKit presents some compromise, that it degrades many of the better parts of the web, from the Flutter team.
Is the DOM Renderer still a focus at all for the app? Is it a main focus? That would make me feel much better. Can apps mix DOM and Canvas renderers easily, so we can retain the hypermedium in many places? Making it easier for Flutter app-devs to be "web native", to use the higher-level, not just the lower level bitmap of the web, but the real hypermedium of the web, would make me feel better.
These would be substantial rebuttals that would defuse the risk a Bitmap-oriented webdev experience has. Rather than a screed, this seems like a pretty basic, well intended concern to me. About the basic core of the web. I'm worried the users are being locked out. I'm worried the rich medium is going to become depthless flat. I'm worried prescriptive technologies will become normalized, that the web, as a unique place where users had power will be taken over & taken away. If Flutter can & will play with the higher level web ecosystem, I can welcome it, and embrace the possibilities of Flutter. But the defensive nature of your arguments- heavily defending Canvas without showing any sign of embracing the higher level web: that silence/omission seems inline with the quotes I've drawn from, appear alongside the other evidence I've seen as indicators of where Flutter is heading.
- timsneath 4y agoYes -- to be crystal clear, we're not targeting the DOM. We focus on use cases that can and should be expressed in a canvas. We prefer a WebGL canvas, but even what we refer to as our "HTML renderer" only emulates Flutter's canvas capabilities (e.g. layers). If you are a web developer building with the canvas in mind, we aspire that Flutter is a useful tool. We encourage the use of one of the many other great frameworks out there (or no framework at all) if the DOM is the target. And we aspire to provide great interoperability and accessibility. The web is bigger than documents. And that's why web standards are bigger than the Document Object Model. I'm sorry you see that as badmouthing the web, because it couldn't be further from the truth.
- rektide 4y ago> The web is bigger than documents. And that's why web standards are bigger than the Document Object Model. I'm sorry you see that as badmouthing the web, because it couldn't be further from the truth. Most apps are best represented by DOM. You're not talking about using some of the graphical canvas capabilities the web has to do some graphical things. You're talking about using bitmaps to do all of your apps. It is a new Flash. Right now you have the grace of having few eyes upon your work. As more and more apps start rolling out where people come to understand- this is not a webapp I can script, I have no control over it, no agency- it's a giant bitmap on my screen which acts as a low-level alternative to actually using the technology 99.99999% of the higher-level web works with- I think you'll find that this characterization of your work as 100% web, as totally fine, will be ill received by the public at large. My lone comments right now are easy mode. And you dismiss them as inaccurate. But this low-level use of bitmaps to make entire apps is a big reducer of our capabiliites online, and I am confident that my protests will just be the start, if Flutter web starts to really take off. This is a regression to what the web has been to users, and turns the web into something more like native apps, where we have never had control. This is a loss for humanity. It has some upside too, for some developers, but most devs don't actually need that extreme & divergent set of non-high-level low-level interfaces.