ブラウザ検出とOpera

10 is the oneの話が面白いです。

WebアプリケーションではJavaScriptを使ったりサーバ側のプログラムで、WebブラウザのUser-Agentを見て動作を切り替える場合があります。

この前Opera バージョン10 のアルファ版がリリースされましたが、User-Agent中のバージョン番号に1桁の数字しか想定していないものがあり、Opera/10.00を解析しようとすると「Operaのバージョン1」として扱ってしまうものがあるそうです。

コメント欄で少し議論がありましたが

・16進数の「A」とかローマ数字の「X」は?
確かに1桁だけど、「6以上」のようなWebアプリ側のチェックをパスできない
Opera/9.99 [10.00]のようにするのは?
こういうハックに依存してしまうと、いつか Opera/9.99 [10.00][really 11.00][actually 12.00][OK_I_lied_it's 13.00] みたいなUser-Agentが必要になってしまう

ということで、やっぱり10にしたいらしい。