Mozilla (Firefox) was our chance for something different. They were ahead of IE once but they watched on and did nothing whilst they had their pockets lined up with Google's money and allowed them (Google) to overtake everyone and now everyone is complaining about it. It even goes back before Chrome was a thing when the Mozilla CEO declared that they could move away from depending on Google's money. [0] Now 14+ years later, they are still unable to do so.
Since then it is only Google (Chrome) and Apple (Safari) again, just like for Android and iOS. All other attempts at stopping them was a complete failure like Firefox OS was and now Mozilla and Firefox are the ones fizzling out of existence as they are unable to make money as the majority of users are running to Chrome, Brave, Edge and Vivaldi.
It is no wonder websites are beginning to not only break on Firefox, but also tell or block users from their web apps to instead use Chrome.
[0] https://web.archive.org/web/20120105090543/https://www.compu...
>Google had a plan called “Project NERA” to turn the web into a walled garden
https://twitter.com/fasterthanlime/status/145205394150468403...
I would also like to see a lightweight native API for DOM queuing ala React.
Layout engines are difficult to write and adapt. Especially adapt as they're so complicated.
I read part of the ORC Solver paper and there is algorithms in that paper for writing a layout engine and there's code on GitHub.
https://github.com/YueJiang-nj/ORCSolver-CHI2020
I would like to adapt this approach but write the code myself but it is obviously a challenging area.
I am yet to write a branch and bound optimisation algorithm. But from my understanding you greedily try a number of rows or columns and try arrange objects preferred width and preferred height into the space available. ORCSolver uses intervals and eliminates attempts that are not viable. ORCSolver uses Z3 for the final step to actually get coordinates when the system has been constrained. I plan to use ORTools.
For simplicity I plan to break up text into letters and try place them all in a flowing horizontal then vertical layout. I can use GetTextExtents of WX widgets to predict size of a rendered letter. It shall be slow but then how else do you begin writing a layout engine? I would need to read TeX or the Art of Computer Programming.
Layout is expensive especially for grid based layouts with flowing. I wonder if website authors could prerender at different resolutions and provide start point sizes and coordinates for speed. Generally everybody reaches the same numbers on everyone's machines and we don't need to try a lot of aborted work to relayout.
I am the author of additive GUIs which is a declarative rendering approach for bootstrap layouts. https://GitHub.com/samsquire/additive-guis It's not really a layout engine but it does layout things according to mutually recursive rules.
Firefox had the IT-sector with them. I think this does a lot for spreading the usage. Even just one IT-guy can probably give Firefox hundreds of users. Now, this is no longer the case and increasingly they have not only just been just as good or worse than chromium but they have gone out and actively angered a lot of their core user base with political things.
It is a fine browser, I haven't said anything else. It is the leadership that is bad. I would definitely be one of their strongest promoters if Brendan Eich were CEO.
But no, they kicked him out for a bs reason and employed a PC-dictator that fires most of the company and gives herself a promotion even though the usage is falling drastically.
Then they post shit like this:
https://blog.mozilla.org/en/mozilla/we-need-more-than-deplat...
https://book.mozillafestival.org/10-years-of-activism-commun...
and fund people like:
https://www.mozillapulse.org/profile/3116
If you consistently support specific political views it's not strange that the people who do not support these views will stop seeking them out and start recommending other browsers, how good Firefox may be doesn't really matter. They have turned Mozilla from a tech company to an activist company and now they will have to reap what they have sowed.
Browser compatibility bugs absolutely exist.
See https://github.com/webcompat/web-bugs/issues for some more examples.
I'd only just posted that the only organisations I see being able to sustain a divergent development effort which could match Google might come from China.
And I don't see that as necessarily, or even at all, benign.
1. Microsoft: MS was never interested (until it was far too late) in having a standards-compliant, performant browser. It was a spoiler move to keep people Windows dependent.
2. Mozilla: I honestly don't understand what Mozilla is doing other than raising top exec pay while Firefox users go down [1]. As best as I can tell, Mozilla is the Yelp in this situation. Yelp has spent over a decade extolling the evils of Google while doing absolutely nothing to improve their product. It's a great way to collect a fatter and fatter paycheck but you're ultimately doomed.
3. Apple: Safari has almost always been bound by its own ecosystem. It's dominant on iOS because you have no other choice (for now; you can install other browsers but they're still the Safari engine basically). A lot of people use it on MacOS. For a brief time there was a Windows port but it died. This doesn't seem like an area that Apple wants to compete in. I mean at the end of the day Safari and Chrome share a common Webkit lineage.
So I see a lot of failure, lack of prioritization, missed opportunities and finger-pointing in this space so is it any wonder that a massive engineering company has been able to dominate this space?
I don't see us repeating the IE6 era however. The Internet is core to Google's business in a way that it never was to Microsoft.
That being said, I think this is one area where government intervention may well be needed sooner rather than later. Google has (and continues to) use their properties to advance Chrome (IMHO) eg [2].
There can be a fine line between advancing the browser space and simply crippling your competitors.
[1]: https://calpaterson.com/mozilla.html
[2]: https://mspoweruser.com/engineer-accuses-google-of-sabotagin...
[1] https://www.schneier.com/blog/archives/2017/01/class_breaks....
Safari definitely does not just follow suit (see https://caniuse.com/?compare=chrome+102,safari+15.5&compareC... for example).
Which was very frustrating given they are both free software :(
1: https://github.com/jitsi/jitsi-meet/issues/4758#issuecomment...
Oh and early on they had URL prefetching, but that led to badly written web interfaces from executing operations that shouldn't happen.
openSUSE has a KDE team, but I'm not sure to what extent they do upstream KDE development. [0] Also, openSUSE does not have a default desktop choice. I don't know where the enterprise offering differs from the community offering in these matters.
[0] https://en.opensuse.org/Portal:KDE
[1] https://en.opensuse.org/openSUSE:Desktop_FAQ#How_to_choose_a...?
>While Android is open, it's more of a "look but don't touch" kind of open. You're allowed to contribute to Android and allowed to use it for little hobbies, but in nearly every area, the deck is stacked against anyone trying to use Android without Google's blessing. The second you try to take Android and do something that Google doesn't approve of, it will bring the world crashing down upon you.
> While WebKit is making progress on PWA support, at the time of this writing, PWAs remain a second-class citizen on iOS. The iOS App Store’s support for PWAs is non-existent, requiring a web view-based solution like PWABuilder’s.
> Additionally, because iOS doesn’t allow 3rd party browser engines, your PWA is limited to WebKit’s PWA capabilities, which are currently lagging behind other browser engines.
Google isn't abandoning PWAs, and in fact Chromium continues expanding support to make them as native as possible:
https://web.dev/window-controls-overlay/
Might I also add that the web app manifest is also an open standard, that Safari is lacking on:
I'm not seeing your more recent statement as consistent with the first, given my own response: "Open source without the option for an alternate development organisation to drive or steer development direction means vey little."
Again: Microsoft's locus of control was not based on source code or standards, but on its control over the PC desktop market. MSIE shipped by default with that desktop, and any other browser, including Chrome, had to find its way to that desktop.
Microsoft has now ceded its own browser engine (Trident, I believe) for Google's (Blink), with Microsoft Edge. As this browser still ships by default with Windows, Chrome owns that platform by default.
Google also controls its own operating systems, Android (mobile and tablets) and ChromeOS (Chromebooks). Given Android's overwhelming numerical advantage in overall devices,[1] Google effecitely have Microsoft's previous leverage mechanism to themselves.
Google as the dominant search provider have an advertising advantage in advocating their browser, both within search and on Google properties with "works best with Chrome" or equivalent.
And again, Google effecitvely dominate both development of Chrome and Chromium, including gatekeeping over what code makes it in to each project, and through its own browser development, dominance within WHATWG, and ranking preferences withing Google Web Search, as well as compatibility favouritism through popular Google properties such as YouTube, Web standards themselves.
Microsoft's monopoly lock-in had a single peg, Google has four (OS, promotion, Chrome development, Web standards).
I do have to admit though, yes: It is a completely different situation. Microsoft's advantage was far weaker than Google's now is.
________________________________
Notes:
1. "As of April 2022, Android, an operating system using the Linux kernel, is the world's most-used operating system when judged by web use. It has 43% of the global market, followed by Windows with 30%, Apple iOS with 17%, macOS with 6%, then (desktop) Linux at 0.98% also using the Linux kernel." https://en.wikipedia.org/wiki/Usage_share_of_operating_syste...
My point was merely that Chromium being open source changes the equation pretty fundamentally compared to the IE situation
For users, IE6 was an era of unrivaled simplicity where the essential hypertext purpose was already fulfilled. Trident (its layout engine) wasn't great but it got the job done. And that same era spawned alternative browsers around that engine, the same way we have Chromium derivatives today, where the real innovation happened. Tabs, ad/popup blocking, easy per-site searching, auto-cookie cleaning, etc. were all present in browsers like NetCaptor (https://en.wikipedia.org/wiki/NetCaptor) or Maxthon (https://en.wikipedia.org/wiki/Maxthon), which all used IE. Nobody had to worry about "will this page work in my browser".
For devs, IE6 was the closest thing to a real standard the Web ever saw... more than at any time before or since. Its monopoly created a much stronger de facto web standard than anything the W3C has tried to coerce or the WHATWG has tried to suggest. It allowed innovation around a common web layout, in terms of browser features, instead of overloading the DOM with flashy interactives that nobody asked for.
Then ActiveX came and went, competed with Java applets, Flash took over, Firefox and Webkit started taking off, Javascript got more powerful... and Microsoft's beautiful walled garden collapsed. What do we have to show for it, two decades later? Slower pages with unnecessary complexity, written in transpiled languages ten layers deep, with a UX more focused on dark patterns than getting to the point. What's your typical complex web app... Gmail? It's good, sure, but in replacing Eudora, we ended up with the messiest, jankiest, hackiest ecosystem in the history of consumer computing.
It was really too bad Microsoft was the one who got away with IE6's monopoly. If it had been a proper browser vendor who took (and maintained) control from the early days, the web would be a much cleaner ecosystem, like the walled garden app stores we have today.
Even today, we're back in the same situation with on iOS, where every browser is just WebKit underneath. iOS web browsing is thus a lot cleaner than than crapfest on Android, where every browser ships their own renderer and no two cheap Android phones ever render the same website the same way.
<old man yells at cloud>Frankly, I'm just not sure it's worth it? Twenty years of web dev later, and honestly I think it's just gotten worse. Most people still just want to look up restaurant hours or send a message to their friends or whatever. The rest is crust.</old man rant>
https://blog.pwabuilder.com/posts/publish-your-pwa-to-the-io...
> PWAs remain a second-class citizen on iOS
> PWABuilder doesn’t guarantee that your app will be accepted into Apple’s App Store.
> In 2019, Apple released new guidelines for HTML5 apps in the App Store
2019 isn't close to a decade.
Anyone who writes a compiler or engine for WebAssembly is going to have to deal with the mess of web standards, unfortunately.
Safari and iOS mobile are the main outliers. Firefox is a little behind too, but few people use that anymore.
Chromium/Blink development is what actively drives the web forward, with everyone else playing catchup. Apple just doesn't care about that (or is perhaps purposely trying to slow it down) in favor of their own priorities and platforms.