
Last week Opera released a minor upgrade to the Opera Mini browser. I like to follow the latest releases so I downloaded it to all my phones from mini.opera.com. I used each phone's built-in browser so Opera could detect the phone model and send the optimal version of Opera Mini. All went well until I tried to upgrade my Samsung A920. I got a message "Your phone model could not be detected" This seemed strange as Opera had recognized the A920 in the past.
![]()
I though maybe something was broken on Opera's side. So I went to the page Opera provides for users to report undetected phones, mini.opera.com/detect, and was surprised that the phone's User Agent was "Mozilla/5.0 (compatible; OpenWeb 5.6.1.3-03) Opera 8.54". That's wrong, the A920 UA should be "Samsung-SPHA920 AU-MIC-A920/2.0 MMP/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1".
It seems my carrier, the US CDMA/EVDO provider Sprint PCS, is unilaterally running all web traffic though Openwave's OpenWeb reformattting transcoder which is replacing the phone's User Agent header with it's own.
The User Agent is the only way that mobile sites can identify the phone model and optimize their markup for different screen sizes, Javascript support, etc. If a proxy or transcoder changes the User Agent sites can't deliver an optimal web experience. It's even worse for providers of content like ringtones, games, wallpapers. Without the User Agent there is no way for the provider to know which content is compatible with the phone. The big multi-national carrier Vodafone has gotten a bad name with mobile developers for implementing similar transcoders from Novarra, Openwave and Bytemobile.
It actually looks like with this implementation for Sprint, Openwave is trying to sort of do the right thing and send the original User Agent if it detects mobile content. The detection seems to work with many sites that send only mobile content from a given URL. Opera delivers PC or mobile content from mini.opera.com depending on whether it detects a full-web browser or a mobile one. Opera's multi-serving of content seems to confuse Openwave. And it's not just Opera, users at the independent site SprintUsers.com, are reporting problems with several free ringtone sites including Rumkin.com and FunForMobile.com
It's not easy to programmatically determine if a site is designed for mobile devices. You can't rely on the Mime type or Doctype, there are lots of tag soup mobile sites served as text/html. Bad practice perhaps, but those sites work. And really, I don't understand why OpenWave changes the User Agent in the first place. There's nothing about the process of transcoding that requires changing the User Agent to function. The mobile web works best when sites can identify mobile handsets by User Agent. If the site sends mobile content no transcoding is needed. I've heard the excuse that transcoders need to send a desktop browsers User Agent because there are a handful of badly written full web sites that return an error or empty page when confronted with a mobile user agent. I'd be OK with a transcoder retrying with a desktop User Agent in those cases only, but not in the case of sites like mini.opera.com or Rumkin which return a usable page to ALL browsers and mobile content to mobile browsers. I'm forced to suspect evil intent, nothing else makes sense. It's as if Openwave is changing the User Agent to fool multi-serving sites into delivering non-mobile content so that their transcoder can have more work to do and they can claim to have "fixed" a higher percentage of sites.
Don't get me wrong, I'm not opposed to transcoding, I use and recomend Mowser, Skweezer and Google GWT for viewing full web sites on the limited built in browsers of feature phones like the A920. But I opt to use them and at the bottom of every transcoded page in all three of those transcoders there's a link to view the original untranscoded page. Sprint has imposed OpenWeb on their users without any
Pages: 1 2 3
posted by Dennis Bournique
March 14, 2008 @ 9:06 pm
7 View Comments