Hacker News new | ask | show | jobs
by fgonzag 2631 days ago
I wish they've would have gone with Firefox's Quantum, in order to try and at least balance out web market shares.

MSFT no longer has any leverage in the web, so trying to keep it fair and accessible (no browser monopolies) should be a priority for them (especially since they have quite a few web platforms like office 365)

4 comments

Agreed. Browser diversity might be a pain for developers, but concentrating 2 of the 4 dominant end-user computing platforms on the same browser engine doesn't sound like a positive step for users [0]. Particularly when the engine in question is developed and maintained by one of two primary surveillance tech firms on the planet.

Perhaps I'm too jaded, but there's an unmistakable smell of the fishy about this. Dominant mobile + dominant desktop OS vendors decide to cosy up together...

I never thought I'd see the day that I mourned IE's decline having lived through the zenith of its hegemony. Like parent, I similarly would much rather have seen MS link up with Firefox for the sake of diversity. Perhaps that's too fanciful.

Perhaps a more interesting pairing would be Apple and Firefox, given that both are increasingly playing the pro-privacy card...

[0] I'm not counting Safari since WebKit and Blink diverged some time ago afaik.

Apple will likely stick to Safari based on their Webkit fork. Look at their stewardship of coreutils and the graphics stack on MacOS, its plain to see that they just don't care if MacOS is 5+ years behind the curve on features and performance if its not hurting battety life for most users.

Gaming on MacOS has become a much more limited experience than on Linux (blame Valve for this) or Windows. Apple wields a big stick with each of these choices, kneecaping HTML5 PWAs, pushing forward their own graphics stack (hence the crap OpenGL support and lack of Mantle support)

I think the blame for the insignificance of macOS as a gaming platform chiefly lies on Apple's shoulders and their staunch refusal in creating adequately powered desktops at reasonable price points. As long as the majority of Macs are laptops with Intel iGPUs porting anything more graphically complex than Dota 2 is pointless. I think there are more people with custom <$900 builds with decent mid-tier AMD or NVIDIA GPUs than people with extremely expensive Macs with Vega or RX580 cards.
I do not agree Valve should be to blame if Apple decided that gaming wasn't important for them. I am the first one to say when they do amazing things but the reality is that gaming never was/is a priority for Apple. Take a look at the history of OpenGL on macOS and it will become obvious that the only reason Linux today has a better support for games than Apple is Apple's fault only.

I truly wish it was different.

I was blaming Valve for making gaming on Linux have such a broad library of titles. They've made Wine very easy to use, to the point that users barely know that it isn't a Linux native game.
So you meant 'Thank valve for this'? :)
Yep, WebKit and Blink are very different not least because of their different JS engines. Lots of developers have trouble targeting safari, whereas chrome is a breeze.
From a health-of-the-web point of view, it absolutely makes sense to go with Gecko.

But from a business point-of-view, there's two opposing sides: going with Gecko devalues your browser on mobile (where WebKit & Blink effectively form a duopoly, and there's still enough content that relies on non-standard (pre-fork) behaviour that it causes problems for Gecko), though going with Gecko would increase their leverage against Google.

There were certainly a fair few of us at Opera when the decision there was made to move to WebKit who argued for Gecko, but that decision was very much made on the basis of growing web compat problems on mobile (given WebKit had >90% marketshare there) and going with Gecko wouldn't solve that, and that situation hasn't really changed (well, the WebKit/Blink fork has improved things somewhat for new features, but that's about it).

From a technical perspective it makes zero sence to go with Gecko, given that it's 1. much harder to embed (there's a reason everyone's going with webkit/blink) and 2. with servo around the corner, a gecko EOL is expected at some point.
It being harder to embed is definitely true, but there's increasingly will within Mozilla to change that, and if someone (e.g. MS) was willing to step up and help provide engineering resources to make it possible it's definitely doable. GeckoView is slowly changing this on mobile, and resultantly something for desktop is easier than it was five years ago.

Servo isn't replacing Gecko, though. There's nowhere near the level of resources being put into Servo for it ever to become a viable browser engine, and there's no sign that Mozilla are moving in that direction. They're still very much using Servo to experiment with new things (WebRender, parallel layout, etc.), but the approach is clearly moving modules from Servo into Gecko if/when they become production-ready. As such, Gecko isn't going anywhere, even if parts of it are getting rewritten/replaced (and that's no different to Blink!).

Servo is a research project to build a fast browser, ignoring older web standards. Project Quantum is Mozilla cleaning up those components from Servo (adding support for older standards) and migrating them into Firefox.

For refactoring a massive codebase, Project Quantum seems totally reasonable rather reasonable versus a total rewrite.

Point #1 is getting less true with GeckoView (at least on mobile), and point #2 is unlikely. Like most tech products that have a large number of users, a transition plan for Firefox would necessarily involve gradual changes (which are arguably already taking place with Quantum), which an embedder could ride.
There is no plan to EOL Gecko.
I was actually gunning for them to continue with edge, and hoping that they'd finally make it cross platform. That they are trying out a drop in compatible nodejs using their js (chakra) was really appealing too. [0]

Ironically, it was one of the few technologies coming from ms that I was interested in.

[0] https://github.com/nodejs/node-chakracore

I hope Apple would turn away from webkit and invested into firefox. They're both privacy focused so it seems like a logical choice.
Why would they do that when they essentially control an entire browser engine?
Because their browser engine sucks, people just use it on mobile (iOS) because they basically have to in order to open any link.

Every full time job I've had I've been issued a MacBook and step 1 of setup was "install Firefox or Chrome".

Safari is one of the few things that truly outright blows about the Apple ecosystem.

Safari is the first thing I launch when I open my Mac and it's the last thing that I quit before shutting it down. If you're looking for battery life and RAM to spare for other applications, use Safari.
Safari is a fantastic browser, actually.

It's as fast as Chrome and Firefox. (Firefox is curiously sluggish on the Mac, even when the latest Quantum improvements.)

Sure, it tends to lag behind when it comes to adopting certain newfangled web technologies, but it supports everything that's important (even web workers now? I think?), and it's super stable.

I use Chrome for web development, though, because of the built-in dev tools. (The tools are pretty gnarly for 2019, but they get the job done, for the most part.)

Because safari will sooner or later become another Edge. Apple doesn't invest enough into safari and now it's a browser which is most behind in terms of technologies.
Apple's Safari investment is focused on features like tracking prevention and anti-fingerprinting. Stuff for users at the expense of developers.
I've seen what happens to web browsers that trail behind the industry in features.

It doesn't matter how nice the privacy features are, when a user encounters web site after web site that doesn't work right in their browser, they eventually each out to a more technical friend that recommends trying browser X. When browser X fixes their problems, they never return.

iPad / iPhone are captive rich markets, where only Safari is available. So companies/devs will keep on testing/supporting for it.
Sadly Apple took the wind out of my all-time favorite browser, Camino, née Chimera, when they started up the WebKit/Safari project by hiring away key people like Dave Hyatt: https://donmelton.com/2013/01/10/safari-is-released-to-the-w...
Stupid question probably... since I haven't had an iPhone for a couple years. Is Safari there still a thing? On my Mac I'm not using Safari at all. Havent opened it a single time since i got my latest MacBook - well I must have to download firefox but I dont remember.

I remember at one point Apple wouldnt allow any other browsers rendering engines on iOS - is that still the case?

Safari is still a thing and still under active development.

All iOS browsers use Safari WebKit under the hood.

iOS apps can use whatever rendering engine they want. The restriction is on JIT -- Apple doesn't allow apps to compile native code on the fly, which modern JavaScript engines like V8 do. The exception is Apple's own JavaScriptCore, which works with WebKit.

In theory you could have Firefox Quantum as a tenderer with JavaScriptCore as the JS engine, but that might be more work than it's worth.

> iOS apps can use whatever rendering engine they want. The restriction is on JIT

Wrong.

> 4.7 HTML5 Games, Bots, etc.

> your app must use WebKit and JavaScript Core to run third party software and should not attempt to extend or expose native platform APIs to third party software

https://developer.apple.com/app-store/review/guidelines/

You're not contradicting me. The section you're quoting is not about this, by the way. You want section 2.5.2:

"Apps should be self-contained in their bundles, and may not read or write data outside the designated container area, nor may they download, install, or execute code which introduces or changes features or functionality of the app, including other apps."

Yeah, but if you read carefully, section 4.7 explicitly says that you must use WebKit and JSC to run third party software. Therefore, you can use your own engine to render your app (see games or Google's Flutter), but you cannot use it to render third-party content (thus making impossible to create a browser)
There is 2.5.6 > Apps that browse the web must use the appropriate WebKit framework and WebKit Javascript.

https://developer.apple.com/app-store/review/guidelines/