Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

This may be schadenfreude, but as someone who's been around the web a long time, it really tickles me to see Microsoft have to fake their user agent string to get around an arbitrary browser restriction. Other browsers used to fake the IE user agent string. I suppose it's full circle since IE originally had to pose as Netscape's browser (Mozilla compatible).


Same circumstance in both cases, though: _developers_, not browser vendors, unnecessarily restricting functionality based on browser sniffing.


Oh, it gets weirder than that. Much[1], much weirder.

[1] http://webaim.org/blog/user-agent-string-history/


No, MS doesn't get to dodge blame that easily. They blatantly used non-standard features in their browser to stifle competition. Many developers were complicit in this but that was according to Microsoft's design.


Non standard features like... XMLHttpRequest?

The entire AJAX industry, they invented. What were you saying again?


Seems to me there has, for a long time, been a double standard when MS is involved.

The response I often see is:

Something non-standard but cool in IE? "Screw MS, they're trying to embrace and extend the web!"

Something non-standard but cool in another browser? "I don't understand why people are complaining! Good ideas like these eventually become standards, and this is how innovation happens!"


The difference is that Microsoft intentionally uses incompatibilities to marginalize the competition (a fact well-documented by the DOJ trial). "Embrace, extend, extinguish" is a phrase that Microsoft itself used internally to describe this strategy.

When you're trying to use your extensions against your competitors, you do things like file patents on the technology, keep the internals undocumented, and tightly couple it to the rest of your platform. When you're trying to innovate in a way that others could adopt, you do things like release open-source implementations, publish lots of technical detail, and grant patent licenses.


There is no double standard. If any single browser had the marketshare that IE had in its heyday, it would be irresponsible and anticompetitive for them to implement nonstandard features. But marketshare is spread much more evenly among the players today, so it's pretty much understood that a production site cannot rely on a browser-specific feature. Hell, most people don't even rely on modern standard features because they still want their stuff to work in IE6. Comparing experimental features today with the IE-flavored-web of 2002 is comparing apples to geese.


Weren't <img>, <li>, <ul>, and <ol> experimental, non-standard features added by Netscape? Due to Netscape's dominance, everyone ended up implementing them.

I'm not saying non-standard features are always a good idea...but is everyone always waited around for standards bodies to come up with new things, we'd never see any new features.


Nope, <img> was invented with Mosaic, and <li>, <ul> and <ol> was in Mosaic too.


Which doesn't detract much from the point: it was a proprietary extension by a specific browser, later adopted by all others.


OK, NCSA was wrong to add those tags to Mosaic without going through standards channels or making them "experimental" and accessible through explicitly temporary syntax. However, I have not seen any evidence (much less the hard proof we have as Microsoft is concerned) that they added those tags with anticompetitive motivation, especially considering that Mosaic predated the browser war.


I understand this as <code>&lt;img&gt;</code>, <code>&lt;li&gt;</code>, <code>&lt;ul&gt;</code>, and <code>&lt;ol&gt;</code>. Is that accurate?


You might have a fair point regarding things like ActiveX which only work on Microsoft's own platform and serve to further lock-in to Windows. However, as was pointed out above, XMLHttpRequest is one such nonstandard feature that Microsoft introduced. How is that feature irresponsible and anticompetitive?


The feature is anticompetitive because it was part of a large-scale and well-documented effort within the company to coopt and/or destroy technologies not controlled by themselves. A handful of innovations (which would have happened anyway) that happened along the way do not justify that kind of behavior.


Either you're changing your argument or you failed to articulate your position initially. Nothing justifies Microsoft's abusive practices; that's a non sequitur.

If we take your original statement and change "browser" to "search engine" and "IE" to "Google", we end up with this: "If any single search engine had the marketshare that Google had in its heyday, it would be irresponsible and anticompetitive for them to implement nonstandard features."

If your initial argument was that an illegal monopolist should be unable to introduce any new features, that's an entirely different statement than saying that having a large marketshare means that any new features are irresponsible and anticompetitive.


>If we take your original statement and change "browser" to "search engine" and "IE" to "Google", we end up with this: "If any single search engine had the marketshare that Google had in its heyday, it would be irresponsible and anticompetitive for them to implement nonstandard features."

If Google made non-standard extensions to robots.txt, that would be an equivalently anticompetitive situation. To my knowledge Google hasn't done anything like that. We are not talking about just any features here, but features that make websites incompatible with other browsers. Search engines, by and large, are not concerned with interoperability in the first place, so your analogy is nonsensical.


...which delayed web socket development if you think about it. The need of real time applications would've forced the correct solution-websockets, but we already had a shaky solution... AJAX..


There was no demand for anything like websockets until everyone had years of experience with exploring the capabilities of AJAX.


If the features hadn't been useful, it wouldn't have worked. Are you seriously going to argue that their strategy – their explicit strategy – was not incredibly harmful to innovation and competition?

Also saying they "invented" XMLHttpRequest is a stretch. If I make a browser with a nonstandard rot-13 function, did I "invent" JSRot13?


How on earth is implementing a new feature harmful to innovation? This blatantly contradictory.


Look up "embrace, extend and extinguish".


The arbitrary restriction(not browsers; explicitly placed by the developers) is there to ensure people don't see a broken version. I don't know about the recent IE versions, but earlier versions needed won't center align when I say `margin: 0 auto`(have to do a text-align: center then reset it in child container), have a different boxing model, doesn't support min-height, won't support hover on all elements etc etc.

Rather than being bothered with placing conditional rules for non-compliant behavior, I would block IE if I can(i.e if a very small number of users are on IE). I don't know if the current IE behaves as expected, but even if it does, the users who aren't running upgraded IE are going to get a broken version and guess who they are going to think is an idiot(HINT: not IE).

My company's site opens up all skewed up on IE because IE won't center the container when I say `margin: 0 auto`. If it were something I was trying to sell, my first instinct would be to check the IE demographics and depending on the numbers, either show a notice regarding using latest version of IE or other standard compliant browser(my preferred scenario), or invest a lot of time to fix it(shivers).


If I were interested in buying something from your web site, I would be less likely to bounce somewhere else as a result of seeing an uncentered container than I would as a result of being told to upgrade my browser.

P.S. Browser restritions are placed by developers, speed restrictions by police, and height restrictions by amusement ride operators. It's not the browser, the speed, or the height that's doing the restricting.


> If I were interested in buying something from your web site, I would be less likely to bounce somewhere else as a result of seeing an uncentered container than I would as a result of being told to upgrade my browser.

Depending on the demographics(what do I lose if I don't support outdated IE and how likely is my customer base to be running arcane IE), the amount of effort required to make sure my site runs on arcane IE; your bouncing off somewhere else might not matter to me. I didn't say putting up a notice saying use a modern browser will ensure customers will comply - I am saying that might be a reasonable compromise.


It takes five seconds with Google to discover why centering doesn't work. Hint: you're probably missing a doctype declaration.

If you're thinking of blocking multiple versions of a browser because of your own lack of knowledge then perhaps you're in the wrong industry. We went through this ten years ago. It was a bad idea then and it's bad idea now.


> Hint: you're probably missing a doctype declaration. > If you're thinking of blocking multiple versions of a browser because of your own lack of knowledge then perhaps you're in the wrong industry.

May be the doctype will fix it for newer version of IE, may be it won't(don't know about the newer versions; older versions need text-align:center). You are conveniently ignoring different boxing model, min-height, staircase effect, double margins etc.

> It takes five seconds with Google to discover why centering doesn't work.

I can find a work around doesn't mean anything. The point is IE does things differently causing extra effort on my part, and if I can avoid it, I will.


Box model: Fixed in IE6, 11 years ago: Internet Explorer versions 6 and onward are not affected by the bug if the page contains certain HTML document type declarations.[1]

Double margin, min-height: Fixed in IE7, 6 years ago.

Staircase bug: Fixed in IE8, three years ago.

You're complaining about issues that were fixed over a decade ago. You haven't even bothered to research the very things you're complaining about and you expect people to take you seriously. These are solved issues. If you ensure your page has the correct doctype -- which they should have regardless of whether you want to support IE or not -- then your site works on all versions of Internet Explorer after 6 (which has a ~2% market share [2]).

1. http://en.wikipedia.org/wiki/Internet_Explorer_box_model_bug...

2. http://stats.wikimedia.org/archive/squid_reports/2012-04/Squ...


My bad. I didn't know IE has fixed most of the warts.


Even using Mac IE5 (the best browser for Macs in its time) I sometimes had to fake the user agent to use some sites. So I also felt a little twinge of schadenfreude on reading this.


AFAIK, Internet Explorer 10 user agent string starts with "Mozilla" ;-)


Most user-agent strings start with "Mozilla". It's a quirk from the very weird history of the user-agent string.

http://webaim.org/blog/user-agent-string-history/


That doesn't change the fact IE started its life by pretending to be Netscape.


Welcome to the internet.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: