I definitely run into sites that only work on chrome and not in any other browser.
In my opinion chrome isn't doing a good job either. It's a massive energy hog and waste more CPU than it needs to. Unlike IE and FireFox and Safari it comes from a company that is notorious for wanting to know everything about you.
The time to celebrate victory was a few years ago. Now it's starting to look like the new boss is the same as the old, maybe worse.
"Always after a defeat and a respite, the Shadow takes another shape and grows again." -- Gandalf
Chrome works on every platform. It hogs memory but its fast. Chromium & v8 are open. This is the kind of things that gave us Electron, nodejs and everything that is built on top of it. I appreciate Google for working on it.
Regarding privacy, I totally agree. Would be nice if the most popular web browser wasn't developed by the world's biggest ad company. I still think they do a descent job of isolating the two orgs. I can technically install extensions that stop much of the ad invasions.
An what Chrome is giving out is "Tier1" search results only fed to their browser (Thus search results are more accurate using Chrome.... and now Google Earth is "Chrome Only" which uses WebGL and the latest tests show Firefox is still over 3x as fast with WebGL content then Chrome.
Electron is HORRIBLE, enabling people to write apps in Javascript while using all your PC"s resources is insane. "Etcher" a program written in electron who's sole purpose is simply an "ISO USB Writer" comes with a payload of 180mb's on disk and over 200MB's of RAM and runs like an old dog with cancer... along with the other electron apps. This could have been written with something we had for decades with little overhead and small payload, it's called Python...
Except anything MIPS-based. Or Power. Or in fact anything that isn't x86 or ARM.
And it's not just a matter of compiling it for those platforms. There's a bunch of architecture-specific porting that would have to be done (e.g. you _have_ to implement a V8 backend; there is no platform-independent way to run V8 just with a C++ compiler).
Not sure about Chromium support on those platforms, but V8 support is pretty impressive.
So you're saying that Chrome is but a Sauron to IE's Morgoth? ;-)
I've run into several other complex sites that fail on Firefox. It's sad, because I've used it for years. I'm using it right now. But my default just switched to Chrome because I started having too many Firefox issues.
Once I became aware of this, I've been trying to be more diligent about thoroughly testing things on Firefox.
I wonder how many other developers are in a similar situation, where Chrome is their default browser and/or their main debugging environment. Part of the problem for me is that I find the Chrome dev tools superior, and that makes it so much easier to just forget about the rest (not that I'm justifying my behavior, btw).
I still use Firefox as default, both for developing and for general web browsing. It and my set of extensions fit my preferences too nicely and have no equivalent in Chrome. I use Chrome at work primarily for Google Hangouts / Meet, the occasional debug session, or just to have another session. (Trying to get into Chrome's Profiles feature too.) At home I just use Chromium from time to time, mostly because my computer is starting to age and I notice the performance difference for certain things.
(Also, I think a lot of people discount how good Edge's Dev Tools have gotten. There too my corporate mandated environment is mostly stuck with Windows 7 and an intentionally broken IE 11 due to Oracle and using their terrible software internally.)
Upon googling, I discovered that drop-down menus have been an issue in chrome (even not using vbox). I'm using zurb foundation for the menu js/css, fwiw.
This hasn't happened to me in a while, except for occasionally government or bank sites which require "IE or Chrome". In many cases, spoofing the user agent works just fine for those. I agree it's bad, though.
The one exception I've noticed is Yubikey (U2F) support for Google services. Firefox has an add-on that provides Yubikey support, but last I checked, Google blocked access to those (I believe even if you spoof the user-agent).
spoofing the user agent works fine
I'm continually upset by this. If you know you rely on, for example, the fetch() api, test for the fetch api[0]. Whitelisting browser user agents just means chasing your tail for forever.By all means, politely warn a user that "your browser is not tested". It's getting to feel like a marketing driven decision, where pages just about say "our site is so powerful, we only work with the greatest browser ever, Chrome, so come back when you have it".
A local airbnb competitor currently does this.
[0] https://philipwalton.com/articles/loading-polyfills-only-whe...
God I miss the old Opera....
I'm fairly conscientious about this myself since I'm working on plotting data, and the dumb client-side number crunching involved is actually pretty good at eating CPU cycles.
Most plotting libraries want to show off how smooth and incredible their animations are. What I really want to know however is: does your library keep updating the canvas at 60FPS, or does it only refresh when the data does and idle otherwise?
I think some of it is also that the web has numerous things about it that are fundamentally expensive operations, going back to things like "the default table sizing algorithm reacts to the flow of the content within it, which also depends on how the table decides to format it". It's not hard to create a pure HTML page that has no interesting images or scripts or anything, but still is fundamentally slow to render. (You probably wouldn't want to write it by hand, but I've accidentally written programs that output such pages over the years.)
I know there are all sorts of flags etc, but consider old Opera, where switching the status bar between none, simple and advanced was right there in one of the main menus. That was a good start, that stuff would be compact and super useful by now if we'd just keep going.
Sure, it doesn't explain to average users why the webpages they view might be slow, but average users don't care.
The average smoker probably doesn't want to hear smoking is unhealthy. Does that mean doctors should adjust their advice respectively? At what point does "professional" really mean nothing other than "gets money for it, like a carpenter or a thief or a drug dealer might"?
We don't even have the right to "just give people what they want without any judgement on our part", but we certainly don't have the right to ignore those with legitimate concerns because ignorant or apathetic people are more in numbers. That goes for everything, everywhere. That goes to how you are supposed to look out for little siblings when parents are away, and it goes for expert knowledge or intellect.
But what is any user supposed to do with a blinkenlight telling them what they already mostly know: that a website is bloated/slow/eating their machine slowly? If there was an alternative website, maybe they'd already be using it. If they thought complaining to the site's owners about it, maybe they already had or are already aware that they'd be shouting into a careless corporate void. That mostly just leaves uselessly blaming their browser for a blinkenlight that tells them something they already know and can't care about.
"Microsoft has lost over 300 million browser users in 2016, mostly to Chrome, tracking site shows"
Not going to take very long at this rate. Appears to be accelerating. Personally just use Chrome as for me extremely stable and when tried Edge it was not stable. I do a lot of surfing and often times have a lot of tabs open and can not remember the last time a tab crashed.
As for privacy you could use the open source chromium, there's a fork somewhere which has all the Google removed.
Chrome using less resources than Firefox and IE was their sales pitch.
Now they've become what they made fun of, while Firefox is smooth as a baby's butt.
Chrome is still a huge improvement compared to the browsers it was competing against. Chrome changed the market and now the other browsers are competing in the world Chrome created. So while Chrome might fall behind in some areas now, it's naive to say that it's become what they made fun of.
It's nice there working on it, but why didn't they ever care before?
I've always assumed people talking about having hundreds of tabs open just don't understand how to properly use a browser. My grandmother, for example, usually has 100 or so open by the time I get a call about her having computer problems.
There's no logical reason I can come up with for doing this instead of using bookmarks.
Then throughout the course of the day I end up looking up API docs, get linked to blog posts, news articles, and YouTube videos, and read articles which themselves have relevant links to follow. Most of these I just open in a background tab to check out later in the day. These accumulate until I have time to go through and quickly review them. Those that I want to read and don't have the time currently go to Pocket. The rest get read or summarily closed out. I find bookmarks to be a terrible way to triage tabs.
This workflow works for me (and evidently others). It's faster than bookmarking. It's less prone to failure, in my experience (I've suffered bookmark corruption more than once). And a modern computer ought to handle many background tabs just fine. Moreover, if browsers aren't expected to be used in this fashion, they really should set an upper-limit on the number of tabs that can be opened.
Hopefully this gives you some perspective on alternative use cases. It sounds like your workflow works out well for you. I've tried it and couldn't get it to stick. If that means I don't know how to use a browser, so be it. At this point, there's enough of us (your grandmother included) that maybe the browser vendors should just find a way to cope with it better.
Each browser instance is tabbed completely across, I keep them open until I read the page fully, and then save it in keep to keep forever.
By Friday I can have hundreds of tabs that I go through and clean up. Web apps are a huge pain to constantly log in.
I run Korora with 24GB RAM and an I 7, Chrome is never a system hog for me, and most of the time it surprises me how well it handles my use.
I have hundreds of tabs open at a time. Instead of searching for something, then going to the Google page, clicking and waiting for it to load, in Firefox I search for what I want in the bar, it presents the tab as a result and opens it instantaneously.
In addition with the vertical tab bar extensions I can see a list of about 40-50 tabs open at a time, using the additional horizontal space monitors provide that web pages don't use to keep an easily visible list of tabs.
I open pages that interest me, I might read them later like I did this discussion or just drop them. Add in open tickets, reference pages, the build server, youtube, etc. and the number grows over time.
> My grandmother, for example, usually has 100 or so open by the time I get a call about her having computer problems.
Maybe she should use Firefox instead of Chrome?
> There's no logical reason I can come up with for doing this instead of using bookmarks.
I did this when I started, by now I only use bookmarks for high interest pages, no point in bookmarking everything.
So has cVim, but that has no relation to any of this.
Watch out for Opera's add block, it works through a proxy to compress data, thus they know your every move online too...
You spend too much time working lurking around HN sites and young web developers.
That's not true. Microsoft has now gotten into the spying business, and is infamous for the Windows 10 telemetry. They're basically copying Google.
Firefox and Safari are the only ones that come from companies that aren't notorious for wanting to know everything about you. And Firefox doesn't try to get you to spend scads of money on massively overpriced but mediocre hardware that locks you into their ecosystem.
Firefox has its warts, but it's the only choice that really makes sense if you care about privacy and freedom and avoiding vendor lock-in.
Sure, error reporting feeding in to a QA database is one thing. But is there the capability to target Win10 OS ads to, say, folks with old video cards? I'd be very surprised if someone in Redmond didn't think of that.
(I highly doubt that there is any truth to this claim)
> One of the most persistent misunderstandings about Safe Browsing is the idea that the browser needs to send all visited URLs to Google in order to verify whether or not they are safe.
> While this was an option in version 1 of the Safe Browsing protocol (as disclosed in their privacy policy at the time), support for this "enhanced mode" was removed in Firefox 3 and the version 1 server was decommissioned in late 2011 in favor of version 2 of the Safe Browsing API which doesn't offer this type of real-time lookup.
Firefox 3 - That was 9 years ago.
https://feeding.cloud.geek.nz/posts/how-safe-browsing-works-...
May be.
I see this as truly the case of making the pie bigger.
All devices include 2 Billion Android devices. That's a bigger pie that Chrome owns now, but FireFox can target in future.
Are you suggesting that Chrome gathers data about you? Because unless you tick that box (which they show pretty prominently) it doesn't. It doesn't by default in most linux distribution packages.
> Unlike IE
I don't know if you've been following, but Microsoft is now the king of knowing everything about you. They record things about their customers' computer activity which should horrify anyone. Sometimes they don't respect user selections either, even all the way up to Enterprise editions (where it is often mission-critical not to send competitive information to Microsoft by accident in a core dump), which is infuriating.
> In my opinion chrome isn't doing a good job either. It's a massive energy hog and waste more CPU than it needs to.
My impression is that at this point, most unique performance problems in Chrome are either an inherent cost of multi-process, a mediocre implementation choice in that model, or a performance tradeoff toward better application latency at the cost of heavy initialization. Chrome could display many pages more quickly if they ignored the GPU, but they use it across the board so that they don't have to restart into "GPU mode" when they realize there is a lot of compositing on the page. Chrome has converged toward other browsers recently, they'll now run multiple tabs on the same process as long as they share a FQDN (sites that host together, crash together), I suspect they do this to save memory.
If we're talking about runtime speed of real web apps and sites, Chrome has everyone matched or beat.
> The time to celebrate victory was a few years ago. Now it's starting to look like the new boss is the same as the old, maybe worse.
The problem with IE6 was not Microsoft, or IE6 itself. Microsoft did not win by literally forcing people to use IE6. The problem was, and probably always will be, greedy unscrupulous web developers (and their managers) who want all the cool new toys at any cost. Microsoft was doing the cool, "html5, bro!" type browser innovation that google is doing now, and developers (and their managers) lapped it up. People forget that Microsoft made box-model: border-box, XMLHttpRequest, favicons, <ruby>, and bi-directional text on the web. They did this all in IE5, this put IE6 ahead, and people loved it too. Microsoft did the right thing and didn't break compat for honest customers who just wanted their webpage to work, so IE5 quirks are the way of the web.
The problem is not that nobody likes the boss, the problem is that everyone likes the boss.
No, I didn't forget. But you forgot to say that MS did all that with draft specifications or even no spec at all (XMLHttpRequest), just to beat everyone to market, then refused to correct their implementation once the standard was revised and agreed by others. And they sprinkled ActiveX on top, for good measure.
> developers (and their managers) lapped it up
Disagree. Developers were the ones that pushed Mozilla and then Firefox (and then Chrome) as soon as they could.
> Microsoft did the right thing and didn't break compat
Microsoft did the right thing for their own bank account: they smashed the competition with bundling then left IE to flounder, even obliterating their dedicated team, because they had reached their objective, which was to dominate the web so that they could sell what they really cared about: ActiveX and other Windows-only technologies.
> the problem is that everyone likes the boss.
No, the problem is that people are lazy. IE won with OEM bundling on Windows. Chrome is winning with OEM bundling on Android. As long as the default is good enough, people won't switch, especially 15 years ago when downloads took a degree of effort (waiting several minutes, restarting after failure etc etc) and now on mobile where it is awkward and/or completely forbidden to switch browser. This is basically what the article says as well: they couldn't push a browser, they had to push an OS with a browser bundled. If people don't switch, developers can't build for alternative browsers, because their managers won't allow the additional time and effort.
No, the DOM put into IE was legitimately better than that in the old NN. MS won that war because their browser was BETTER, period.
They then sat on their laurels and the rest of the world passed them by, so now they're still trying to play catchup.
But at the time? No, anyone who had any experience in the DOM of IE vs NN would hands down push IE. It was just better in every way.
Where did I mention Netscape? I didn't.
IE5 is from 1999, IE6 from 2001, and they were undoubtedly better than Navigator; but the first 0.x releases of Mozilla with the new Gecko engine are from late 2000/early 2001, and were better than IE (although the suite was slow and bloated). Firefox was branched out in 2002 and took off very quickly because it was a great engine without the bloat of full Mozilla. That's why people pushed it (or rather Phoenix) right off the bat.
If you were pushing IE6 over Mozilla or Firefox in 2001/2002, you weren't paying attention. Navigator all but died in 1999.
When developers were pushing IE was when it was IE vs NN.
"Microsoft has lost over 300 million browser users in 2016, mostly to Chrome, tracking site shows"
No. Microsoft had a non-standard box model which was an utter pain in the ass, regardless of their box model being more sensible than everybody else's in theory[0] (and ultimately standardised as an option circa 2010) having to code for a single standard documented box-model is way the fuck easier than coding for two different box models.
Also it's box-sizing not box-model.
[0] because in practice MSIE's layout engine was a buggy pile of shit
The sane way of doing boxes pre-dated the "standard", which in hindsight appears as though it was specifically crafted to spite Microsoft.
It was a silly time to be a developer.
A world with Google owning a monopoly on web browsing isn't any less bad than if it were Microsoft.
Now with the web, it's much easier to make something work across all platforms, except at the bleeding edge, which is generally where you'll find those sites. Almost all the ones I've seen were tech demos of new browser tech that wasn't available everywhere yet.
That was the case with sites only working on IE 6. What did you expect?
And after some market share point, it's not about laziness either, it makes business sense to not waste time for a small percentage of users (100% reach is not always better than 90% reach -- there's this thing called "opportunity cost").
This is what we want to avoid.
A lot of companies that thought short term like that our paying through the nose for the decision now because they are still stuck on IE6. There is a business case for avoiding vendor lock in, but it's not quantifiable so it gets ignored.
How many of them will remember the lessons?
Those who forget history are doomed to repeat it.
Not about not caring to test/optimize for other browsers, or using standard stuff some browser gets out faster -- which is what some companies do today with Chrome.
If the internet exploded and we had to rebuild it from the ground up, there would be no html/web, and no 3rd party search engine which attempts to reconstruct the web by viewing it as a blackbox. We would build search into DNS, since that's basically what DNS is supposed to be for, and along with the monetization of search (register your site for x search keywords, pay the root DNS for additional keywords.) All of Google's revenue is but a hack of a patch on a chaotically formed system.
Google needs the web, but the web is terrible. It's made for showing static documents with hyperlinks to other static documents. But that's clearly not what people want to view or build, they want apps. So we have 1 million javascript frameworks trying to vie for support on various browsers on various operating systems. All this infrastructure to support 'web apps' that can only call into http and dom manipulation apis. Mobile apps have proven there are other ways to make apps, with security and containerization and allowing full (but secured) access to all OS apis, and easier compatibility. All Google's endearing endeavors to create cool, web-based tech, are just efforts to prop up the terrible web platform, to prevent it from being superseded by a better open system. Facebook (which uses the web only non-exclusively) shows us a better system is possible, but it is not open.
So, back on topic, Google won't stop being good to the web, because the greatest evil of Google is that they're good to a platform which doesn't deserve it.
IE was (is) closed source
It currently has a very large relation to the open source Chromium project. But Google could change that tomorrow if they wanted to - they could also gradually move more and more to their closed source Chrome builds (as they have done with Android).
I disagree. There's a difference between having 99% of the source available and 0%.
[0]: https://www.reddit.com/r/vivaldibrowser/comments/54kzpc/psa_...
There is some debate inside Vivaldi about making it open source and it would be easy enough to do. I'd guess that it probably doesn't make economic sense while it has such a small market share, but I don't know if that's true.
You said "Microsoft owned the whole stack" (OS, Office Suite, Browser). My response is, that Google is trying to achieve the same thing: The blurred O/S+Browser that is Chrome, and browser based software like Google Apps.
You're right, that what they intend to do with said monopoly is not relevant to that specific point. The point is that both saw an advantage of some kind that made it worthwhile having control over a large portion of the software their user's ran.
Where it does matter though, is that in the Microsoft monopoly, it was a monopoly of defaults and business contracts only. Nothing technically prevented someone from installing a separate browser, a separate office suite, etc., on their computer.
With a Chromebook, which Google is pushing heavily in education, what options do you have when it comes to installing an office suite? What options do you have when it comes to installing a different browser?
If your answer is "Android Apps", I suggest you read up on Google's own docs, which show that just 10% of devices support that functionality, only 7% support it without using a Beta.
It is official, Google is the new Microsoft.
Microsoft lied to the Justice department, microsoft intentionally broke software on other system, microsoft actively tried to kill open source, microsoft tried to co-opt standardization bodies, microsoft has bought competitors only to fire their staff, microsoft has...
Microsoft has a plethora of criminal charges levied against it.
Google.... Reads your email if send to or from Gmail and sometimes some of its things don't work in FireFox and even then they try to fix it. Google open sources a bunch of things, even when there is no obvious profit motive or requirements to do so.
There is a world of difference. Google's shit doesn't smell like roses, but they are only human and not overtly evil.
EDIT - If you downvote me, please comment so I can know what part of what I said was wrong.
Servo and Webrender[0] will completely shake up the browser landscape, and will allow web apps to match (maybe even surpass?) native mobile apps in terms of rendering performance. Unless Chrome, IE, and Safari can develop an answer to Servo and Webrender by the time those technologies are ready for prime time, I wouldn't be surprised to see "Best viewed in Firefox" badges start popping up everywhere.
[0]
Mozilla won the browser war. Firefox lost the browser fight. But there's many wars left to fight, and I hope Mozilla dives into a new one.
As technology shifts to a world where most people do not have a monitor on their home computer or a screen on their phone, what it means to be a browser will dramatically change. Certainly, we could post-it the current user experience into whatever we will have tomorrow, but if VR, AR, Speech, and AI and ample cheap private computing power don't excite people for the future of browsers and user agency, I don't know what will.
I know we've been working on tech such as Servo for a long time, but sometimes even just being "better" isn't enough, especially when there's a large legacy gap to close. You also need to get lucky with a point where consumers are making massive changes and open to new things.
I think that time is much sooner than the "always 5--10 years quoted", and you're going to see mind-blowing things on the web in general and supported by the browser and related services specifically. And I'm betting (at least with my current career) that Mozilla will lead the charge.
What's next isn't clear to me
Apple lost it by getting boxed into a market share corner by android. Google lost it by losing control over android. Android OEM's lost it by getting stuck in a cutthroat competition. Microsoft lost it by being microsoft. Users lost it by having no good choices left (either go with the golden cage iphone, or go with the privacy and security mess android).
Now OEM have to obey to Google because losing the Google apps and services licence (thus losing the Play store and the whole ecosystem) basically means they're dead as an Android manufacturer.
That works in China because Google is relatively weak there. It also works for Amazon, which has its own store for Fire products.
Apple was never likely to license iOS to other manufacturers, nor were they likely to have enough capacity to satisfy the whole market. I reckon they are where they always wanted to be: owning a very profitable and locked-in niche.
You mean the corner where they are the premium smartphone vendor, taking 90% share of global profits? That's a great corner to be boxed into :)
Because iOS users are a significant source of potential profit.
Apple doesn't need to maximize usage in order to control the ecosystem - they just need to maximize profit potential.
Secure messaging is also still a hot topic. Join forces with Signal or Wire or Matrix or XMPP. For example, Wire intends to open source their server code and enable federation [0].
Voice control requires some weight for an Open Source solution. Specifically, we could use something which does not rely on the internet. PocketSphinx is an ok foundation, but needs more work.
[0] https://medium.com/@wireapp/open-sourcing-wire-server-code-e...
However I would say that among those who do know, Lineage OS has a fairly good reputation for quality. You wouldn't be targeting mass adoption with this, you'd be targeting the influencers.
The Vivaldi browser has copied the original Firefox user interface and stole the best ideas from the Firefox extension makers so if you want the Chromium web rendering engine with the original Firefox user interface you are served by the Vivaldi browser. Hopefully they will become profitable and release their modification under a free software license.
But I am assuming that a browser offering a gigantic leap in UX through native-like rendering performance will entice web app developers to recommend that browser over others, because it's nigh impossible to build a consistently 60fps non trivial app with native-like interactions and transitions on the web today, while Servo and Webrender aim to make 60fps on the web the norm rather than the exception.
[1] https://bugzilla.mozilla.org/show_bug.cgi?id=1347543 [2] https://bugzilla.mozilla.org/show_bug.cgi?id=1054016
Not that anyone cares, because MathJax...
The web is better without JavaScript.
Unless Firefox (and Servo) gets it GUI to not feel alien and clunky, it wont matter if it has a faster rendering engine. Rendering engines are plenty fast as it is anyway, it's CPU use and battery impact that matters to users. And when performance does matter, it's mostly Javascript performance, which Servo doesn't address.
It also wont matter for mobile, since Android will still keep Chrome browser, and iOS will still keep Mobile Safari -- they're both made by the platform's creators.
And as for Firefox on Android, I have plenty of hope for it. I'm seeing more and more people switch to alternative browsers for speed (the most common one is samsung's "browser" which everyone says is "super fast" but really only is a weird hack to make scrolling smooth which breaks a few standards).
Ios is another story, but at least on android if they make a damn good product, people will use it.
That's at odds with almost every single sentiment I've seen regarding native vs. Web apps. Take one look at any HN thread about the two.
> And when performance does matter, it's mostly Javascript performance, which Servo doesn't address.
If that were true, then there wouldn't be a performance differential between native and Web, since Objective-C and Dalvik are slower than modern JS engines. (Look at how method call dispatch works in Objective-C!)
Besides, a lot of what shows up as "JS performance" in a profiler is actually blocking on DOM operations. With off-main-thread layout, these operations can be done in the background, resulting in improved DOM performance.
If we're talking about e.g. Electron apps, the problem I see mentioned (and felt myself) is almost always the memory hogging, the GC-pauses, the battery impact and such -- not the rendering speed. Although, there is talk of getting to 60fps web apps etc.
For something like Atom, is the slow redrawing because "DOM is slow" or because "doing the calculations needed for a sizable file, with syntax highlighting regexes, compiler checks, freeing memory, etc takes lots of processing time"?
>If that were true, then there wouldn't be a performance differential between native and Web, since Objective-C and Dalvik are slower than modern JS engines. (Look at how method call dispatch works in Objective-C!)
That's not entirely true, as Objective-C dispatch was thoroughly optimized [1]. Besides, the performance differential is also in the time to process logic (and the network latency) which you don't address. And of course, aside from rendering (which often is just "show a few forms, buttons and lists" for most apps) a part of the heavy logic in Objective-C for lots of tasks is done in C or C++ frameworks at much faster speeds than modern JS engines.
[1] https://www.mikeash.com/pyblog/performance-comparisons-of-co...
I see the opposite. VS Code feels somewhat slow, mostly because of rendering—it doesn't hit 60 FPS.
You cite GC pauses. One of the best ways to mitigate GC pauses is to move the noticeable rendering logic off the main thread so that your app doesn't freeze during GCs, which is precisely what Servo is designed to do.
> For something like Atom, is the slow redrawing because "DOM is slow" or because "doing the calculations needed for a sizable file, with syntax highlighting regexes, compiler checks, freeing memory, etc takes lots of processing time"?
The performance differential is because of many things, but regex performance and freeing memory relative to native aren't among them. JS engines' regex engines are best in class and easily exceed the performance of popular C regex libraries; this is a side effect of SunSpider and V8 including regex benchmarks. Memory deallocation in popular JS engines is faster than in native, because sweeping takes place all at once and generational GC nursery evacuation is very fast.
> That's not entirely true, as Objective-C dispatch was thoroughly optimized [1].
Those numbers are precisely what I'm referring to. In most cases, JS method dispatch is more like a C++ method call or an IMP-cached message send than a slow hash table lookup. Often it's even better, because the inliner kicks in, while inlining is very difficult in Objective-C. Objective-C's "fast path" is the slowest path in JavaScript, one that's only hit for megamorphic call sites.
> Besides, the performance differential is also in the time to process logic (and the network latency) which you don't address.
Pure computation in most apps is not appreciably slower for the end user in JS than it is in Android or iOS. And if it is, there's always Web Assembly! We're doing lots of work to improve JS performance; it's just not all under the Servo umbrella.
> And of course, aside from rendering (which often is just "show a few forms, buttons and lists" for most apps) a part of the heavy logic in Objective-C for lots of tasks is done in C or C++ frameworks at much faster speeds than modern JS engines.
That same "heavy logic"—by which I assume you mean audio/image/video decoding, JSON/XML parsing, image filters, vector graphics work—is also done in native code in browsers. And it's those very same tasks that we're optimizing in Servo.
[1] http://benchmarksgame.alioth.debian.org/u64q/compare.php?lan...
You make it sound like these are two orthogonal aspects. When rendering is faster, CPU usage obviously goes down. As does battery impact, since the CPU can go back to a sleep state faster.
Only as much as its the rendering, and not the core logic that consumes the CPU.
Degenerative case: a page with a single text entry field, where you enter a number and it calculates e.g. the fibonnaci sequence up to that number or factor primes etc. There's hardly any rendering, but lots of CPU.
And it's proving to be fast, safe, and the future of browsers.
First of all, I think the idea behind Servo is awesome, and I follow it. But I've been testing it on Mac OS and Windows, and it is not a runnable browser, nor fast (as expected!). CPU is often fully pegged and it's very iffy if any UI elements or page loads work. Not to say they won't get there, but it's still very, very early and buggy.
We had a similar issue with Stylo (Servo style system in gecko) recently where there were bugs in the parallelism code making us slower than gecko. Fixed, now we're faster again. We only recently started tracking performance properly, and it was caught and fixed in a few weeks.
So it's not entirely unreasonable to suggest that Mozilla's next-gen engine efforts could be first-to-market, and that everyone else might have to play catch up.
As Servo would be a mobile app itself, I think no ;)
Sucks that they don't have an IOS version, but Apple is the problem there, not Mozilla.
Adblocking is more than pure resource blocking (which afaik Brave, Samsung, iOS et. al.) currently implement. In fact, the smaller amount of ads I would see would be blocked this way.
I have Facebook, Instagram, Twitter, reddit and in the past Tumblr ad free due to element hiding capabilities that are non-present in any other browser I know except Firefox mobile with ublock origin.
Edit: I replied to the wrong comment. I guess it's early.
I think the idea of TFA is that soon we wont have as many options, since Chrome seems to be dominating. Opera is also using Chrome's engine, ditto for Brave, so they're basically just sells. And Safari is from the same DNA, and only really relevant on Mobile and OS X.
So Windows users basically have just Chrome and Firefox, and Linux users basically have just Chrome, Firefox and Edge. And even in Windows, Chrome dominates, almost to the point that IE dominated back in the day.
So where's the choice? If it's just about availability of other rendering engines, people still had choice in the "optimized for IE" days. But it's mostly about rendering engines having competing market shares, and nowadays they increasingly do not.
Plus, who will keep paying search placement money to Firefox if it gets to small single digits of use? And without those, how will development be continued?
>> We really need someone to fight for our privacy and neutrality. And I really believe that this could be Mozilla's swan song.
I deeply care about privacy. I fight for privacy. I work in information security. Every day I help my customers write code a little more securely. I educate them about implementing end to end encrypted communication systems. I am slowly migrating away from systems that don't respect privacy or can't function at scale without violating privacy.
You have made a great point, and we do need big organizations to fight for privacy too. But the "someone" also has to be you and me. We have to reject operating systems like Windows 10. We have to make Linux and open source tools the ones we want to use. Even merely quitting Macbooks, which trendy firms and developers are so fond of, even if just one more person does that /today/ matters.
We have to claw our data back. Byte by byte, we must earn it back and never accept being the product again. We must suffer the almost inconceivable inconvenience of perhaps not using Amazon for every online purchase. Amazon, Facebook, Google... they are slowly eating the world and even if they are "good" that sort of absolute domination enforces a mono-culture onto the world.
Well said.
I certainly hope it is not a PR stunt, but WordPress is probably the other big player in the fight for the open web. It might actually benefit all of us if Automattic starts making a lot of noise about privacy.
And ultimately, its not as if anyone wants any of these tech giants to completely fail (well, maybe Facebook). What we want is to not have the nature of the web changed to suit the whims of a handful of companies.
I feel like we're ten years late for this concern.
At the moment, there are only two kinds of employees at Facebook. Those who care and are getting irritated each time these issues are raised on HN (see here [1]), and the dregs who bury their heads in the sand. I bet there is someone who works there who is reading this and realizing that either they will have to change their attitude, or soon the company will turn into another Enron. We don't still have Enron in our midst anymore, do we?
Once one company goes down, it is only a matter of time before the rest fall in a domino sequence because people will start wondering about the practices of its peers. I would like to think that these companies are a little more sensible than to imagine they are somehow infallible, its better for them to change now before it gets to the point where they are made to.
Mozilla _is_ fighting that fight. See their posts here: https://blog.mozilla.org/netpolicy/
i disagree. Google built chrome to protect their monopoly in search. and they have protected that monopoly well, and added another one: browser.
i dont disparage Google for doing it, in fact both are great products that I use. But to say mozilla did it to 'give people a choice' and that they 'won' doesnt seem right to me.
I'd be interested to see the evidence for that....
This was not just competition. This was a deliberate campaign to break the web in a way where IE would work but Netscape would not.
As I said, this is from memory, and I can't find the source. I have read a copy of the Microsoft memo, though (but you only have my word for it...)
Microsoft was much more co-operative than Netscape in the early days. It was one of Microsoft's advantages when Netscape was winning and running on pure arrogance. See How the Web Was Won, High Stakes No Prisoners and a few other books for details.
Microsoft did introduce ActiveX, which Mozilla considered supporting, and then decided not to.
One of the facts of the case is that Microsoft got as close to the standards bodies as it could, and part of its marketing was that it was making IE more standards compliant than Netscape. This is actually very common in computer history (the market leader does whatever it wants to innovate, while the losers band together around standards).
In the end, of course, it didn't matter. Microsoft out-programmed Netscape and then Netscape made several disastrous decisions that amounted to browsercide.
As I said, if you've got any evidence, I'm interested. Specifically, what did Microsoft add that was non-standard and that Netscape couldn't have added?
As far as I know, not even ActiveX qualifies. I discussed this with Mitchell Baker, and she clearly said that Mozilla could have implemented ActiveX if they had wanted to.
I worked for Mozilla for a few years, after seeing John Lily (CEO at the time) speak. It was right after Chrome started getting popular, and a smug person in the crowd asked him about how he felt about Chrome.
John's response was awesome. "This is the web that we wanted. We exist not because we want everyone to use Firefox, but because we wanted people to have a choice" Firefox was a response to a world of "best viewed in IE" badges, and it changed the browser landscape.
Now, we have options. Chrome is great, but so are Safari, Edge, Brave, Opera and Firefox. There's a lot of options out there, and they're all standards compliment. And that's thanks to Mozilla.
So, in my mind, Mozilla won. It's a non-profit, and it forced us into an open web. We got the world they wanted. Maybe the world is a bit Chrome-heavy currently, but at least it's a standards compliment world.
I hope Mozilla sees that. I hope they take credit, and move on to what's next: privacy and net neutrality. Our privacy is under attack, and Mozilla is one of the few companies that can (and would want to) help. I know, I know. Nobody cares about privacy. Nobody cared about web standards, either, but Mozilla bundled it into an attractive package and it worked. It's time for Mozilla to declare victory, high five the Chrome team, and move on to the next big challenge.
We really need someone to fight for our privacy and neutrality. And I really believe that this could be Mozilla's swan song.
-----
EDIT: Hey cbeard - My email is in my profile; I'd love to talk.