That's so much BS. Like supporting old browsers is that hard/expensive.
Everyone keeps saying that, but I have never ever seen numbers to back it up.
Letting it all blow up in the user's face is not an option to me. And I do business with publicity agencies, they don't give a fuck about this stuff, as far as they know everyone owns the latest macbook.
No, it's not difficult to support oldIE. Single Column, nothing fancy. But the business people don't want that. They want it to look identical in every browser, and the web designers are scared shitless of losing money to tell them different. The problem is that business people don't know that hours of extra work are required to do this. And when they are told they don't care.
There is a simple solution for that, add it to your bill / launch estimates. Every client I have had always understands when you say "It'll cost X to support that, or it'll bump your launch date 2 weeks". They may not understand the technical details but they will understand when you put it in their terms and ask them "Worth it to you or not?"
Definitely. Something as simple as a bookmarklet can become hell with all the IE-specific rules for cross domain messaging, third party cookies and the like. We're still trying to be IE-compatible but man it does take a hell lot of time.
There's different versions of jQuery. If you require a version that supports older browsers, you might not be able to use the bleeding-edge version. The current libraries will continue to work as they always have. There's no reason for newer versions to be limited by outdated browsers. Developers are free to choose the version they want to use.
New versions do not need to be limited by old browsers. Why not build a mutable API? Your browser doesn't support canvas? Oh, too bad, but the Canvas module will just be undefined so you, the developer, can choose what to do with your user.
I'll tell you the numbers. We spend way too much effort trying to make our sophisticated web app work with ie7. The industry demands innovation in ux but it's nearly impossible to provide it when you are writing for 4 browsers. In a lot of cases we struggle for hours on one problem and end up writing a separate implementation for that feature that doesn't perform as well.
Now we have segmentation in experience, help documentation, and support.
1) 90% of our visual front-end bugs come from IE, sometimes only showing up in certain versions of IE7.
2) Our mac developers either need a license for VMware fusion or multiple boxes/VMs to test IE 7/8/9 which of course behave very differently. Maintaining these boxes, Windows licenses, and VMware licenses adds additional stress to IT, and the context switching for our developers is expensive.
3) For the ones that do run a VM, we've had to upgrade their RAM so they could run the app and the VM at the same time. RAM is cheap, but its still money for each new mac-based frontend developer we have.
For 2: Any reason why your developers can't use VirtualBox with the free IE-test VM images that Microsoft provides? I don't know if the license allows them to run on a non-MS OS, but you can at the very least have several of them run on a single box and enable RDP in VirtualBox.
That "single box" needs to be able to support enough instances for our entire development team. This is more hardware and IT maintenance costs. Also, if we are doing network maintenance and wifi goes down, developers have to stop working.
The point is - even that solution costs time and money.
1) Maybe it's a design problem, do you really have to provide the exact same experience to everyone?
2) As others have said, there are "free" (of course, there's a cost in setting up) alternatives.
3) Indeed, we bumped every iMac RAM here as well. It's very cheap, though.
4) Well, not really. Any logical piece of software can (and should) be isolated to run by itself. That's how you unit test them. This is the kind of thing that you build once, test everywhere and stop worrying about it until you have to change the set of features.
My point is: why don't we all serve a lo-fi version of our apps based on the features present in the current agent? This way we can stop worrying about release numbers once and for all. If nothing, it usually result in a more stable code base.
1) Yes. Our user experience, look and feel, and "funness" is part of the brand experience that we can't compromise. Does Apple compromise?
2) Nothing is free if you are buying more hardware. Considering the costs of supporting Chrome/Firefox are very incremental, doing anything other than running the browser natively increases time and cost.
3) Cheap yes, but you have to do it, and its not like buying one piece of hardware. You have to do it for every person. Better, but not great. No one likes running VMs on their boxes because it still crawls, even with 2 cores and 8GB ram.
4) Don't disagree with you at all. I was against this design decision from the beginning but lost that battle. It doesn't change the fact that we need to test all of it.
1) I don't get it. Completely dropping support would not break the brand experience, but allowing use via a simpler experience would?
2) The hardware issue was addressed in 3. Also, I don't follow, what do you mean by "the costs of supporting Chrome/Firefox are very incremental?"
3) That's a fallacy, actually. You're both proposing and confirming that "No one likes running VMs on their boxes because it still crawls". I, for one, run Windows XP VMs on my 4GB Core i3 iMac with no burden on the host OS at all. Some people might suffer with it? Yes, but some people could try tuning their setup for their needs.
Anyhow, we both know that the kernel of your argument is the first topic. I could convince you that the benefits outweigh the costs in 2, 3 and 4. But if your mindset is focused on giving the very same experience to every agent that can reach your app, or giving no experience at all; this argument is already over.
Also, saying that Apple does X or Y means absolutely nothing. Even if your company were almost exactly the same as Apple in every competitive aspect, nothing can assure that copying its culture would also lead you to a successful path. Actually, I believe history tells us the opposite.
I dont have any experience developing for govt, so for all I know the barrier against installation of CF may be insurmountable. Have you ever tried? It really is extremely painless and would result in a net + in terms of security.
Definitely insurmountable in the environment of many of our users. They're doctors working with medical data, so IT has to certify anything new installed.
So they're stuck with IE6, because that was the latest & greatest when large custom web-based applications really took off, so they're all certified for IE6 only and would have to be replaced at enormous cost before the users can be allowed to upgrade (or install chromeframe, for example).
This. We would ask our users why they use IE and if they would switch to using Chrome/Firefox or CF. Many of them in public education or state government offices are in a situation where the conversation is a no-starter.
I beg to differ. It is extremely hard to support so many browsers. Try testing your website on 8 versions of Firefox, 5 versions of Internet Explorer (Mac and PC), 3 versions of Opera and 5 versions of Safari. Ironically, this is what jquery insulates you from to a degree, but at the same time it tends to stifle new features.
We're talking about supporting IE8, not every version of every browser that's ever been made.
Where I work, we support browsers with over 2% of traffic, which means IE7,8,9, Chrome (latest), FF (latest and possibly 3.6 or something like that) and Safari (latest, IIRC, possibly latest + 1 older version.) The last 4 are largely the same, except for small bugs, and minor visual degradation is fine for the IEs. If your work requires you to support every browser, maybe you should start trying to build a case against that by making clear that requiring you to support every browser is a poor business decision.
I might have been a little unclear - I'm not currently developing (hope to soon). Of course it depends on your market - if your market is a whole bunch of corporations that have IE8, then use jquery 1.9.x... if 2% of your clients bring in a substantial amount of money and it's worth your while, then by all means develop for them.
But at some point, it becomes a zero-sum game. I believe this is what is happening with jquery: the amount of effort to support new features on older browsers (yes, that includes IE8) becomes less and less of an advantage. Hence their decision to compromise and support two versions of jquery, and have all or most of the new features implemented in the 2.0 version.
Now many of the things I do involve Canvas and SVG for information display. Try a map of the United States with a few layers of SVG with a few thousand datapoints. It simply won't happen on IE <= 9. You can try all the shims all day long. It just won't work.
Saying "it's not that hard" means you haven't tried anything more than CSS2 box model stuff.