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'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.