Just because <canvas> and cool CSS3 hacks are part of the W3C standard doesn't mean that you can use them wherever you want. If you use CSS3 hacks to convey meaning, that meaning is lost not only to old IE users but also to anyone who is visually challenged. Sooner or later, this is going to become a taboo, and all of us who did it will drop our heads in shame as if we'd used tables for layout. (Tables were, and still are, a W3C standard after all.)
On the other hand, I do want to discourage people from using IE7. How do we do that without turning every webpage into a shiny animated app? My answer would be simple: wrap all my CSS and JS links in a conditional comment that hides them from older versions of IE. Give those users the authentic Lynx experience. After all, it will probably be prettier, not to mention more accessible, than any "graceful degradation" hack that I can cook up.
Older design? That's too nice. What about no design? (Remember, your site should still work fine with no design.)
- It must be simple to use your api via command line Curl
- Any site you make must look decent or at least be usable without css or javascript
- All sites must be fully navigable and understandable in lynx (the command line browser).
Keep with these, and the way is easy.
However I disagree. Most consumer pages don't need to look decent without CSS, be usable probably but not look decent. CSS is how you make the pages look decent.
[0] - http://nacr.us/media/pics/screenshots/screenshot--07-32-57.p...
[1] - http://nacr.us/media/pics/screenshots/screenshot--07-33-31.p...
This isn't being conservative about upgrades. This about an IT department refusing to learn to do anything they weren't doing in 2000.
At worst, it allows independent software vendors a small market for regular repeat business. At best, people just keep using XP the same way they've been doing for years.
Maybe the new search page uses features only found in the newest browsers. But since we have little details to go on (apart from the employee's canned response of "we are constantly updating functionality"), I'm skeptical that in fact they did this just for the sake of doing it "for the users' own good". That is wrong, imho
And it's not just about stuff not working on simple machines - many sites are awful to use on recent smart phones and recent OSs because they have only been tested on local networks on development machines. No one has tested them on normal machines.
We went through this when cell networks decommissioned analog service and again when the early digital stuff was phased out. It turned out not to be such a big deal – once the phone company hit you with a higher bill to support the old equipment, almost everyone quickly decided learning how to use a new phone wasn't so bad.
This is similar: companies are hoping that the rest of us will subsidize their IT decisions with increased development and support costs. The difference is that most places lack a mechanism to pass along those costs so they're rarely confronted with a cost comparison.
I also designed things on IE7 & IE8 and there is definitely some major problems on IE8 which cannot be solved magically by graceful degradation. I think that IE9 is generally fine however, if you design everything with graceful degradation in mind and the website is quite simple it should work (appart for weird borders around images sometimes, but it's fine with a bit of css).
I've definitely experienced z-index bugs, floating bugs, padding bugs, display bugs (with inline & blocks) and core JavaScript bugs in IE8 which are making the website unusable.
IE8 is definitely not IE9, while it's still better than IE7 and there is generally less issues, there is still IE8 specific work to do to make the website compatible. And depending of your strategy within the company, it might not be worth trying to fix these issues. (this is quite costly).
In the ideal world, upgrading should be easy and fast, and provide an easy reverse if the user is not happy. As we know, this is not the case, so how can we blame the user for getting stuck with the old system that reliably worked?
But Mac OS is no different. I've been on OS 10.5 and when Google stopped supporting Chrome there, it suddenly stopped working with Youtube. Luckily, I've found a hack and wrote a script launching Chrome without that disable setting. Which proves that there was absolutely no reason to forcefully disable what worked for users for many years.
It's all done by user agent sniffing though, so if you're an Opera 12 user still and haven't found a way around it, you can switch the user agent to something like Mozilla for Google sites only in Opera's override.ini file and search results work just as they did the previous week. Other sites run by Google, such as the Android developer's console and Admob will also work correctly using this method. If unsure how to do that, here's an example[2].
Users of other browsers no longer "supported" could do something similar with an extension of some sort for their browser and just change the browser version of their user agent to something newer (something farther in the future would be a good idea).
[1] http://caniuse.com/#compare=ie+11,firefox+34,chrome+40,safar...
Opera 12 and Opera 15+ are completely different software packages that share literally and explicitly no code whatsoever.
One is a Chrome fork; the other a completely standalone program.
One is as bare-bone as browsers can get; the other has, out of the box, more features than any other browser on the market.
Not even the company producing Opera 15 asks its Opera 12 users to upgrade, since Opera ASA does know it is not an upgrade.
Yet Google decided to join the charade of Opera 15+ being an "upgrade" of Opera 12, since having another Chrome fork putting pressure for compatibility on websites furthers their goals.
a) more affordable modern computing devices b) more intelligent auto-updating browsing software c) more educated and engaged consumers
Mollycoddling stragglers only hurts everybody in the long run.
I'm not really sure how the rest of your points follow, however. Modern browser features have led to higher battery consumption on the whole. The number of sites that can peg a CPU core is staggering (and naturally terrible for batter life). The motivating factor for auto-updating browsers is to deal with security matters, not jamming features consumers aren't really asking for down the pipe. No one really needs drop shadows badly enough to risk instability every 6 weeks. And I'm not sure how constantly trying to get people to download Chrome makes them either more educated or engaged. It strikes me to be the opposite.
I'd like to mention that there's a whole class of HTTP clients that aren't end user browsers that get impacted by this sort of thing. It kinda sucks having to fire up a hefty PhantomJS or SlimerJS process because the standard HTTP clients for whatever language of choice can't do anything meaningful with certain sites any longer.
Absolutely. I don't think anyone would disagree to updates for fixing memory leaks, buffer overflows, and similar security-related bugs. But when they come with disruptive changes including removal of valuable features and increased system requirements, it becomes more of a dilemma and in some ways almost feels like they're using security as an excuse, a "tool of obedience" to pull all the rest of the unwanted changes along too.
To me, the whole "we must move the Web forward" notion (I've heard it far more recently than before) is increasingly looking more like change for the sake of change; an indication that Web technology is reaching a saturation point - progress is outpacing demand - for a lot of use cases, and hence the stronger attempts to promote newer technologies that are adding more complexity while yielding diminishing returns.
The increasing browser requirements for websites is not unlike that of increasing hardware requirements for software - the average user probably doesn't require anywhere near a machine as powerful as the ones today to serve their needs (mostly email and realtime chat, watching videos, reading webpages, etc.), but is basically forced into upgrading due to newer versions of software requiring more resources than before. (The machine I'm using is currently ~6 years old, and it still serves my needs just fine.) This "progress" is arguably beneficial for the economy of those in the business, but it also creates enormous amounts of waste for everyone else, and I don't think it's sustainable either.
I'm curious what prompts this frustration?
It also appears since new APIs are constantly being made available that devs are in a constant state of learning how to use them. While I appreciate that eventually some of this solidifies and we're better off for it, in practice a portion of the user experience always suffers. And as mentioned, this becomes really bothersome when this comes at the expense of battery life. If everything is to become a web app, and I have N tabs running, then I have N different opportunities for a web site to completely drain my battery. In practice, there's usually more than one site responsible.
And then there's the fun matter where auto-updating browsers sometimes just don't work. And since the update occurs silently, it can take a while to figure out that's what happened and that the failure isn't related to something else. Chrome 36 simply didn't work for me, so I had to change browsers until Chrome 37 rolled out.
For what it's worth, I've spent close to five years working on a Web Consistency Testing service, where we've tested millions of unique pages across tens of thousands of sites. I understand the quirks of browsers better than many. I've measured the performance and memory impact of new browser releases. I've had to debug quite a few customer issues. So, while a large part of my frustration is certainly personal, I'm also coming at this having looked at actual data.
The web should be about interactive documents, not trying to bend it into a color version of VT100s.
If people are having consistently poor mobile experiences because of poor battery optimisation across websites, that should create market demand for smarter devices/mobile browsers, better development tools and modern standards etc., right?
I'm not sure how constantly trying to get people to download Chrome makes them either more educated or engaged. It strikes me to be the opposite.
Well of course. When Google nags people to download Chrome, they're advertising their own services and fostering ecosystem lock-in. It might technically equate to a public service if their primary target market is out-of-date IE users, but that's incidental. It's an entirely different issue to what's at discussion here. Regardless, it does at least raise awareness of browser choice and habituate people to such (to users such as us) very basic actions as downloading, installing and trying out alternative software programs.
Well, my point is these problems are created by "converting" what would traditionally have been static content into dynamic. I'm not sure there will ever be a way to make that as efficient as static. Creating a problem and then fixing it doesn't mean you've actually advanced anything. But I suppose you're right in that it'll create demand for devices with longer battery life, if not in a roundabout way. There are probably easier ways to achieve that.
Hands down the most common case I come across is constant DOM changes without any growth cap using something like a circular buffer. Eventually the browser just churns doing constant GC. Travis CI was a big example of this, but the huge set of blog widgets out there are typical culprits as well. I'm not sure how new hardware could possibly address that.
Web standards are not really about efficiency of rendering, and never will be. Hence 'cloud rendering' in Opera Mini. The minimum system requirements to browse the web are only going to increase.
http://www.w3.org/TR/html-design-principles/#priority-of-con...
The effort to bring people to use the latest browser is understandable. For one, it forces developers to "drop" bad practices which are now "restricted" or banned in modern browser specs. For two we can bring the latest security protection browser offer to user. How I wish we could just screw every webpage on this planet and rewrite HTML spec and make it fresh and restricted.
But, it is important to note that blind users have very difficult time to use web sites that are JS-heavy and plugin-heavy. ARIA is a great solution, but honestly, even popular sites are slowly adopting it and even so Javascript interaction can be very hard to get right for a blind user.
They can still use chrome and firefox if the website provides text-based version. But the problem is still most websites don't provide text-based version.
Shameless plug: I did my senior project on this subject.[1] In this project I used gmail.js which the author did an amazing job of extracting the DOM for us (it was also on HN). I wish a website could just provide these "JS" APIs publicly so developers like me who wish to let people to interact with the website over voice without us "scarping" the API. Think of the ideal REST practice where one uses HAETOS to drive resource discovery. Imagine every website has a "IFTTT" protocol!
It is unfortunate, but today, even there are millions of blind users, they have to "adopt" to the latest technology with pain, at least this is what the blind users I've asked before and after the project said.
Anyway, my project code is a mess, but it was fun to write add-on and try blind-user tools on my own.
[1]: http://ccvcl.org/mediawiki/images/archive/3/37/2014051804182...
Just the same, pushing to abandon anything before IE9 is a hard sell... but when your mobile users are crossing 40% of traffic, it's an easier thing to do. Mobile devices take more time than some older browsers... just the same, developing for them is easier.
IE9 in contrast is pretty decent. In fact it's perfectly fine for most sites. For me, it's Chrome that is now aggressively pushing its own agenda. It doesn't really concern itself with standards any more than IE did, but because it's open source, nobody really notices.
I think things are fragmenting a bit, but the core is at least more in line among browsers... after ES6/7 take hold a bit better it will be nice.
I really wish the browser vendors would chose to use UTF8 under the covers for JS strings, and simply fix string handling for characters > 2^16 instead of additional regex flags, and string methods. I think it would fix far more bugs in end user code than those it might create.
On the other hand, those differences are likely to be mostly cosmetic - this was a time when JavaScript was very little-used and pages were still mostly static with little in the way of style, so they were still quite usable across browsers despite looking different.
Now that pages are more "appified" there is far more than can break, because of the larger dependence on JavaScript and CSS.
That doesn't even get into more complex interactions, or the flicker when making UI changes dynamically. For some things I simply re-wrote frame content client-side as it was faster with less "flicker" than trying to manipulate the DOM nodes.
Doing async stuff was interesting, post queues to frames, with the response wrapped similar to jsonp.
I don't miss those days at all...
There used to be a "Map" link, where I'd instantly send my search text into Google Maps. Where is it, and what was wrong with it?
They are.
> with the understanding that some sites may use features their browsers don't support.
Yep.
> Most sites on the Internet are still primarily sources of information, and it's rather disconcerting to see "appification" turning easily accessible pages containing text and images into complex behemoths that only work in the latest browsers from the big vendors
That's covered by the second half of the first quoted sentence.
> I know there is a certain allure to using the "latest technologies" for many developers, but if it needlessly excludes some others,
Who are still free to use whatever they want.
> there's a marginalising, discriminatory element to it that I just can't agree with.
So, only users get to use new tech and developers are stuck with using whatever works on the oldest stuff?
> They are.
Users are free to access sites that don't work on their browser? Sounds like a very desirable freedom to have...
>> Most sites on the Internet...
> That's covered by the second half of the first quoted sentence.
Incorrect. The first half of the sentence that you quoted said "Most sites..." not Google's site.
>> there's a marginalising, discriminatory element to it that I just can't agree with.
> So, only users get to use new tech and developers are stuck with using whatever works on the oldest stuff?
Sure - Developers can do whatever they want, but isn't everybody free to complain about it?
How would you feel if tomorrow most sites (including Google) started employing some type of extremely annoying DRM and you couldn't access those sites at all without buying a completely new phone, computer, laptop and software for yourself and your whole entire company.
Let me guess - you'll say "they're free to do that". Great. That's a very productive answer. Do you think anyone would be complaining about it? Probably lot's of people. So, what's the point of saying that "everybody's free to do whatever they want" other than to state the painfully obvious? Yes, yes, yes - all things being equal, people are free to do wtf they want. Yay!
Since this would only be a reasonable analogy if that new device and software were completely free, I don't think it would bother me that much. Now that I think of it, they already do this: Google still refuses to support my Ti-83plus. How dare they discriminate against me by supporting some devices and not others.
We have to re-certify our app with each major browser release and at the same time make sure we're still functioning with older versions, and make sure that older branches of our app is patched and customers are aware of limitations.
I believe what you are actually seeing is the opposite of "Don't use IE". Instead they are saying "Use anything but IE" (best viewed in Chrome, Firefox, Safari and Opera). And that's good advice.
So, what exactly are you talking about? What does "hold a candle" to mean to you?
Here are some charts of IE not holding a candle to other browsers - http://blog.mid.as/2013/11/13/best-web-browser-internet-expl...
Maybe you can provide some of your own links to explain just what it is that you're talking about because I don't think anyone has a clue.
First, you can try http://css3test.com, then you can peruse http://caniuse.com/ When you're done with those, try http://html5test.com but come back for more.
I'm on OS X - if a browser doesn't run there, to hell with them. I'm not wasting the money to buy an OS I can't stand just to test a browser. I'm also not wasting time having to reinstall a VM every 30 days for the same reason.
When MS makes it painless to run IE on a Mac, then I'll actively test against it. I might not try to actively break it, but I'm not going to worry much.
And, thanks to Node-Webkit, anything that's critical can be wrapped up in an app.
This is precisely the kind of developer arrogance that I advise against in my sessions. Catering to a segment of population, or otherwise, should be a carefully-considered `business' decision. If you are making them based on your preference for OS X (or whatever) and your laziness to install a VM, you are actively inflicting harm on your business.
(But that's really living in the past. These days we have BrowserStack.)
On the other hand, many of the people using older versions of browsers would probably be the same ones who don't like the changes Google's made to its pages.
As someone who regularly uses various browsers (including text-based), I have a very strong opinion on this: I've noticed the "you must use browser X, Y, or Z" trend become more prevalent over the years, and I think it's against the basic premise of the Internet to be an accessible source of information to all. Users should be free to use whatever browser they want, on whatever hardware they want, with the understanding that some sites may use features their browsers don't support. Most sites on the Internet are still primarily sources of information, and it's rather disconcerting to see "appification" turning easily accessible pages containing text and images into complex behemoths that only work in the latest browsers from the big vendors. I know there is a certain allure to using the "latest technologies" for many developers, but if it needlessly excludes some others, there's a marginalising, discriminatory element to it that I just can't agree with.
She added: "We're continually making improvements to Search, so we can only provide limited support for some outdated browsers."
It would help if she pointed out the particular "improvements" and what features they need.