This is how I would like to have seen ChromeOS being implemented, a fresh revisit of the Smalltalk experience but using Dart instead.
Instead they created a browser window manager.
This is how I would like to have seen ChromeOS being implemented, a fresh revisit of the Smalltalk experience but using Dart instead.
Instead they created a browser window manager.
"Smalltalk Revisited" doesn't solve any problems per-se, and would be firmly stuck in the chicken and egg corner that produced way too many stillborn projects in IT.
So, Chrome OS implementing Dart might have been interesting, but on the other hand, as soon as there was talk about adding Dart to the web platform, there were all those rants about "Google is monopolizing the web!!!!11". I guess it's hard to please everyone.
(disclosure: I'm on the Chrome OS firmware team. Although while "Chrome", there's definitely no Javascript or Flutter involved. My team's code needs to run in the absence of arbitrary amounts of RAM [edit-to-add: which means I have no stake in the game of which language has a hipster-compatible garbage collector])
When they try to sell them, it is a single model on a corner of the shop with increasing discounts until someone finally takes it away, or they return the unit back.
So from European point of view those "lots of useful tools to solve problems with the computer, based on a wide ecosystem." are nowhere to be seen.
> My team's code needs to run in the absence of arbitrary amounts of RAM
Chrome's memory usage on the process system monitor shows a different reality about that code.
> So from European point of view those "lots of useful tools to solve problems with the computer, based on a wide ecosystem." are nowhere to be seen.
These "useful tools" are web sites (and web apps). By providing excellent support for these, the devices are immediately useful. Much better than hoping that another ecosystem like Android's can be jumpstarted.
The average user buys a (hypothetical) Dartbook: Looks for some Dart app. Gets frustrated by the lack of choice. Returns the device.
The average user buys a Chromebook: Browses their favorite websites (and face it: 90% of contemporary computer use is _just_ _that_). Reasonably happy customer (unless they insist on installing "TuneUp Utilities" because they always do that).
That's what I meant with the availability of lots of useful tools to solve problems with the computer (in that case, a Chromebook), repurposing a wide ecosystem (the entire web, basically).
From your other comments on this site (eg about the Atom editor), you seem to be fundamentally opposed to html/js as a platform and with that sentiment, Chromebooks must look anathema to you. Alright, that's one position to take. But what use would be a Dartbook to you? You'd probably complain (with full reason!) about its inability to run emacs just the same.
Web browser app....
> The average user buys a Chromebook:
And returns it back after discovering it cannot install his/her favorute software and requires a permanent internet connection to make anything useful with the device.
> The average user buys a (hypothetical) Dartbook: Looks for some Dart app. Gets frustrated by the lack of choice. Returns the device.
The return rate of those devices running Android is quite big apparently.
> But what use would be a Dartbook to you?
The same as my tablet and mobile phone running Android.
The battery life is wonderful for that price bracket (~8-10 hours, <300€). I used crouton for a few month, which enabled me to install Ubuntu 14.04 in dual-boot. you could switch between ChromeOS and the chosen Linux window manager (i first used unity but switched to i3wm eventually).
At some point, i removed it again because I hardly used the Linux environment anymore. There a pretty fine text editors as offline chrome-extensions available (i.e. Caret) and that was the only two use-cases I had for the laptop... browsing the internet and making text notes.
BTW, a lot of webapps, or "Web browser app" as you call them, have offline support. So no, you don't need an internet connection to use them.
What I love is being able to do cloud development (Linux) on a commercial laptop.
I wish Google would push this harder as a great dev solution. My biggest gripe is small storage on most CBs. Plus no sdcard access from containers on the R11. Also all Android runs in same container.
I have bought Chromebooks for my employees. They can access business resources without me having to worry about them getting hacked and leaking proprietary information and passwords to production systems. Chromebooks are cheap, unsexy, and can't run fancy games. These are all pluses.
Chromebooks are the 3270 of the present day. They're for the average customer service representative, not for the home user.
Very different reality in the US. My local best buy and Target have at least 4 high end chrome books each for sale.
> Chrome's memory usage on the process system monitor shows a different reality about that code.
?? I'm a bit confused by this, his team writes chrome os firmware code, nothing to do with the browser.
That's a sad reality of Google products that aren't free ("monetized through ads" if you prefer) web services: Unless you're in the US, they might as well not exist.
It's just impossible to sign up for them legitimately (ie. without using a VPN, US credit card and a forwarding mail address in the US.)
Personally I think that a plethora of the "paid" Google products (including Chromebooks!) could do pretty well in Europe if given the chance, but for reasons good or bad they never get the chance to prove themselves in the market in the first place.
> When they try to sell them, it is a single model on a corner of the shop with increasing discounts
Nevertheless, _when_ they are available, they're doing a bit better than you describe it: https://geizhals.de/?phist=1461289 https://geizhals.de/?phist=1483242 https://geizhals.de/?phist=1564920 https://geizhals.de/?phist=1378869 https://geizhals.de/?phist=1439976 are a sample of devices for the German market (limited the search to the set of devices with a DE keyboard to avoid imported models, whose prices fluctuate wildly and aren't what people typically consider regular market availability), both low-end and high-end, and the development of those price indexes looks pretty normal for notebooks.
> Chrome's memory usage on the process system monitor shows a different reality about that code.
"Chrome OS firmware team". My team's code doesn't ever show up on the process system monitor.
I am describing computer stores where people walk into, not online stores.
> "Chrome OS firmware team". My team's code doesn't ever show up on the process system monitor.
So, nothing that would have a major impact on using a more productive operating system, and wouldn't forbid the use Dart instead of the JavaScript/HTML/CSS triumvirate.
There are two major issues that make them a worse source for data points on hardware popularity than online stores:
1. Availability: it's hard to get the numbers in an aggregate form, while I just skimmed a search engine for 5 minutes.
2. Shelf space: brick and mortar stores can only ship 2 devices of a small set of major OEMs. With such constraints, they'll limit themselves to what they belive will be block busters in their (brick&mortar) market, creating a reinforcing loop.
Before the iPhone (say 2003), many stores didn't even carry Apple computers because they were "niche" and incapable of running Magix Video Deluxe.
It's too expensive to keep "one of everything" around when you pay $$$ for every square meter of shop space. That's a market distortion, not a hyper-realistic representation of customer intent.
Hopefully it will be something like that, a nice micro-kernel OS, using a mix of C++/Rust and Dart.
But given how Google projects go, it might just be canceled or pivot into something else, e.g. Brillo vs Android Things.
I see that C++, some C, go, rust, python, yes dart and possibly other languages are being used. First I was thinking this is crazy, but then I'm reminded of how much each modern Operating System is more or less "C" based, where any non-C language has to make bindings, ffi connections, etc. to get to the low-level.
Instead, use something like mojo (called fidl), which is like protobuf, but only for IPC - e.g. much more lightweight (but doesn't support endianess handling), and use it for communication between the systems. Make fidl generate bindings for each languages, and wire everything together with it.
(mojo to my knowledge is what the chrome browser uses to communicate with it's isolated instances).