Alan Kay answers: Should web browsers have stuck to being document viewers?
quora.com
quora.com
I think the Electron/ChromeOS/FirefoxOS/WebOS/Early iOS model is us finally recognizing that we've made some levels redundant and are now collapsing the stack (browser/native OS). It's slow, it's ugly, but we're getting there.
I think Google were smarter than all of us. They hired all these (often very young, smart but inexperienced) standards people they could find, and set them to work on making the browser the new OS.
To me, the interesting development was that we as an industry rushed to native (ObjC) on iOS so quickly once it was available only to later return to web technologies with Electron and friends, but there were reasonable technical arguments for that at the time so it's hard for me to say that anyone was an idiot. Web technologies in the 00s were... not good.
So, to the plan to dominate the web was there already around 2007-2008 or or so, all while hiring lot and lots of very talented C++ developers (probably like 3k of them working on chrome by now, I haven't kept up the past five years).
Together they built the monopoly/duopoly that is called Chrome. It's built on open standards, but enforced by an ever growing complexity.
That web technologies actually became wildly popular for native-style apps probably owes more to the diversification of platforms and difficulty of writing native apps for all of them, otherwise it would have become yet another platform that no one writes apps for. I don't know if Google could or did predict that.
Java? Flash? NaCl? Somehow JS+HTML+CSS beat them all.
This feels like the truest web, what I want to see. I'm not sure how much the browser needs to do the work, and how much it is the role of pages themselves to encapsulate & orchestrate multiple dispirate web entities- not just for their own service, but amid other services too, using their entities as well.
anyhow, here's to hoping that in this decade we get a lot of good skills & experience making web components richer better entities on the web.
> At the time of the WWW’s inception [...] made several recommendations [...]
> Apple’s Hypercard was a terrific and highly successful end-user authoring system whose media was scripted, WYSIWYG, and “symmetric” (in the sense that the “reader” could turn around and “author” in the same high-level terms and forms). It should be the start of — and the guide for — the “User Experience” of encountering and dealing with web content.
> The underlying system for a browser should not be that of an “app” but of an Operating System whose job would be to protectively and safely run encapsulated systems (i.e. “real objects”) gotten from the web. It should be the way that web content could be open-ended, and not tied to functional subsets in the browser.
[...]
> The second recommendation was to reinforce the idea that the content to be run within the system had to be as free from the tools of the OS as absolutely possible (because special needs often require special designs etc). An example, was that the content needed to be able to generate its own graphics if necessary (even if the OS supplied some graphics tools). The more the content wanted to go its own way, the more its presentation to the users had to be made to conform to the standards in (1). As with any decent OS, it has to allow for new ideas while also providing the resources for safety, efficiency, and to manifest user experiences.
The problem of packaging portable User Experiences was partially dealt with by the JVM.
Now we’ve done it all again with JavaScript and Web Assembly (albeit lower level)
I’m not sure that where we ended up is all that bad but I can’t shake the feeling it could have been a lot better.
It's hard to imagine developing in Smalltalk and then developing in ChromeOS. sigh