JQuery 2.0 Released
blog.jquery.com
blog.jquery.com
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 rest of jquery was just gravy.
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.
Not to mention that the whole question is moot, for reasons I states on my comment above.
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.
http://www.akamai.com/html/io/io_dataset.html#stat=browser_v...
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.
Many of us use jQuery because it works, regardless of what browser a user is on. For a lot of others, jQuery IS JavaScript. If they want to do something on their site, they look for a jQuery plugin and use that, otherwise in their mind it'll be too much work to get it done. It's depressing, but it's the reality of development.
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.
I'd consider myself fairly handy with JavaScript, but I'm also a very busy man, and my office won't want me spending company time fixing a bug in a plugin if there is another way. Also, there isn't a developer alive that likes fixing legacy bugs. I can think of a million things I'd rather do than fix IE6-7 bugs.
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" [1] 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.
[1] > 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?
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.
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.
>I'd consider myself fairly handy with JavaScript, but I'm also a very busy man, and my office won't want me spending company time fixing a bug in a plugin if there is another way. Also, there isn't a developer alive that likes fixing legacy bugs. I can think of a million things I'd rather do than fix IE6-7 bugs.
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.
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.
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
Either of these would seem to be a Good Thing (tm), and would help remove a lot of the FUD in the ecosystem.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.
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.
Like who? Honest question. I know that not all users currently have modern browsers (which is total bullshit, by the way--with free, open-source browsers as well as Chrome and the like, there is no excuse for this) but this isn't something we should treat as anything but detestable and fixable.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.
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.
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.
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.
Get into education, then, but that's a separate discussion.
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.
I've got a county-government customer on IE8, with no plans to upgrade.
My workaround for them: ChromeFrame.
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.
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.)
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.
http://gs.statcounter.com/#browser_version_partially_combine...
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.
Source: http://www.netmarketshare.com/
31% is not justification enough to maintain legacy code in a library that has become a little bloated over the years because of the backwards compatibility with older browsers. If you want to support that 31%, use the 1.9 branch it's better than the alternative being no support whatsoever.
Edit: Why all of the down-votes, is my response offensive?
Because you described "1/3 of the internet" as "a miniscule proportion of ones' users", probably.
StatCounter tracks 3 million websites vs 40k for NetMarketShare.
[1] http://gs.statcounter.com/
[2] http://gs.statcounter.com/#browser_version_partially_combine...
[3] http://gs.statcounter.com/#browser_version_partially_combine...
Well one of the websites I'm working on is a fairly big one in germany and only about 4% of all visitors are using IE8 or below. Guess what! We now only support IE9+.
If you think about it, there is no real reason not to support old browsers, unless you are in online gaming, of course.
-One of the most popular libraries is dropping support for IE 6,7, and 8. Thus, yet another cornerstone of the web is going to push users forward and increase the chance that those miserable browsers will disappear.
The most disturbing thing I find is that there are developers that are DEFENDING existence for those older browsers. Are you masochists? Do you enjoy the headaches of fucking around with those??
"Oh but so many clients are still using them, and it writes off potential users!"
How can we ever expect for them to upgrade their damn browser unless the builders the web (developers, not just browsers) quit allowing them to rot in complacency????
Of course, there is a thing as going "too leading edge" and expecting "too much" from the user...but when the cornerstones (libs, browsers, etc) start pushing them forward - then we should embrace this change. Coding for the multi-browser/platform/device/version web is hard enough.
Can't you just host your own copy of JQuery? If your web app needs version x.y.whatever, is there some reason why you can't just host your own copy of the library on the same servers the provide the rest of your web content?
I understand the convenience of using some CDN's copy of JQuery, but I'm unsure why it's anything other than a convenience. Maybe it's about money: "It'll cost us an extra $X per month in bandwidth fees to host our own version of JQuery." Maybe it's about user experience: "By hosting JQuery on our own site we add 100ms to page load times."
To the people who seem most unhappy about the version bump, can you describe how hosting your own version of JQuery would complicate your lives? Just so there is no ambiguity, I'm asking from a point of ignorance, not snark. I would genuinely like to read the answers.
The main advantage to using a CDN is that a single copy can be cached across multiple websites, meaning that the first time someone visits your site, there's a good chance your version of jQuery already sits on their computer. Plus, the Google CDN will often serve content faster than your own site. And, since jQuery is now so "integral" to websites, it almost seems silly to have to maintain a copy of it yourself.
But the main downside to using a CDN is that, CDN's have gone down before, and that means your site will stop working. Obviously, it doesn't happen often, but it happened once to a widely used site of a friend of mine, and he swore, never again will he reference jQuery on a CDN. I personally prefer to host myself too. (But not out of bandwidth savings, that just winds up being trivial.)
http://stackoverflow.com/questions/5257923/how-to-load-local...
I suspect that a comment made by user Zangrief is right on the money - enterprise users will increasingly take over maintenance of the 1.x branch out of necessity.
Still, I don't mean to slight Sizzle, and certainly won't stop using it. It's just nice to see jQuery compete with Zepto, since apparently there's a demand for a build that small, and jQuery is better-tested and less brittle.
qSA's design shortcomings have been well documented, John Resig did a blog long ago about them [1].
The list of what you lose if you remove Sizzle is in the native selector file [2].
[1] http://ejohn.org/blog/thoughts-on-queryselectorall/ [2] https://github.com/jquery/jquery/blob/master/src/selector-na...
As long as they continue to support IE8 in 1.9 until Windows XP EOL next year I don't really see a problem.
Asking jQuery to support those browsers longer than Microsoft itself is willing do seems a bit harsh.
While I agree with jQuery's decision here, this isn't really fair right? Windows XP and most old stand-alone software they have installed will continue to work after MS drops support.
When we're talking about the web, a reasonable effort should be made to support those legacy users. Of course, you can only do so much, but according to the general consensus in these comments, that's around 10% of visitors. Whether or not dropping them is worth saving the 12% in code size, is a different question.
IE11 will be released soon. How many versions of IE do you intend to support?
If you are, great. No coddling necessary. But for other people, they may not be comfortable with the percentages yet, and I think that's perfectly understandable.
Coincidentally, I work in the multi-family housing industry, and one of the industry titans requires IE to use their product--which everyone uses--so we have ~82% IE share on our own product (which is supplementary to the titan). Of that, IE8 stands at ~31% of our total site traffic, which is compelling enough for our company to need to support it. (IE9 is only ~39%, with IE6/7/10 making up the remaining 12%.)
So until that industry titan changes their way, we're stuck in an IE rut.
Far more so than that, though, what's shitty about having to support IE 6-8 is the complete lack of consistency. Even if you aren't doing anything fancy, you have to spend a hell of a lot of dev time if you want things to look the same across browsers when they're included. Hours and hours of wasted time is pretty shitty, especially when the work involved is so aggravating and, from a creative point of view, utterly pointless.
In effect, your question is like asking what would be shitty about developing apps for a 10-year-old Palm Pilot. There are millions of use-cases perfectly covered by those too, but that doesn't mean an iPhone app developer is going to want to spend time porting his apps to one.
Secondly, you don't have to design 1:1 pixel-perfect copy of your website that looks the same on all browsers.
The main thing - if your developers cannot degrade the website functionality - they are seriously doing something wrong - get more experienced
You can as well design Flash site and call it "progress" and tell the rest of our users to go somewhere else. Now, how is it different from other "modern" technologies? Its W3C support?
"but that doesn't mean an iPhone app developer is going to want to spend time porting his apps to one."
If your customers still use Palm Pilot, then why would you design your site ONLY FOR IPHONE??????
If your customers still use Palm Pilot, you've chosen the wrong market segment. Yes, make something people want, but you're allowed to be selective about who those people are. If you're a hacker, it's very likely because you enjoy creating and working on interesting and fun things. Making websites work in IE6 is not a fun thing. There is enough value waiting to be created that we don't have to waste our talents and energy on this kind of nonsense.
And if you don't develop cross-platform because of lack of time this is fine. Please, don't cover it with insults about dumb CEOs and ignorant lame users - bad excuse for bad programming habits (not personal, just generalisation).
Again, there is no technical reason not to give workable version of the website to all major browser users. It doesn't have to be a pixel-perfect copy. It just has to work.
I didn't insult anyone, CEOs or users, so your generalization is a very poor one.
The technical reason for not giving a workable version to IE6 is that it can take as long to make a workable version for IE6 as for all other browsers combined. IE8 is not that bad, but it's similar in principle. If I have to spend 50% of my time on 10% of my users, I'm better off doing twice as much for the other 90%.
Does someone have a gun the CEO's head stopping him? He could tell everyone to install latest Chrome or Firefox and have everyone upgraded in 10 minutes.
Dropping them isn't an option.
IE8: 40%
IE9: 25%
Chrome: 15%
Firefox: 10%
iOS: 5%
Others: 5%
The majority of our clients are businesses with 50 to 500 employees in Australasia.
We presume the IT staff of our clients know what they are doing (and if they don't, why waste our time and theirs?).
We did drop IE6 support late last year once usage dropped well below 1%, and now that IE7 users have just dropped below 1%, we are warning that we will be dropping IE7 support.
We try not to presume to tell our clients how to run their businesses, and we try to make it effortless for them to use our service... that is the point of browser based services.
FWIW, I'm not joking.
Dropping the cruft and supporting 1.9 is such a wonderful way to go. Congratulations on a great release jquery team.
I'm really surprised they would suggest doing this. The two APIs are quite different since many functions from the 1.x branch have been removed in the 2.x or sometime behave differently (for instance `$("some <strong>bold</strong> text")` will be parsed as HTML in 1.x but considered a CSS selector in 2.x).
Basically, I really wonder what could be the benefit of using this kind of conditional comment trick.
Features will be the same. It's OSS folks. It's not like it's ran by a closed-source team at Google who may suddenly pull the plug if it deems the project unpopular. My guess is folks who work in enterprise (where older IE still plagues) will be the big maintainers of 1.9.x.
Regarding 1.9, how can "old-IE compatibility often causes problems of its own" and "simplest way to support older browsers is to use jQuery 1.x on your site, since it works for all browsers." both be true at one and the same time?
They're going to keep big-fixing 1.X so people stuck with IE6/7/8 can keep supporting it, but moving forward with 2.x for modern browsers makes their lives easier in the long run, and provides yet another coffin nail in Microsoft's attempt decade-old attempt to break the web.
Not that jQuery has the same kind of power but you can't ask people to move forward nicely, you have to drag them kicking and screaming.
On the contrary. Lots of big volume mainstream websites (including even Google properties) have stopped supporting IE6 and some even IE7 for years. For IE6 it has been at least 4 years since most sites stopped caring about it.
(Heck, even Microsoft created a site to convince people to drop IE6 it last year).
Mainstream websites will move much faster off of IE8. It's enterprise shops and people making software or websites targeted at them that will take the longest.
1) Opportunity cost. Supporting them takes time and makes your code more bloated and less able to use cool new stuff without hacks and workarounds (and that cool new stuff can give you a competitive advantage to the other 95%).
2) This 5% is only gonna go down.
3) 5% is too small anyway.
4) There might be 5% of traffic, but how much is quality traffic? Depending on the site, a guy with the latest laptop, OS, browser and everything might be more likely to spend money, compared to some XP using guy that might have gotten there accidentally. This needs more search into your user data to tell.
5) Even if you want to still cater to IE6, you don't have to support it per se. You can just make it generally sure that its user can click around and see the pages, even if they lose a lot of formatting and cool options. I mean, don't even go for "progressive enhancement" stuff. Just let them be able to at least see the page, even if it looks like crap without the necessary css etc support.
Granted, I can and will keep using 1.9
IOW: Cry me a river.
People made these exact arguments that people "require XP and MSIE8" and that they "can't upgrade" years ago, when Vista was released, then when Windows 7 was released and now with Windows 8's release.
Here's news for you: You've had 2 or 3 advance warnings from Microsoft that your IT platform will be obsoleted and unsupported and 2 non-ordinary support-extensions. You've had more than half a decade to plan and execute the migration.
If you haven't completed that migration yet and are still whining, you are incompetent as an IT manager. There is no other way to describe this. If you are still running XP, that is because of incompetence. No excuses.
XP is older than the very first release of Ubuntu. Microsoft has supported XP for longer than Ubuntu's entire existance. As a basis for comparison any version of Ubuntu is supported for 2 years and that's it. XP has been around for 12 years now, and will be supported for yet another year before support is finally dropped. Sometimes enough is enough.
This is a good move by jQuery to streamline their code-base. Sometimes you need to do the spring-cleaning if you want your code to be manageable and have any chance of effectively improving your product, and this is just that spring-cleaning.
probably instead throwing the vendors that don't want to support old IE...
It's crazy how many people are still stuck with XP/IE8 which is a massive web dev headache.
Based on current stats, I'd say IE 8 hasn't got long till you can ignore it but it really depends on how much market share you care about. Do people STILL target IE 6? IE 8 is on ~10%[1] and at the current rate it's dropping at should be at 5% by October - Just in time for IE 11?
As for blaming XP, I'm not sure you can completely. IE 8 is the default browser of Windows 7 and XP has more than double the market share of IE 6/7/8 combined. Most IE users seem to be schools and companies that haven't upgraded. Although IE 6 will definitely be gone by April 2014, we could very well be stuck with IE 8 for a very long time.
For the record, IE 6 and 7 should be ignored completely. Combined they have a market share of less than 1%.
For a rule of thumb, I commonly drop support once a browser crosses 5%. Might seem high but usually once it's at that level, it's only going to keep falling.
Something to look forward to, my estimates[2] put Firefox 3.6, Safari 5/5.1 and IE 6/7/9 to all be gone by the start of 2014. Of course, linear estimations should always be taken with a grain of salt.
[1] http://gs.statcounter.com/#browser_version_partially_combine...
I'm glad they decided to continue support for 1.x for now.
You can try it out on http://skalman.github.io/UglifyJS-online/. It's just a light-weight wrapper.
So if the Query team is still going to support these browsers in 1.9, why even make the 2.0 version?
This is what I call commitment.
2.0 is slightly faster on every measures.
Lots of people will serve the two versions.
If the JQuery team is committed to keep supporting 1.9/1.x, entirely API-compatible with 2.0 -- what is the benefit to JQuery of the 1.x/2.x fork? You get a cleaner easier to maintain codebase in 2.x -- but you've got to keep maintaining 1.x anyway. If there was a feature you didn't want to add to 1.x because it was too hard -- you still can't add it to 2.x and not 1.x, because you committed to supporting 1.x as API-compatible, no?
Is the idea that 2.x will provide better performance on capable browsers than 1.x? So, yeah, the development burden is no less, but the results are better.
I guess I understand why people are doubting whether they will really follow through -- because if they do follow through, it makes it somewhat unclear what the benefit of the 2.x refactor was in the first place.