Updated: Jul 2, 2020
A major part of our engineering culture is to take an active part in the global developers’ community by sharing the best of our technical expertise.
In our new podcast you will hear the stories and insights from our very own, alongside some of the most prominent voices in the tech community.
In our first episode, “Stand Up and Fight”, we hear it directly from Håkon Wium Lie, the mind behind the Cascading Style Sheets (CSS), about his own story of one developer’s willingness to fight for the principles he believes in, even against the biggest technology company in the world at the time: Microsoft.
In this episode we will also hear it from Gilad Segal on how Wix Engineering is taking CSS to the next level:
Hi and welcome back to The Wix Engineering Podcast. My name is Ran Levi.
We left our last episode with a conundrum. Håkon Lie was trying to convince two powerful internet companies to fully, equally implement his Cascading Style Sheets format into their browsers. Neither was keen on the idea. Then one of those companies--Microsoft--subsumed the other--Netscape--which solved the problem. But it also introduced a whole new, even more difficult problem. Microsoft now possessed, essentially, a monopoly in the internet browsing market. They controlled everything--they didn’t have to listen to anyone, let alone a little developer like Håkon preaching interoperability and cooperation.
Håkon Wium Lie: So all eyes were really on Microsoft and unless Microsoft fixed the problems in CSS, it didn’t really matter that Opera had a much better implementation because nobody could use it. You were limited by what the dominant browser had in their code.
Having nearly 100 percent market share, Internet Explorer became, for most of the world, synonymous with internet browsing. Microsoft had a huge, powerful monopoly. They didn’t have to listen to some small group of developers calling for a language uniformity across all browsers. In fact, they could ignore everyone, build their own CSS-type language, make it purposely incompatible with other browsers, and it would only further their dominance.
In fact, Microsoft was already vertically integrating just about every aspect of the internet experience.
There’s no company today so thoroughly dominant as Microsoft in the early 2000s, but the closest equivalent may be Apple. Apple deliberately designs Apple products to work with other Apple products, and not other products. The devices, the apps, even their own Swift programming language. It’s how we got to a world where “PC” is one category and “Mac” is another.
Still, you can use Internet Explorer on a Mac if you want and CSS works on Safari. This wasn’t always a given, most notably in the early 2000s.
Håkon Wium Lie: If we don’t have that on the web, we don’t really have the web. We don’t have a web where everyone can contribute. You don’t want to have a web where you had to speak the Microsoft dialect.
I understand from Microsoft’s point of view. Why should they add key programmers around when they have 90 percent of the market? Then basically you can do a lot of cool stuff if you speak the Microsoft dialect. There is little incentive for them to fix those bugs.
So from a kind of management perspective, I can see why they did what they did, which was basically to close down the IE team. But from a specifications end, from a web developer’s point of view, it’s totally, totally madness and it keeps you lying awake at night to think about those bugs in IE and that’s not really a world we want to live in.
So that’s why I had to start kind of a battle against Microsoft and against the people that I had worked with in the past.
Håkon was about to take on the world’s biggest company, and their CEO, the world’s richest man. The company which supported him from the very beginning, and employed many of his friends and colleagues. It would be the defining fight of his career. An uphill slog. But, listening to him tell it, it wasn’t all bad.
It has some entertainment value to fight with Microsoft. I can’t say I hated all aspects of that.
On February 3rd, 2005, Bill Gates published an “Executive E-Mail.” It began, quote:
Every day, businesses face an ongoing challenge of making a wide variety of software from many different vendors work together. It’s crucial to success in streamlining business processes, getting closer to customers and partners, or making mergers and acquisitions successful. Whether you are connecting with partners’ systems, accessing data from a mainframe, connecting applications written in different programming languages or trying to log on across multiple systems, bringing heterogeneous technologies together while reducing costs is today a challenge that touches every part of the organization.
Over the years, our industry has tried many approaches to come to grips with the heterogeneity of software. But the solution that has proven consistently effective – and the one that yields the greatest success for developers today – is a strong commitment to interoperability.
Håkon Wium Lie: Well, my life was centered around the un-interoperability in Microsoft’s product.
Håkon was going about his daily life. Then Bill Gates published his “Building Software that is Interoperable by Design” letter. It wasn’t just a slap in the face, it was as if the richest, most powerful man in the world was teasing him.
Håkon Wium Lie: Basically the bugs in IE kept me awake at night and when he’s bragging about the interoperability of Microsoft products, that was totally madness. To me that was so clear that he – either he doesn’t have a clue about what’s going on on the web, or he’s basically just disregarding it, just to create a marketing speech.
Gates wrote that, quote, “Simply put, interoperability is a proven approach for dealing with the diversity and heterogeneity of the marketplace.” And, quote, “Microsoft offers a comprehensive portfolio of interoperability software capabilities.”, e nd quote. He described the many ways his company promoted, and participated in the development of interoperable technologies across the industry, in collaboration with outside developers and companies.
In response, Håkon devised his own letter, aimed directly at Bill Gates.
So I knew to some very exact detail what was wrong in their product, in the IE browser. So I could sit down and write that – you know, a little cheeky letter, perhaps. But I had all the facts right. I knew what I was talking about, and there was also an audience there.
“So Mr. Gates,” it begins, “you say you believe in interoperability.” Håkon then listed out all the ways in which Microsoft was shorting on their commitment--not just CSS, but HTML4, Web Core Fonts and so on--and the ways they could improve.
The letter ended, quote: “Convince us. Deliver on your promises.”
Håkon Wium Lie: There were a lot of people in the web development community who were cheering, who were seeing the problems caused by Microsoft’s lack of interoperability.
So I think I had a lot of support for doing that and The Register wrote articles about it and there was a lot of buzz in the community, which of course egged me on a bit too.
Unfortunately, no matter his support in the development community, Microsoft’s profit-making interests were still stacked against him.
Håkon Wium Lie: They didn’t fix the bugs in IE and I think I know why. It was a very comfortable position for them. They had established kind of a Microsoft dialect of HTML and CSS and for them fixing that so that they conform to the standards instead of their own dialect meant A, they had to invest in programmers, and B, they had to risk that some of the pages that their customers were currently using, that they ended up looking differently.
That’s of course a business cost when you change a product and something turns out to not look the same. So for them it would have been better if the world had adapted to their dialect, their versions of the standards.
It was clear that no letter was going to change anything. The small community of developers in the know may have supported Håkon, but the rest of the world didn’t care, and was probably more likely to side with Bill Gates over a lesser-known adversary, anyway.
Håkon Wium Lie: So it was clear that some people would read my letter, my article, but most wouldn’t. But if we could make a test that would showcase, highlight the fact that IE was quite terrible as a browser, that would have more impact.
Microsoft would have to be exposed somehow, in a way that was clear enough for anyone to see.
Inspiration came in the form of what’s called the “Acid1 Test.”
Håkon Wium Lie: The first Acid Test was written by Todd Fahrner. He was an early participant in the CSS work and he saw some problems in early implementation of forms and HTML elements, basic things that were part of the CSS 1 specification. And the test was mostly done within the working group, it wasn’t widely published outside. But he was able to take some early problems with that relatively simple test.
The Acid1 Test was designed to determine whether browsers were fully compatible with CSS1. It consisted of a collection of boxes--orange, red and black, against a white background--of different sizes and dimensions, some inside one another, each containing little text phrases like “Toggle” and “sing to me.” A fully CSS1-compatible browser would render all of these boxes--their colors, sizes, orientation, and text--correctly. A browser with zero or incomplete compatibility would not, and its failure would be immediately obvious to any observer.
We refer to it as the “Acid1 Test” today only because there was an Acid2 test, co-created by Håkon Lie.
Håkon Wium Lie: In order to write that test, I enlisted Ian Hickson of later HTML 5 fame. He’s an incredible hacker and incredible spec writer as well, and he knew the CSS specification to some detail and he also knew the browser implementations to some detail.
So we worked together. We shared a hotel room in Boston for a week for one of the World Wide Web conferences, we shared that room so that we could really work hard on the test. I think I had – my main contribution was that smiley face. The smiley face is good. It’s very easy to see when it’s right. It’s obvious when something isn’t right there.
But Ian was the one who wrote the underlying code. He’s really good at it and we were very pleased with the results. We had some other contributors as well.
The Acid2 test was a pixelated smiley face--green eyes, a big smile and a square nose. I guess their intention was to make it fun but, if I’m being honest, it looks kind of creepy. Like if you fail the Acid2 test it’s going to kill you.
Ian and Håkon wrote in that if a browser failed the test, the smiley face would become distorted and leave red streaks along the page.
Håkon Wium Lie: I have to admit here that we added some of that red background to make the face, the smiley face look kind of bloody. I think we chose that color to make it look like blood. So we made it a little worse than it seemed perhaps.
With this creepy smiley face, any browser could be easily, unambiguously tested for CSS2 compatibility. It could be tried on any browser, but, obviously, the main target was Internet Explorer.
Håkon Wium Lie: I think now, many years later, I think CSS would have been very different if we hadn’t had that Acid Test. It was a very important part of making sure that CSS could be used for real by real developers on real webpages.
A lot of people started asking Microsoft questions about this. One thing were the newspaper articles that were written, but also the people – you know, developers who were very conscious of their trade. They wanted to do right code, do it the correct way. They started asking Microsoft questions. So when there was a Microsoft talk at a conference and they opened up for questions afterwards, somebody would raise their hand and said, “When are you going to do the Acid 2 Test?” and then the next version of IE came out. That was IE 7. So then we were very hopeful that they had fixed these problems.
Despite the promise of Internet Explorer 7, the results of the test were not good. In fact, they were really, really bad.
Håkon Wium Lie: When it was out, you know, it kind of struck as a lighting. It was like, “Wow! Is IE really that bad?”. The page was still bloody. The nose and the ears and the eyes were in the wrong places.
To say the ears and eyes were in the wrong places is an understatement. Other browsers, like Opera 8.54 and Firefox 2.0 had eyes and ears in the wrong places. The IE7 Acid2 test looked more like the flag of the Soviet Union--all red across the page, with some remnants of the dismembered yellow smiley face off to the left side. A gruesome murder.
Håkon Wium Lie: So they tried initially to say that this is not something we care so much about. I remember distinctly one Microsoft person saying, “We have bigger fish to fry.” That was the term he used.
“Bigger fish to fry” was, really, one of the nicer things Microsoft said about the Acid2 test during that time. In July 2005, IE’s Platform Architect referred to Acid2 as not a proper compliance test, but a quote, “wish list” of features. Their General Manager referred to it as quote, “torture test,” and? quote, “what one set of people feels very strongly about.”
Håkon Wium Lie: So I thought OK, this is not good news. From looking at the test, it’s obvious that Microsoft doesn’t comply. We can all see this in the web standards community. But if Microsoft chooses to disregard it, we can’t really do anything about it. I mean we can’t really sue them, can we?
All we could do was to raise awareness in the community and that’s that we did.
Slowly, the smaller players in the industry began fixing their browsers to comply with CSS2. Six and a half months after the test was first published, Safari was the first to release a fully-compliant browser, on Halloween, 2005. Opera passed in June, 2006, and Firefox two years after that.
But the browser that really mattered remained unfixed.
In one sense, Internet Explorer actually didn’t matter quite as much as it once had. When Acid2 was created, they’d controlled nearly 90 percent of the browser market. By 2008, Firefox had taken a good chunk out of Internet Explorer’s market share, with around 30 percent of all internet users favoring their browser. With major companies like Apple and, soon, Google, competing for the same customers, the reign of Internet Explorer was soon to be over.