Hacker News new | ask | show | jobs
by st3fan 3875 days ago
We are a real and unique browser. Not a Safari skin.

There is no such thing as a Safari skin. Instead we use a low level component called the WKWebView, which is a bare-bones minimal API to 'show web pages'. On top of that we have built a browser.

This is exactly what Apple has done with Safari.

The only common component between Firefox and Safari is the WKWebView. Everything on top of that, like the UI, bookmark management, history, sync is unique and implement in different ways by each browser.

Regarding JIT .. the WKWebView exposes the same fast JIT as Safari uses. Run a benchmark. We are as fast as Safari or any other app that uses the WKWebView underneath.

2 comments

Yes as of a few releases ago (but not originally) iOS allows JIT for WKWebView.

But no, the result of a bit of chrome (historical name for browser controls) around a WKWebView is indeed just a Safari skin. The renderer is not some minor detail like how tcp connections are made, it's practically the whole thing! It handles the http/https/websocket connections, the html, css, js, html5 video and audio, canvas, webgl, webrtc (or lack thereof), pointer events, everything that matters.

- user of firefox on linux and on android, who never "signs in" to his browser chrome, or saves passwords in the browser, or other ill-advised but marketer-loved things

- also developer working on a webrtc application, who has had to explain to users "Chrome on iOS isn't actually Chrome, sorry"

> The renderer is not some minor detail like how tcp connections are made, it's practically the whole thing!

It's totally not.

All the things you list are just components of "showing a web page in this rectangle". That is akin to "how tcp conections are made". The renderer used to be hugely important because many renderers didn't work at all for some sites and features, or were massively slow. That's still true to an extent and why the renderer is still an important point.

But the browser itself is more about application features (and maybe cloud features).

How do you manage windows? How do you manage 10 tabs, or 250 tabs? How does it store your passwords and how do they sync across devices? Can you pull out your phone and easily jump to a web page open on your desktop back at the office? Does the browser crash a lot? Can the browser remember your font zoom settings for each site you visit? Can you override preferences for certain websites conveniently? How can you visualize the current set of websites you are on, or this history of sites you have visited. Can you easily restore a bookmark set of twenty websites? If so, does it restore your window sizes, positions, and tab order? Can you easily identify which window/tab is making annoying sounds? Does it have a 1Password extension? Does it override standard OS features like Print (to PDF) with its own lame-ass UI for the same thing (lookin' at you Chrome)? When you copy text, is it smart about putting the different representations of the copied data on the clipboard so it works optimally whatever app you are then paste into? Does it let you have different profiles to keep e.g. your work cookies separate from your pr0n cookies? Speaking of cookies, how easy is it to inspect and deal with them? How does its extension mechansim work, and what is its defense story against the installer-malware that comes with e.g. Java? Is it fast to launch? Can you easily re-open closed tabs and windows? If so, do they retain their state and Back/Forward history? Can you easily customize things like font and zoom and override bogus sites? Does it have an ad-stripping "reading" mode or does it need an extension? Etc.

In modern times, those things are a lot more important to me than the renderer (unless the renderer is broken).

I love how you're talking about the process from a user point of view. This is truly a difficult time for Mozilla. The rise of iOS means that independent renderers have not as much of a voice as they could have. It is scary because a user will maybe rely on features that exist on Firefox on another os might not work on Firefox on iOS.

The renderer is still very critical for developers. We don't really have a browser without a renderer after all.

WKWebView != Safari. Safari is built on top of WKWebView. Likewise, Firefox is build on top of WKWebView. Firefox is not built on top of Safari, so your Safari skin statement is incorrect. Its called mobile app development, you work with the APIs provided to you by the OS. Attempting to write your own low level networking and rendering libraries that bypass those provided by OS will simply mean your app is not released on the app store. Should Mozilla not release a browser on mobile cause as its not 'true' to your definition?
Indeed, just own up to the fact that Apple does not allow any other browsers on iOS. (nor f.lux nor game emulators etc. Apple sucks.)

Mozilla Corp. has become increasingly frantic these days, trying to maintain market share by making all the compromises it can on its ideals. Is it working? Doesn't look like it to me. I'm the only one I know personally who still uses Firefox instead of Chrome (on Windows/OSX) or Safari (on iOS). Notably, I know a number of web developers (though I'm a systems software engineer).

There are very good reasons for Apple to sandbox apps in this way. It provides a controlled, consistent experience for users.
A controlled, consistently awful experience IMO.
When hundreds of millions of people keep buying things you believe are awful, perhaps it's time to ask how broadly shared your views are.

For every nerd who complains about not being able to root their iPhone, there are probably a hundred people who think “I/my kids/my parents won't get mal/ransom-ware”. Repeat for almost every other security or reliability issue.

I'm not entirely in love with the effects but I'm not going to say those people are wrong because they value stability and lack the extremely high level of skill needed to operate a general purpose computer safely.

I think that's what they were getting at though, it's the same engine as Safari with a layer of Firefox on top, not Gecko, etc.