If I, as a developer, decide my site supports a browser, I know I'm going to have to spend some time doing QA on that browser. Standards are cool, but I've run into enough FF and Chrome bugs that I always test.
That being said, the cost of testing in IE is waaay higher than the cost of testing in FF and Chrome. Why? Because FF and Chrome are cross-platform, I and my fellow developers can test on our OS of choice. With IE, a testing environment costs my company about $300 per developer.
Not to mention that setting up a VM for testing is the opposite of straightforward. After shaving a few yaks to convert the stupid VHD format to something VirtualBox can understand, you need to hack your local network so the VM can see its host.
Also, the developer tools are crappy. Has anyone worked on those in the last 10 years? I use Chrome for development not because of "web standards", but because the debugging tools are awesome (some people swear by Firebug, also, YMMV).
So I guess the point "support" is a little more complicated than "look, it works!".
We just keep a couple spare, old win laptops around for testing on IE. They have Win7 with IE9, plus VMs for <IE8, access over the local network. It's easy to create a bookmarklet that sends URLs over to them so you don't have to type.
Also, neither Chrome, Safari or Firefox behave exactly the same on win/mac/linux. Delicate layouts and javascript-heavy apps still have to be tested.
IE9 has a large share of the web, and is still growing. It's a perfectly ok browser (except for lack of WebGL). Not supporting it or adding a "not optimized for..." message reeks of "Optimized for 800x600" in the old days. Users shouldn't have to pay the toll.
And please, if you are going to do this, do not block browsers by UA. Show a warning, whatever, but just don't lock them out. It's annoying.
(function(){
var data = { data: location.href }
jQuery.post('http://api.openkeyval.org/myownkey', data)
}())
And on each client you have a screen-sized iframe + an "update" button that triggers:
$.getJSON('http://api.openkeyval.org/myownkey', function(data){
iframe.src = data
})
You have to remember to use your local IP address, not localhost. I ended up making a small nodejs server so we could use websockets and drop the update button.
You can do something similar with Synergy. Laptop acts like another monitor, e.g. mouse over to the left and your keyboard and mouse now control the laptop, and cut&paste between machines mostly works too.
Synergy works well, although it is old and unobvious how to set it up. I haven't seen anything better yet :-) However, I only used it between Linux and XP (I use virtual machines now).
Are you free to use those on non-Microsoft host operating system? I thought the last time I checked the host had to be Windows Professional.
Also you have to re-download the image every 3 months, and get it set up again. I can't just toss a virtualbox image on my personal Ubuntu machine and test in IE6-8. I need a Windows computer to test my personal sites (which are barely worth development time.)
"may or may not work in other hosting environments."
&
"simply shutdown the VPC image and discard the changes you’ve made from undo disks to reset the image back to its initial state. By doing either of these methods, you can technically have a base image which never expires although you will never be able to permanently save any changes on these images for longer than 90 days."
... so it seems pretty positive, really.
Which, as someone who'd like to see more Free operating systems and less proprietary ones, is a bit of a shame! :P
Yeah, I read the marketing copy too. It sounds like it's deliberately worded to avoid mentioning whether or not you're licensed to run it on Mac/Linux.
It is setup like a trial edition of Windows. It can be installed on anything really. Microsoft say the requirements are Windows XP and Above, but i did see code to convert from a VHD to a Virtual Box image. Also, you only need to download every 3 months if you want the latest, patched edition from MS. If you want to do it yourself, you can just recreate the image yourself (sysprep).
The 3 month expiry is what led to my company paying for licenses. Having to potentially pause development and spend time doing the same setup process 4 times a year is painful (and wasteful since there's no real reason apart from trivial licensing issues - the resulting install is the same).
But the virtual images are designed to run in VirtualPC. I managed to get one running in VitualBox on Linux, but it was complex, time consuming, and had other problems. Then the VM expired after a few months, yayyy, more time wasting.
A BizSpark account will cost you $100 over the course of 3 years. You can get every OS they've released and run them on whatever you want. Yes, you'll have to spend time installing the OS, but Win 7 installs pretty quickly these days and that's the only way you're getting IE 9 anyway. It was a pretty good investment for us. I run Win 7 in VMWare Player on Linux & VMWare Fusion on Mac pretty regularly.
The admin interface sucks. Downloading software and getting your keys couldn't be much easier though. I haven't had to deal with the accounting end of it yet, so I can't speak to that.
Yep, that's what I was referring to when I said "opposite of straightforward".
I've been reading a lot of these kinds of articles from the IE team lately ("Our browser is better now, why does everyone still hate us?"). And I have to admit, IE9 is a huge leap forward in terms of standards compliance and general non-wonkiness.
But until they really focus on making the development and testing processes better, I'm still going to groan about having to support it.
To be fair, IE introduced the first JavaScript profiler I had come across. The problem is the toolchain is locked at the time of the browser release. They need to have something periodically updated if the browser isn't going to update that frequently.
So Microsoft provides virtual machines with IE on them? And they're for VirtualPC? That's kind of hilarious, although it'll probably seem less so next time I need to debug something in IE.
The images arbitrarily expire after about two and a half months, and then (last time I used them at least), there's an interval of time where they don't put up new ones. I don't have time to download 11 GB of disk images every three months, and I certainly can't have MS arbitrarily making it so that I can't test in their awful browser for months at a time.
If you want to support IE, owning a copy of Windows is not optional.
Standards-compliant seems to have taken on an odd shift. Most of the cool new stuff people want to use aren't in any published standard. They're draft specifications and implemented through browser vendor extensions. So, it's more like a de facto standard because a lot of people are doing it and changing the draft after the fact is going to be painful as a result. But the whole de facto standard thing is what got IE in trouble in the first place.
Except Chrome and Firefox both regularly have issues showing up on one platform and not the other, so "Chrome or Firefox testing environments" include the browser and all 3 primary platforms at the very least.
Oh look at that, one of those platforms being Microsoft Windows you've already paid for the license you need for testing FF and Chrome.
That may be the case, but it's quite possible you just didn't catch them. Most people really don't do a rigorous comparison and even if they do, it's so menial a task that the brain shuts down and things slip through the cracks.
I've dedicated the last 2.5 years of my life to auto-detecting differences between browsers and have tested thousands of sites across a variety of fields. I was kinda surprised at the number of rendering issues I've come across with Firefox and Chrome in various combinations of versions and OS. I've even seen some pretty substantial rendering differences between Win XP and Win 7 in Firefox.
Anyway, your experience could be totally different. I've just come across a lot devs that have adopted this hivemind mentality around Firefox & Chrome and as a result, they stop testing thoroughly with them. Without thorough testing you can't know if you have problems, so it's really hard to conclude anything because the key data are missing. There's a gap between perception and reality.
It's also possible that each issue, once figured out, became something I know how to avoid. There really just aren't that many things that break in a browser across operating systems.
Also, in my mind, there is a huge difference between "this font doesn't render pixel-perfect in this os/browser combo", and "the javascript broke". One causes much more customer support cost than the other.
I actually go well out of my way to avoid pixel-perfect stuff. The cases I mentioned all affect opacity or position by > 30px. There's actually a lot that can go wrong given the different windowing systems. I'd expect there to be more rendering bugs than JavaScript because of that. I can't speak to the functional side as well as I'd like, but I should ping someone at Sauce Labs to see what they've experienced.
Fair, but I was more alluding to the fact that shifted elements, while a nuisance, don't necessarily cause a site to stop functioning like JS can (assuming I'm working on a JS-heavy web app).
He said that a testing environment costs $300. If developer time were free, then yes, he would have agreed that his argument is invalid. Developer time is rather valuable, especially when considering opportunity costs.
A developer is not a testing environment, and the developer price is paid for testing in Firefox, Chrome, Safari, Opera or what have you. MSIE is no different on that front.
Of course a developer isn't a testing environment. Developers don't cost a fixed $300.
If there are differences between IE and (Chrome|Firefox|Opera), then it will require additional developer time. Just testing for those differences will require additional developer time.
I don't want to demonize IE. Supporting any browser requires testing. IE has been especially reluctant to adopt web developer trends and needs to work hard to regain developers' trust. Supporting it isn't just the cost of a testing environment.
VirtualBox natively supports VHD format, so stop shaving those yaks.
Where is that $300 coming from? You run VirtualBox on your computer (free), install free VHD's (free), and free the free free with your free free (free).
Sure you can run the VHD in VirtualBox. Then you run into driver problems (the VM drivers are set up for VirtualPC) and activation problems (see comment on other thread). And you get to do everything again in three months and hope nothing else has changed.
This is really not a big problem. A non-activated version of windows will run for a while before rebooting. It's mildly annoying to have to reboot every now and then in extended testing, but it works sufficiently well.
Microsoft's suggested solution is to just start from the raw image each time you start the vm. This way it will run without problems for 30 days. The images come pre-setup so you don't need setup time unless you want to install some extra debugging tools.
Why? They have no reason to pass WGA, and this is only mildly annoying for actual users, as a development VM I don't remember it ever causing me any issue.
> "Because FF and Chrome are cross-platform, I and my fellow developers can test on our OS of choice."
Speaking from experience, you can't always. Having done a lot of browser-testing, I've seen the same version of the same browser behave differently on the same OS. Between OS's there are more discrepancies.
Most of your users are going to be using Windows, so test on Windows first.
Aren't you creating an artificial dichotomy? The options you imply are:
1. block all IE9+
2. spend lots of time and money making the site perfect in IE9+
What about this?
3. Have a quick glance and if things look 95% ok, let people know it is not optimized for IE9+ via a subtle notification. (That actually requires no more developer resources than blocking IE9 explicitly)
Or:
4. Set up a VM (it isn't that hard, and you only have to do it once) and just fix the obvious big stuff (which it doesn't appear there are any). Again, very cheap.
I'm no fan of IE or MS in general. Frankly, I'm a shameless hater. But I'm just not following your logic here. I would totally buy "I block MS because MS is evil, has caused me pain in the past, and now I am exacting revenge on them".
That's also fair - there's definitely middle ground. I particularly like the "not optimized for IE" notification, which would allow us to legitimately suggest trying another browser as the solution to a problem.
But I'm just not following your logic here. I would totally buy "I block MS because MS is evil, has caused me pain in the past, and now I am exacting revenge on them".
That statement needs to be followed by maniacal laughter combined with a swivel leather armchair and an evil looking cat.
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).
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.
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.
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.
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..
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?
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]).
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.
They were using many CSS3 features supported since IE9, like transforms & border-radius, but just not adding the –ms vendor prefix entry
They had the “-ms” prefix for CSS3 gradients which was added in IE10
They added support for -khtml-box-shadow but not -ms-box-shadow???
They didn’t support Opera either unfortunately
All this crap recently about web standards and Opera adopting the webkit prefix and how bad some people think that is for the web? Paydirt, and people who think like them, are a huge part of the problem. Please don't do stuff like this.
I think you'll find that they're using LESS or SASS or something. Such that when you define a box shadow that it produces the appropriate CSS for each respective browser.
I use Opera as my main browser and I cringe when clicking on a link in HN which supposedly shows off usage of cool new features in HTML/CSS/JS/WebGL whatever. Then I hunt around the site which breaks on me with no message. Then have to trawl through the HN comments to realize that it only works in Chrome and no one bothers to put that in the headline or on the site. Note that this happens to lots of Google cool features or easter eggs. Is this really taking the web forward or setting it back to the "best works in IE" days (just without that helpful message) ?
And now Opera is pissed at the usage of browser specific extensions and is adding support for -moz and -webkit which is sure to further mess up things.
"And now Opera is pissed at the usage of browser specific extensions and is adding support for -moz and -webkit which is sure to further mess up things."
I know Mozilla has been discussing this as well, to have a chance to compete in mobile. Do you have a link to Opera's statement about it?
Honest question, and I promise I'm not trying to be antagonistic: why do that to yourself? Why not Chrome or Safari or even Firefox? Why keep using Opera at all?
I am an Opera user as well but I really tried to do the Chrome switch when I got a new laptop and decided on a fresh install of everything. I was thinking that it might be time to begin a new chapter in my personal browser-history-life and hop on the Chrome bandwagon. It didn't take more than a day or two until I got drawn back to Opera though.
I know it's just mostly/only about "old habits die hard" but I just feel that so much is amiss in Chrome. From small things like that I have to get an app to get a dropdown address bar list (I mean really?) or the lack of intuitive hotkeys (my favourite is Opera's ctrl + z for undoing a closed tab) to bigger things like that I have to put up with Google's constant nagging about logging in to this or that or the lack of features that Opera has out the box (like Opera Turbo and such).
An old usage case before I got a no-limit data package plan was trying to save bandwidth while tethering from my phone. In Opera I could first put on Opera Turbo (like a proxy compressing service) and with another two clicks control what elements I want shown. I could easily and intuitively turn off pictures for example and only choose show those that I may want to look at. It was great for surfing light!
I am no rockstar web developer nor am I interested in figuring out what plugins/apps I need. I just want stuff to work, out of the box, while still having access to some cool stuff. And for that Opera works wonders for me (even though the support for it ain't that great ;) )!
AS far as browsers go, I think Opera innovates better than anyone. The speed dial interface you see in other browsers now was copied from them and poorly at that. Unified search & address bar appeared in Opera first (at least that's the first place I saw it). Custom search engines & shortcuts are awesome. And I rather like the mail client.
Don't get me wrong, it has its downsides. But it's much lighter weight on memory than Firefox and better on CPU than Chrome in my experience. And I don't get all the weird ass blitting issues I seem to have with Safari. I've also run into far fewer crashes. So, when it works on a site it's phenomenal to use. When it doesn't, it kinda sucks.
Because I've been using it for 10+ years and I like that it's lightweight. I do have Chrome and Firefox installed and used to use Chrome for a while on my laptop, but got drawn back to Opera. Opera also handles tens of tabs easily with lower memory than Chrome or FF.
>why do that to yourself
All the sites I regularly visit work properly in Opera, and I don't think it's worth it to switch my browser of choice just to see a HTML5 or WebGL demo on HN.
So, if Microsoft renamed IE10 to something entirely different, and packaged it as a standalone browser, would a site like Paydirt support it then? It seems to work fine, so why not?
This, and comments like "The site happening to work" seem to have an underlying prejudice about IE. "It was IE, so it must be fucked some way or another."
The old versions are, but try running the site on Chrome 1, or Firefox 3.6 (I believe a lot of old Ubuntu LTS releases have that). They'll be exactly the same.
>The old versions are, but try running the site on Chrome 1, or Firefox 3.6 (I believe a lot of old Ubuntu LTS releases have that). They'll be exactly the same.
You're forgetting quite how bad IE was. Having worked for a place that had to support many ancient browsers, getting IE8 working was three times as much work as FF3.2.
I hear the IE team have turned over a new leaf and are supporting all the standards, but I heard that about IE7 too.
> This, and comments like "The site happening to work" seem to have an underlying prejudice about IE. "It was IE, so it must be fucked some way or another."
If it's my comment you're referring to, I said it "happens" to work in IE because if we are to believe the team, they didn't try to make it work in IE. It just does, by coincidence, for now.
Support is a commitment, and committing to IE will mean work down the road that these people have decided not to do, because it is not valuable to them. This attitude of "Oh, it works in IE right now so they must just be pedantic asses" is short-sighted.
Historically speaking, yes, but perhaps intentional in the present day. Who's to say, and better yet, who's going to spend scarce developer resources on proving it one way or the other? Unless you're doing corporate, that is.
who's going to spend scarce developer resources on proving it
This was the argument many had a decade ago about IE6. Lots of people designed for IE6 first and didn't spend time on alternative browsers. They were lucky that IE6 continued to be popular for so many years, but in the end it has caused a lot of problems. These days the markets move a lot quicker, so failing to support IE9 today may prove an expensive decision in a year or two.
This attitude of "Oh, it works in IE right now so they must just be pedantic asses" is short-sighted.
Ignoring IE 9 and 10 just for laughs and giggles is short-sighted, lazy and downright pathetic. Wouldn't want to be a customer/employee of such a company.
Then again, this is just a marketing ploy, albeit a very short-sighted one. Doesn't really impress either way.
If we leave versions older than 9 out of the equation, however, then how drastic and different is the support really going to be?
And when we consider versions 9 and 10 exclusively, then we know they're more standards compliant browsers. Thus they don't work by coincidence, they work because they follow the standard. And because of that, it's not for now, it's from now on.
As an addendum, any startup or business that wants to pull this trick automatically loses a potential customer. I'm not putting any of my money towards a company that will turn the customer's choice of browser against them.
The problem is, IE 9 and 10 are not everywhere. I know for certain that my school (and, I'd be willing to wager, many businesses) only deploys IE 7 and 8. IE 6 still isn't dead, despite Microsoft publicly encouraging migration. Until Microsoft gets IE 9 and 10 adoption up, supporting Internet Explorer is tricky.
You're talking about feature testing and progressive enhancement. Adopting that strategy doesn't mean that you no longer have to test every browser, it just means that you don't support a common level of functionality across browsers. Indeed, you'll still end up testing all the browsers all of the time, just with different expectations.
These guys have been burned by IE to the point where they don't want to test it period. Feature testing doesn't get them there, but blacklisting does.
Well fine, then Paydirt should say "We require (and test on) IE9 or higher" and not feel bad if they have to throw IE 6/7/8 overboard. It's not any trickier than saying you support the most recent two Firefox releases and don't test on 3.6.
I'm not sure that's something Microsoft can do. See for example the amount of XP deployments out there. Tell people that it's unsupported, no security updates, whatever. Enterprise customers and home customers who are terrified of change will not do it.
Part of me wishes MS forced updates like these. Sure it would probably break a few ancient mission critical ActiveX apps, and my god the outcry would be immense and furious, but it would be better for everyone in the long run. Better for software developers who can stop coding around the foibles of ancient versions of software, better for Microsoft who can devote resources to the newest things, and better for the internet at large not being subject to Microsoft's old shitty browsers.
It's kind of like ripping off a band aid that gets stickier as time goes by. Pull the damn thing off already and get it over with.
> Part of me wishes MS forced updates like these.
> Sure it would probably break a few ancient
> mission critical ActiveX apps, and
> my god the outcry would be immense and furious,
> but it would be better for everyone in the long run
YOU tell the famous doctors in hospitals you're going to break the medical-imaging app they use that depends on IE6. I'M not telling them that. Seriously. It's not as simple as ripping off a band-aid.
I never said it was simple. In fact, it'll be anything but. On top of that, what the hell is a life-critical app doing connected to the internet and pulling down windows updates anyways?
What I would do optimally is put down a drop dead date, say two years in the future. "On this date, any computers connected to Windows Update directly will be updated to IE10. This is not optional".
Vendors then have two years to get their poop in a group. If they still don't get it done, customers can complain to the vendors. What are they going to do, migrate to Linux?
How does that relate to user agent sniffing vs. feature detection? Just asking, because I don't think your point and the 'Yeah, I get that guy's attitude' opinion are based on the same idea of what is necessary and what is bullshit/a marketing gag among geeks/a practice from the times when GeoCities was big.
IE may be annoying, and I certainly sympathize with the Paydirt crew. But this author makes a good point: "it’s exactly this type of behavior (writing for or against specific browsers) that sets the Web back again."
Sometimes doing the right thing isn't the easiest path forward.
I can see why someone would do it. If you are on Windows, you _can_ use other browsers - every browser is available on Windows.
When I allow an IE user to use an application, I have to start testing on IE. In order to do that I'll have to make Selenium do some extra runs (IE 7, 8, 9, 10, Metro mode) under a Windows VM. I also need at least one (Win 7) Windows licenses (probably more, but I may be able to get away with permanently using it in preview) and, worst of all, when it breaks, I'll have to get the application fixed for, at least a couple versions of Firefox, Chrome and IE. And that if it breaks during testing - if it breaks with a user I'll have to start guessing what went wrong (if something did).
Nah... Windows users can use Safari, Chrome or Firefox.
edit: as pointed out by recoiledsnake, aaronbrethorst and Impossible Safari is available for Windows.
I'm a Firefox user, working exclusively on Windows (although a Linux nut by night).
If a site blocks any browser by user-agent _and I find out about that_ (as a user of FF that's not a regular case) that site is dead. I will create some childish rhymes about the creator of that thing, I'm going to compare it to acoustic couplers or pay phones and .. move on.
There are good reasons to avoid supporting every browser and the IE brand _had_ (and has) problems.
But user agent sniffing? That results in one reaction only (again, of course, limited to 'what I can notice'):
This business isn't able to provide a usable web presence. I'm going elsewhere.
> This business isn't able to provide a usable web presence.
Define "usable". It's certainly usable if you are not on IE and, if the resources they'd use to support IE in addition to others are diverted into new and useful features, I'm happy.
Even if you use feature detection, you'll still have to test on IE (and, to do it right, you'1l have to test on a matrix of 3 or 4 OSs (XP, Vista, 7, 8) and 4 browser versions (7, 8, 9 and 10). If IE breaks, you'll still have to fix it in ways other browsers don't break. That costs money.
Anyways, the author's beef was not that IE should be supported at any cost, but the claim that the features needed are not supported in IE and that's why it needs to be banished by User Agent(complete with a broken IE icon display).
IMO, I agree with those that say it is a publicity stunt. It costs very little to support IE9+. Even IE8 doesn't take a ton of time to make it work, although you do have to do something about the CSS3 styles (CSS3PIE, for example.) But it is really dumb to make the choice to BLOCK a browser by user agent. How about feature detection or if you must block by browser, at least do IE8 and below.
Note, I am a front-end dev, and I know the pain of developing for IE6 and IE7. But any front end dev with any professional skills can make a site that works in IE8+ without resorting to ugly hacks (I don't call polyfills hacks.) And IE9 supports a large percentage of the standards we use on a daily basis.
Sorry, dumb move by Paydirt, with no monetary payoff.
I find the style of writing of this post extremely obnoxious, was it really necessary to say the exact same thing with slightly different order in the words over and over? If your post is to be short because there's not a lot to say, don't extend it unnecessarily, get to the point, move on.
I thought that. Plus the commenter that tries to explain that Microsoft built up a good deal of "trust debt" over the IE 6-8 period for those who had to code through it, gets the same repeated in the comments.
It's all very well that it technically might work, but we're dealing with humans here, humans that have been annoyed for a long time...
Not to mention the joy of "can't execute code from a freed script" in IE9 (code that works fine in every other browser, even IE6, magically broke in IE9).
You would be pissed too, if someone claimed your product that you worked hard on to work well is publicly called out to be broken when it is not and dropping support for it a user feature(indirectly suggesting others should do it too).
In my opinion this is the beginning of the end for Microsoft. People are shouting out that they're done with it, and Microsoft is trying the same trick as before: Creating unneccesary lock-in where there is absolutely no use.
Why did the first beta of IE10 work on windows 7 and now you need to download a 3.2 gb unfinished operating system? It's bullshit, It's insane, and once again the developers are being assraped by Microsofts marketeers.
You can shout from the top of the highest building that you release a new version every month, Microsoft, but you way overplayed your hands. Now there's 4 major versions to support, hundreds of bugs to test. Developer environments to setup, weird registry hacks to do to get things working, and NO FRICKING DEBUG TOOLS.
I'm one of the happy few people that are allowed to code for mostly webkit-based devices, and even though there's loads of fragmentation there, it's no were near as shitty as the experience i've had the past 8 years building IE compatibility.
Claiming they no longer support IE means they'll stop writing "hacks" for IE from now (not as in last month) onwards.. But still, silly that they simply block IE and don't just show an extra message saying use X for the "ultimate experience". Maybe they should only block IE once they have an update that really will interfere with IE users.
But on the other hand, that might piss of paying customers that actually use IE and refuse/aren't allowed to use anything else..
When I meet with investors all they talk about is traction and traffic.
If you have enough there are no more meeting, no calls, no demos.
You get funded, no questions asked.
IE is no longer 90% of the market, but it's still the biggest browser by market share. There are many early adopters, but not anywhere as much as regular users. Regular users make the bulk of any popular site/webapp's traction, and most of them use IE, period.
A few years from now when IE becomes just another competitor and not the market leader we wont need to develop for it, and that might actually make more regular users move to FF or Chrome.
Meanwhile you have to support it, because IE development will never ever be as difficult as getting enough traction.
Paydirt is within it's full rights not to support IE9 when it's customer base doesn't really use it.
The problem is that the author notices most things work (border radius) but doesn't realize that IE9 is missing stuff we expect modern browsers to be able to support. Placeholder text and simple gradients are both not supported very well and that takes time and effort to build into your product. It's not about 90%, it's about getting that last 10% to work just right so the experience is clean and smooth for everyone involved.
IE10 might be another story, but last time I checked IE10 isn't out yet. But it seems to me that Microsoft is always one step behind.
Isn't IE usually the only browser worth creating seperate stylesheets not to mention the browser who gives the most difficulty with your javascript?
If Microsoft truly cared about the web, they would adhere to strict standards support and compliance, force updates for IE9 and below, and begin auto update cycles for their browsers.
That may seem like a lot to ask, but it's the only things to me as a web developer I can see that could remedy their horrible reputation in the browser community. No one game app on their latest browser will change that.
Supporting IE has nothing to do with how well it renders a site.
Supporting IE carries massive baggage as you have to pin yourself to Microsoft's erratic, tactic based release cycles and limiting yourself with future features. Chrome and Firefox now how have rolling releases and are closely tied with the developer community, so new features and rendering uniformity is what you gain.
There's also the ethos you buy into by supporting IE: you're supporting a closed source, proprietary internet.
That point was very weak, I have to admit. I guess a better way of putting will be you're supporting an open internet by supporting open browsers. Not the other way around.
IE's moving to a similar "rapid release" schedule with other browsers.
Microsoft has played many sneaky pete tricks in the browser wars (such as supporting a CSS standard that couldn't be correctly implemented in Netscape's codebase) but you can't blame their release schedule entirely on that -- Windows users tend to be a conservative lot who are terrified that Microsoft will push something that will break their cheap-ass intranet that's held together with string and ear wax.
No, it's due to so many intranet applications being written as one-browser hacks completely ignoring standards.
Mozilla has had similar issues with intranets (though not to as large an extent, due to their smaller install base), and you can't exactly blame _that_ on lack of standards support. What you _can_ blame it on is things like people writing intranet apps that depend on the user flipping some hidden pref in the browser to relax a security policy and then breaking when that pref is later removed, say.
Funnily enough, we had a similar problem at one of my previous employers with Firefox 3.6.
If an institution sticks doggedly to one version of one browser, then it stands to reason any intranet software is going to be optimised for nothing other than that.
> Chrome and Firefox now how have rolling releases and are closely tied with the developer community, so new features and rendering uniformity is what you gain.
Because they employ more evangelists? The IE team has spent a tremendous amount of resources informing developers about IE 9 and 10. Many of us just don't bother paying attention to them.
> There's also the ethos you buy into by supporting IE: you're supporting a closed source, proprietary internet.
The irony here is that you're supporting a closed Internet by ignoring
browsers. What a wonderful luxury that is.
In my current project, I've decided only to support the chrome browser and all other user agents are redirected to a not supported page asking them to install chrome.
I dont see the point in sacrificing my programmer happiness.
IE9 may have caught up on some things, but there are a lot of things it doesn't do, that Safari/Chrome and Firefox (as well as Opera in most cases) do do. So even if it might not be quite as hard now to get it to layout properly (it still is not the same as Chrome/Safari/Firefox/Opera, really, things just don't behave the same unless you train yourself to avoid things that IE9 doesn't like), there are lots of other reasons to avoid IE:
■ WebGL (3D)
■ WebSockets
■ HTML5 Forms (validation mechanism, CSS3 selectors)
■ FormData
■ HTML5 multifile-upload
■ HTML5 video (only with certain file formats)
■ CSS3 Transitions (for animations)
■ CSS3 Text Shadow
■ CSS3 Gradients
■ CSS3 Border Image
■ CSS3 Flex box model
■ Application Cache (offline)
■ Web Workers (threads in JavaScript)
■ Drag’n Drop from Desktop
■ SMIL Animations (SVG animations)
■ File API
■ JavaScript Strict Mode
■ ForeignObject (embed external content in SVG)
■ ClassList APIs
■ HTML5 History API
Why are most of these features either already implemented in other browsers or available in development versions, but completely missing from Internet Explorer? Why haven't more of these features made it into the hands of Windows users? Its not because Microsoft can't figure out how to implement or deploy these features. Its because the web platform is fundamentally antagonistic to Microsoft's business model with its dominant Windows monopoly on business software, PC games and operating system deployment.
Those features which enhance the web browser to make it most competitive with the desktop MUST not be deployed to Windows users any faster than absolutely necessary. It is an absolute business imperative for Microsoft to drag its feet and disrupt the web platform as much as it possibly can, because when all web browsers have web workers, 3D WebGL, WebSockets, File API, Gradients, Drag and Drop, HTML5 forms etc., it simply won't make business sense to write applications specific to Microsoft's platform. Pretty soon after that happens, it won't make sense to continue the Windows and Office licensing lock-in.
So the relationship between a web developer (who understands the nature of the web platform) and Microsoft is fundamentally antagonistic.
Oh god, we might as well start asking why FF didn't support ellipse for what seems like decades.
Everyone has different release schedules. IE is a lot more conservative because they support enterprise who are mighty touchy.
Grow The Fuck Up Cry Baby. I'm all for IE6 and IE7 whining, they suck. I'm even for IE8 and the entire stop at XP whining. Damn MS for that.
But you just sound like a total privileged prat who doesn't have a clue what's going on when it comes to web standards. FF and Chrome have a lot more latitude. If you want to know what happens when stuff starts moving too fast keep an eye on the webkit mobile css support fiasco unfolding in front of us right now. There is such a thing as moving too fast.
I actually am confused about that.. is there a link explaining how HTML5 in Metro will work? This may just sound cynical, but I have to assume that they are partly trying to set up another way to run more interference on the web platform by encouraging a bunch of Microsoft-specific "HTML5" applications.
I mean I know there must be plenty of people at Microsoft who are genuinely enthusiastic about HTML5 and the web as a platform, but when it comes right down to it, I don't know how the business execs who actually understand the technology issues can really support HTML5 as a common application development platform, because I just don't see how that cannot lead directly to less sales of the operating system and everything else.
I know people on the IE team, and they are genuinely enthusiastic about HTML5 and the web as a platform. In recent years IE pioneered sandboxed tabs, GPU-accelerated rendering engines, and some privacy stuff (that I found incredibly boring but they thought was really important). They didn't need to do that stuff. If Chrome hadn't reignited the browser wars so strongly, I wouldn't be surprised if IE would've been closing in on Firefox quality-wise at this point.
In the time I worked at MS and was able to get the inside scoop on how different product teams work, I found that the cynical explanation was almost never the truth. I can't think of a single person I met at MS who was playing to lose. If the IE team is underdelivering compared to other browser vendors, it's not due to an exec telling them not to try. You would probably be shocked at how difficult it is to ship software at Microsoft, for a variety of reasons, none of them malicious.
most use just three or four features out of that list. And IE10 is adding support for many of them. By leaving them out you're hurting users for no reason.
drop IE6: great! kill it with fire
drop IE7: reasonable
drop IE8: risky, millions of users
drop IE9: kind of stupid. 15% of the web, soon to be 30%
Doesn't anyone realize they just wrote that article and disabled ie9 to attract hipster freelance designers and developers? The whole thing is basically a PR stunt since they realized 99% of their hits were from Mac anyway. Especially having their article on Hacker News was just to get attention from the large freelancer following on HN.
I'm no fan of IE. However explicitly blocking IE9 is just idiotic for any other reason. They could, at worst, just have a subtle notice letting people know it is optimized for Chrome/FF and their mileage may otherwise vary.
However, for the reason of getting Mac using hipsters excited, it was pretty brilliant.
(btw, I'm not a Mac or Windows user)
Disclaimers:
(1) This is just a theory.
(2) I actually like hipsters. I just recognize they can sometimes be manipulated. Like everyone, they have their buttons.
From the way you throw the word "hipster" around like an epithet, I already guessed you are not a Mac or Windows user...
Sorry, couldn't resist. My point is, making all those assumptions about people and their motives is just as "idiotic" as blocking IE9 in the first place.
It's easy to say IE9+ works but in the real world people aren't upgrading their version of IE like users of other browsers tend to do. While IE9 and above are much better than their predecessors by a long shot they still require you to jump through more hoops compared to any other browser. IE9 supports gradients but you have to feed it so,e conditional CSS for it to work as expected.
Overall it's misleading to say "IE9 and above work just fine you elitist hipsters" when we all know damn well there are still so many users on versions of IE older than 9 because XP won't let you or simply because Mocrosoft has traditionally not really encouraged or made it as easy to upgrade. To their credit I'm glad they're running commercials for IE10 and for this case, considering PayDirt's audience, it could be fair to criticize them for leaving all IE users out because we can reasonably assume they're using the latest greatest even if it is IE. But if you want to talk about IE being no problem to support in general then it's disingenuous to only mention the two latest versions because we know there are far too many users of the older ones to ignore. Users of other browsers are upgrading regularly so it's trivial to support old FF or Chrome (plus even FF's and Chromes's older versions support a hell of a lot more than comparable older IE's).
You know why we love to hate IE even when it improves? Because it feels like too little too late. Even the improvements are one step behind everyone else.
Bill. Just wanted to let you know that Microsoft has been auto-updating all users that have opted into MS updates on their Windows machines since January. A majority of XP users should now be on IE8, all other Windows machines should have IE9. http://www.geek.com/articles/geek-pick/microsoft-decides-to-...
Be that as it may, it remains the case that the right solution is "we don't support older versions of IE" (unless the client is willing to pay extra for that of course), not "we don't support IE at all". In the real world, you get much better reactions from telling people "we don't support the old versions, you need to upgrade" than from "we're on a crusade against your platform in its entirety". This remains true _whether or not_ the people in question are willing to upgrade just yet.
IE is older and has a larger user base than other browsers- FF and Chrome also have their share of non-upgraders, and as they get older they will have the same problems.
No, it's not irrelevant. Someday the site will change in a way such that it no longer happens to work in IE. But since they don't support IE, it won't be a bug.
Support is a commitment to people, not a mere technical hurdle.
Maybe. I wouldn't really bet on the site becoming completely unusable in IE, but I suppose it's a remote possibility. Let's be generous to your argument and call it a 25% chance. At any rate, you're right that it would be irresponsible to say they support IE if they aren't willing to fix it in such a case.
But because there's a 25% chance that the site could break sometime in the future, they go out of their way to break it right now? That's what they're talking about, and it's orthogonal to the idea of choosing what configurations to support.
At the company where I work, we don't support people trying to eat the newspapers we put out, but we don't go out of our way to make the newspapers poisonous either.
Yes, but the site working provides absolutely no reason to actively block it. Display an 'upgrade your browser' message fine, but actively block a certain browser based on user agent string? Ridiculous.
The original Paydirt thread contained some reasonable arguments against including a "Try it anyway" link. For example, to prevent people from clicking through and then complaining anyway.
Does it mean you know your site is broken in the browser?
Does it mean you block that browser?
Does it mean you intentionally broke your site in that browser?
None of the above. It means you don't want to waste your QA time testing and fixing minor quirks in the browser and you don't want your users having a degraded experience on that browser. To protect your users, you may or may not provide a warning or block the browser entirely.
Products are in constant development, and every CSS change or javascript feature has the potential to break a browser and require fixes. Just because it works now, doesn't mean it always will.
It appears they successfully attempted to support IE, but decided it was not worth continuing, perhaps because of some breakage OP did not discover. Should they have stripped out any IE supporting code? That seems unnecessary.
There's lots of enterprisey stuff out there that only "supports" various versions of IE, and bounces out other makes and models of browser. HN folks may or may not see much of that, because that stuff is typically in various corporate portal technology.
In health-care IT in particular, there's a popular radiology app that uses an ActiveX control that is bug for bug compatible with IE6 and doesn't work on IE7. That's an important reason for browser-upgrade inertia in that business. Another reason is the risk of hassles. What hospitals use now sorta works. An upgrade to IE7 might cause some patient-critical thing to break, and then all hell would break loose and the IT folks would get sacked.
It may or may not be good startup marketing to slam IE. For those of us who serve health-care and other institutional customers, it makes us green with envy, no doubt.
But it is definitely good startup engineering, if you can get away with it, to cut down the workload of qualifying various browsers by simply eliminating a vendor from the test matrix.
I don't notice Microsoft offering any labor or money to help developers qualify on their browser products, or to incent the big institutions (who provide substantially all their revenue) to upgrade.
Very true, but in some cases (such as mine) an individual working on an app can slowly work towards cross browser compatibility every time they touch a page. After a year, I'm almost there. :) There are several other apps... but you do what you can.
> It appears they successfully attempted to support IE
No, they wrote standards compliant HTML/CSS/Javascript which should work on any browser, then decided to write some server-side code to check for a user agent and serve different HTML to that user agent.
It seems unnecessary to straight up block potential customers from signing up because of their browser. Encourage them to get the full experience using another browser might be a better idea.
Suppose you are the proprietor of a physical retail business.
You're the only employee, so on Sundays you close the shop because otherwise you'd be short-staffed.
Do you listen to potential customers who complain that you're not open on Sundays by (a) offering them a degraded experience by letting them shop while you aren't there, (b) hire additional staff to support the shop on Sundays, or (c) tell them to come back during normal business hours?
If the amount of revenue you'd make by expanding the number of hours the store is open per week is less than the costs of supporting the additional staff, you ought to pick (c); otherwise, pick (b). It's bloody irrational to pick (a).
Did you mean to post this comment to the previous article and not this one? The article shows that the site works in IE9 and IE10.
Not to mention that the author not only chose (c) but also posted the equivalent of saying closing the shop on Sundays is a feature because Sundays suck for shopping(which is obviously wrong) and basically advised other sites to do the same.
> The article shows that the site works in IE9 and IE10.
To return to the analogy, a closed store will have stocked shelves and a cash register on sundays. The problem is that the store owner doesn't want to pay someone to work sundays making sure things are ok and stay that way. Likewise, supporting IE is not just a process of running through a site once and saying, "looks good." It requires continual testing, and this testing happens every time the site changes.
Also, Chick-fil-a is closed on Sundays and they claim it is a feature. And some people are religious about browsers too.
That being said, the cost of testing in IE is waaay higher than the cost of testing in FF and Chrome. Why? Because FF and Chrome are cross-platform, I and my fellow developers can test on our OS of choice. With IE, a testing environment costs my company about $300 per developer.
Not to mention that setting up a VM for testing is the opposite of straightforward. After shaving a few yaks to convert the stupid VHD format to something VirtualBox can understand, you need to hack your local network so the VM can see its host.
Also, the developer tools are crappy. Has anyone worked on those in the last 10 years? I use Chrome for development not because of "web standards", but because the debugging tools are awesome (some people swear by Firebug, also, YMMV).
So I guess the point "support" is a little more complicated than "look, it works!".