Hacker News new | comments | ask | show | jobs | submit login
Dropped IE support for Instapaper (marco.org)
138 points by atestu on Mar 2, 2009 | hide | past | web | favorite | 79 comments

I have done extensive front-end coding on a variety of projects and have come to a single conclusion: professional programmers don't get CSS. CSS is not "rational" like a regular programming language. Often the way CSS properties interact with each otehr has to be learned through trial and error. For example, if you set a object to display as a block and float it to the left it is not actually a block element any more, it is an inline-block. Doesn't matter if firebug tells you it is a block level element. This causes lots of pain and misery when it comes to understanding CSS.

However, once you do understand CSS browser discrepancies really become a minor annoyance at most. You code pixel perfection in one browser, and ensure all the other browsers don't go too far off course. The only exception is IE6, and for that you can use something like http://code.google.com/p/ie7-js/ to "upgrade" it.

There is really only one feature I wish Microsoft would add. The CSS property Opacity should apply to form fields as well.

I despise websites that do this because I have to use IE7 at work. This is probably the second fastest way for me to banish your website from memory besides being spam.

Everyone on here talks about making the sign-up process as easy as possible, and requiring someone to download and install an entirely new application is about as complex and uninviting as one can get. Us "technical" people are still people, and the more you annoy me with the signup process the less likely I am to complete it. Even starting up a new browser and copying your URL is a nuisance.

Secondly, I've never really had a Safari/FF->IE7 bug that didn't take about 30 minutes of Googling or simply making a sneaky workaround. There might be some cursing in between but it simply has to get done otherwise it's ignoring a big audience.

Edit to Clarify: I am in full support of dropping IE6 as most of you have noted, seeing as how the user base has dropped and the majority of people with IE6 have been "auto-updated" to IE7.

Yes, but it's not usually one bug. A bug here and a bug there and pretty soon you're talking about real money. IE7 isn't so bad but I'm seriously contemplating dropping support for IE6 very soon.

I estimate that supporting IE6 has added more than 30% of the interface development costs to the complex projects I have worked on that use a combination of sophisticated CSS and JS to get the job done. This is a HUGE cost for start-ups and for clients to swallow, once the true cost is explained to them.

Just supporting the way various sub-versions of IE6 inconsistently handle cookies is a nightmare, and in many cases lead to unsolvable issues. This costed a client of mine real $$$$ to discover, and less than 20% of their audience used IE6. Less than 15 people actually complained about the issue.

IE 7 isn't quite as bad, but it still adds a measure of time to front-end development efforts. I would estimate it in the range of 10-20%, depending on how complex the interface is.

On two recent projects, we dropped IE6 support, with virtually no push-back from a general-use audience. IE6 is almost 8 years old. Most people don't keep their cars that long, and can understand that an old crusty browser is not going to perform as well.

The only place where I would be hesitant to drop IE6 support is on marketing sites (where you need to entice someone to a call-to-action within the first 30sec-1min) and on e-commerce sites, where every dollar counts.

30% cost to support 70% of your userbase seems like a win to me.

This is only an issue for developers who target Firefox initially. That's the wrong way to go about web development. Run IE7 on your dev box and build everything against it. That's what your users will have, so that should be your first priority. Step two is making it work for FF.

The added benefit to that approach is that you'll find less cross platform issues. Going from IE -> Firefox is a lot easier than the other way around.

Are you kidding? Developing for a crappy browser first is the perfect recipe for an unmaintainable mess of code, since you will be relying on hacks to get IE to do render correctly, then adding hacks again for every browser that does the right thing.

First develop for a standards-compliant browser, then add (conditional) hacks to support IE. The other way around is just silly.

I think we posted this at almost the exact same time. Awesome.

But IE6 isn't 70% of your userbase. Maybe 70% of your userbase is IE but only maybe 20-25% of that is IE6 so spending 30% more time/resources on IE6 is what I would call a major fail. But hey, that's just me.

And have you ever tried to develop complex ui sites on IE? I'm sorry...it just sucks and there is no good way around that. And I'm someone who knows IE6/7 quirks pretty good. Their script debuggers are utter crap and their developer toolbar is the most ancient thing out there. At least in IE8 they are copying Firebug...at that point it might not suck as much but who knows until I use it a while.

Yes. I developed the most complex UI site I've ever seen, Twiddla, on IE first followed by Firefox.

I never understood all the IE hate, to be honest. Until Chrome came out, I used IE7 as my daily browser. It's just better than Firefox in my opinion.

Voted up for developing Twiddla for IE.

I share your sentiment.. I develop against IE first then test it against the "good" browsers... which rarely screw it up. IE sucks for script debugging.. I mean EPIC suck. You're not even told what line of what file is screwed up (IE seems to concatenate everything into 1 file when giving the error report), but I've learned to rely on myself not to make common scripting mistakes, and created a cross-browser "console" object to aid in debugging.

Safari has the worst script debugging on the planet. It essentially tells you whether or not there was an error. Oh, wait... and how many errors, total. Thanks, Safari!

Get VS.NET, and suddenly IE has the best script debugging around. Firebug rocks and all, but VS.NET will drop you into a breakpoint will a full call stack, watch, step thru, etc. It's a proper debugger.

And yeah, it takes about the same level of effort to develop against IE as it does against FF. The advantage is that your stuff generally then works right in Firefox first try.

Um, Safari has a full Javascript debugger built in:

http://developer.apple.com/internet/safari/faq.html#anchor14 (among other google results)

Amazing.. I can do console.log(). And if there's an error (which the link provided conveniently has), I get to see the entire file which gave the error. So helpful... I now know which file to sprinkle console.log()s in. Furthermore, it doesn't work at all for dynamically loaded JS.

But, then again, there apparently were several Google results.

And somehow, you managed to cause a bug in Twiddla I have never seen elsewhere. When you make the window smaller, some of your content actually goes off the edge:


I disagree. IE is the moving target. If you want maintainable code, it is best to build to standards, then hack to IE with conditionals.

IE has had the same box model since 1995. It is, and always has been the standard.

If you recall, Netscape used that same box model until version 6. So if you'd like to look for a point where standards were broken, look to W3C and Mozilla. It's certainly not Microsoft's fault that the "standards" organization decided to change the fundamental way things are rendered in a browser.

Not to mention that IE's box-model (in quirks-mode) is actually sane compared to the W3C standard.

see : http://books.google.com/books?id=ZCPWYFoWaMIC&pg=PA289&#...

Just because it's older doesn't mean that it should be the standard.

"Standards organizations" are there for a reason, so that issues like this wouldn't be so egregrious. Microsoft has had a while to fix it, and 8 years later far too many people are still using an old deprecated browser.

And it's not just bugs, but lack of features. For example, I have requirements for simple 2D graphics with client-side interactivity. If we only had to support Firefox/Safari/Opera/Chrome, we could use SVG, but for users with IE (which has neither SVG or Canvas), that means Flash. Doing simple graphics with Flash is well over 10x more work than just splatting some XML inline into your page (which I've also done for personal side projects).

Consider, for example, that Flash/IE is a completely different plugin than Flash/all-other-browsers. We've definitely had Flash compatibility bugs between major versions, between minor versions, and even between the "same version" on different browsers. I can think of a few that took many of us more than 30 minutes just to trace through, much less come up with a workaround. And all of this only because IE (even IE8, AFAICT) doesn't natively support any kind of client-side graphics.

I don't know where the 30% overhead estimate for IE came from -- maybe a simple site? That sounds really, really low to me. I would put it at least 100% overhead for the kinds of things I do.

You're mistaken. IE has had SVG support since IE5, long before Safari and Firefox introduced Canvas. And the nice kids at Google have built a little library that lets you emulate most Canvas functionality via SVG:


(At first I thought this was a joke, but it's up to +4.)

I think you're mistaken. I tried IE6 and IE7 just now, and they don't do SVG (though it nicely offers to save the file).

I think you're thinking of something called "VML". IE does have that, but it's not the same as SVG, not as full-featured as SVG, and nobody else supports it. Maybe that would solve some of my problems, but I'd never even heard of it before -- though I'm sure checking it out now!

I think the URL you meant to post was <http://code.google.com/p/explorercanvas/>. I looked at the source, and it uses VML, not SVG.

Thanks for that. I'll update my acronym from here on out.

"IE does V" is pretty much all I was trying to convey. Good luck!

I agree totally. We decided a while back that we wouldn't attempt to support IE6 - life is too short. We do support IE7, but still spend a lot of time on fixes and workarounds for minor incompatibilities. If our stuff works on Firefox, it generally works on Safari too, with no extra effort, but an oft-repeated phrase in our company is an exasperated "f*^&&ing IE!"

The 'fixes' aka hacks aren't that difficult.

The problem is it makes everything so brittle and people tend to do things the shitty route just to support IE.

Maybe it was the last changes to fix IE6...but I actually looked up browser percentages and considered dropping support.

IE + hacks, with respect to technical debt, is like one of those credit cards that offer 0% interest and free miles for the first 6 months after which it switches to a non-premium card with a 37% APR.

Can I ask you (and others in a similar boat) a question about your work environment? When you say "I have to use IE at work," do you mean at the exclusion of other browsers? I too have to have IE6 at work (many old business apps require it), but I can also run Firefox, Chrome, Flock, Safari, etc. And I don't mind having multiple browsers open, in fact, I just usually do naturally, without any impetus. Does you workplace lock it down so you have only one browser?

At my two previous employers, that's exactly what they do. All machines are completely locked-down. I suspect this is not unusual at large, more traditional corporations.

I love this. If everyone did this, then Microsoft would lose the power to do whatever it wanted. Standards compliance would not be optional for them anymore. I hope this is a trend that continues.

I agree and think this is especially relevant for sites and apps that target tech-savvy users - as a group they will most likely already be using a browser other than IE and even if they do will be more likely to understand the reason for lack of total cross browser compatibility. If this became a trend it would begin to do one of two things - either cause Microsoft to consider adopting web standards compliance or cause users to adopt alternate browsers. Both options should be equally as welcome in the web development field and help to reduce the time wasted on needless hacks and workarounds to accommodate one product.

Unfortunately a lot of users are already adopting alternate browsers, but it doesn't reduce the pain of web development until IE6 becomes a negligible part of the market. What could help more than anything is if Microsoft took a stronger stance on forcing users to upgrade from IE6 to IE7. Once IE6 drops below perhaps 5-10% of the market it becomes ignorable. But for IE as a whole to become negligible - I wish I could but I don't see that day any time soon.

It's not quite so black and white, but yes, if you look at IE8, IE8 is more standards compliant because Microsoft has less leverage over the browser market any more.

Nevertheless, it has been blindsided by the sudden appearance of much faster Javascript in chrome and other browsers. It's too late in the dev cycle for IE8 to get that. It will have to wait for IE9 or 8.1 or whatever.

But not on his site.

Using statistic based on all internet users to determine which browsers are most important for a given site is not a good idea.

I think the key point is that he was only potentially alienating < 4% of his audience.

While I agree it was awesome it's only appropriate if you don't lobby Microsoft by shafting your users.

I would not recommend this if you want your product to hit the average user - IE has the biggest market share (still :(). But of course, for Instpaper it's perfectly right to do so since the market is power-users and they mostly us FF (as the author notes).

I can tell you with some authority that if you're targeting corporate users, about 2/3 of the traffic is internet explorer. Worse is that about 40% of that IE traffic is IE6.

Did you read the post? He said less than 10% of his traffic is IE6. I'd say he is making the right call based on those demographics. When you look at resource decisions you have to look at the target market...and somehow I don't think it's corporate. If he was targeting corporate users he'd probably also build a Crackberry app.

And your 40% is just way off base unless you're writing salesforce.com apps or something like that. We see about 20% of our IE traffic at IE6 still and dropping fast. 18 months ago that was still at 50%.

I think eli was replying to the parent comment, not commenting on the article.

Also, 40% of 2/3 is about 26% of the whole, which I wouldn't call "wildly off base" even for your site.

I said 20% of our IE traffic is IE6 which is 20% of 70% which is more like 14% so that would be a pretty large deviation from 26% when I'm trying to determine where to put resources. When you factor in trending over the next 6 months you have to realize that number is going to drop probably another 5-10% of overall traffic.

Depends on how focused you are on corporate users and the undsutry. In some industries 30% of ALL traffic is IE6. That's trending down, but slowly. Perhaps 1 or 2 points a month.

For those who are curious, here's the browser makeup of Hacker News traffic to all of my articles that have been on the front page here:


Does iPhone's Safari get categorized under Safari in that chart? If yes, you might want to separate it.

Google Analytics doesn't let you separate iPhone from Mac Safari, unless you specifically choose to look at Browser/OS pairs, in which case you get "Firefox / Linux", "Firefox / Windows", ... "Safari / Macintosh", "Safari / iPhone", etc.

You guys are missing the point. This guy is doing this by himself. It's hard to be good at both server backend AND well versed at front-end work to be able to work around IE6/7 problems quickly. And he's making the right call if his browser demographics are correct (which I'm assuming they are). You have to determine what to allocate resources to on a daily basis in this business. There's always more work and not enough people to go around.

I'm pretty close to pulling the trigger on dropping IE6 support on the sites I run. I don't think it's unreasonable to ask our users to upgrade to a better browser. And believe me, my company is NOT targeting the corporate user at all. :) The amount of time I spend fixing IE6 issues is just insane. I could be doing so much more that helps other users and if I can get them to upgrade to a better browser in the first place then so much the better.

I will close with this: It wouldn't suck as much to fix issues on IE6/7 if it just had decent development tools such as Firebug, Tamper Data, and Web Developer.

That all makes good sense for an app built by a single developer and a specific demographic. He's cutting 10% of his potential market and probably saving 80% of front-end dev time. Seems like a good tradeoff.

I don't know - his examples were rounded corners, a float that he fixed and an unrelated-to-IE font issue. Are they worth cutting of 10% of your users?

Quite often it's worthwhile maintaining a bare-bones version of your site. For more than just compatability - there is also accessibility, printing, slow connections, etc, etc. Surely it's a better user experience to just downgrade them to that?

Thanks for all of the discussion, everyone. To help clarify my argument, I've published Instapaper's browser usage stats from February as reported by Google Analytics:


Internet Explorer was used for 3.63% of visits to the site during the month before I made this change.

This article seems like an excuse to criticize IE. "Instapaper is severely degraded in this browser" is fine. "... because IE does not support basic web standards" comes off as catty.

I understand the frustration that IE isn't fully compatible, but as engineers it's not our job to change the world to suit our own needs; we shouldn't be converting users to a different architecture or web browser.

IMO, 10% is a lot of users - perhaps, silently degrading the experience is better than potentially offending people that have to use IE for whatever reason. When I have to use IE, the last thing I want is an application or webpage rubbing it in my face.

It absolutely is our job as engineers to change the world. We're the experts. We've done the research and have the evidence to support our positions. From there it's our duty to show the rest of the world the best solution for the problem. In this case I think the problem is number of developer cycles that go into IE compatibility. Imagine if all that time went to the actual product.

Often rubbing something in someone's face is the only way to evoke change. To degrade the experience and let the user know why it's been degraded gives them a clearer understanding of the problem. Being struck with the same problem enough times tends to get someone to act to solve it.

Perhaps I'm just bitter because I've been doing mostly IE compatibility stuff at work lately, but "because IE does not support basic web standards" does not seem all that inaccurate to me.

Of course it's true, but why would joe six pack user care? It's not user friendly.

If you adopt a strategy where you need to spend less time supporting IE idiocy, you'll have more time to spend working on making your site more user-friendly.

The ironic thing is that Internet Explorer + HTML Applications (HTAs) is a much, much better desktop platform than a web browser. In fact, it’s probably one of the best client side platforms for Windows. You can extend it with any ActiveX control (including the .NET framework) and code it with almost any language (including, apparently, Haskell - http://www.haskell.org/haskellscript/). Some time ago I decided to start building all of my organization’s internal apps using HTAs + jQuery. It’s the bees knees (for Windows). It still accounts for most of my profanity usage when having to build actual websites.

This is what every sane web designer should do. I made this decision many years ago for a web based task manager I built with Ruby on Rails (43actions.com), and have never looked back.

Sure I got _a lot_ of negative comments for it (and still do), but in this particular case I definitely put my own sanity way ahead of the larger (but dwindling) market share.

Sorry to now be a bit inflammatory (this single question is one that boils my blood every time), but put simply IE sucks ass! IT SUCKS ASS! I _HATE_ IE. MICROSOFT HAS _ZERO TASTE_ (thanks Steve Jobs for that very early insight). Ok, enough said. Sorry.

I'm not surprise this is happening, I expect that it will happen more in future. Windows and IE may have only lost a few percentage points of market share over the past few years, but those few percentage points represent a generation of technology enthusiasts who will, I suspect, have a big impact on the way the internet evolves.

When someone who doesn't run Windows or IE builds a site for their peers who predominately don't run Windows or IE either, then finds that they have to jump through some hoops to support IE, is it any wonder they decide to pass?

I'm under the impression that this site doesn't do all that much. Ok... you store URLs, then mark them as "read" and "unread." Not necessarily a good or bad thing.. I'm sure it's incredibly useful. That's not my point.

My point is, how can a 2 page website drop support for a whole browser? Just seems like laziness to me.

Exactly my thought, it's a simple bookmarking application. And I can't run it on IE7 because author must use rounded corners and at the same time doesn't want to go through the hassle to implement them under IE. ;-)

I think he did a pretty good job explaining why he made the choice to drop support for IE in TFA.

I read: author wanted to make his website pretty, but IE was making it hard, especially since he was developing on a Mac which made it harder to test, so author dropped support for IE. Author then explains less than 10% of his users use IE, anyway, so it doesn't really matter. Sparks browser war.

While I admit, IE really blows, and I hate developing for it, it's really not that bad. It's manageable if you test on it often, which author failed to do. Is it hard to make a 9 cell table to get rounded corners? Or how about learning "hasLayout" which fixes virtually every IE6+ css rendering bug?

I think Marco's point was that he's created this site as a fun side project. Supporting IE isn't fun. The vast majority of the site's users aren't IE users so he wont get a lot of flack from its users.

I agree that developing for IE isn't the worst thing ever, but it's certainly not fun. I have to side with Marco on this, if I were to build a site just for fun, I'd probably never look at it in IE.

Agreed. To each their own. I'd personally rather have more people be able to use it :)

So this is a one-man project that offers it for free and someone has the balls to complain because it doesn't support (for valid reasons or whatever) his particular (broken) browser?

If it's so important to "business types" to support IE here's an idea: make them pay a fee so it covers the extra development costs (this is not outrageous in general; there are open source projects that cost money for the Windows version).

This is not a government site or an Amazon that has to please everybody. I bet none of the people complaining have ever suffered trying to code around the IE compatibility problems.

And somewhere in a quiet village half-way across the world, some kid is launching an app/website/thingy that will welcome these shunned IE users.

I think I'd rather be him.

This comes off as petty to me, and a bit stupid.

Maybe only 3.7% of his users are IE users because they get a whole lot of attitude when they visit his site? Or because a lot of IE users either don't have the choice (corporate) or the desire or the skill (grandma) to upgrade their web browsers. Perhaps CEOs of major corporations visit his site every day curious about whether they might deploy his service across their whole company (ok, fantasy), and then leave because he says he doesn't want to support them. Perhaps his business could be 20 times bigger if he wasn't so obsessed with this issue. Perhaps that isn't the case now but it might be down the track.

There are lots of great frameworks out there that nearly completely remove the cross platform issues in coding for browsers these days for all but the most unusual requirements. This is not the issue it once was.

It seems like most of IE is installed on corporate machines. Now answer me this, what kind of IT Administrator doesn't realize the advantages to installing firefox?

"You don't get fired buying IBM"

Keeping / installing IE is the default option for most corporates. Change is difficult. IT Admins struggle for respect in many cases, and know that fighting over IE or FF means wasting ammunition they need on more important projects.


Keeping Firefox/Safari is the default option for most web developers. Change is difficult. Web developers struggle to make a living in many cases and know that fighting for pixel-perfect view in IE means wasting ammunition they need on more important projects.

... couldn't hold myself. Sorry :-)

The common, everyday grade of IT admin. Who also is overworked. and reports too a technophobe adminstrator. ...a grade of IT admin which I encounter way too often, unfortunately.

Love it. Please oh please oh please oh please let more web devs do this.

The web is a public good and as such, we should have /one/ standards compliant browser that works on any device that can access it. Fund it with taxes, just like roads, bridges, and the new electric grid Obama is going to buy us...

Microsoft should just stop working on IE and concentrate on the OS. We don't need Opera, Chrome, Safari, IE, Firefox, etc... They're /all/ free. Take the best of them all and build /one/.

I don't like this, but yeah, go ahead, do it. Only, kill them by being better, not by governmental decree.

But that was trolling anyway, wasn't it...

Not trolling. I'm 100% serious.

"build /one/" has proven time and again to be a failing strategy if you want that /one/ to be any good.

Not true. We have /one/ interstate system. We have /one/ electric grid. We have /one/ internet. Most people have one water/sewer system. These things have worked fine for many years.

Just extrapolate the situation from what it is to where it would be if there were 100 browsers and they all worked differently. /Then/ how productive would developers be?

Look at the recent post from instapaper not supporting IE anymore. Look at how much time and energy is lost due to browser incompatibilities that would be solved if all content looked the same in all of them.

Imagine some new electricity company coming on board saying, "Yeah, but we want to pump DC into the grid."

It would never happen, yet, because no one setting policy understands the internets, they don't understand how much productivity is being lost due to competition in the browser market.

Competition is not always good. Almost assuredly not in cases of public infrastructure. Look around the world at privatizations of water systems, utilities, etc in poor countries around the world. Costs almost /always/ go up.

Competition is good in some areas and bad in other areas and when we /all/ need to be on the same page, collaboration is better than competition.

We have one internet, but it's made up of many privately owned networks. We have one electric grid, but electricity is generated by a number of companies. Your examples show that having a single standard is good, not necessarily that a single product is good.

A single browser is a bad idea for several reasons. Firstly, there would be an inclination toward being very conservative. If you make a breaking change, you break every site on the web. If you implement a new feature, you'd better be sure it's the right feature, or be stuck with it for a good many years to come. If you have a bug, fixing it could break sites that rely on that bug for rendering.

Conversely, if you have several browsers in the market, each can afford to try out different things. Opera has done a lot with SVG; Safari has added a lot of custom CSS effects; Firefox is doing some interesting work with inline videos and faster Javascript.

Secondly, different browsers fit different niches that aren't necessarily compatible. Do you make your uberbrowser fast and lean? Or plug in a lot of extensions? Add a mail client? A bittorrent client? Should you have a smart address bar? Something that integrates well with a particular OS? Something that can be run on a phone? Or a console? Or a PC? Or a netbook?

Third, I'm not aware of any software product that has been written in a competition-free enviroment and has turned out to be any good.

Fourth, the state of standard support in browsers generally isn't that bad. If your site works in Firefox, it probably works in Safari and Opera as well. I have very little problems when it comes to cross-browser support... except when it comes to IE. I don't presume to speak for everyone here, but 99% of all my browser headaches in the last few years can be laid squarely at the door of Microsoft.

In other words, the root of most browser woes is due to IE, which web developers support because it has a majority market share, a market share maintained by Microsoft's rather anti-competitive practise of bundling it's browser with its OS. We didn't get into this mess by having too much competition; we got into it by having too little.

You can use asterisks to make italics.

The asterisk requires 2 keys, SHIFT+8, the / requires one key, so I use that. Plus, the slanted nature of the / implies that everything between them should be slanted.

Applications are open for YC Summer 2019

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