Opera doesn't support websockets. I'm sure some socket.IO fans will tell me that's not a big deal, but it kind of is. modern browsers support websockets.
and i know, this demo doesn't use it and will work fine in opera if you spoof the UA, but it's a lot easier to develop if you pick a feature set you're going to support, and skim out any browsers that don't support that feature set.
Also, every web developer with half a brain can use https://github.com/gimite/web-socket-js instead of locking out users unnecessarily by matching the User-Agent.
It's not about detecting features. It's about testing: When you're developing a web app, each new browser you choose to support increases your testing time: starting out developing for chrome, adding safari support usually is just a formality. adding firefox support means a couple extra hours of testing, but everything usually works. adding opera support means your tests are going to start failing, and a bunch more work.
I'm picking on websockets because that's what's been annoying me at work lately, but it's just an example. the myspace demo doesn't even use websockets, it's totally irrelevant, but websocket support is a good cursory indication of whether or not it is a modern browser, and therefore how much development time will be added by officially supporting it.
"Hey friend, it looks like you are using Opera. Beware, pal, that we don't go to the opera down here on the ranch, so there may be rough-riding ahead! Try one of these nifty browsers buddy, or sally forth into the unknown. OK, pardner?"
You can put all the disclaimers you want before a use and they will "venture forth into the unknown". However, they will ignore (if they even read/understood it) your warning and then bury you in support tickets, complain loudly to their friends, and leave you with a mess to deal with and no real clean/easy way out.
I second this... users rarely read anything & remember even less. If you let them in, then they expect it to work. Its unfortunate for Opera, but we're doing the same for our beta launch.
I agree with you that opera should support web sprockets, and I sympathize with web developers making the decision to develop for new technology and browsers that don't support it be damned. But the actual message myspace displays is pretty needlessly snarky and stupidly insulting. I also have zero faith they'll be able to update their browser detection script often enough to avoid looking like dinosaurs themselves from time to time.
It takes character and guts to stand up for something. I think MySpace can be credited for that. The snark-iness was probably meant more for ie6-7 users than Opera users.
> It takes character and guts to stand up for something.
What does showing a message "Our superpowers have detected you're using an outdated browser. That must mean: a - You don't use the Internet very often. b - You're at your parents' place on the PC they bought in 1996. c - You work for the government or a big corporation." to users using a browser released in the past month stand up for, other than ignorance?
Maybe they meant to say "outdated or foreign browser" and "d. You're a freedom-hating socialist commie", seeing as it's the only browser not developed in the US? ;-)
Doesn't it seem far more likely to be indifference to a negligible market share than ignorance of Opera's existence? It's not worth their money to spend any amount of time making a custom error for "Your browser is new, but we don't support it anyway" separate from "Your browser is old and we don't support it" when 99.9% of the people seeing the message are in the latter category.
Demanding conformity from human beings (how dare you choose a different tool?) is the opposite of character, though doing it this brazenly does take guts.
Or you could just use the features you want to use and try to fail gracefully when you can't. (Old IE could be a special case, as it is solid chunk of FUBAR.)
Sure, you could do that if you had unlimited developer time and people using old browsers are an important market. but that isn't always reality, you've got to choose where to focus your efforts.
No, you don't need unlimited developer time to do feature detection. It's just good practice, after it's ingrained it doesn't take any more time than not doing it.
Don't mix "development cost" with "overall support cost".
Overall support will include specific feature testing, regression testing, and user testing. Additionally, support tickets may be opened and introduce support costs in ticket management, escalation, and assessment.
Don't provide any extra support? "Your browser is not supported/you are on your own" is much better than denying access.
Eventually people will start spoofing just to get in, and then you have a much worse problem in your hands. You know the Opera story. There is no excuse to block user agents unless it's commercial software with support contracts on the line.
I understand that the HN audience finds it incredibly simple to do. My point being, go ask your family members who don't frequent HN (or sites like it) what a user-agent is.
and i know, this demo doesn't use it and will work fine in opera if you spoof the UA, but it's a lot easier to develop if you pick a feature set you're going to support, and skim out any browsers that don't support that feature set.