I'm not sure the engineers realized despite their secrecy, it would be noticed by the press immediately after deploy.
But the best part is how Google engineers immediately on seeing it figured "oh yeah, we should do that too" (although they apparently got the necessary approvals however that was done at Google, it was easier to do because they figured "well, youtube must have done due dillegence before doing it.")
Amazing!
I don't know how they didn't all get fired. Like, ALL of em, including everyone who set up the special "OldTuber" priv long before.
But... it worked! This is a hacker story for the history books, it sounds like the kind of thing programmers did 20+ years ago for nothing except the reward of doing it right (against their own career interests), that I feel like doesn't happen so much in a more professionalized industry.
> I don't know how they didn't all get fired. Like, ALL of em, including everyone who set up the special "OldTuber" priv long before.
I can think of 2 reasons:
1. The gamble paid off. It turned out the time was ripe. Thus, there was really no negative impact on the organization that people had to be punished for.
2. The OldTubers were the experienced backbone of the group. Firing everyone with that privilege would likely have destroyed the group's technical expertise. YouTube as it was would have died.
That latter point is a bit of a strong negotiation position that many engineers don't realize they have. For example in my team we're having a lot of difficulty filling job openings (we're picky and frankly our interviewing pipeline sucks). As such, there's a significant cost/benefit calculation to firing someone. Maybe the person did something egregious, but is it likely to happen again? I know some people in my team are... not great, but are they so bad that we would be better off without them? (I must reluctantly admit, no)
I can think of a third reason: everybody in the industry wanted IE6 dead. It was expensive to maintain support for an old, broken browser and often meant new features couldn't be added. The people who should have fired the conspirators were glad that the conspiracy succeeded even if they had objections to the methods used.
I'm really glad this method of execution was an honest banner. (The biggest problem here might've been cutting colleagues out of the loop it sounds like they were probably supposed to be in.)
When I started reading the story, I was afraid it was going to go in the direction of sneaky sabotage, like intentionally causing performance problems or crashes. There've been accusations of that happening, within the last year. Earlier, there was a long history in the computer industry of sneaky sabotage of competitors, which was suggested by the (perhaps only a joke, in that particular case) mantra "DOS isn't done, till Lotus doesn't run".
I remember. :) Getting browser developers to comply with basic standards was a bigger problem around then. (Initially, everyone out of the gate, including MCom/Netscape, was rushing to throw in new features without standards, either to make the Web more appealing to people, or because the nonstandard bits were a shorter path from their current platforms or implementations, or as a competitive play to be the preferred browser. A bit after, one of the developers had incentive to sabotage the Web, which arguably is part of the reason why many organizations got stuck on particular old browser versions.) After monumental amounts of work, everyone started accepting standards, we then had waves of other related problems, and might be entering a new wave now (unclear).
> When I started reading the story, I was afraid it was going to go in the direction of sneaky sabotage, like intentionally causing performance problems or crashes.
You mean like they seem to be doing to Firefox right now?
"He had come in on an otherwise normal day to find email from every major tech news publication asking why the second largest website on the planet was threatening to cut off access to nearly a fifth of its user base. Fortunately for us, the publications had already settled on a narrative that this was a major benefit to the Internet. By their call, YouTube was leading the charge towards making the web a faster, safer experience for all of its users."
Go with the Zeitgeist, and you'll have a lot of wind in your sails.
I've worked in some organizations where the assumption is that engineers aren't capable of making product decisions. They are merely walking, talking machines that are there to implement the vision of the PM and designers.
In other orgs engineers are very much in tune with how product decisions are made, what the business is optimizing for, and what constraints they need to be aware of. They will generally work with the product owners to shape the user experience.
I'm guessing that YouTube was much more in the latter category.
Something that stuck out to me was how concerned Google was that even while recommending other browsers next to Chrome, that putting Chrome first in the list could rankle antitrust regulators. Fast forward to 2019 and Windows 10 makes you fight multiple menus and "suggestions" just to switch your default browser away from Edge.
The EU has continued pursuing antitrust cases, and the FTC has now set up a task force to investigate antitrust in tech. The main problem is that the wheels of the legal system turn very slowly, much slower than the startups rise (and fall).
In the timeframe the events this article take place on, the EU was insisting on a "browser choice" screen to be included in Windows 7. MS also got criticism for the random shuffle they used to determine the order of browser icons.
I'm confused. It prompts me all the time to change my default browser to Edge. Microsoft products ignore the default browser bit and open links in Edge, which them opens pop-ups to change my default browser to Edge.
Even the UI for changing the default browser in Settings heavily encourages you to set Edge.
I think I must be missing out due to Enterpise licensing.
With Win10 Enterpise I’ve never encountered pop-up nags for Edge when changing the browser. Links are never redirected into Edge even from other MSFT products.
This is on like three different Win10
enterprise laptops.
I’ll have to ask the help desk guys what they do to our corporate images if anything. To me it looks like plain-vanilla Win10 Enterpise while deploying from our WDS server.
Perhaps I'm not remembering it right but doesn't it day something like "you should use a stable modern browser instead! Are you sure you don't want to keep using Edge"??
It's a fascinating tech story, but it would easily turn into a horror if we weren't talking about something like a video hosting platform.
Imagine working at a medical or financial company and having secretive 'old timer' permissions that basically backdoored the company's engineering processes. Even if the engineers saw a good reason to do so.
I mean, who are we to say that this was doing it right? It turned out to be beneficial but there are thousands of ways that this could explode in your face if you tried it yourself.
No medical or financial company has this vibrant engineering IT culture like the web startups 20 years ago had.
Everything was new and exciting, and things moved foreward exactly due to the flexibility of all involved, the uncertainty, the flat hierarchies, and the fact that many rules either didn't exist, or only existed on paper.
This is what happens everytime a new market emerges, where structures need some time to settle.
Once they have settled down, procedures become standardized, but they also become so boring that all innovation is lost.
What happend at Youtube 12 years ago is exactly what happens right now at some Cryptocurrency start ups. The start ups that are succesful are exactly those start ups where people like this Youtube engineer do not get fired. If YT had such an authoritarian attitude in 2009, they would never have become succesful.
It's easy for the blog author to say "I have no idea why we weren't fired" but I bet back then it was all fun and games. (Getting fired isn't even that bad, what really harms people is when everyone around them starts to tell them things like "You could have ruined everything!")
And something similar to the excitement and fluidity within the Youtube of 12 years ago happened 80 years ago in pharmaceutical companies, or 200 years ago within a Bank, when such structures were still freshly formed.
I just implied it is different because the industry was so young, it is solidified now, thus resembling other industries. (i.e. in the corporate world the hierarchies in big tech now resemble the hierarchies in big [insert any other industry])
In my experience, I think it is a question of developper count and company culture. Larger corporations have processes & checks that smaller businesses do not always have.
In my view, it is the inability to hire great people that causes implementation of strict rules. It is also when processes are broken down down into imitatable parts instead of specialty skills.
This is exactly the sort of riskless sentiment that causes something like IE6 to persist forever.
> I mean, who are we to say that this was doing it right? It turned out to be beneficial but there are thousands of ways that this could explode in your face if you tried it yourself.
How would this explode in your face, exactly? What was the risk here?
> How would this explode in your face, exactly? What was the risk here?
The risk could be that a competitor could step into the market and use "legacy support" as a positive of their platform. Youtube is weird - especially at that time - since it didn't really have any movers and shakers in terms of either consumers or producers, but if they were selling software that corporations legitimately use (for instance - vimeo offers good streaming video embeds that do "things" to try and restrict the video to a limited audience) then a company using this service to host their streaming videos may be motivated to shift off of that service to a competitor that won't artificially limit the users that can actually use this third party plugin.
Again, it's a bit hard to say here with YouTube in particular, because it isn't a place where work happened at that point[1] so none of the consumers wielded significant power - honestly YouTube may have been fine just say "Welp, 18% of our user base is forcing us into supporting janky old browsers - guess we're losing 18% of our user base and saving a bunch on code maintenance."
[1] Now there are streamers that may legitimately threaten the company if they threaten to jump ship, it's economically weird but beside the point... just, back then there was nothing.
I agree that in a hypothetical scenario that this wasn't, it could have been a catastrophe. But in the one that actually existed, it couldn't have been.
I disagree, since in this actual situation their actions caused google drive to jump on the bandwagon and they run an actual business with competitors that would be happy to guarantee long term support.
All that said... I had to work with ie6, it is terrible, and these people are heroes.
Do you seriously think people would scrap off their contracts for legacy browser support? This is not like all or nothing. If they think its unfair then the org is gonna complain to the vendor about this. I don't know if any org can decide to switch over to a different vendor without trying to resolve first.
From what it looks like, this is quite literally the ability to get code into the main codebase with no oversight. Even without malicious intentions, it seems very easy to do something awful by accident.
The main codebase... of a video sharing site. With no SLAs, and (at the time) no partner video-hosting agreements.
The most awful thing that could happen to 2006-era YouTube: they could stop delivering ad impressions for an hour or two. Oh wait, no; 2006-era YouTube didn't even have ads yet.
This is a poor argument - just because we can shoot our own feet, doesn't mean we should not try to prevent it from happening by accident.
And it sounds like it wasn't just DOS - also just plain "it doesn't work in ie6" seems the most likely outcome; crashes and DOS that the article describes just sounds like the most egregious cases.
This is why I like to work at small businesses, where I'm either the only developer or one of just a few.
Even with annual turnovers, through the website, of approaching $10million/year (in my current and last role) there is very little oversight of what I do - there's literally no-one to challenge me on a technical level.
That doesn't mean I abuse my position, but it does give me a lot of technical freedom in how I create the functionality the business asks for.
of course there was oversight. Those with experience had privileged access. Basically meritocracy. Today innovation and movement is stiffled by large corprate and legal structures where engineers only recieve commands.
This must not be such a strange ability? Even at ‘big enterprise corp’ we have the ability (though not necessarily approval) to push directly to master, and I doubt there’s more restrictions in smaller companies.
It's not like there was no oversight. As noted in the article, their boss was in on it, and "the rest of us leveraged our OldTuber status to approve the code review." so there was review. They short-circuited a number of the usual steps, but it's not like there was a single person who made all the decisions.
Take it away from the specific case of IE6, and consider the situation where you have a product team that says one thing and a team of engineers insist on their solution.
They got lucky, IE6 in that sense was ready to die, and they basically declared mutiny with good cause.
Can you imagine any other scenario where insisting your idea is correct above every alternative, to the extent you can bypass the organisation and enforce your idea, could be utterly catastrophic? These developers in particular set up a system to subvert their own company.
They even said it themselves: Legal shit their pants because they tried it and saw Chrome as the first suggestion. They were lucky that the media didn't capitalise on that if they got the same ordering.
This story with Youtube and IE6 is romantic. It's not realistic or aspirational. Besides which, we would not hear of it if the attempt failed.
> They got lucky, IE6 in that sense was ready to die, and they basically declared mutiny with good cause.
Ok, and if IE6 had not been ready to die, what kind of catastrophe would have ensued?
> Can you imagine any other scenario where insisting your idea is correct above every alternative, to the extent you can bypass the organisation and enforce your idea, could be utterly catastrophic? These developers in particular set up a system to subvert their own company.
I can imagine catastrophes. But they're mostly the sorts of catastrophes that are bad for an organization, but great for a civilization.
> This story with Youtube and IE6 is romantic. It's not realistic or aspirational. Besides which, we would not hear of it if the attempt failed.
Something we don't hear about if it fails, but produces a great social benefit if it succeeds seems like exactly the sort of thing we should be doing.
No catastrophe would have ensued. They didn't remove support for IE6. They put up a banner telling IE6 users that support would be removed some time in the future. Only taking the second step (actually removing support) would have any consequences. If a large, powerful contingent demanded that IE6 support be kept indefinitely and persuaded management of this, the banner would have been removed.
With drive following in their footsteps a catastrophe really could have ensued - drive was at that point (I believe? It was a long time ago) already being marketed as good for organizations - any organization stuck with IE6 for stupid corporate reasons may have decided the potential for the site to suddenly stop working was too risky and immediately started migrating to a competitor that offered long term support.
I think a difficulty seeing a catastrophic is because YouTube is not valuable to businesses[1] and when your income source is more distributed (no large contracts) there are less chances to really shoot yourself in the foot. You have to piss off all your customers in a way that - really - you should probably see coming.
[1] I don't mean to deride the service, but it didn't have any commercial tie ins at this point worth mentioning, stuff like professional streamers and hosted partnerships with IP holders came later, at this point they were interesting in pop-culture but not a tool for making money.
IE6 was ready to die the moment it was born. This story boils down to some influential developers saying "Fuck this shit" and doing something about it, taking most of the industry with them.
Given that IE6 was one of the worst pieces of software in all of human history, there was never likely to be a significant downside.
That is untrue. When IE6 first arrived it was on par with Mac IE 5.2 in terms of web standards support. It was a great browser for its time.
The problem with IE6 is Microsoft declaring victory in the Browser war with Netscape, and IE6 development stopped. For years until Firefox and Chrome threatened Microsoft's browser dominance.
> How would this explode in your face, exactly? What was the risk here?
for one thing that actually happened because they did (and got away) with this: youtube engineers feel like they can leverage their site to dictate what they want in the browser space, by deliberately making it 5x slower on firefox and edge[0].
As a rule of thumb, if something looks fishy and shady, but just because it doesn't directly explodes in your face, treat it as a "but I don't have anything to hide" situation, and be against it. Because eventually, it will be your face.
> for one thing that actually happened because they did (and got away) with this: youtube engineers feel like they can leverage their site to dictate what they want in the browser space, by deliberately making it 5x slower on firefox and edge[0].
There's no evidence that that was deliberate. These two things are also pretty completely unrelated.
> Imagine working at a medical or financial company and having secretive 'old timer' permissions that basically backdoored the company's engineering processes
Have you heard about Kerviel? A trader that cost his banks a few billions of euros? He was able to do this because he could bypass reviews by his boss and the internal compliance team.
This seems like a kind of silly objection. It's kind of like - I have some knives in my kitchen for cutting food, as does most of the world's population. I, or anyone else, could pick one up and go out and stab somebody. 99% of the world is capable of not doing that.
Can't we presume that all of this setup happened because everyone involved knew perfectly well that it was just a moderately popular video hosting site? And that they would all have behaved differently if they knew that peoples' life savings and medical histories were at risk? Did it go out of style somehow to presume that people were mostly sane most of the time?
This is correct, but there's a complication: YouTube today is a lot more than the YouYube of 2006. Today, people's livelihoods depend on YouTube. Naturally, I'd expect more responsible engineers.
Yes. I love the story, and if I had been in charge I don't see how I could do anything but fire the whole lot of them.
Although... the number of people involved in the "OldTubers" backdoor seems to have been pretty substantial, I don't know if they could really have fired all of them...
But who is anyone to say if doing anything is "right"? We're all equally qualified to have a moral compass.
I mean, Google just paid a ton of money to acquihire this team, and then the acquihired team is going to turn around and fire all the people Google paid for? That doesn't sound like an arrangement Google would be happy with.
(Which is to say, with more generality: people who get acquihired are basically temporarily invulnerable to office politics.)
The engineers involved were not part of YouTube at the time of acquisition. YouTube also wasn't really acquihire. The site had a huge user base Google wanted.
I'd keep them on board but I'd get rid of that backdoor and encourage them to adapt to the new situation, for a number of reasons:
- 'OldTubers' vs. the new Googlers is a clear us v. them thing. Bad for culture, especially when you get privileges on top.
- Their plan was actually successful so there must have been a thing or two to learn on the product side, even if it's as simple as accepting engineering input and understanding the difficulty of maintaining stuff (as opposed to relying on the analytics).
- There's some good thinking and ingenuity in there, despite the methodology.
I'd want to keep hold of that talent while dealing with burgeoning elitism. Up to them to quit if they don't like the changes. Fire them if their contribution begins to suffer.
It's not a us v. them thing since they were not OldTuber and the article says that many other people were granted the access in spite of not being OldTuber.
This may be a management culture thing, but I would regard that happening as a massive red flag and immediately start looking to quit.
Formal warning, perhaps, if it actually contravenes a written policy, but in this case is unlikely to have been one. There was no actual financial or reputation loss to the company.
Pretty sure there was enough developers whom hated JavaScript. What happened is that made more if it.
A reality that we would still be supporting IE6 today because so many businesses still use it seems realistic to me. Maybe we would have developed a facade for it..
This brave actions of the OldTuber saved us a ton of effort.
Hopefully somebody from Oracle sneak in Clojure in the JVM!
>>> I don't know how they didn't all get fired. Like, ALL of em, including everyone who set up the special "OldTuber" priv long before.
That's really blowing it out of proportions. It's a minor button addition to the UI and they paid attention to not be sued by the European commission for it for anti competitive behavior. It's a job well done with nothing to criticize.
It's a BAU example of how works get done in a large bureaucratic organization.
I can guarantee you if this happened in the organisation I work in, they would have been fired. It's a different kind of organisation, in a different kind of business though.
>The next morning, Poirot discovers Ratchett was murdered during the night, having been stabbed a dozen times. [...]
>With the train back on track, Poirot concludes that justice is impossible in this case, as Cassetti deserved death; for the first time, Poirot will have to live with a lie and imbalance.
I don't know how they didn't all get fired. Like, ALL of em, including everyone who set up the special "OldTuber" priv long before.
Because this is how everything on the web used to be done. Google won the internet partly because they moved away from this first and best, but product decision making by engineering and overriding approval processes in the name of a good outcome were pretty much standard back then.
What's funny is we actually used YouTube as our "gauge" on what browsers to support. We also built the narrative that: "If YouTube doesn't work on this browser, then we will not support it"
They got visits from PR and Legal but there's no mention of a Project Manager - the sort of person I could imagine being the most pissed. Do PMs at YT not rule over their engineers with an iron fist?
This is a classic "better to ask for forgiveness than ask for permission" story. They didn't get fired because it turned out not to be a huge negative PR hit. Honestly they were just lucky in that regard, if the press had been negative about the banner they likely would have been disciplined.
In this case, the rest of the web put up the banners not because Google controlled the web, but because "if even Google, who has a huge monetary incentive to have their services be accessible to every web surfer [and puts a lot of work into achieving that], is willing to alienate IE6 users, IE6 must really be on the decline."
It's sort of the reverse of "nobody ever got fired for buying IBM": nobody ever got fired for refusing to implement an accessibility measure that not even IBM (or Google, in this case) bothers to implement. Unless you're in a very specific sector (in which case you know what your obligations are), your legal duties will always be a strict subset of those of $BIGCORP; so you can use $BIGCORP's shirking of a particular duty as a heuristic to determine whether you can safely shirk that same duty.
"Website suddenly breaks on browser that is still in beta and likely isn't baked into all of the acceptance tests" seems like a completely expected result.
Are you suggesting that a new browser that isn't out of beta should be less likely to weirdly break on some websites?
Microsoft Chrome is essentially Chrome slapped with a new, pardon the pun, chrome. If a website works on Chrome it should work on the MS version as well - assuming they haven't made many breaking changes - and from what I have read so far they have only replaced auxiliary services and haven't altered the rendering engine.
Presumably they're still loading a version of the website which Trident/Edgekit which used to make up for the discrepancies between the other browsers.
The Edge devs went out of their way to craft a useragent that doesn't trigger Edge UA sniffing, which is why the pages used to work until Google intentionally broke them in Edge.
Do you have any sources that talk about these breaking issues? I wouldn't be entirely shocked that Google would be doing this, but I do want to see more than just one anecdote that it's ill intent rather than incompetence.
Which easily explains the warning that was shown on docs. A misparsing of a new, never-before-seen user-agent string (especially one with an apparent typo) could lead the code to assume that the browser is indeed an older, no longer supported version.
Who would expect the browser user-agent to actually call itself "EDG" and not "EDGE" though? If you edit the user-agent to include "EDGE" in place of "EDG" everything works, someone thought "EDG" was surely a typo. Malice and stupidity and all that.
Now why they're still sniffing user agents instead of doing feature detection is a good question for Google, who themselves, to the best of my knowledge, push for feature detection instead of sniffing user agents as best practice. Do as we say - not as we do?
In some cases feature detection is not enough because while the browser may define the method you need it’s implementation is broken. A good example of this was indexeddb was horribly broken in safari and even doing feature detection was tricky so you had to check the user agent to see that it probably had a bad indexeddb and work around it. It’s never ideal and there is always possibly and more clever work around but sometimes you have a tight timeline and need a site to work in a specific browser.
Google is not a single entity. Chrome DevRel and Docs web front end are not even remotely related teams, and DevRel cannot dictate practices to other teams.
I'm not sure what the term for the tech world is, but something similar seems to exist in many areas of many fields.
It's one of the reasons I stopped accepting lawyers and law firms as clients. Every other client would pay on time. Those in the law field would consistently slow-pay, I believe because they knew they wouldn't get sued over it.
"That overdue invoice? Oh, we never received it. Send it again." "Oh, Jenna in accounting must have it, but she's on vacation for two weeks." "Oh, that's in process." "Oh, we still haven't received it." "Oh, you have a signature on a certified mail delivery? It must be upstairs for approval." "Oh, we've already run all the checks for the month, it'll be in next month's batch."
I eventually went to a pre-paid hours, payable by credit card-only model. It was the only way to stay afloat. Plus it was delicious when someone would use up all their hours and give give some excuse.
"Oh, we really need this on the site today." "No problem. I can do that as soon as you buy more hours."
"Oh, we'll get that paid next week." "No problem, your website went offline an hour ago and will be back when you buy more hours next week." Poof! payment comes through three minutes later.
As a class, lawyers and doctors are some of the cheapest people you'll ever meet. They don't want to pay full price for anything. I have tons of stories about this; one of the most egregious was a lawyer who made over a million a year and sued his mechanic to avoid paying an $800 repair job to his daughter's old VW Bug.
That's a nice anecdote. Here's mine- my orthodontist gives out a little wooden token for not breaking anything, wearing one of their t-shirts to the appointment, and answering a trivia question right. You can either return 30 tokens for a $10 gift card (great for teenagers, who always need more Amazon money, it seems), or he has this nice big box that you can put tokens in. Once the box is full, he plans a trip and goes to some third-world country to help out for a bit (generally it's his summer vacation.) He has gone on a trip for the last eight or nine years.
Maybe my population is skewed- two of the three doctors I see are Eagle Scouts, but not everyone is a cheapskate.
That anecdote actually sounds like you're supporting GP's cheapskate doctor hypothesis...
Wow only _30_ visits to the doctor and you get a $10 gift card? I have never been to an orthodontist but how often does one typically go? 30 times a year? Are those visits free?
On top of that, you have do free advertising (t-shirt) for him, plus having some useless trivia knowledge... I hope the questions are simple enough for people to always get right? This would just be pure frustration for me, I have learned over the years to literally dread trivia "opportunities".
And the best part... you can otherwise donate your paltry gift card to help him pay to go on vacation, albeit helping people, but you said vacation, therefore I'm guessing he works a couple days.
The cost of the braces & treatment was competitively priced, too. It's almost always the parents who pay for it- the gift cards go to the teenagers and make them financially invested in being good to their faces.
Are those visits free?
The cost of visits is included in the overall price, as are replacement brackets / etc. for the first few. The advisement / planning process part is free, and they weren't pushy at all- my parents asked if my then-8-year-old sibling (he has overjet) needed braces, too, and they recommended waiting until all the baby teeth came out. [ For comparison, other companies / doctors I've heard of recommend them to young kids frequently, even though the teething process causes structural changes to the jaw and generally makes another round of braces a necessity].
On top of that, you have do free advertising (t-shirt) for him,
The T-Shirts are really nice, TBH. The company name / logo was on the back, with a simple message on the front, and they were made of soft, puffy synthetic stuff. I liked wearing them- and wearing them was optional- there were a few times when I changed into the shirt in the bathroom five minutes before the appointment and took it off five minutes after- they're pretty lax about it.
plus having some useless trivia knowledge...
The trivia questions were pretty easy- "what is the outer layer of your teeth called?", "what is the capital of $state?" etc. It's not that big of a deal.
something something vacation
He pays for most of it, and it's a lot of work, in a third-world country. Not much by way of resorts there, though there are days off & hikes.
Sadly, no amount of testing can help protect against unexpected changes in browser versions that don't exist yet.
The best you can do is test the nightly or beta track all the time (if they have one). But that may have false positives due to bugs on their end. And once you notice the bug, you still have to fix it. This isn't something to drop everything for like a security bug, so it may have to wait on other things.
Meanwhile, people outside the company will assume it's intentional sabotage, because that's how the Internet thinks these days.
Interesting thread... but I really doubt the oopses were intentional. Instead it's just a case of nih syndrome, where the engineers have a myopic view and only test/build for the internal Google infra and apps. The same thing happens in golang and Kubernetes.
It doesn't matter if they were intentional. The author mentioned there may hav been hundreds of these "oops" events. Assuming it wasn't intentional, Google knew there was a problem and chose not to fix it.
"Fool me once, shame on you. Fool me twice, shame on me."
Or in Google's case, "fool Mozilla a hundred times..."
This is semantics - he's saying that the individual "oopses" were accidental, but you're saying the overall strategy of neglecting Firefox support was intentional. This jells with what others here have said about individual googlers vs. executive leadership / emergent organizational behavior.
If YouTube developers are pushing changes that break IE6 layout for the "hundredth time" or crash the browser or OS, it sounds like they didn't have adequate QA or didn't test IE6, even though it was used by 18% of their users. "Nobody joining the team could be expected to know that early versions of IE" had some quirk could be caught by code reviews and QA.
If you worked on web software at that time, 50% of the work was making something that worked in every other browser, then the next 50% was making it work in IE6 without breaking everything else. The arrival of IE8, while it was less awful than IE6, made things worse because many of the hacks used to make things IE6 friendly, worked with IE8, so the collection of stupid CSS hacks one had to memorize grew even more complex.
IE6 was a browser of the same era as Netscape 4, when it was common and unsurprising for a CSS error or a malformed bit of HTML to crash the browser.
It really is hard to describe how much bullshit devs have had to put up with to keep IE happy. Even today our front end team wants to use some modern JavaScript features which work fine in everything but IE. IE will never get another upgrade but it’s still holding tight to that small install base.
Yeah, I worked on a much smaller product and we aggressively ran automated selenium tests against our whole product with IE6. Sometimes we hit crashes in the browser and I helped people debug them using windbg and find string locals on the stack so we could identify the bad code.
The idea that YT or any other Google product team would justify not CIing against IE6 or Firefox is absurd to me.
Can you elaborate? I kind of agree on the Kubernetes part in that it's really biased towards Google-scale, but I fail to see such biases in Go, despite having used it as my primary language for 4 years now.
The dependency management system and GOPATH. These seemed to all be designed for a monorepo. But transplanted to a distributed network of github repos - a terrible idea.
The most interesting thing to me is not that Google lead the charge here, but that everyone - including others at Google - was afraid to do it.
Web developers the world over hated dealing with IE6 lack of compliance with established standards. Microsoft even had a newer versions of IE that was better. Everyone wanted this, it's just that nobody was willing to do anything about it.
This is the world we live in. Even with a near worldwide consensus on what needs to be done, nobody is willing to say it for fear of repercussions. People would rather jump through hoops to support the status quo than risk backlash.
Another problem is that the people who would normally have to approve a change like this are not the people who had to jump through the hoops to support IE6.
The ‘rest of the web’ had these banners for a long while before Google ever got around to adding it. My websites (and anything I worked on) certainly did.
What they are complaining about - that they are treated as second-class citizen - is exacly, how they treat Linux, for example.
No OMTP, OMTC, no hw video acceleration, no smooth scrolling, buggy dark theme, etc, so Firefox on Linux is not as polished and/or performing as on other platforms. The excuse for that was, that Linux has small market share, so it is not worth for putting more resources into solving these problems (some of them have bug reports open for over a decade!).
Well, Firefox itself has also small market share, it is in single digits now. The irony is in the part, that they actively used this as rationalization for what they do, but do not like it, when others use exactly that reason on them.
I'm not talking about validity of the rationale itself; just about the irony of finding them on the bottom of the hole they helped to dig out.
A massive subset of Firefox devs are Linux users. Those features are missing largely because they are hard to implement reliably on Linux and customers (who are largely not Linux users) won't feel the impact. There are often flags you can set to try and use them on Linux, YMMV.
If you try doing much hardware graphics (let alone game development) for Linux end-users you'll understand why features like OMTP or OMTC are late to ship on that platform, if ever.
Even on Windows some new stuff like WebRender has to be manually opted in on specific driver versions and architectures one at a time, because it turns out video drivers are really bad and if you ship early your app will crash.
> A massive subset of Firefox devs are Linux users.
No, they are not. A massive subset of Firefox devs are Apple users. For Linux, the occasional Redhat or SuSE dev does the most-needed fixing.
> Those features are missing largely because they are hard to implement reliably on Linux and customers (who are largely not Linux users) won't feel the impact.
Neither of these are true. It does make easier rationalizing Linux mistreatment, though.
If there was no impact, the equivalent functionality would not be needed to be implemented under other OS-es either. You have bugzilla full of feedback, that it does have an impact.
It also makes Linux itself look worse, compared to other systems.
> There are often flags you can set to try and use them on Linux, YMMV.
I know, that you can force OMTC, for example. I've been doing that for years, with zero bugs. Why can't Mozilla do that by default? They haven't reviewed the situation for years, that's how much they care.
Also, for example, the EGL situation (needed for Wayland, obviously Wayland apps cannot use GLX without X11) was purely Firefox problem, not the driver stack one. (Worked on by Redhat dev).
> If you try doing much hardware graphics (let alone game development) for Linux end-users you'll understand why features like OMTP or OMTC are late to ship on that platform, if ever.
> Even on Windows some new stuff like WebRender has to be manually opted in on specific driver versions and architectures one at a time, because it turns out video drivers are really bad and if you ship early your app will crash.
I'm fine with incremental enablement. I'm not fine with the enablement never arriving.
And again; the original post was about the irony of the situation Firefox itself finds themselves in; exactly the same excuses are used against them.
Lot of HTML/js stuff never worked in Firefox either. For example, Youtube uses polymer, which uses web components v0 if available. Firefox never implemented that.
On the other hand, the above mentioned features could work, if Firefox would implement them, as they did for other platforms. Other applications on Linux are able to use the needed APIs available, why Firefox is not?
It's not that complicated to understand: While Google and Mozilla are competitors, Mozilla and Linux are not. Linux just gets less priority because it's quite frankly irrelevant as a Desktop OS.
> It's not that complicated to understand: While Google and Mozilla are competitors,
Web apps and Chrome at Google are being made by entirely different team. Unless there is a mandate from the top to the web teams, it is irrelevant. They could be as well a different companies.
> Linux just gets less priority because it's quite frankly irrelevant as a Desktop OS.
That's exactly the point I was making: Firefox is also getting less and less priority, because it loses it's relevancy as a browser.
Except now Mozilla doesn't like exactly this same argument.
The problem is not the argument, but the conclusion of willful negligence. Firefox neglecting Linux is not an underhanded business decision because Mozilla stands to gain nothing by ignoring Linux; but Chrome does directly compete with Firefox. That's the point people here are making.
Google actually needs Firefox to be around the most; for the same reason, why Microsoft invested into Apple after their antitrust case.
There's no other explanation for Mozilla's attitude towards Linux than negligence; objectively, it is neglected. The degree of willfulness is up to the debate.
Was struggling with legacy IE6 support-hacks too once while building healthcare webapps. In that field, it was more because hospital IT admins lock everything down and upgrading stuff very much falls under the "if it ain't broke, don't fix it" mantra.
We too got fed up with all the IE6-specific hacks we had to maintain. One day on the login page, we added a "IE6 might be a HIPAA violation, please upgrade your system" banner. It was technically true... the browser was well past its end-of-life support and was acquiring a running list of unpatched security holes.
Our analytics showed the remaining holdouts upgraded their systems over the next few months.
The "ain't broke don't fix it" attitude makes sense when you consider e.g. a medical scanning device with a Windows-based console. Those things generally live offline and get tested and approved as an integral unit, including the exact software loaded on them at the time.
Unfortunately, that attitude in healthcare leaks to things which _are_ connected to the internet, and you get disgraceful incidents like the hacking of Britain's NHS in 2017.
where the guy that helped stop the attack got locked up by the US feds for stuff he did in his teens while visiting a security conference. They've kept him locked up on anything they can drum up for the purposes of flipping him. Has it been two years already?
That was a scary transition for us, since we did have quite a few legacy browsers regularly accessing our site - we guaranteed support for IE7+ at that time. Extremely thankful for it though, our management wouldn't have made that decision without the push.
This is the first example I've ever heard of where a browser-upgrade banner worked. Every time I've tried it on sites I've worked on, the "please upgrade" banner does nothing.
Years ago, we even tried turning it into an intrusive pop-up for a percentage of users. They just clicked through the pop-up, presumably without reading it.
I wonder if it worked in this case because it started a movement?
> Between YouTube, Google Docs, and several other Google properties posting IE6 banners, Google had given permission to every other site on the web to add their own. IE6 banners suddenly started appearing everywhere. Within one month, our YouTube IE6 user base was cut in half and over 10% of global IE6 traffic had dropped off while all other browsers increased in corresponding amounts. The results were better than our web development team had ever intended.
> I wonder if it worked in this case because it started a movement?
I think this is the answer. Most people at the time weren't on IE6 out of choice. The fact that youtube (or more likely google docs) had this banner, gave disgruntled employees a better excuse to force IT to upgrade than "I don't like this browser"
It might have even gotten IT the budget to upgrade, too. I bet it was pretty hard for IT to ask for many millions of dollars to upgrade in-house apps to be cross-browser compatible when there was no urgent need. A banner on every exec's page makes it easier.
The web was also a bit of a different place back then. I think there were people who were "power users" who used Firefox and Chrome and others who used IE because it was bundled with their browser.
ADP announced deprecation for IE10 and IE11 last year. They apparently didn't realize that Edge doesn't run in Win7 which many of their customers still have deployed, given the issues surrounding Win8 and 10.
I guess they can use this as an excuse to not upgrade their shitshow flash app that beings a multi-core processor to it's knees just navigating between entry fields.
The OS upgrade is/was free, and IE11 is nearly 6 years old at this point. There are also other/current browsers available for Windows 7. There's really no excuse to not have a current browser.
No, it's not easy. I have a Flash based app I can't get out of using. Every day. Every day I have to tell Chrome to allow the app to run Flash. When I close the browser and reopen it, I need to tell tell Flash to "always" use Flash.
Chrome's definition of "always" is very different to everyone else's. And that's on purpose. But I have no say in what corporate app I can use, and I have no way of getting it migrated quickly. The Chrome devs seem actively hostile to the poor slob who must us the corporate app and have no way of migrating away from it.
How so? I'm legitimately asking- I find Windows 10's Start Menu, of all things, to be way better on win10 than win7, especially in Enterprise deployments.
None of which are strictly _forced_ - my laptop (Windows 10 Pro) _never_ installs an update without asking me, and my mother's and grandmother's machines (Windows 10 Home) are setup without an Internet user account.
I held off forever too. However, with classicshell and a bunch of OS tweaks, it's pretty much like win7. the only downside is the telemetry reporting..
> I wonder if it worked in this case because it started a movement?
It was continuing a movement and giving it visibility outside web developers. The youtube banner happened mid-2009, web developers around the world had soured on IE6 and actively trying to kill it off since 2005~2006.
What the youtube banner provided was a way to finally get the word out, and an argument to give PHBs: it became much easier to sell browser upgrades (or not supporting IE6 anymore) when you could point to Youtube / Google and go "these folks have put their foot down".
I’m not sure of the relative timing but the Google policy of “we support the last two major releases of the main browsers” also really helped.
As a web developer at the time, I could put that in my proposals, saying “it’s the standard Google browser support policy”. At which point clients signed off on not needing legacy browser support.
IE6 was pretty awesome when it was released... not having to support IE4.x and NN4.x when it hit sufficient market share was really nice. Eventually it became the next boat anchor. IE10-11 is the current boat anchor, and will probably cycle out within the next year. Already have internal apps with no IE support at all, and only the most recent Edge release.
The perspective on outdated (insecure) browsers is becoming more broadly accepted.
By the time Firefox came out, it lined up with IE6 well enough to use the same code (W3C DOM) methods mostly. IE4.x and NN4.x support was horrific, and worse than IE6 when Google did what TFA mentioned. Dropping support for IE4/NN4 didn't mean not supporting other current browsers.
When it was in the >90% market share, a lot of people did that though.
I'd suggest that comes down to the type of client/users you have... it's definitely not a common case. I'd also be willing to guess that most of those users also have a different browser installed. IE11 is pretty capable, but requires a lot of shims/shivs for modern code transpilation.
Our clients are businesses (less than 10000 employeees), and we still have 30% of userbase on Internet Explorer. We will soon be dropping IE9 and IE10 support.
I suspect that we'll be supporting IE11 for another two years or so (even considering Windows 7 expiry!).
We had a program that drew a map + path along the map... one customer complained about it taking 3 minutes to draw the path. Customer had an AMD 1400+ or something that was like 8 years old at the time. Threw my hands up in the air when they showed the system properties over a remote session.
We installed Firefox 4 and it ran at a perfectly fine speed...
I'm glad you've actually measured this, because you've saved me from doing it! Killing off our "update your browser" nag on our sites has been something I've been considering for a while.
Over the last week we hit the jackpot at work, in that we had errors come into Rollbar caused by every version of Internet Explorer we don't support all the way back to 6. Yes, there was a little celebration in our dev team when we scored our first IE6 exception. :)
Current apps I'm working on test for async function support (ES2017) and if the browser doesn't support it redirects to `/legacy.html` ... it's not public facing but that was the break point for supporting the application properly... anything newer is polyfilled with babel.
There's no way this banner did anything in reality. Corporations didn't upgrade because of their tooling, not youtube. What corporation upgraded to make sure their employees could youtube harder?
I think it likely did. When CEO's and upper management read stories about how doing away with IE6 is better for security, and then remember they use IE6 for certain things internally, that can spur conversations that cause change. Maybe not immediate change, and maybe it has to percolate through company boundaries where enterprises express their dissatisfaction with the tooling provided them if it requires usage of tools widely believed to be insecure and change finally starts happening.
Ultimately, I think top-down change at enterprises is much faster than bottom up, and a national news story is just the sort of thing to spur a lot of top-down changes.
Did you see the chart of browser usage correlated with this incident? The only precipitous drop in any browser usage occurred when they launched this banner. It was already on a downward trend, but an immediate drop like that is pretty hard to explain away as anything else.
I think it gave people permission to think of IE6 as outdated. It's far easier for a decisionmaker to follow the herd rather than get out in front of him ('nobody ever got fired for buying Microsoft/IBM/whatever'): convince him that the herd has turned on IE and he'll gladly pitch in.
StatCounter's graph of browser version market share for 2009 doesn't show the same sharp IE6 drop as the YouTube graph. IE6 users probably just switched another browser when they wanted to watch YouTube. IE6 and IE7 were already on their way out, being replaced by IE8 and Chrome.
I bet plenty of employees upgrade their home computers, though, and eventually started pressuring their IT department to let them use the same modern browsers at work. A CEO asking why they can't have Chrome on their work laptop is sometimes all it takes to get the ball rolling.
From my personal experience corporations didn't officially ditch IE6 until they officially ditched Windows XP. Microsoft dropping support for Windows XP encouraged corporations with expensive support contracts to upgrade their fleet. This resulted in new hardware, new os, and new default browser.
To anyone thinking it was a good deed: please remember that later Google used similar techiniques against other browsers, like Opera. They showed a warning about an "unsupported browser" but if the user changed user-agent to Firefox or Chrome, everything worked. Another example is Web version of Skype which is very picky and doesn't work in many browsers, like mobile browsers, or slightly outdated Firefox.
For example, tomorrow Google can implement a DRM that would require a plugin that works on Windows, Android (with Google Play Services) or Mac, but not on Linux. After all, Linux is not a DRM-friendly system (allowing the user to hack anything is not what copyright holders want), and almost nobody uses it on desktop, so why bother supporting it? Or Google can use it against new, not yet very popular browser, to slow its adoption.
> For example, tomorrow Google can implement a DRM that would require a plugin that works on Windows, Android (with Google Play Services) or Mac, but not on Linux
I was reading your comment and wasn't sure if it's well hidden sarcasm or you are seriously don't know this already happened:
Basically you cannot watch high resolutions streams on Linux already even in Google Chrome because of DRM Google among others helped to push into HTML specification.
It's not really about alternatives. Before no one pretended that proprietary blob is some part of the web - everyone knew it for what it is: ugly black-box plugin. And any engineer knew how easily is it to bypass said DRM.
Problem with what Google among others did is that they was actually in position to push against making something like that part of the web specification. Yet they went all in and what worse become gatekeeper for new web browsers to implement Widevine DRM.
Same way Google might push for more open Android ecosystem, but it's not their interests so they did the opposite. And with all Chrome-exclusive features and AMP it's pretty much the same thing happening.
Here is a trick: change UA to Edge 15 on Windows (or something that's supported) and Skype will magically work (tested on Debian, audio call also works). I also recommend running this under a separate profile or user account so that Microsoft is unable to track you on other sites.
Interestingly, according to the graph at the end, IE6 was already well on its way out and they only accelerated its death by a few months. The real effect seems to have been stopping IE7 dead in its tracks, and almost single-handedly catapulting IE8 to the top. A most peculiar effect, despite the banner's promotion of IE8, since only IE6 users should have seen it!
I smell an untold story... maybe one of the other teams' banners was accidentally visible to IE7 users as well? Or did IE7 sometimes spoof IE6?
People who upgraded to IE7 were capable and willing to upgrade, and more likely to upgrade to a later version when available.
IE8 was the included browser with Windows 7, which was generally well received compared to Vista which included IE7.
The timing lines up within the release window of IE 8 (March 2009) and Windows 7 (July 2009), so potentially a lot of upgrade push from other things in the air at the time.
Edit to add: people on ie7 because it came with Vista probably had a more capable/pushy update system than those on XP with ie6; but I don't remember the details on how microsoft system updates worked at the time.
> people on ie7 because it came with Vista probably had a more capable/pushy update system
the people on vista had the pushiest update system of all: vista was terrible, and most users (especially organizational users) switched to windows 7 ASAP.
One big problem with IE7 was its asinine "This page contains scripts or ActiveX controls that could access your computer" warning banner that it plastered all over basically everything, including static .htm pages that didn't have even a single line of JavaScript, much less ActiveX. I got really tired of answering emails from users who were frightened half to death by that warning. It had the effect of desensitizing users to actual threats, or at least it would have if IE7 had ever gained much popularity.
It was a terrible piece of work and I was glad when it never achieved any significant market share.
I suspect a large part of the success of the campaign had to do with all the news sites covering the story. Those stories would have been seen by a lot of users, regardless of which browser version they were using.
IE7 did have tabs. In fact, it was one of the main features. They didn't make significant standards compatibility improvements until IE8, and only really in IE9. IE10 was the first one (since 6) to actually be comparable to other modern browsers.
IE8 was also the first IE to address a lot of the memory leaks that older versions had. DOM <-> JS access was referenced via COM interfaces and out of scope cleanup didn't cross bounds in earlier versions.
IE8 did have a really bad bug around the JSON.parse implementation though.
If you modified the Object.prototype or Array.prototype (which was common at the type with libraries like PrototypeJS) and used a rehydration function with JSON.parse, the runtime would throw an error you couldn't catch, and stop JS functioning. In IE 8.x ... almost worse, the JSON.parse function was locked... I wound up using a wrapper JSON.parse2 or something that was the JSON library edited to attach to parse2 for IE8, other browsers would alias parse as parse2.
I then used the parse2 in everything at that time. In the end, it sucked and I'm glad I don't have to do it anymore. IE8's quirks were what I would consider the last bad version of IE... since then it's been mostly okay on release, but ages rapidly, but enough turnover that you aren't on it too long. Until current IE11 as it's tied to windows releases, and some people/orgs didn't upgrade.
It's not measuring in six month intervals, that's just the scale at the bottom. There are peaks and troughs that are very clearly higher resolution than that.
More than that, the graph demonstrates how growth of IE overall dropped off. Up until then IE7 was replacing IE6. After that, no later version of IE ever topped the previous version.
Besides being a great story, this is a perfect example of how corporations aren't people.
Corporations don't have single agendas, they don't think with one mind, they can't be simplified to a single narrative.
Rather, they're collections of 1,000's of individual each doing their own theing, and the CEO is trying (and often failing) to herd the cats in a single logical direction.
Plenty of good things (like this) can come out of it. But also plenty of bad things, like security breaches, anticompetitive behavior, and invasions of privacy.
Whenever anyone says "because Google always does <x>" or "Google is always like <x>", a story like this is a great antidote.
> (And now we’re back where we started with Chrome as the new IE.)
Except for the part where you get BSoD and infinite recursion or any of the other stated IE6 nightmares...
Really, the only thing Chrome and IE have in common are market share. Chrome is magnitudes better than IE in every other way as far as being a web dev goes.
And IE6 was similarly tons better the Netscape Navigator. It had XmlHttp, inventing Ajax, which revolutionised the web.
Easy to forget that now.
Also, did you know IE6 pioneered the browser web dev tools? IE6 was the first browser you could debug your JavaScript, css and html, which was copied by firebug about 12 months later. I can't even remember what it was called now, IE Dev toolbox? Something strange, you had to download it separately.
And Firebug and Chrome Dev tools copied it almost verbatim. I've never seen any sort of acknowledgement of just how much the community owes to that early tool. The announcement blogs about it were still accessible a few years ago.
Its not a commercial project, just an alternate (lightweight) front end for a forum and I wanted to prove to myself that old versions of IE weren't as bad to develop for as I remember.
The truth ended up being somewhere in the middle, I was reminded of rendering errors that I had long forgotten, but all in all it wasn't as bad as I thought it would be. It helps that I'm just building a website in the classic sense, not a blob of JavaScript that happens to puke out HTML, and when I run into something that's awkward to implement I can just adjust the design to work with what I have.
I realise that's not something a lot of people in a commercial job would have had the luxury of doing.
I don't know if I'd ever want to target IE at all (I'd prefer to pretend it doesn't exist), but I do like to test stuff on niche browsers (NetSurf, Dillo, lynx/links/w3m) and see how usable the site is.
I made a pivot table implementation in IE6 that used XSLT transforms.
It was actually blazing quick, far, far faster than the JS implementation I tried (like instant vs 20 seconds). While XSLT was hard to develop in and perhaps deserves to die its death, it really was a quite amazing bit of tech.
This is the problem when looking back on the past; you miss the context. IE6, at the time in 2001, was the fastest most stable browser out there. It was magnitudes better than Netscape Navigator, which was bloated and far more crash happy. IE6 wasn't always terrible; it was just terrible compared what came after -- which is exactly how things should work.
For web apps, IE6 and anything that came before was always terrible. It used to be hard to build a decent web app, even if most of your code ran on the server. There is a huge qualitative difference between building for an ad-hoc platform and one that is rigorously built and tested against some externally defined standard.
Sure, Chrome may be lagging in some areas, but--like all modern browsers--the platform it provides conforms rigorously to the standards it supports. And that makes all the difference.
I think the desire to create this insane things using technology that wasn't ready for it is what drove browser development forward. But this is like complaining your toddler couldn't do algebra now that all your kids are teenagers.
I actually wrote an abstraction layer that normalized it a bit. Not nearly as cleanly as the DOM API eventually did, but enough to get work done (for the most part). Still had to do things like have a white overlay set/unset on the screen for NN to avoid visual flickering, etc.
document.all, the way IE worked had a few advantages... Layers in NN didn't allow you to break apart a form into child components you could hide/show was a particular issue. So you had to mirror values in/out of the child layer portions of the form. That was about the most common and painful problem between the two imho.
Another was when IE 5.0.0 broke the older API for dealing with changing the children of a <select> node. Which was fixed in 5.0.1, but 5.0.0 was on every Office 2000 and Windows 2000 Disc, and what a LOT of people had. That was painful to deal with too.
> IE5.5 was the first browser you could reliably write "rich" web UIs in
My point is that in the IE6 era (and previously), doing so was categorically hard -- I didn't say impossible. Also, that changed with FF 3.5, IE8, Chrome, etc.
Admittedly, IE6 and FF 1.5 were the first browsers I had to develop apps for from scratch. (And FF was already far more robust.)
Even if you consider the context and era, Chrome is still magnitudes better than IE because the real problem with IE6 was that it was hard to upgrade. It didn't matter that IE6 was fast at some point because IE didn't auto-update and Microsoft often tied IE to Windows upgrades, which in turn were often tied to new computer purchases or long enterprise contracts. Not to mention IE's significant divergence from standards meant it was hard to coordinate feature support. Chrome, in comparison, is easy to update and conforms to standards.
IE was not tied to Windows upgrades, except in a sense that new IE versions would eventually stop supporting old Windows versions (but that's true of all browsers). IE6 was available on Win98+ and NT4+, for example. IE7 and IE8 were XP/2003+.
As far as divergence from the standards, again, that was generally not the case when IE6 shipped - if anything, it was at the bleeding edge, and past it in some ways. The real problem with it was that it wasn't updated fast enough to keep up with the rapid pace of web standards after the initial release; and when IE7 finally came, it had very minor improvements (IIRC the biggest one was PNG transparency?). But that was a different era already.
Actually it was tied to Windows upgrades. It available for older versions of Windows but it was developed as part of development of new version of Windows!
MS IE 1 was developed for Windows 95 Plus!, MS IE 2 for Windows NT 4.0, MS IE 3 was for Windows 95 OSR2 (essentially new OS, it even included it's own brand-new filesystem!), MS IE 4 was for Windows98 (but was rushed with Windows 95 OSR 2.5), MS IE 5.0 was for Windows 2000 (but was included as part of Windows 98 SE), MS IE 5.5 for was Windows ME (which wasn't initially planned - that's why it got 5.5 number, not 6), MS IE 6 was for Windows XP, MS IE 7 was for Windows Vista (and since Vista was horribly delayed so was MS IE 7) and MS IE 8 was for Window 7!
The first version of MS IE which wasn't developed as part of Windows development was actually MS IE 9.
I don't know if it was developed as part of the development of a new version of Windows or, far more likely, it was simply released with each new version of Windows for maximum impact.
IE2 was the first version available for Windows 3.1, Mac OS, etc. Sure it was released at the same time as NT 4.0 but I don't think it was developed with it.
The big exception is IE4.0 which was deeply integrated with the Windows 98 shell (hello Active Desktop).
But in the context and era, auto-updates were not common. No other browser auto-updated. Windows XP was released a month before IE6. Windows Update was still considered a revolutionary thing (and had been a stand-alone product only a short time earlier).
Considering the context and era, IE being updated through Windows Updates was actually a huge improvement over the state of the art at the time.
In this context the comparison is not about the quality of IE6 as a browser, but the control it allowed Microsoft to exert on the internet ecosystem by virtue of its market share. Chrome is now in the same position, holding the vast majority of the www "hostage" to the whims of Google.
The longer Chrome stays popular, the more websites will optimize for Chrome, bringing back the days of "Best viewed in Internet Explorer". And as more and more sites become accessible only in Chrome, user share tilts further in Chrome's favor, and so on in the vicious cycle we experienced in the browser dark ages.
That's the fear, at least. I don't think anyone is concerned that Chrome is going to start BSoDing Windows anytime soon.
The omens of monopoly are certainly here, though. All of Google's websites, which constitute a large percentage of web traffic, have been a "best viewed in Chrome" affair for a few years now. Microsoft recently dropped support for Firefox on the Skype web client. And I've seen my fair share of niche/corporate/etc websites that are Chrome-only.
(FYI, I'm not personally worried that we'll see the same browser dark ages as before, but it's something we should be vigilant against.)
It is. There is a focus on standards, pushing the technology forward then sharing that with other browsers. Rapid updates. A focus on security and performance. And Chrome is the product, not the operating system its running on. Arguably, you could say that Chrome is actually designed to push you towards the Google Search and Gmail. But its a soft nudge in comparison to IE6 and Windows.
I'm sure we'll find that a Pareto Distribution is an unavoidable market phenomenon, but I still believe its healthy for technologists to remain skeptical when one client massively outperforms others.
>Chrome is magnitudes better than IE in every other way
Soo like - you mean: built in proprietary app stores, random DRM-enforcing blobs with camera/microphone access, phone-home tracking behavior, and gobs of memory use?
According to the screenshot in the article there already was a permanent Chrome ad in the sidebar, so I don't really understand why the lawyers were concerned because of an additional banner.
Oh, God. I forgot about the empty src bug. YouTube wasn't the only substantial Google service affected by it from time to time. But I remember it differently.
Yes, it triggered a GET for /. But that generated HTML (usually the service's homepage, as was our case), which the browser would attempt to parse as an image, obviously failing. It would not trigger a recursive fetching of all the resources on the page. Even without recursion, it already inflicted major damage, because our service's homepage was dynamic, while the resources linked from it were mostly static (and thus a lot cheaper, as well as cacheable). I think I would have noticed if it multiplied other traffic, not just the homepage.
This was the bane of my existence for many months. Every few weeks I would have to fire up Dremel and try to figure what was causing the spurious page loads. I hated and still hate SQL, so that was no fun. I knew when it was time to investigate thanks to our human monitoring system: our PMs would get excited or puzzled by a sudden jump in the page view dashboards. (They lived by those graphs...)
Thank you Chris and co. for your contributions in killing the browser version from hell.
The particular change Chris is referring to was in implementing delay load for the related video thumbnails. Now as you may imagine the /watch page gets most of the traffic and is hyper optimized. Now imagine every load of /watch hitting the much more dynamic and personalized and much less optimized homepage 10-15 times :)
I was working on an SPA around this time in an internal environment at a large bank. IE6 was the bane of my existence and the memory leaks in IE<8 made the application unusable after being open for around 5 hours. The early solution was to close the application at lunch, the longer term was portable firefox and later an exception for Firefox proper for those users specifically, while IE8 exploration for support was in progress.
Around the same time, there was a Chrome in IE plugin that was also suggested for other applications but never got approved.
People complain about the progression/changes in JS since around 2010 (node, commonjs, es5+). But nothing is so bad as dealing with the really old browsers. IE6 was decent at release but became a boat anchor to the industry. Even then, you couldn't pay me enough to ever support IE4.x + NN4.x ever again.
I loved the part when the Docs team added their own because they were "presumably under the mistaken assumption that we had done our diligence and had received all of the necessary approvals....Amazingly, we had somehow bypassed detection as the originators of the IE6 banner inside of Google."
> Between YouTube, Google Docs, and several other Google properties posting IE6 banners, Google had given permission to every other site on the web to add their own.
This was one of the happiest days off my web development career when I could finally tell clients to drop IE6 support because "even Google is doing it."
Amazing to hear how the tail wagged the dog to achieve this :)
I'm not one for hero worship, but I want to buy everyone involved a beverage.
From '08-'10, I was in web design & development at a company that was neck-deep in IE6 dependency. The animus I harbored for IE6 was so intensely palpable that there were days where I was mere moments from getting a tattoo permanently documenting my burning hate for what I still reckon as the worst piece of software ever known, based on reach, potential for issues caused, and total net effort expended on all mitigations.
Beautiful illustration of what keeps bad ideas going, and what it takes to break them.
> Our boss, in on the conspiracy with us, had thoughtfully recommended that we randomize the order of the browsers listed and then cookie the random seed for each visitor so that the UI would not jump around between pages, which we had done.
It's not exactly clear whether the boss was in on the conspiracy - or whether this was a story told to satisfy the lawyers. If not, this seems a viable strategy for managing the temporary blowback of bending the rules to do the right thing: if you can, make sure your boss ends up looking good.
Also, do it as right and professionally as you can.
I mean, randomizing the order is obviously the right thing to do when you hear it. The reason companies don't want people doing this without going through the proper channels is... what if the boss hadn't happened to think of it, or hadn't been in on it?
Of course, in reality in this case, they would have just fixed it when they noticed, it in fact wouldn't have been a legal disaster. But anyway.
Anyone that started developing in the IE9 era or later cannot comprehend how painful it was to develop for IE6. You simply have no frame of reference whatsoever. Any gripes you have about IE9 or later sound like a joke in comparison. Even IE8 was a huge improvement.
Yeah agreed, although you could almost say the same thing about devs who started in the early Firefox era and how they have no frame of reference for the awful Netscape 4.x pain that IE 4-6 made go away...
And somehow IE5.5 was even worse. There was a brief period whereby CSS was becoming more popular and the recommended approach for layouts (_"tables are for tabulated data, not layouts"_), but IE5.5 still had enough market share to warrant trying to make it _somewhat_ work with the div/CSS based layout. Ugh.
Yes. IE9 was an improvement over IE8, which was a big improvement over IE7, which was a huge improvement over IE6. I don't have experience before that, but my understanding of history is that things were even worse before IE6.
> Between YouTube, Google Docs, and several other Google properties posting IE6 banners, Google had given permission to every other site on the web to add their own.
YouTube started a domino effect with this. I remember I was working at a web agency at the time. And when I saw YouTube's banner regarding IE6 it was my "this is it" moment. I rushed my boss trying to convince him we should stop making our client websites IE6 compatible. He considered it and started incorporating YouTube IE6 stance in every client proposal from that moment.
This is a fun story and an easy read. I like how much hand wringing there was about possibly favoring Chrome. Earlier this year YouTube showed me a similar banner: "Watch YouTube videos with Chrome. Yes, get Chrome now." https://i.postimg.cc/x8cFCcB2/Google.png
> To cement their authority over the YouTube codebase during the integration into Google, the early engineers created a specialized permission set called “OldTuber”. OldTuber granted you the ability to completely bypass the new Google-oriented code enforcement policies, enabling anyone holding it to commit code directly to the YouTube codebase, with only the most glancing of code reviews from anyone. No need for code readability. No need for exhaustive tests. No need for maintaining code coverage. If you broke the site by improperly wielding OldTuber status, it was on your head and you would lose the privilege immediately, if not your job. So you just had to be a good citizen and never break the site.
Oh man. At our org, we called this "being a cowboy." We have a lot of process to prevent cowboys now. Oh, the good ol' days haha.
"Shortly thereafter, the Google Docs engineers whipped up their own IE6 banner and pushed it into production, presumably under the mistaken assumption that we had done our diligence and had received all of the necessary approvals."
I remember that day this banner showed up. My team at the company I was working for at that time was trying to do bleeding edge web development and we desperately tried to convince management to drop IE6 support too. This helped a lot. It’s amazing to read this story and I only can say thank you OldYoutubers!
I remember using those banners are reasons to not support IE6 in our client projects at the time. It took a bit longer for it to actually fade away for us, but it's great to hear the story behind those banners.
There is another thread about a Code of Ethics for developers. This is an interesting case study. In many ways what they did was unethical but the result was probably positive overall. How do you deal with that? Ethics is hard and very dependent on the details of the situation.
Your comment covers the gamut of ethical theories. A 'code of ethics' is going to be some combination of deontology and virtue ethics and will typically prohibit cases like this post describes.
> In many ways what they did was unethical but the result was probably positive overall.
And that kind of thinking is the other, newer branch of ethics: consequentialism/utilitarianism.
My conclusion is that deontology and virtue ethics are necessary heuristics as actually calculating or estimating the consequences of any action are almost always effectively impossible, but, ultimately, what we care about are exactly those consequences, so we're never able to adequately 'cover' morality without, at least sometimes, explicitly considering them.
IE 6 rightfully deserved this. However, the modern policy of supporting only the latest browsers can also be too extreme.
Web browsers have gotten to be MUCH more resource intensive than the IE6 days. Try loading any "modern" site on a "modern" browser on a netbook. (Or any computer with an Atom processor).
While its "compatibility" has waned, I really appreciate Opera 12 for its performance on humble machines. No modern browser seems to match its resource usage.
>Web browsers have gotten to be MUCH more resource intensive than the IE6 days. Try loading any "modern" site on a "modern" browser on a netbook. (Or any computer with an Atom processor).
They didn't, the current web browsers are faster than ever. The problem is that websites are getting heavier and heavier.
Perfect timing. For anyone not familiar from experience, personally I was doing heavy web development during this period and IE6 was a scourge - even IE7 was much better. The version was clearly beyond long in the tooth, having been released sometime like 2000 or 2001. Indeed, usage was still somewhere around 10%. If we didn’t support it, people would complain to us or even advertisers.
>Our most renegade web developer, an otherwise soft-spoken Croatian guy, insisted on checking in the code under his name, as a badge of personal honor, and the rest of us leveraged our OldTuber status to approve the code review.
I love this so much, it's so punk-rock. It's like John Henry's signature on the Declaration of Independence.
This is an awesome article. Thanks to this team they probably helped push the web ahead by a few years ahead vs if web developers still had to support the cripple that is IE6.
Good fucking riddance. I was a junior web developer during the IE5/6 days.
Microsoft, that fucking browser caused so much grief YOU LITERALLY HAVE NO IDEA unless you were there. My cursewords are barely scratching the surface of the rage. Frontend dev would literally double in work if requirements dictated IE compliance. I have no doubt that it informed both the decision of many devs to head to the backend and stay there (like I did) as well as Material Design from Google which is not nearly so dependent on spacing being rendered precisely.
Remember those "Best viewed with Netscape" and "Best viewed with IE" buttons that people plastered on their sites in the 1990's? Or my favorites, "Best viewed with Lynx" and "Best viewed with a Tuba."
The entire point of the end of the browser wars was to restrict websites to acceptable clients, i.e., those that provided reasonable support for web standards.
Microsoft was way behind in the Web era and IE6 was attempt to slow everybody else down and create web that works only with MS software.
The IE6 was prime example of the Microsoft strategy of embrace and extend using market share. They build software that included harmful features, broke standard or for no reason and had intentional inconsistencies.
Microsoft was pure "engineering evil" during the Gates era.
I'm a bit salty about this - I've proposed the "dropping ie6 banner without actually dropping support" banner at multiple jobs in the past. Each time it was met with "ooooh we can't do that" by product. I didn't have the guts to just go ahead and do it.
On a related note, I feel like most of my career has been spent preaching things that I should have just asked for forgiveness for. I can't count the number of times I've heard "we want x, but we can't do anything to achieve x". Psssst, you can - you just need to do it. Scared of change/ the unforseen. If you don't know what the ramifications are going to be, there could be positive ones you're missing too. Try it. If it's truly sinking your ship, kill it. Otherwise sail off into the promised land. Rinse and repeat. Be brave. That's my advice.
We all killed IE6 eventually, the big shops and the little shops. Big shops had their banners, us little ones had their banter. Telling those in accounting, marketing, support, and sales to use FireFox, Chrome, or whatever instead of IE6 so we didn't have to #%$& with debugging IE6 on extranets.
OldTuber granted you the ability
to completely bypass the new
Google-oriented code enforcement
policies, enabling anyone
holding it to commit code
directly to the YouTube
codebase, with only the most
glancing of code reviews from
anyone. No need for code
readability. No need for
exhaustive tests. No need for
maintaining code coverage. If
you broke the site by improperly
wielding OldTuber status, it was
on your head and you would lose
the privilege immediately, if
not your job. So you just had to
be a good citizen and never
break the site.
I have a secret theory from seeing this at a few companies by now; I think that it’s nearly critical to deploying complex / cloud-based stacks. There’s so much unique infrastructure to production that at some point you need a few people at least with engineering / ops expertise who can be the unblocker for getting something seeded or whatever. I’ve seen this either done explicitly or through a slow burn of acquiring grants over time which just never get revoked. But now I’m curious seeing it elsewhere if this is just a common and sort of necessary thing that happens.
I'm not comfortable with this. why should we need to avoid code reviews, sacrifice readibility and bypass tests to make up for poor business decision making?
It is 2019 and Chinese dotcoms still design for IE6. Reason? XP is still the "default OS" with megatons of hardware for things like POS terminals, fapiao printers, biometric systems, passport/rfid scanners not shipping with drivers for anything other than XP.
Fascinating read. I've worked with legacy IE a lot and that often included IE6 but never came across that <img> bug. Who would have thought a missing src could do that.
I don't know why I get these warm fuzzies when reading about the Internet of yesteryear.
Man, that screenshot made me miss the times when the number next to a browser's name actually had some kind of meaning and jumping two integer version numbers actually meant significant differences.
This story reminds me of the ones about the beginnings of the Apple Macintosh over on folklore.org. If you haven't been to that site you're really missing out.
Sorry to disagree with the current "you're my hero" trend, but in my mind, this story just show that a bunch of irresponsible hackers can do whatever they want to ease their work - for which they're paid btw - without any regard on the impacts to users that may rely on the service.
This time, it was only showing a warning message (that may have frightened some people)... and what's the next step? Decide to allow only Chrome-users to use youtube? When a company try to reach a monopoly status, it bear a social responsability.
(anyway: I'm happy for IE6 been a thing of the past)
Microsoft started pushing MS IE 8 at that time, too. And you could see that modest MS IE 7 drop before "watershed moment" mirrors MS IE 8 jump.
But MS IE 6 was significantly more entrenched: I have seen plenty of MS IE 6 - only sites and internal tools, but never MS IE 7 - only ones. They existed, probably, but were obviously were rare.
That one deserves a Balls Of Steel award. As a long time web dev, thank you for the service you have done to my life by not having to look after IE6 crap any more.
It would be a funny thing were it not for the fact that we have a massive company doing blatantly anti-competitive things.
If the Feds every want to try to break up G, this will be submitted as evidence.
Edit: this is exactly what a monopolizer looks like in action. One tactical move at a time, until they have full control of an adjacent layer in the value chain. In this case browsers.
> Edit: this is exactly what a monopolizer looks like in action. One tactical move at a time, until they have full control of an adjacent layer in the value chain. In this case browsers.
I think this was fundamentally different than a monopoly move. A monopolistic action would require a user of one Monopoly service to use another service by the supplier, such as a browser. That is absolutely not what happened here. In this case, YouTube asked people to upgrade to a number of options, including a newer version of IE. Notice that they did not require tying of one of their services with another. I think that makes it completely different.
It's close enough to being a legal problem that an internal lawyer immediately responded, specifically with the issue of 'why did you put Chrome first'?
That there were options, doesn't absolve them of possible anti-competitive acts.
For example, imagine that they did this to a browser made by a small company? Or another search engine?
Google has enough power that it doesn't need to form an overt strategy in many of these areas. Just by having assertive employees, loose rules, and Engineers not considering implications beyond their noses ... they can make all sorts of little 'wins' like this.
Today, the Chrome/Mozilla market share issue is fundamentally about power, not about 'the better product' and has Google has an infinite amount of money to subsidize that layer of the market, they will dominate, much as they do with Android. If the iPhone weren't one of the greatest products of a generation, and it were just some other thingy ... then Android would be fully dominant as well. Arguably the only reason that Mozilla exists is to allay concerns of competition.
Google has an incredible amount of power, I'm actually thankfully it's not aggressively abused, but soon as the founders leave, culture erodes, other priorities sink in, I believe there's little doubt that bias will creep into search engine results, for example.
The banner specifically suggested upgrading to a new version of IE among other choices, so I don't see a problem there. Especially with the randomized order of suggested browsers, this is basically as good-faith as it gets.
I don't like the Chrome monoculture, but it's a different and unrelated issue. IE monoculture was even worse, and it had to die - I just wish the lessons from that weren't forgotten so easily.
IE6 should already have been dead by that time. Users could have upgraded to IE8 - IE9. Nobody forced anyone to go toward Chrome. The banner in question even randomized the displayed browser icons to avoid pushing Chrome.
Wow is this ancient history already? At the time is was regarded as completely retarded because nobody used IE6 except grandmas and corporations. So youtube telling us to use IE6 was silly. On top of that, many websites took the popup and made it so you couldn't actually see their content under any circumstances. Those sites simply got ignored by literally everyone on a corporate browser.
Largely it was a waste of time but it did pique the media's interest.
A fifth of youtube users were people at work. The same people who aren't allowed to change their browser or tell their boss to upgrade to IE8 so they can watch more youtube.
I'm not sure the engineers realized despite their secrecy, it would be noticed by the press immediately after deploy.
But the best part is how Google engineers immediately on seeing it figured "oh yeah, we should do that too" (although they apparently got the necessary approvals however that was done at Google, it was easier to do because they figured "well, youtube must have done due dillegence before doing it.")
Amazing!
I don't know how they didn't all get fired. Like, ALL of em, including everyone who set up the special "OldTuber" priv long before.
But... it worked! This is a hacker story for the history books, it sounds like the kind of thing programmers did 20+ years ago for nothing except the reward of doing it right (against their own career interests), that I feel like doesn't happen so much in a more professionalized industry.