The stop gap solution of 1.9 as being parallel to 2.0 but with compatibility, is understandable, but will probably promote distrust in developers who just need a stable cross-platform solution. I think the immediate concern with 1.9, is how long it will continue in parallel with 2.x before being dropped
The final 2.0.0 file is 12 percent smaller than the 1.9.1 file, thanks to the elimination of patches that were only needed for IE 6, 7, and 8.
Dropping IE 6, 7 and 8 support for a 12% smaller file size while effectively forking your code base for the foreseeable future is a lousy decision. Increase complexity tremendously for what, 3-4 KB when gzipped?
I'm working on some revamped UI at the moment, and so far the script load (uglified, not gzipped) is around 250K, anything that can get that down imho is a good thing.
1.9 will be supported for as long as people care about to support it.
Do those complaining want to somehow tell the developers what they should be working on? Where does the sense of entitlement come?
Even if the whole core team insists on going 2.0 only at some point (high unlikely), it's not like it needs any highly technical skills for interested people to jump in and maintain 1.9.
Most of the stuff has been stable for ages, and small fixes are easy to add if needed.
This is what worries me. You only need to spend an hour on HN or Reddit to see that web devs couldn't care less about legacy browsers, even when most businesses need to support them.
I support the decision to fork jQuery, but I too am worried about whether the 1.x branch will continue to be supported, and also whether we'll see people releasing plugins that work well for both versions. It sounds like a 1.9 plugin will largely work on 2.0, and vice versa, but we'll have to see.
As I wrote, even if the whole core team insists on going 2.0 only at some point (high unlikely), it's not like it needs any highly technical skills for interested people to jump in and maintain 1.9.
>I support the decision to fork jQuery, but I too am worried about whether the 1.x branch will continue to be supported,
You worry too much. You can use 1.9. 1.8, 1.7, even 1.6 indefinitely. It's not like they would stop working on old browsers for some reason. I have websites that serve 2-3 jQuery versions behind, and they work just as well in any old and modern browser, including using several plugins (and a matching jQuery UI). So why do you even need to upgrade to 1.9 for the next 3-4 years?
Not to mention they also said they'll release 1.10.
Seriously, people, this is a non problem.
Want to continue supporting IE6?
1) Trust the jQuery team and use 10.9, and eventually, 1.10.
2) Continue using 10.9, 10.8, 10.7 etc indefinitely. They still work on the latest browsers, and of course they will work forever on the older ones.
3) Go in 10.9 and fix any incompatibility you find with the latest browsers yourself. Or wait for someone of the multi-million strong web dev community to do it for you.
One point you raise that I do disagree with is:
> Go in 10.9 and fix any incompatibility you find with the latest browsers yourself. Or wait for someone of the multi-million strong web dev community to do it for you.
This is the classic open-source "fuck you with a smile" response. Fixing new functionality is not an attractive problem, and out of the multi-million strong community I can see very few people with both the skills, the time, or the desire to fix these problems, and those that could fix the problems are more likely to wait for someone else to do it.
Since open source is free and open, it really can't fuck you †. You can however screw yourself by relying on it to do your work for you.
As you say, few people have the skills, time and desire to fix these sorts of problems, and that means you can't rely on open source to fix them for you.
Fortunately, there is a simple solution to this called "money" which companies have and which can be given to a developer with the skills who will magically convert that money into the time and desire to fix the problem.
† If your company is willing to use open source, but only when it is perfect, and not willing to help improve it, maybe they are the doing the fucking?
Being the lead dev of a fairly well used open source project I can say for certain that too many people I've had interactions with that want a bug fixed or a new feature added do so with entitlement. As if by not doing it they're being told to fuck off.
I may have dramatized it a bit but there's something about software that people feel entitled to get value at no cost.
I never said that someone like you were telling people such things by not doing what they request. I'm describing people who's immediate reaction to almost anything is "only contributors may complain!" and if you don't fit that category then good for you. That means I'm not talking about you.
If someone submits a bug report or feature request that you feel you cannot get to in a timely manner or don't feel is necessary then you can politely explain why. If the person responds to this with an entitled attitude then the problem then lays with that person, not you. If you respond to a bad attitude with a bad attitude then what picture are you painting to everyone else?
It's classic customer service, you are polite to everyone but firm in your decisions. No one says that you must cater to every single person who says anything about your software, but you should be polite in saying no. How you say no provides a much clearer picture of your project than how you say yes.
But the idea of "being fucked"  implies some level of entitlement or deserving something.
Providing feedback is very useful for open source projects. But there's a fine line between providing feedback and feeling like you're getting a "fuck you" when it's not implemented or fixed.
 > This is the classic open-source "fuck you with a smile" response.
When you say someone is "being fucked" by an open-source project I see that as the project itself, or the people on the project, causing a significant problem for the person involved. In fact, I would say that such a strong term means that the the detrimental aspect is likely intentional. The project itself is causing a negative action to that person. This is not what I'm describing.
When I say the response is "fuck you with a smile", there's no detrimental action involved. I see it as a very impolite way of saying no. The person receiving the response can ignore it or choose to go somewhere else, either way there's no real negative action being done to them. All I'm saying is with that response I would assume most people would choose to go somewhere else.
Again, this issue isn't whether someone acts with a sense of entitlement if they complain that their suggestion or bug report isn't implemented. As I said before, if someone whines in that instance then the problem is with them, not the developers. On the other hand, if someone makes a statement along the lines of "this feature doesn't seem to work right", or "this bug prevents me from doing something I want to do", or "it would be nice if this feature was implemented" then responses like "only contributors can complain!" or "learn to code and fix it yourself!" are developers using the "fuck you with a smile" response. I feel that is wrong and not productive in any way. It is actions like this that will push people away from the idea of open-source software because who wants to deal with that nonsense?
If it was something like a database engine, an obscure language, some network utility, a server, etc, I might have agreed. That is, if it was something esoteric, that needs high skills, and only some very knowledgable of it's internals could adopt it.
But this is jQuery we're talking about. Not rocket science. Lots of guys have the skills and time to fix these problems.
And wouldn't the same exact reasonings apply to the jQuery team? They can also could think "of a million things they'd rather do than fix IE6-7 bugs".
Still, they said the will release 1.10, and support old browsers for as long as needed. If they hadn't released 2.0 that would also be the case. They would support old browsers for as long as needed. The only difference is now they are doing it with two codebases.
That said, your company might not want you "spending company time fixing a bug in a plugin", but for popular plugins there are companies with the money and the resources to have their stuff fix them if the need arises.
We're just arguing about if its time yet. People can still keep using IE 6/7 for the shitty inhouse apps written for it by their company a decade ago, and use a damn modern browser for everything else.
You should try working for an agency that handles large clients.
A year ago I was still building pages for an airport that needed to support IE6 to a functional level. We charged a huge number for that support, but this was such a large client that had a proven need for it (analytics and sales data) that they would happily pay several thousand for us to build a section that supported these users. Luckily we left that client, but we still have a number of clients that want IE7 browser support.
I'd like nothing more than to ditch older browsers, but until XP dies many of us will still have to support older browsers. Once XP is gone, the older browsers are gone.
Bravo. What you did was rational, explains why the jQuery team is doing this, and gives you your solution.
You and they both recognize that supporting old browsers is expensive. They're dropping that support. You're charging a lot to deal with it, which incentivizes clients to stop asking for it.
With the extra money you are charging, you can, if necessary, pay someone to fix bugs in jQuery that affect those clients' projects. You can contribute those patches back. Everyone wins.
I understand your emotional response to "losing" support for browsers, but this is not a story of open source failing you. You could have been paying for a proprietary library instead of using jQuery. jQuery has already saved you thousands by being free. You don't get to dictate the project's direction, but you have lots of savings ready to patch it as needed.
I'd say that's a pretty good deal.
On the contrary, clients couldn't care less about how hard something is for us to do. Sure, if you're working for a creative agency and people are held back by the limitations of what they can accomplish when dealing with IE6 you'll notice a drop in morale, and in the quality of work that is produced, but ultimately the client does not care. Would you care if a plasterer said that plastering your ceiling would cost more because of the materials used? You'd still want it done, because the perceived value far outweighs the cost of doing the work.
Some of my employers' clients are large companies, with fairly large budgets and a good idea of what they want and what they need. As a result, despite charging a lot more for legacy browser development (easily over double, last time I checked) the client is fine with this. If the client believes they are earning £2k a month from IE6/7 users then charging £5k extra for a job that originally cost £2k isn't a problem for them.
> With the extra money you are charging, you can, if necessary, pay someone to fix bugs in jQuery that affect those clients' projects. You can contribute those patches back. Everyone wins.
Absolutely, and on occasion I've been lucky enough to contribute my findings from work to Stack Overflow, or directly to a broken open-source project. Hell, one of my best answers on Stack Overflow was as a result of fixing a problem at work that numerous others appear to have with a certain jQuery plugin.
However, this falls apart if you're working towards deadlines. The client often isn't going to wait very long for you to fix an issue in a product you use, and if they know that you're spending their time and money fixing a bug in a product you use the first thing they'll ask is "why don't you use something that works like [competitor]?". The reality of the situation is, like many others, when working towards a deadline with legacy browsers everything is a hack, and not a hack that we are necessarily proud of. I usually don't care what I publish, because work I'm proud of a few months ago looks inefficient or ugly to me now, and frankly I'm quite happy to have people criticise my code if they offer better solutions, but I'm willing to bet that a lot of people either won't publish their fixes, or would risk their jobs if they were found to be publishing code written on company time. I've worked for companies that would probably flip if they discovered that I had patched a plugin with code that I had written for one of the companies projects.
> I understand your emotional response to "losing" support for browsers, but this is not a story of open source failing you. You could have been paying for a proprietary library instead of using jQuery. jQuery has already saved you thousands by being free. You don't get to dictate the project's direction, but you have lots of savings ready to patch it as needed.
A developers emotions are different to the "emotions" of a company or a client. A developer is more likely to understand the rationale of this decision, whereas a company or a client won't care. All they want is a working product as quickly and as cheaply as possible.
While it might feel offensive that people are complaining left and right about the new version, it is actually a compliment. I am not trying to be a love-all hippie here, but people are complaining because they really fucking love the solution jQuery put out there to support multiple browsers.
Don't feel offended, feel proud.
Not to mention that the whole question is moot, for reasons I states on my comment above.
That very much depends on your target audience.
For home users IE8 is pretty much dead already, the only subset of people stuck there are the few who are using XP and have not switched to Firefox/Chrome/other. As more and more game-y things on the web start demanding newer features rather than creating/using/supporting fallback options for IE8 (canvas in particular).
In more corporate environments, IE8 is often still king and will be for several years. Most of the clients for the product I spend most of the working day panel beating are large banks and most of them have only just migrated to IE8 from IE6 because they have to soon (IE6 falls out of extended support in less than 12 months, along with XP+sp3). If they follow the same pattern (and I see little reason why they won't, slow moving mammoths that they are) I and many others will have to be concerned about IE8 until at least 2018 as IE8 falls out of extended support in 2020 (as it's support windows are tied to Windows 7's). Hopefully jQuery's idea of "several years" is as least as long as this.
Once you're on non-antique Windows, there's nothing preventing you from going all the way to IE10 which, again, starts getting into situations where not upgrading for security reasons starts approaching negligence.
But Vista and 7 do not, and you can can run IE8 on them just fine. IE8 itself is supported as long as Windows 7 is, which is Janurary 2020 for the extended support phase.
> Once you're on non-antique Windows, there's nothing preventing you from going all the way to IE10
Nothing. Nothing at all. Unless you consider a large collection of legacy applications that either just plain don't work in anything other than legacy IE or simply haven't been tested (and signed-off as compatible and SLA-covered by the supplier) in anything else.
They can't take the risk of not getting getting those apps thoroughly tested before upgrading and that will cost money (as will any changes, or complete replacemets, needed) and more importantly a huge amount of time (nothing moves quickly inside a bank no matter how hard enthustic and/or concerned people push - organisations of that size have trouble working up the inertia for significant internal changes).
My suggestion has always been to install something else alongside IE and migrate that way: keeping IE around for those applications that require it (or have not been signed-off as working well on something else) but having something better for applications that don't rely on "classic" IE's excetricities. I get funny looks for that suggestion though - the thought of training users to cope with two programs where they once had one seems to trike TS people cold.
> approaching negligence
One of the key drivers working against building up change inertia is fear of neglidence (or accusations there-of). Large organisations have a significan aversion to risk, organisations within regulated industries (where you may do more than fail: you may fail and pick up a hefty fine and/or loss of license along the way) in particular, if they were people you'd probably call them neurotic on the matter. Change without sufficient plannig is a form of negligence, and fear of this is a large part of what adds friction to any forward movement.
If there was a big list of "These people still use old versions of IE", then we could:
A. Properly shame/advertise for attack/avoid getting work from these people.
B. Expose a dedicated market audience for compatibility-minded dev shops
However, I (not speaking for the company, just me personally) strongly disagree with the focus on "identical experience" amongst browsers. Instead, I prefer the route of graceful degradation where not all features may be available for all browsers, but it's fully functional and aesthetically pleasing (not necessarily identical) in all browsers.
That being said, not all companies have the same browser support requirements...it's entirely based around what the site's individual traffic and conversion rates are.
I fully agree. This is what we have accepted with the mobile web since the 1990s.
This is a smashing opportunity for web application frameworks to provide that sort of accessible experience while permitting more "flashy" features on more capable platforms.
A js meta-library that abstracted 1.9 and 2.x as long as possible would be worth a licensing fee for many sites. The others would make the decision based on their own analytics.
There's a large number of companies whose web capabilities need to support people who use their website while working at the companies that have older versions of IE.
As for "identical experience", I will have to disagree. I have no problem with gracefully degrading sites due to screen size or compute power, but there is no reason that desktop browsers should be permitted to render things differently from one another (and if the spec is ambiguous, we should fix the damn spec). Developers are lazy, or shortsighted, or both, and given the option of "Hey, works on my machine/browser/whatever", we should expect only annoying fragmentation.
I don't mean the users. I mean the companies. You really think the banks that LITERALLY control the world's economy are somehow going to be 'shamed' into upgrading their internet browsers? You might as well try shaming the moon into changing color.
I don't mean to sound condescending, but there's no other way to put this...the comments about browser support on this board show just how inexperienced many developers really are. We are not talking about installing Firefox or Chrome on a few PCs. We are talking about MASSIVE companies with BILLIONS (with a 'B') of dollars flowing through WORKING systems that have been tested into infinity and are the backbone of our economy. Should they upgrade? Sure. Will they? No. not until they've stretched the technology they are already running until it collapses.
This move by JQuery devs, I get it, but it's quickly pushing itself out of the realm of 'awesome' to 'annoyance', only suitable for small projects. I hope not, but that's what it looks like. Even 1.9.x deprecated some features that should have been left alone - we had to code them back in.
We always, always hear the same threadbare stories about mythical magical enterprise customers that can't/won't upgrade, and the little tail wags the dog, and the life for the rest of us is made harder.
All this for a use case which is basically hearsay and rumors.
As for inexperienced developers--I'll go and say that the experience I've had of watching bad compilers and system headers and christ only knows what else force native code to get uglier and uglier and less maintainable are what motivate me to try and discourage the same mistakes in Happy Web Land.
The web is barely twenty years old, arguably much younger--let's at least try and avoid sins we don't have to commit.
Edit: Or, you know, downvote me without explanation. That's pretty cool too.
Note that I'm not a decision maker - in fact, I'm not even in the IT department. Please don't try to argue this with me, as I may be totally wrong about what their decision factors even were. Personally, my life would be much easier if they would upgrade, but I can understand why they have not.
But I will give you a clue. Go find a list of the top 10 biggest banks in the United States. It's almost all of them. Then go find the biggest credit card companies. It's most of them.
Find me a bank that doesn't run IE, for that matter. I'm a Chase customer, so I can only confirm them. But I honestly wonder how many banks don't run IE.
I know of at least 2 big blue chip companies with this problem.
In fact, I once had a requirement that the software we write have it's own independant auth mechanism and NOT be linked to Active Directory, "because it costs us thousands every time we ask to add a user or change a role".
For the degradation, I especially don't mean a lazy approach. In fact, having good degradation is typically harder for newer developers (or requires them to check in more browsers). The core way to do it is to develop for what's common across browsers (what's handled the same way), then for ambiguities in the spec (does the border count as part of the width of a div or not?). Once that's done, you then add the extra. The idea is, if browser A supports, say, easily defined gradients on a button, but browser B doesn't, should we have a special case for browser B to load an image to give the identical gradient, or should we let it be a flat colored button? Or let's say a browser has some extensions that make client-side form validation easy and simple. Using that functionality for that browser makes sense, but is the development effort to do the validation on all browsers worth it when server-side validation will happen also? The functionality is the same, the experiences are both good, but the experiences are not identical.
Switching browsers may break many of those macros, and at the very least, will be very uncomfortable for many.
Look, there are two camps: companies that refuse to run modern browsers, and individual users.
I posit that we should list the members of the former camp, and that we should educate the members of the latter camp. Changing from IE to Firefox to Chrome shouldn't be a big deal, and if we've only managed to instill idiot monkey-level tools usage in our users we have (as developers and human beings and tool-users!) failed.
You do not, do not want to encourage the intellectual sloth of these folks--it will come back to bite all of us.
Please understand that a web browser is just a software tool like any other. You don't install a web browser at your business so you can say you use some bleeding edge shiny. You install a web browser to get some useful job done. Much of the time, that involves accessing in-house systems. Some of the time, maybe it involves accessing the external WWW, perhaps to research or buy something. Supporting the latest browsers so everyone can spend even longer playing on-line games or posting on Facebook is, shall we say, not a business priority.
Now, please understand that perhaps the single most important attribute for most large businesses with significant IT operations and mostly non-technical staff is predictability. If everyone is running on a stable software foundation, then tools can be built on top of that foundation. If everyone is running the same version of their end user software, then help desk staff can provide canned step-by-step guides to doing things, or remotely access someone's machine to fix a problem or guide a user through a new process for the first time. If every server in a group is running the same operating system distribution then you only have to keep track of one set of security patches and apply them uniformly. And so it goes on.
In this context, it is entirely reasonable that businesses "refuse to run modern browsers". Your modern browsers do stupid things like moving the goalposts every six weeks (or every few months if you jump through special hoops to use a laughably named long-term support version). Your modern browsers include new technologies that introduce security and privacy risks we didn't have before. Your modern browsers break backwards compatibility and won't run the $5,000,000 bespoke CRM package on our intranet any more! And in most cases, your modern browsers offer no business benefit compared to the tried and tested tools already in use.
In short, while you may wish that everyone ran the latest shiny new browser, there are very good reasons why many big businesses don't. If you think the guys running IT for those places somehow didn't notice that there are other options or just can't be bothered to upgrade or suffer from "intellectual sloth" then you really have no idea how things work at that level at all.
Get into education, then, but that's a separate discussion.
I've got a county-government customer on IE8, with no plans to upgrade.
My workaround for them: ChromeFrame.
RBS. Aviva. NABG. And that is just the larger ones I have experience of. Those are pretty big hands to wave. If we say "sorry, our products might not work as well in IE8" they'll say "sorry, we can't use your products any more".
And it isn't just that they demand IE8 support in case their customers need it, their desktop builds used for all their internal uses have nothing but IE8. "Maybe they'll upgrade soon" we hope, "or perhaps given their users one of ff/chrome/other as an alternative along side IE8", but given they only upgraded to IE8 from IE6 over the last two years (the last of our clients to move from IE6 completed that transition about three months ago) I doubt I'll be seeing them use anything better internally for a good few years.
They have applications that need to be managed by what is undoubtedly an outsourced IT service, very likely related to some other system (practice management, diagnostic hardware, goofy industry-specific file formats, accounting, back-office, etc.).
They will stay on XP for ages because it works with everything they bought when they last "modernized" their practice ten years ago. Upgrading will be prohibitively expensive, on the order of making the decision to hire one junior staff member for a year.
The same upgrade will cost the same in a year, or five years, so there's no business purpose to upgrade until they need to migrate to another platform, either due to lack of support for modern hardware as the existing gear ends its lifecycle, or because of a strategically imperative application that requires an upgrade.
They may need enough "modernity" in their web browser for industry sites and (increasingly) wikipedia, but most uses of web 2.0 will be shrugged off as inessential, whether it's Facebook or Highrise/Salesforce/whatever.
Bigger companies have to refresh hardware due to failure at a higher rate. As a result, they can retain a permanent staff of people who manage OS images and upgrade on a next-to-last type cycle. Smaller companies are often using "personal" grade equipment and will take the accelerated depreciation when they need to buy one new laptop because the old one is too slow.
The purpose of having a list like this is to record the service providers who do have products out there that break using modern browsers--because they're ripe opportunities for "doing it righter and cheaper".
Do people not see how hard they are making the lives of future developers (or even their own lives down the road) by continuing to coddle these people?
Your vet example would be happy to switch to a cheaper service (cheaper because the devs were cheaper, because the tech is more modern and less finicky) if it were available, and a hitlist of companies ripe for displacement (due to running old platforms) would help the vet as much as help the devs.
This is so frustrating.
Your vet example would be happy to switch to a cheaper service (cheaper because the devs were cheaper, because the tech is more modern and less finicky) if it were available, and a hitlist of companies ripe for displacement (due to running old platforms) would help the vet as much as help the devs."
The benefit of change has to outweigh the cost. How long would they have to close, or "click over to the old system" with clients, until they were fully transitioned? These are not organizations that use webapps as their primary app delivery platform. (Or, rather, they don't know that's an embedded IE control in their x-ray viewing application.)
Who cares about the devs? Seriously, they are the group that should be paying for access to the markets, either via currency (buying software that makes this problem go away) or by labor (maintaining ten versions of their sites).
The problem is that most developers, and web developers especially, are squatting on the properties of large organizations with goals that are not always aligned with theirs. At best, we own our way down to the OS system call level. Increasingly, our dependencies are bound much higher in the application stack. .NET and Java versions can be changed out from under us, web browsers can be swapped out, and even features such as HTTP pipelining or keepalive can force us to reevaluate our scaling strategies.
I agree that the lack of control is frustrating. This is the nature of the industry.
For an example in another industry, read about Swatch Group's desire to stop supplying watch movements (and parts) on the open market. ETA has become so central in the industry (very similar to a late 90s MSFT) that the Swiss government became involved in slowing the policy change of a corporate entity. Even so, a number of smaller watchmakers will cease to exist because they won't be able to adapt.
AFAIK the only reason XP was supported for more than that was the Longhorn delays.
Whether it's XP, 98, 95, NT, OS9, SCO, OS/360, etc. isn't really the issue. It's that customers need a reason to upgrade, and making life easier for a web developer is usually not that reason.
Or, for a significant number of businesses, support for some expensive custom hardware that came with a software package that runs on (for example) Windows XP, but doesn't work because of the device driver architecture changes on Windows 7. The odds of places like that upgrading just to get a new version of IE are approximately zero, and even less if part of that software solution actually uses IE specifically.
That's one helluva qualifier when talking about hospitals. Our company creates web-based software for hospitals, and we have yet to talk to a customer who doesn't need IE7 support. (We draw the line at IE6.)
Assuming the above graph is relatively close to the truth, IE8 is around 10% of the worldwide marketshare.
So, the question is: when does a library like jQuery drop support? 10% marketshare, 5%, 2%, 1%? At what point is the overhead outweigh the benefits?
Obviously there are some developers who need to support IE7 (for example), regardless of the overall market. I personally don't think that should be the approach for tools like jQuery: time is valuable, and they should target the largest possible market possible.
The rest of jquery was just gravy.