August 17, 2007 Mobile browsing proxies Posted by Franklin at 11:58 AM | Categories: General

Updated January 2008: clarified terminology based on Fredrik Ademar's excellent post, added Thunderhawk and Teashark.

Browsing the full web on a mobile device can be slow. Why? Cellular data connections are a lot slower than the broadband most of us are used to. Even 3G is a fraction of broadband speed, and also there's a lot more "latency," which is the delay between a request from the browser to a web server, and the response from the server with the data. For a big web page with 50 objects (the HTML, script and CSS files, plus dozens of images) the delay in each request adds up to a lot of waiting!

Cellular data networks are particularly bad at handling Web data over standard HTTP and TCP/IP. And since all browsers have to fetch the same data over the same connection, there's a limit to the speed you can get a particular page:


Overview of Proxies

So to get faster, you need help from a server, known as a "proxy." There are basically 3 different mobile proxy technologies in use:



Speed proxies can make mobile browsing faster and reduce data somewhat, while preserving the full page.

Adaptation and server-based browser proxies can drastically reduce the amount of data sent over the air, but at a significant cost: the page is not the original "True Web" experience. Often the page is re-formatted into one long narrow column, and dynamic effects like pop-down menus and pop-up windows don't work.

My favorite test case is aa.com, which has nice pop-down menus along the left, and a nifty pop-up calendar icon on the right where you make a reservation. Try that in your non-S60 mobile browser!

  


Speed Proxies

Speed proxies are servers that make the data get to the browser faster. They don't change the page, just how the data gets to the device. They typically add compression which reduces data size a bit, but mostly they are able to schedule requests and responses much more efficiently than standard HTTP over TCP/IP.

Usually the device owner has no idea if they are using a speed proxy. Your cellular provider may have a speed proxy server installed in their network, and the device you use may have a speed proxy client built-in to it. The goal is to make browsing faster, with no other visible changes. Typical improvements are around 30% to 50% speedup compared to standard HTTP over TCP/IP on cellular networks.

As devices begin supporting WiFi (Wireless LAN) more, and access becomes more commonly available, the value of speed proxies might become less, but today they can significantly improve mobile browsing performance.


Adaptation (Transcoding) Proxies

The Adaptation Proxy approach is to modify the page to make it "mobile-friendly" -- typically removing or reducing images, simplifying layout, and breaking it into "chunks" or sub-pages. This is also called "transcoding."

You can try Google Wireless Transcoder, google.com/xhtml from your desktop to see how it modifies pages. For example, search for "us.cnn.com" then click us.cnn.com in the results, and compare with full us.cnn.com.

You can also try Skweezer.net from your phone or your desktop.

Added 2007-08-23: Thanks to reader Jim Hughes for pointing out Mowser, which may be the best of the bunch!

InfoGin is another supplier. They are used by many large sites to automatically provide mobile-adapted versions. You can see it on your mobile browser at wap.aol.com/portal. Search for "us.cnn.com", scroll down to the "Web" section of results and click the cnn link. (InfoGin powers this adaptation. Their server is smart about the device, so it doesn't work on your desktop browser unless you change the UA Header *)

Other players include Clicksheet and Volantis.

In February 2007 Openwave acquired WiderWeb.

In January 2006 Google acquired ReqWireless, a provider of a simple server-based browser. That technology is now part of the Google Wireless Transcoder, google.com/xhtml.

Adaptation means re-writing a web page (typically into a single column "narrow-screen layout"), which means it will fail on more complex web pages. But it is excellent for reading information sites such as news and blogs. Adaptation tends to fail completely for interactive sites, commerce sites, or anything with forms and Ajax.


us.cnn.com full
(click images for
full-size view)
via Google
Wireless
Transcoder
via Skweezer via InfoGin
(see change the
UA Header)
via Mowser
(see change the
UA Header)


Server-based (pre-rendering) browser proxies

This is the most efficient solution, but doesn't work at all with advanced web pages.

The actual "browser engine" that fetches the web content and does the rendering (layout) runs on a server. A small, simple client on the terminal displays the results, which are not sent as standard HTML or Web technologies, but with a proprietary, simple layout language. It is very fast and efficient -- much less data is sent. But the device doesn't have the "real" web page, so features like JavaScript, Ajax, and plug-ins (audio, video, Flash, etc.) cannot work.

Opera Mini is the most successful. It works very fast for simple pages such as news. But it won't work on interactive pages.

Novarra, Thunderhawk and Teashark also have server-based solutions.

As of January 2008, Teashark is still in "stealth" mode, but it is apparently based on the same open source WebKit browser engine that is used by Nokia's S60 browser, Apple iPhone, Motorola's MOTOMAGX Linux devices, and Google's Android.


Questions

What do you think is the future of mobile browser proxy technologies? Do you like using an adaptation proxy for its speed, and you don't mind the limitations? Are you a fan of a full-fledged server-based browser proxy like Opera Mini? Or do you believe, as we do, that ultimately everyone will want the "True Web" in their hand?

We're working hard to support all the latest greatest Web technologies, from Flash to Ajax. Networks will improve, as will the power of your device and data pricing. Where do you think this is going?

--Franklin


Change the UA Header on Firefox

* Note: You can try mobile sites on your desktop browser if you change the user-agent header to a mobile header, e.g. using a Firefox add-on like User Agent Switcher. Try adding the Nokia N76 User-Agent header in Tools>User Agent Switcher>Options>Options>User Agents>Add:

Mozilla/5.0 (SymbianOS/9.2; U; Series60/3.1 NokiaN76-1/20.0.041 Profile/MIDP-2.0 Configuration/CLDC-1.1) AppleWebKit/413 (KHTML, like Gecko) Safari/413

Then select the UA Header you just added using Tools>User Agent Switcher>Nokia N76 (or whatever you called it) and make your window small to simulate a mobile device screen size. Don't forget to switch back to Default when you're done with mobile browsing in Firefox!

You may also want to install Firefox add-ons wmlbrowser and XHTML Mobile Profile.


Permalink |

Comments

Let me override ua on s60 browser

Also option multiple? Is it supported? Sometimes popuplists don't populate and I think it's because of this.

Posted by: Robert Nicholson | August 22, 2007 03:24 AM

Actually, Bytemobile's Unison services span all three categories of browser proxy functionality described above. The first category of service is dynamic optimization, available in both clientless and client-server modes, which provides data reduction, protocol acceleration and content caching. The second is content adaptation, which transparently transcodes web content for all handset browsers. The third category is embedded browser optimization, which accelerates browser performance by off-loading web page processing to an optimized server.

Posted by: Adrian Hall | August 21, 2007 08:38 PM

I'll take the "true web". Still can't believe the iPhone was released without 3G support. Can't wait for a handset maker to give us 3G with a decent sized screen.

Brian
Slickscreen - The high resolution browser

Posted by: Brian Duper | August 19, 2007 08:47 AM

I'm a big fan of adaptation proxies (aka transcoders), even on the E61 which has a great browser as standard.

However, the one I use mowser.com is not on your list, for my usage it does a far better job than Skweezer or Google.

Posted by: Jim Hughes | August 18, 2007 02:30 PM

Rendering speed is one problem. The other is: lack of RAM on the devices. Try and get a semi-complex page (or multiple) and the browser pukes for lack of memory. If we start processing Flash and Ajax stuff, that RAM is going real quick.

Posted by: PhoneBoy [TypeKey Profile Page] | August 18, 2007 02:36 AM

Ive been testing a lot of mobile browser tech recently over 3g nets. Im currently reading / writing this on an e90 with hsdpa but my impression is that the rendering speed is more of a problem than the 3g speed. Latency on umts, while not brilliant, isnt too bad. the best browsing experience however is via a real browser engine on an x86 platform at min 800x480. The raon digital everun for example is really nice over 3g. And of course you dont have to worry about plugin support too.

why am i using the e90 instead of the everun right now? because the keyboard and size is nicer when youre lying in bed like i am right now!

Posted by: steve Paine | August 17, 2007 05:52 PM


Post a comment







«Back to previous page