|
I think my attitude to this stuff evolved after seeing that even with all the work we did with HTML, virtually nobody actually benefits from it. In theory, HTML is device independent. In practice, we can't even get web apps to work on desktop and mobile, to the point where even sites like Wikipedia, the simplest and most obvious place where HTML should Just Work across devices, has a whole fricking separate subdomain for mobile. In theory, HTML gives users ultimate control over presentation. In practice, after _years_ of trying to make alternate style sheets a reality, not a single browser in common use even has a UI for them. Nobody cares. A few people with extensions might occasionally make some minor tweak, but that's about it. In theory, HTML is accessible. In practice, despite decades of advocacy, basic sites fail utterly to be accessible even for basic things because people ignore all of HTML's semantics, they just bolt things together to work for the common sighted able-bodied user and then, _if they are paid enough_, they _might_ just slap on some ARIA attributes to make it vaguely work for people with accessibility tools. If HTML was all the things we wanted it to be, we designed it to be, if reality actually matched the fantasies we tell ourselves in working group meetings, then mobile apps wouldn't be written once for iOS and once for Android and then once again for desktop web, they'd be written once, in HTML, and that's what everyone would use. You wouldn't have an app store, you'd have the web. You wouldn't follow a link on your phone only to have it redirect to a locally-installed non-web application, it would just stay in your browser. Developers are scrambling to get out of the web and into the mobile app stores. The reality is that for all of the work that we've put into HTML, and CSS, and the DOM, it has fundamentally utterly failed to deliver on its promise. It's even worse than that, actually, because all of the things we've built aren't just not doing what we want, they're holding developers back. People build their applications on frameworks that _abstract out_ all the APIs we build for browsers, and _even with those frameworks_ developers are hamstrung by weird limitations of the web. The parts of the web that have actually delivered are the ephemerality and the security model, the indexability (but only for content, not apps), deep linkability, and the platform-independence. We can keep all those, and throw out the decades of legacy that's holding us back, and we will lose nothing, we will only gain as we unleash the kinds of amazing interfaces that developers can build when you give them the raw bedrock APIs that other platforms already give their developers. |
It'd been amazing if people can write <appBar></appBar> and get a consistent appBar that works in different display sizes and comes with accessibility built in; in all browsers. We have done so, in flutter, in iOS, in Android. But why did the browsers never bother? I remember HTML4 feeling dumb and HTML made more sense when I learned about HTML5 proposal. It finally made sense how HTML should progress but then suddenly, after years, everything is still the same?
As for your last paragraph, you mention how web actually delivered in terms of indexability and I'm really disappointed that Flutter (your primary focus right now I assume) is not prioritizing this. Flutter is amazing but it really needs to deliver what web delivered and them some.