Is that a lie then? Because what you said seems to imply Google puts the convenience of the developers first.
Given two otherwise equal tasks, if one helps 60M users and another helps 12M users, you are usually expected to work on the one that helps more users. And if a product develops too many bugs of the latter type (affects too few users to ever be prioritized above other work), it will usually get shut down.
Fixing bugs for one or two or even a hundred users doesn't scale, and Google wants to scale so it can live up to its "potential to improve the lives of millions of people". (If you ever work at or start an early-stage start-up, you want to be the opposite of this because Google can't; see Paul Graham's "Do Things That Don't Scale" essay.)
If you come back (for another internship or full-time), the Intern Host, Product Manager, Director, and/or VP Engineering in your management chain can provide more context on how to apply "put the users first" in your specific context.
There are times where I was expected to put IE 9/Win XP above Firefox because that would help more users. And yes, that sucks, both for me, and for Firefox users.
Clearly, they have enough money to "improve the lives" of more people, so that answer doesn't satisfy. However, the idea that Google is first and foremost a business which makes money at any expense, and it isn't profitable to support a competitor's browser, does.
I disagree with the idea that it is unprofitable to not support competing browsers. Just look at United States v. Microsoft Corp.
But, as you say, Google is first and foremost a business. As a business, it has a process where, if you don't have impact, you get fired. There are lots of people who, if forced to choose between "deferring work on Firefox bugs" and "getting fired", would choose the former. I would rather that they didn't have to make that choice in the first place.
And FWIW, I recognize that the engineers are usually not the same as the businesspeople who make the business decisions. :)
Those billions of dollars don't code for themselves. You need to hire more folks (yes, overtime is a thing at Google), you need to direct them to do the right things (means: more hiring), and more infrastructure. Besides the cafeterias which boil down to "even more hiring" (and why not, we did that twice in our thought experiment already) those devs need office space (of some kind), equipment and server time for testing their thousands of additional commits every week. And more server time to cover the additional test cases (eg. for additional browsers), so this is super-linear.
Given infinite dollars (or any reasonable approximation of that), the problem really is how to spend them without ending up finishing nothing because you've just invested them in a giant gridlock situation.
If that dev time could be spent on other features that will be appreciated by more people, then that is a decision you can make while still adhering to the principle of "users-first".
And as always, resources dedicated to a project are finite. The “X billion dollar company can’t do trivial Y thing” isn’t as straightforward as it seems and the argument rarely holds up to scrutiny in my opinion.
We’re missing a ton of internal context here, and to have a real discussion we’d need that context. Otherwise there are tons of valid reasons why the opportunity cost calculation might not have worked out.
You are making exactly the same argument that Microsoft proponents were making when IE was bundled into Windows trying to push off other browsers. We don't have all the context, it must be too difficult to separate browser and OS code, etc
Considering the features work fine on FF, the actual costs for testing on FF should be minimal.
This is helpfully decimating the marketshare of anything that isn’t Chrome.
Even the VLC authors documented how Google tried paying them to ship Chrome as default with their installers: https://www.youtube.com/watch?v=jWx1P93nS0c&t=48s Google even tried
It doesn't mention when though. If its around the time where MSIE was dominant, well, I (FWIW) got less of a problem with that. Because -even with its profiling- Google Chrome is objectively a far, far better browser than MSIE ever was. And the Google of 2005 or 2010 is a better Google than Microsoft was in 1998 or 2002. Check the Halloween documents on that one.
The issue I have with this is that too many are looking at percentage/share/ratio only. Yes, percentage matters. But absolute values matter just as much.
Or would you call a couple of million people "just a few"?
And nobody answer with "for Google, yes", that's completely besides the point.
Also I've heard that Google is not so good at hiring front end engineer, as they are less likely to have the "inverse a binary tree" background.
Half of Google products either don’t work at all, or far worse, on one of the largest browsers out there.
'Google's ostensible adword assistance team were no more than glorified inside sales and, over the protests of the rank and file, bamboozled management into throwing over a $1 million dollars of good money after bad which helped sink the company'
> And the first thing they told us at the orientation is that they put the users first.
This is the company line, but the truth is that Google no longer knows itself. The orientation was designed in an era where Google was growing rapidly. The fear was that the early company culture of mutual trust and so on was likely to be diluted by the influx of new hires, so let's administer a proactive cultural injection.
But the reality today (err, 2015) is that the Google culture is no longer monolithic. Even basic day-to-day processes are different between Chrome and Android and Google and X and probably other teams I wasn't exposed to. The orientation has now become counter-productive for a large subset of the engineers, because it sets expectations wrong.
Examples: "Every engineer has access to all the source code." Or "no company code may be stored locally on a laptop." Or "every change must be code reviewed." These were company policies that were routinely violated by individual teams, which I only learned after daring to ask "how the heck are you getting your JOB done?"
Does Google "put the users first?" Depends on the org. In my admittedly brief tenure there, the most important consideration was internal politics, followed by "partner" and "ecosystem" concerns. Users registered but only distantly, mainly because we didn't expect many of them.
I think Modern Google can be best summarized with a company-wide goal of "be the most." Google Search as the most-used search, Android as the most-used OS, Chrome as the most-used browser, etc. If your revenue is based on page-views, and page-views are based on click counts...
"Most" is different from "best."
Edit: I feel obligated to clarify how the "we didn't expect many users" comment meshed with the "be the most" principle. I was a software engineer in a hardware org (think Pixel). The point of high-end hardware like Pixel was not to dominate the market, but instead be a prestige product that moves expectations. By building a MBP-level laptop, Google could demonstrate that ChromeOS is not just for throwaway laptops, and thereby make ChromeOS viable on its partners high-end hardware. Being too successful was an anti-goal, because it risks scaring off Samsung and the like.
The hope was not to single-handedly dominate a la Apple, but rather to foster the "ecosystem." As to users, well...they'd be better served indirectly by a robust ecosystem. Or at least that was the hope.
You'll notice that Google does not build low-end hardware, with the notable exception of Chromecast, which is another story.
Actually, some browsers, including Firefox Mobile, now spoof the user-agent by default on some sites, because of Google's broken systems.
This might lead to an even more interesting browser UA string in the future.
Like "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36 MOZILLA IS FUCKING WRITTEN AT THE BEGINNING ANYWAY POOR SUCKERS!"
10 years latter, Firefox will take over the world again (when people will have enough of calling Google evil all day without doing anything...), and that part will again be engraved as a useless appendix, with an additional From_Google_The_Previously_Too_Big_To_Care_Much_About_Big_Browsers_Company at the end if you use their browser of that day.
What is sad is corporation doing so much evil they do not even have the time to see the history repeating itself, and the absurdness of their seemingly reasoned development approach (they think...)
Nowadays, not only do a significant portion of the population not know or care what the difference is, they just use Chrome because "Google" and "the internet" are indistinguishable.
I hear the same is true about Facebook.
Yet both cannot be logically true, and Facebook doesn't make their own browser (though their app does use an embedded version of Chrome).
Imagine seeing "the internet" like a gigantic bubble bath. There's some very large bubbles, like Google, Facebook, and Microsoft till some extend. Many can overlap, touch each other. Some small ones get absorbed in larger ones. Some are more omnipresent than others. But right now, there's still other, smaller ones, and new internet-related startups exist every day (little bubbles). But not all of the small or medium bubbles become large ones.
See also https://webcompat.com/
We need to stop bending to any of these groups just because they're "the big guy". If the largest Web company is building "free" and "open" stuff in an anti-competitive manner, then make sure that's painfully obvious to the end-user, make it public (i.e. an NYT article's a nice start) and then file federal lawsuits, calling on users as witnesses. The people of America beat the Robber Barons before, I don't understand the reason why we are so unwilling to do so now that they've moved to the Web. Stop spoofing, stop capitulating, stop compromising, and start fighting back.
That's probably my biggest grief with many big companies today (and probably most big companies ever), the lack of respect and decency (in general). The few big tech companies I see that show a decent amount of respect (but still a long shot from perfect) are either run by Elon Musk or Apple, with Microsoft slowly but steadily digging themselves out of their rabbit hole.
Google has the resources to test all the browsers it wants to. Perhaps part of the reason that companies with their market power tend to act this way is that serving other browsers becomes a low priority, and why should we help the competition anyway?
And finally, why not load the necessary polyfills and fixes on demand? When the old/slow browsers need time to get ready, a few hundred milliseconds more or less don't matter.
The reason for the browser-sniffing in search is a combination of ease of testing + latency reduction. By supporting a known set of browsers, you can write a test plan for each and shard it out among contractors (or ideally, automate it with a Selenium config). Manual tests run on every release (2/week when I left, maybe more now), and automated tests run on every changelist (thousands/week), so you can see how adding additional browsers to the testing matrix can consume significant resources. Very often cutting-edge features will launch on Chrome only and then if users like them, they'll get ported over to all the other browsers. (Or, just as often, the project is canceled and the feature is unlaunched on Chrome a year later, which IMHO isn't a great habit on Google's part but it is what it is.)
If you're manually spoofing your user agent, then Google figures that you know what you're doing and it's "use at your own risk anyway", and that if you get a broken experience, your first thought will be to disable the user-agent spoofing.
Additionally, browser-sniffing lets you serve only the JS needed for that particular browser, and not all of the hacks/polyfills/bugfixes/workarounds needed for browsers that the user isn't using. This is probably less of an issue now that things are more standard, but when I started ('09), not needing to serve all of the IE6 workarounds when the user was on Chrome or Firefox saved a lot of latency for users that were on modern browsers.