A web design and development community for people with a thirst for knowledge. Follow the Community on Twitter right here.
I'm tired. I'm tired of looking at one browser and seeing a result only to find that another browser decided to see things differently. I'm tired of reading CSS3 and HTML5 articles that show me hot new things only to tell me that they will work in some browsers and not others. I'm tired because it's 2010 and we are still dealing with the same issues that we thought we were solving with CSS back in 2002.
We are all working from the same W3C specs so why can't we at least make everything render the same way? I'm beginning to think that if there was a spec for a perfect woman that browser makers would get closer to creating the exact same woman than they would rendering a page in exactly the same way.
Even more amazing is the fact that the rendering engine isn't a part of the browser that is considered a feature. We render HTML betterererest than the other guys isn't a tagline that people care about and yet we have 3 different rendering engines (sorry Opera) wasting their resources trying to compete with each other to see who can pass an ACID test first.
Sooner or later I hope this ends. The battle for browser superiority will happen with browser features, not rendering engines.
This is where I begin to go insane...
While realigning the individual gallery pages I came across an issue where Mozilla and Safari applied padding differently to a heading. This annoyed the hell out of me. Why couldn't they render the element the exact same way? Why am I even worrying about this in 2010? This was something I had to worry about in 2004 and 6 years later we still can't get this right?
Are we the only industry that create specs that can be viewed differently by everyone?
I don't check this site in IE. I don't want to. I'm sure some elements of it look horrendous in it and I don't want to say I don't care, because if someone offered me some fixes to the CSS to help IE users out I would apply them, but in general it's not that big of a concern. I have that luxury, most of the web doesn't. Microsoft is pushing ahead with IE 9 and it's supposedly going to turn out pretty well. However, it will render some elements differently and that will be annoying. I say they should just use WebKit.
The logic behind this is that the browser wars aren't won by who can render HTML the best, browser wars are won by speed and features. When you don't have to worry about the development of a rendering engine then you can focus on the actual browser. Google understood this with Chrome and it is fast climbing up the charts. I know that WebKit development is essentially controlled by Apple, but since it is open source who really cares?
It would even help them jump into the mobile game immediately.
Imagine the headaches Microsoft would get rid of by using WebKit. No longer could we blame IE for our development headaches. We could test a site in IE, Chrome or Safari and there is a good chance if it works in one that it will work in the other two. That sounds like bliss to me. Pride isn't on our side though. Microsoft has too much pride to use someone else's technology that they can't buy and keep for themselves.
In a perfect world Mozilla would adopt it as well, but I don't see that happening because they have too much invested in Gecko along with too many different projects using that particular engine. Maybe one day though.
When I watch TV I know the quality of the picture is based on the screen and whether the channel is HD or not. The picture is still rendered the same though. When I listen to music the quality of the sound is dictated by the hardware, yet it's still rendered the same everywhere. We are the only idiots that can render a spec the exact same way. Remember when browsers were supposed to be the future for applications? Ha.
I'm insane for suggesting this and I know I'm insane because it just makes too much sense to me and when something makes sense it usually means large corporations won't do it. I know that web developers have been hoping for the day IE would die and 8 years ago I would've said maybe it would be possible in 2010, but here we still are. We can launch satellites across the galaxy, develop a global communication network that works at the speed of light and make Kim Kardashian a global icon, yet we can't get our browsers to the point where we look in one and know that it looks the same in another. Write once, run anywhere doesn't mean squat when they are all running in different directions.
I know in most cases you don't have to do any tweaking to get a WebKit and Gecko rendering to look the same, but I don't want to have to do any tweaking at all. I want write once, view the same, and run anywhere type code. In a weird twist of irony I could get that before...with Flash.
Also be sure to check out Dear Microsoft, You Missed the Boat, which was eerily published the same date as this article.
This article was a bit different than what you usually see right? That is what Drawar is all about. It's not about being different, it's about helping all of us dig deeper into what web design really represents. It thrives off its members contributions so if you like what you see consider becoming a Plus Member or Drawar Friend.
I know I'm insane for requesting this so I'm hoping someone could jump in and give me the practical business reasons why they won't do this.
I think switching to Webkit will be a smart move for Microsoft. They have invested a lot of money to build their own (bad) engine, which is the reason why we hate IE.
Preaching to the choir...
The worst thing that could happen for innovation on the web is for a single vendor to be in control of implementing W3C standards, so I very much disagree. It's also irrational that Microsoft would use a rendering engine that is developed by its OS competitor. The IE 9 previews show that Microsoft finally is interested in competing in a way more than just have a desktop monopoly.
Innovation thrives when there are three strong competitors. In this case: Webkit, Mozilla, and Internet Explorer. There's another amazing rendering engine out there that isn't getting any love, Opera. I think the better option would be for Microsoft to buy Opera: http://jeremiahlee.com/blog/2009/11/19/microsoft-must-sing/
WebKit is open source though so no vendor is controlling the implementation. Even the Gecko engine is OS so Microsoft could go that route if they wanted. We are just talking about how a web page is rendered, not control over browser technology itself so I still don't see the problem here.
I think the reasoning against it is because of the competition between the rendering engines. It might not do much for the market share of the browser, but the developers still compete for the heck of it, and to my understanding this is where a lot of the new features have come from.
But for the rendering engines that are just struggling to keep up and aren't contributing new stuff, they could probably be replaced.
Of course, the W3C want at least 2 rendering engine implementations of a spec before they make it official, so one rendering engine through all browsers would stop that. Of course, with one engine the W3C specs might not matter as much...
It's a lot to think about.
Which version of WebKit?
http://www.quirksmode.org/webkit.html
No. MS should stick with improving IE9, and standardizing the display. Supporting a feature isn't as important as supporting it well.
I agree with Jeremiah. We shouldn't all pin our hopes on one browser, rendering engine, JavaScript framework, CMS, etc.
I don't like IE, but I like knowing there are readily available alternatives if the WebKit project ever goes down the wrong path.
I have to agree with everyone that's said one rendering engine would be a bad idea. Competition is what gets all the browser makers to add new features and yes it sucks that Internet Explorer is far behind, but do we want MS to get involved in Webkit development? Wouldn't it all lead to different versions of Webkit, some that can do somethings that, say Microsoft wants for their customers, but you can't do with Safari?
Yes, WebKit could go down a bad path at some point, but Microsoft has already proven they're open to the idea of using tech outside of their wing through their work on jQuery. Hell, they tried to get in on development of Java back in the day, and when Sun booted them out they went and made .NET.
I see no reason why Microsoft could not benefit from adopting WebKit in some form.
Competition is what drives innovation, and for that reason I don't really hope there's ever one rendering engine.
However! It's hardly competition if you don't compete, and in this respect Microsoft holding all their chips while simultaneously sitting on their hands is not a good situation to be in. Releasing major versions every four years doesn't cut it, Microsoft; you need to be constantly pushing out updates, advancing the feature-set and fixing bugs. The Internet can't wait for you to catch up every time; we want to keep pace.
In a perfect world *MicroSoft* would adopt it as well, but I don't see that happening because they have too much invested in *their rendering engine* along with too many different projects using that particular engine. Maybe one day though.
ftfy
My biggest issue is not with writing css so divs sit in the same spot in all browsers, I don't find this hard. Even IE is doable without too much effort(i dont count ie6).
My biggest issue is underlines. I HATE that Gecko/IE thicken underlines to match bigger font sizes. On my blog I have just now decided to not even show underlines for Gecko/IE. Because Apple cares about typography, so does WebKit. And it looks brilliant.
Someone help me out here then, what's the competition of a rendering engine? Who can draw the tightest rounded corner? I'm probably thinking small here so I'm open to enlightenment.
Hacker News are having a great discussion on the reasons against it.
Efficiency, algorithms. Take your focus away from what the end-user sees, and more on the process behind it.
Think more like, OpenGL vs Direct3D(but not quite). You have already mentioned speed.. Which has a huge stake in the rendering engine.
The real key question that MS should consider is why are they paying developers tons of money every year to develop a browser which they GIVE AWAY? Apple went out and picked up an open source library to develop their browser in large part because the Mac was a second class citizen on the web as long as they had to rely on MS to develop the browser. Plus Apple now uses webkit as a way to help push standards forward to develop their own technologies for good browser based apps.
Google actually surpassed Apple in WebKit contributions - http://techcrunch.com/2010/02/06/google-apple-webkit/. Take that with a grain of salt though; as the article mentions, the numbers don't "measure the ways in which companies or individuals contribute to WebKit in other meaningful ways."
It's interesting that no-one's mentioned what seems like the most glaringly obvious reasons we don't see better standards support in IE and predictable rendering across browsers: because browsers are aimed at web users, not developers.
When the vast majority of your audience will never make a web page, then how is making your browser render exactly the same as the accepted benchmark seen as competitive? It's not.
Don't get me wrong, I hate IE and M$ possibly more than anyone else I know, but I can see how NOT complying with standards gives them an advantage. Not only are windoze users given IE as the default browser, but while Microsoft has the lions share of OS users, developers are forced to code for their platforms. So they in many ways get to call the shots. They want to lead, and I think they see stubbornness as a vehicle to achieve this.
Think about it, if IE9 discontinues support for CSS, end users wouldn't suddenly stop using it. Developers would start using tables for layout again. Oh, the horror!
"Why am I even worrying about this in 2010? This was something I had to worry about in 2004 and 6 years later we still can’t get this right?"
I said the exact same thing to someone this morning, it's ridiculous that we have to worry about these issues.
You think someone building a house doesn't have to worry about having to redo a kitchen because the client bought a fridge that is 3 centimeters longer?
You think a plumber doesn't have to saw a pipe because of a dozen millimeters?
Every professions has standards and exceptions for each of them. They all complain about the same things we do regarding incompatibilities between browsers. It's inherent to almost, if not every, technical area, not just ours.
Now that that's out of the way... Scrivs, the reason why the padding you were applying to a given element was different on Webkit and Gecko is likely because it was either:
a) a form field (or form related, like a fieldset, and there's not much you can do about that) b) the elements inside of it had different vertical alignments (why vertical alignments should change the dimensions of an element is beyond me, but that's how CSS works)
Hope that helps.
Great timing Scrivs. This has really been annoying me as well.
It's also funny that you published this article today and Louis has an article about Microsoft as well.
I also think a single rendering engine is a bad thing, competition is healthy, I have accepted that it's part of the nature of the industry for accomodate for multiple browsers, otherwise I would just design printwork! Even if all browsers rendered the same, there are still things on an OS level we can't control, like installed fonts. It's the price you pay for working on in global field.
I think this is a case of the thousand-headed dragon story, better known as the too many leaders in the army issue. By switching to WebKit, an open source project, Microsoft could feel free to build on top of it. Linux is a cool example of the core source code being used in a variety of situations, and basically solving all the problems thrown at it. Is there a logical argument that says Microsoft, and Mozilla couldn't improve WebKit, and release a proprietary product on top of it? The competition in browsers, for better features, and greater performance would be there. Saying that using only one underlying source is to destroy browser diversity is analogous to saying having only one Standard for HTML is a bad thing. There are places where competition just doesn't improve the product for the consumer...
BTW HTML5 being handled the way it is by Ian Hickson is sort of an ironic situation, I kind of meant before the Dictator for Life phase began...:)
Frankly I'd rather have browser vendors compete on features and not on rendering standards. When a market competes on standards, the standards become become displaced and distributed and standards aren't meant to be that way.
Competition is healthy, but when you compete on standards it becomes very unhealthy. Look at the auto industry, there are standards that every manufacturer employs and they're the same across the industry. Where they compete is on the small features like stereo systems, braking technology, fuel economy, performance, materials, etc.
Our industry should work the same way. Browser should compete on features, not standards.
Here's some interesting information. "Mozilla Foundation has revenues of about 100 million USD"
Browsers are profitable.
Doesn't Microsoft write everything for their Windows?
The other thing is that Microsoft definitely isn't geared towards designers. And most people who use IE on Windows won't care how things render so much. Sure some Windows users might install Safari, Opera, or Firefox, but a large majority won't.
So really, people who want great standards implementation are in the minority. If you're using IE your probably either ignorant to the problem, or die hard Microsoft lover. I know a few .NET developers who even hate Firefox.
Go figure.
Got it! MS Just let us do this...
.... WEBMASTER: HTML encode input! .....
[meta http-equiv="X-UA-Compatible" content="IE=EmulateWebKit" /]
A lot of people here seem to be confusing a rendering engine with a browser. Yes having a lack of competition in the browser market is a bad thing, but that's not the talking point here. We're talking about the rendering engine. Browser vendors can implement their own features however they want, but if we all had one global rendering engine life would be easier for developers, and users could be able to choose their browser based on features alone.
As Scrivs pointed out a bit further up, what competition is there to be had in the rendering engine? A div is a div. A float is a float. Opacity is opacity. There's nothing to innovate there.
would it not be possible for browsers to use multiple rendering engines which we could define in the DTD?
That way manufacturers could remain investing in their efforts in the hope to convert designers. While remaining compatible for websites designed for IE?
Hopefully the courts could make Microsoft share their engine freely as i imagine that would be the hurdle in it all.
Interesting that so many of these "C'mon, Microsoft!" articles have popped up lately.
As much as I would love to say "Hey, this guy's said some great things here! Let's march down to Microsoft HQ and preach his ideas!" that's just not how it works; we're dealing with huge corporations with more internal politics than you'd care to imagine.
But yes you're absolutely right, the notion of never having to cross browser test ever again is certainly a wonderful idea!
Microsoft has used Webkit for software on OS/X; I want to say that I can remember them *at least discussing going to Webkit, maybe like 2 years ago? Which Webkit? I'm pretty confused that no one has asked this yet. Chrome's Webkit is not the same as Safari's, and whichever one Flock picked up is probably just outdated. Then you have Omniweb, Palm (i think), and Android. And then whatever version Mobile Safari decides to roll with, if they ever do. I know that Android was the first guy to make Webkit mobile, not sure if Safari finally did it and obviously am to lazy to look it up. And it goes on and on and on. Having only one of anything decreases innovation and sets the stage for the bad corps to remain stagnant while taking our money, hand over fist.
...
To comment you need to take a couple of seconds to login or register. Seriously it takes seconds and if your comment is worth it, which I have no doubt that it is, then you should do it.
Thanks for sending my words to Microsoft.