While I appreciate Mozilla's recent exploits like the IoT Gateway (https://iot.mozilla.org/gateway/), they should have put all their non-thunderbird non-firefox effort into FirefoxOS, it was a strategic bet.
Also I want to point out that rendering and performance of web UIs could be good on phone hardware, the native implementations just have to want that to be the case. I honestly haven't thought about it deeply, but I also haven't seen a compelling case for why android/iOS's specific markup languages naturally render faster than something that was HTML based -- android/iOS just have subsets of the power HTML offers and that's where the savings is.
[EDIT] - I got what you mean about bringing Android-to-ChromeOS, so removed the section asking for clarification
So that raises the question why Google, the king of the web, wouldn't want it.
Mozilla seems to do the most work trying to move the web as a platform forward.
Flutter is a system that would be impossible to create or fund unless you were at google scale, because it's massively wasteful as an idea -- it's literally a complete rendering engine and widget system built from relative scratch. It offers more flexibility than adhering to any other established UI standard, so I'm not surprised it made sense for them -- surely they can move faster with Flutter than they can by trying to support all of HTML.
There is a cost to using established standards and being held accountable to outside forces, Google just chose not to pay that tax here, which is well within their rights.
No one derives more power and money from the web than Google, and therefore they have a vested interest in keeping the web at competitive levels of performance compared to native platforms.
So if neither Google nor Mozilla can make web rendering as fast as Flutter, then I suspect that there is an inherent technical reason for that and not just lack of want.
If I am not mistaken it was Timothy Jordan that explained it on an interview.
So Google, the company pushing Web UIs, including PWAs in collaboration with Microsoft, still thinks they aren't worthwhile to be the default stack on their devices.
Apple and Microsoft also have UI stacks where JavaScript has first class support (TVML and UWP) and like Flutter, completely dropped the DOM.
Also, since when was Google "the" company pushing web UIs forward? Mozilla is that company in my mind -- remember the time when they made a whole mobile operating system based on it, and at the same time tried to push forwards for various parts along (WebBluetooth, other APIs)? That's what investing in the web as a platform looks like. Flutter is successful, but not in a way that plays nicely with anything else -- if you want to push a platform forward or encourage growth, doing things that play nicely with others even if they're less convenient for you is the way to go.
I'd love to be enlightened to what you think is the problem with DOM in particular that makes it not the right model -- TVML and UWP dropped the DOM, but basically replaced them with their own walled-garden re-implementations of basically the same concept. A quick look at the documentation for both and pages like collectionList[0] in TVML and the Getting Started page for UWP[1] look just like shitty HTML.
Ultimately, I can see why they would invent their own UI languages, because it means they don't have an external standard to comply with and can move pretty quickly. I think this is the major reason, not that those other markup languages they created are magically better than HTML's standard. Again, I think this is less of an indictment of HTML than it is companies trying to move as fast as they can without care for interop -- great for them, but probably bad for developers who have to learn all their little languages that are re-creations of an established standard.
[0]: https://developer.apple.com/documentation/tvml/layout_elemen...
[1]: https://docs.microsoft.com/en-us/windows/uwp/get-started/con...
Since they introduced JIT compilers for JavaScript, keep spending money pushing forward an operating system that is basically a browser juggler and introduced PNaCL.
> I'd love to be enlightened to what you think is the problem with DOM in particular that makes it not the right model
Rendering performance.
The way DOM semantic works is no match for a composition engine designed from the bottom up for accelerated graphics UI.
DOM is for displaying documents not interactive graphics.
This is also the main reason why Flutter team dropped DOM, at they were hitting the border of what was possible while keeping DOM semantics.
Also why Houdini project exists, but it is far from ever reaching the browsers.
I even added SSH, nginx, and ran a webserver off it.
I'm hoping for KDE Connect to come through. I want seemless integration from a mobile device to a desktop.
A girl can dream
Someone posted these up and comers today that look somewhat polished now (versus when I've looked at them in the past):
- Ubuntu Touch[0] seemed like vaporware years ago but seems to be making progress
- Purism is making the Librem phone[1] and it's running F/OSS linux (debian?) underneath, and for some reason they're building their own thing, but it might be awesome as well.
I just want someone to hurry up and add some competition to the landscape already.
But yes, it's a matter of convenience mostly.
The only strike against FFOS as a platform that you mentioned was speed, and I acknowledge that web-based apps do render slower than native ones 99% of the time. The parser/execution system that handles HTML/CSS/JS is almost guaranteed to be slower than one that can handle a more limited subset (there's just less to do).
That said, speed seems like a red herring though -- just how fast do you need your banking application to be? Is the half-second you had to wait longer to see your balance really the mission-critical feature? I get that rendering speed is important, but there are lots of bloated native apps that don't render as fast as possible either.
That was the story of the Ubuntu Phone.
At least in the US the people sort of own the airwaves, maybe we can push for our government to enforce open protocols for connecting to cell networks?
- OpenMoko (2006)
- Symbian (2009)
- MeeGo (2010)
- Mer (2011)
- Jolla (2011)
- Tizen (2012)
- Ubuntu Touch (2013)
- Firefox OS (2013)
- Web OS (2013)
So it is a bit more than just lack of marketing.
- Maemo: open middleware, closed many applications and some drivers
- OpenMoko: closed drivers
- Symbian: was it ever libre?
- Meego: same as Maemo
- Mer: this is actually open AFAIK, but no native devices I know of
- Jolla: Android kernel (closed drivers), closed applications
- Tizen: ?
- Ubuntu Touch: Android kernel
- Firefox OS: Android kernel
- Web OS: ?
Only a couple of the above really matter in this light.