The web has covered the basics — that’s why it’ll get harder from now

(Thinking out loud while on the train. If this post seems a bit stream-of-consciousness that’s because it is.)

It’s hard to get a picture of where the web is at as a platform just by randomly browsing Can I Use or following blog discussions.

But given how frequently both Google and Apple (like in the posts I linked to and commented on yesterday) are being compared to Microsoft it’s clear that something’s up.

The standardisation process has always been fraught with difficulties and tensions but I think it’s clear that the various tech behemoths that influence standardisation are finding less and less common ground and time passes.

If you’ll let me caricature the various companies’s attitudes a bit:

Google wants apps that look and work identically across Android, iOS, and web browsers and it wants them all to work like Android apps. Moreover, its various transpilers and cross-compilers indicate a desire for these apps to share a considerable amount of code and architecture.

Facebook, as evidenced by its React project and other opensource code, wants apps to share an architecture but not UI (i.e. do what’s the best UX for the platform).

Apple seems to like things like CSS Shapes and Regions and other design-oriented features but little interest in implementing app-related features. (Although, oddly enough, they don’t support OpenType font-feature-settings.)

Mozilla wants ‘webby things for the web’: APIs that conform to the principles and architecture of the web. (Google, in contrast, seems less fussed about that.) But they’re also eager to turn the web into a truly universal platform.

Opera seems to have ceded all strategic direction to Google.

And Microsoft… Microsoft’s seeming goals actually look well aligned with Mozilla’s goals, for good reason. They are both minority platforms locked out of the big platforms of the day: Android and iOS.

These companies want different things from the web and once you’ve covered the basics, agreeing on a common, standardised approach to things like app architecture, UIs, and UX is going to be progressively more difficult.

Once you’ve gotten these companies to agree on basic APIs like Files, Cryptography, basic CSS design and layout features, Audio, and such standardising the rest is going to be harder because there is no one true solution to higher level platform problems like what architecture is best for any given app.

I don’t mind that, personally. I like the tactic that Facebook has been using of building on top of what’s available, transpiling from upcoming standards where available, and creating an architecture that seems to be a fairly sensible one, but I also like the fact that we aren’t all forced into the architecture they’ve chosen. Once you get up to the level of app architectures, standardisation becomes less and less desirable because architectures vary.

And that’s without getting into the discussion of whether apps and their architectures are relevant to the web in the first place. As I wrote yesterday, we can get very far just by using hypertext, forms, and progressive enhancement.

What worries me more is the general question of quality. Apple’s issues with the quality of iOS8 and Yosemite have been much discussed (for good reason, they are substantially more buggy than their predecessors in my experience). But both Chrome and Firefox have their own quality and reliability issues as well that never seem to quite go away.

What hope do we have for standardising complex new app architectures when we don’t seem to be able to reliably implement the foundation they’re built on?

Curious minds want to know.