
Mozilla and Microsoft are rebuilding their browsers’ foundations - djug
https://arstechnica.com/information-technology/2017/04/mozilla-microsoft-rebuilding-their-browsers-foundations-without-anyone-noticing/
======
anilgulecha
That's the cool thing about open standards.

As long as individual pieces are to spec, it's completely ok to rewrite
modules and components from the ground: People rely on the standard, and not
the app.

~~~
ibotty
Intra-browser-communication does not often follow a spec though. Of course,
replacing a parser (for video formats, or css) is easier because of standards,
but how to composite parts of an html site? That's not covered by standards.

~~~
kibwen
Is there an argument that it should be?

------
protomyth
I'm pretty sure having plugins no longer working going forward is quite
noticeable.

~~~
NiLSPACE
Add-ons will still work, but only the new WebExtensions. In Firefox 57 XUL
extensions will stop working so Mozilla can finally start doing work on the
internals of Firefox. Plugins like Java applets and Silverlight stopped
working in Firefox 52 (not the ESR)

~~~
maxxxxx
I wonder if they are driving people away by disabling things that worked for
years. At work I have to use Java and Silverlight. In addition our IT
department doesn't seem to be able to keep their certificates up to date. With
chrome and Firefox being so strict they are almost unusable so I am using IE.
In theory this should pressure suppliers to get rid of Java and our IT
department should have better certificates but in practice I don't see this
happening.

~~~
NiLSPACE
I see people on Reddit saying they'll leave to Chrome if XUL extensions will
no longer work since Chrome would be faster than Firefox, but I don't think
they understand that Mozilla is removing XUL extensions so that they can
finally make Firefox faster again. And even if this wasn't the case Firefox is
still way more customizable than Chrome.

I think that as more and more websites will move away from Java and
Silverlight I expect that other companies will be forced to do the same as the
customers will keep having less reasons to keep a browser with those plugins
supported.

~~~
Karunamon
That's the boat I'm in.

Firefox's literal only advantage over Chrome is its extensibility, and that
baby is being thrown out with the XUL bathwater. It's slower than Chrome, it's
less secure than Chrome, and since Mozilla seems hellbent on turning Firefox
into Chrome, I might as well just bite the bullet, use Chrome and save myself
the headache.

The only other advantages I can see are philosophical, rather than practical,
but given their history of shoving irrelevant shit into the default install
and ignoring any and all user pushback to their decisions (the "we're forcing
addon signing" comment section was _unanimously_ negative), I'm not sure
that's worth much either. If I want to use a browser where my input on
features and so forth is discarded, again, I might as well use Chrome and gain
some speed and security while I'm at it.

I ask this question in complete sincerity: Why would I want to use Firefox?

~~~
callahad
We're not breaking legacy add-ons for shits and giggles, or in some misguided
attempt at "turning Firefox into Chrome." We're breaking them so we can
finally land the architectural changes necessary to make Firefox competitive
on speed and security, _and_ we're committed to remaining more extensible than
other mainstream browsers. The Containers API that landed in Firefox 53 this
week is a great example of that.

I'm not going to shed a tear over Classic Theme Restorer or DownThemAll if
their loss means a faster, more secure, and _still_ more extensible browser
than Chrome.

~~~
Karunamon
Mozilla has been committed to a lot of things. "The only browser built for
people". "Freedom is personal".

Apparently, "people first" and "freedom" means "You can only install what we
okay" (signing crap).

It also means "we will load the browser with utterly irrelevant add-ons
whether or not you want them".

Apparently, "individuals can shape their own experience" means "we will
outright prevent you from visiting sites configured a certain way" (see the
dupe SSL cert handling bug that's been languishing for nearly a decade)

It also means "all that stuff you spent a decade getting used to gets thrown
out, so sorry".

Mozilla, for all their talk of high-minded user-first ideals, sure doesn't
treat their users like their time is valuable or their tasks are important.
Perhaps I'd find this merely odious, rather than outright offensive if your
company didn't continually talk like they wanted to be different and then
behave in _literally the opposite way_.

Call this post gratuitously negative if you want to, but every time I give
Firefox another try, I find another slap in the face. At least I know where I
stand with Chrome.

------
dblohm7
A reminder that Quantum is the name of the project, not the engine. The result
of Quantum is still Gecko.

------
kibwen
What's this about a new Firefox UI? I'm on nightly (55) and it's still
Australis for me.

~~~
kyoji
I believe its referring to the compact theme(s) that have been a part of
nightly (and developer edition) for a long time.

~~~
dblohm7
Nope, they're referring to a new UI called Photon.

------
red023
Can someone explain to me in a few words what exactly from servo is already in
Firefox and how quantum is related to servo exactly? Some CSS processing is
already in Firefox I think. But the main thing of servo is the rendering
right? That seems to be pretty far away from ready.

~~~
metajack
Quantum is the name of the new web engine for Firefox. It started landing in
the current release, and will land piece by piece over the next several
releases. Servo is related because several of the big parts of this new engine
are taken directly from Servo.

I don't know that any Servo code is shipping today, but a few little things
will happen like the url parser.

The first big pieces will be the style system (Quantum Style or Stylo) and
WebRender (Quantum Render), in that order. Once the style system is done, it
probably makes sense to figure out how to get Servo's layout engine into
Quantum, although that is a larger project since it requires us to implement a
few large bits of layout that aren't done in Servo yet.

There's a lot of main things in Servo, but if we had style, layout, and
WebRender, that would be a sizeable chunk. Our DOM engine and basic
architecture is also pretty interesting, but it's unclear how to move that
over incrementally.

~~~
Manishearth
Adding more info on what's shipping:

Quantum Compositor (an architectural improvement written in C++) just shipped.

Quantum Render/Webrender (Servo's pure rust renderer that uses the GPU a lot)
is in nightly, off by default (there's an about:config prefer, though it may
not work depending on your drivers. about:support has more info). The current
version of quantum render actually kind of renders twice -- first using
webrender and then the regular one to fill in the missing bits. So don't
expect it to be fast just yet.

Quantum Style (Stylo), servo's pure rust styling system, can be enabled at
build time. We're discussing making it a preference in nightly, there are a
couple of blockers for that.

The Rust URL parser (rust-url) can be enabled via network.standard-url.enable-
rust. This will parse URLs using both rust-url and the regular parser, and
complain about differences. I believe it's on by default in nightly and
Aurora. It will fall back to the result of the regular parser if there is a
difference, though there's a build time option to disable this. There are
still some discrepancies which need fixing (most of them are actually gecko
side bugs, we've fixed most if not all of the rust-url side spec issues), and
this project is on the back burner for a bit since I'm busy with Stylo, but I
hope to get back to pushing this soon!

On nightly, regardless of prefs, IPV6 URLs will always be serialized using
rust-url. There were some spec bugs in geckos implementation and we decided to
just use the rust stuff since we had bindings for it already. This landed a
month ago, and should be in the Firefox 55 release in august.

The MP4 metadata parser in rust has been in Firefox releases for a while now.

------
psyc
From the ground up, hey? Are they going to include an actual proper modern
execution environment, or even one that would have been proper in the 1970's?

~~~
jononor
WebAssembly you mean?

~~~
psyc
Yup.

------
Kenji
I love how everywhere on the internet, the Edge DOM upgrade is portrayed as
something great and novel when really it's computer science 101, making a
proper tree structure - something that should have been done at least a decade
ago, and has probably been done back then by all major browsers except IE.

~~~
Strom
Don't be ridiculous, Chrome didn't even exist a decade ago.

~~~
Kenji
I didn't say Chrome existed back then, you pedant.

~~~
Strom
You implied it, especially by talking about _all major browsers except IE_.
There weren't multiple major borwsers besides IE a decade ago, there was only
firefox with 20% market share.

~~~
Kenji
You probably missed the _back then_ just before the part you quoted. So, the
_all major browsers_ is modified by the indication of time I had given two
words before it. I feel like two pedants meeting each other is like an
unstoppable force meeting an immovable object.

~~~
mwfunk
Pedantry is Computer Science 101, it's literally just saying the words that
describe the thing that you're trying to communicate (not unlike programming
languages). It's trivially easy! :)

