The largest US mobile carrier, Verizon Wireless has started funneling traffic between Verizon feature phones and the web through a transcoder from Novarra. Verizon calls the service “Optimized View” and has added promotional information and a FAQ to their customer website There is also a page on the carrier’s developer site which has links to a opt-out form and to a PDF document detailing the rules that the transcoder uses to determine which sites to transcode.
Given the disastrous effects that VodaFone’s UK roll-out of Novarra had on mobile sites and services, I’m rather apprehensive about this. In the PDF, Verizon/Novarra say that they won’t change the User Agent header or transcode sites that have submitted an opt-out request or have a URL corresponding to one of these patterns:
*.mobi, m.*, mobile.*, avantango.*, wap.*, iphone.*, <domain>/m/*, <domain>/mobile/*, pda.*, wireless.*, wml.*, xhtml.*, <domain>/m/, <domain>/gmm/, <domain>/portable
For sites that have not opted out or do not use one of the mobile URL patterns, the transcoder will change the User Agent and a number of other headers to ones mimicking a desktop browser. However the site will not be transcoded if it meets any of the following conditions:
- It uses one of the following mobile specific DTDs:
- <!DOCTYPE html PUBLIC “-//OMA//DTD XHTML Mobile 1.2//EN” “http://www.openmobilealliance.org/tech/DTD/xhtml-mobile12.dtd”>
- <!DOCTYPE html PUBLIC “-//WAPFORUM//DTD XHTML Mobile 1.1//EN”
- <!DOCTYPE html PUBLIC “-//WAPFORUM//DTD XHTML Mobile 1.0//EN”
- <!DOCTYPE html PUBLIC “-//W3C//DTD XHTML Basic 1.1//EN” “http://www.w3.org/TR/xhtml-basic/xhtml-basic11.dtd”>
- <!DOCTYPE html PUBLIC “-//W3C//DTD XHTML Basic 1.0//EN” “http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd”>
- It uses one the following MIME types:
- It has a self referencing link rel tag:
- <link rel=”alternate” media = “handheld” href=mymobilesite.com/>
- It sends a “Cache-Control: no-transform” header.
I don’t have a Verizon account but I did do some limited testing in a Verizon store. I used a Motorola V950 which runs the Openwave 6 browser. I mostly tested my own sites. The transcoder seems to follow the rules in the PDF. None of my sites that use a mobile URL pattern, Doctype or no-transform were transcoded. A couple of test pages I created as copies of mobile pages but with none of the Novarra trigger conditions where transcoded even though they were under 10KB.
I didn’t really test the quality of the transcoded pages but noticed that a two line navigation bar is added to the top and bottom of the page and pagination is used. I thought the transcoded version of howardforums.com was reasonably usable, but my test sites, which were under 10KB, were needlessly split into two pages.
According to Verizon, the transcoder does offer users the ability to view the original version of any transcoded page by clicking a “Turn off Optimization” link in the bottom navigation footer. As a user, I consider this a very desirable feature which all transcoders should implement.
Secure HTTPS sites are transcoded, except for “banking sites”. I wonder how Novarra identifies banks? Users are warned that their security may be compromised when visiting a non-banking secure site through the transcoder. I didn’t try any secure sites so I don’t know what this warning looks like.
Transcoders are the bane of mobile web developers. This one will probably not be as disruptive has the Vodafone UK one was because Novarra has learned some lessons from that debacle and is doing a better job of detecting mobile sites and also because the development community is more aware of the transcoding problem and how to work around it. There should be no impact on m. and .mobi sites and others with a recognized mobile URL pattern. Sites that use a mobile doctype and don’t do browser detection will also be unaffected. However, sites on .com domains that rely on the User Agent or other headers to optimize for specific handsets need to either get on the white-list or start checking the “X-Device” headers where the transcoder is putting the original values of the headers it’s modified as follows:
|Original Header||Renamed Header|
The Verizon transcoder can be identified by the Via: header which it sends, “1.1 Novarra (Vision/7.3)
X-Mobile-Gateway: Novarra-Vision/7.3 (VZW; Server-Only)”
The Vodafone transcoder broke many content (ring tones, game, application) download sites. I don’t see that happening with this one because Verizon already blocks almost all off-portal downloads.
The problem with transcoders changing headers is that it forces millions of mobile sites around the world to change their code in order to keep the same functionality. It’s an annoyance for capable mobile web developers who somehow find out that another transcoder has been deployed somewhere in the world. The real problem is with sites that aren’t actively maintained or whose developers don’t actively follow the doings of the W3C or monitor the mobile development mailing lists, forums and blogs. Which, I suspect, is the majority of sites worldwide.
Verizon and Novarra claim that their transcoder partially follows the recommendations of the W3C Content Transformation Guidelines. However those guidelines are still a work in progress and the issue of whether transcoders should alter the User-Agent except in a very limited number of cases such as when a site returns no content when presented with a mobile browser User-Agent is still under discussion. It would be far better for the health of the mobile web if transcoders did not alter the User-Agent and other headers as recommended by the Rules for Responsible Reformatting: A Developer Manifesto a document that evolved from discussions on the wmlprograming Yahoo Group and which has been signed and adopted by several transcoder vendors, but not by Novarra.