Exploring Android – Part 5 – Wi-Fi Offloading

Next in line on my Android exploration path is how Wi-Fi is integrated into the system and how the OS switches between 3G and Wi-Fi use automatically. The implementation in fact is straight forward. If a Wi-Fi network is detected for which security details are available, Android automatically changes from 3G to Wi-Fi use. For running applications that means that their current TCP/UDP context is broken and that they have to reestablish contact with the server. For my most often used applications, Opera Mini and Profimail, that works quite well as most of the time they don't transfer data and therefore the switch usually happens when they can live with an interruption anyway. If I remember well, I was once told that the iPhone performs a 3G/Wi-Fi switch in the same way.

But what happens when there is an ongoing data transmission while the bearer is switched? I gave it a try with a podcast application that can also stream a podcast from a server. As expected the OS did not care that there was an ongoing transmission and the stream download was interrupted. The streaming application presented an error and had to be restarted manually. Not so nice.

Symbian on the other hand uses a different algorithm that prevents such behavior. Different networks can be grouped and priorities can be given for each network in the group. Individual applications can then either use the networks of the default group or can be assigned another group. For my podcasting application for example, I use a "home" group that only contains my private Wi-Fi network. This ensures that I don't use the 3G connection for large downloads by accident. I've also configured the SIP telephony client to the "home" group so it automatically starts up once the home Wi-Fi is detected. Changes between the networks in a group are not allowed while at least one application is running that uses the network group. This way the loss of TCP/UDP contexts is prevented.

In practice I think few people will use all the possibilities offered by the more complex Symbian implementation. They will most likely only have a single group with all known networks part of it. To prevent TCP/UDP context loss, Wi-Fi is only used when all applications are closed. That might have been o.k. a couple of years ago when applications were closed after use but with email programs and web browsers running in the background all the time now, it's not ideal anymore. But neither is a drop of the TCP/UDP context as in the Android implementation.

There is of course a remedy by using one form or another of mobile-IP to rescue the IP address when switching between access networks. There are several different ways to do this, unfortunately, which is likely going to hinder implementation and use in the foreseeable future. But sometimes a simple implementation trumps over more complicated ones if the drawbacks are acceptable.

Desktop Titans On Mobile In Reverse Order

Have you noticed that in the mobile domain the use (not necessarily the popularity) of operating systems from different companies is exactly the reverse order as on the desktop!? Leaving RIM and Symbian aside for the moment as these OSes are not present on the desktop the order is as follows:

  • Linux, known as Android from Google
  • iOS from Apple
  • Windows Phone 7 from Microsoft (with a huge gap to the second one)

And from what can be told today, I don't think this order is going to change anytime soon, neither in mobile nor the reverse order on the desktop.

Exploring Android – Part 4 – Contacts

One important point when wanting to circumvent the Google cloud is how to import contact and calendar information to Android and how to back up the content. For contacts there are quite a number of options. The simplest on without any additional programs required works as follows:

Import Contacts

  • On Symbian, mark all contacts and export. For each contact a single file is created
  • In the file manager mark all created files and send them via Bluetooth to the Android device
  • On Android, each contact can then be exported by clicking on it. This, however, is a bit cumbersome, especially if there are many contacts to import (like in my case)

To speed things up one interesting tip found here recommends to concatenate all contact files into a single large file and import that to Android:

1. Copy all your vcf files [exported from Symbian] into one directory
2. Open Windows command prompt.
3. Enter the following DOS command: copy *.vcf all.vcf
[4. Send via Bluetooth to the Android device and import all with one click]

Backing-Up Contacts

In the contacts application select "Menu – Import/Export – Send namecard via". Click on "select all" and then select Bluetooth to transfer all contacts in a single .vcf file. Works well and all contact data is available in readable form in the file. I then deleted the contact information on the Android device and used this single file to import the entries again to verify the process in the opposite direction and also step 4 from the tip above.

Other Import/Backup Options

A web search revealed quite a number of third party applications including one that synchronizes the Android contact data base with an address book in Thunderbird. An interesting solution but I haven't tried it myself yet. Also, a closer look at Funambol might be worthwhile as it synchronizes calendars with Thunderbird as well.

Wi-Fi Direct Coming To An Android Phone Near You

Wifi-direct Last year, first reports about Wi-Fi Direct went through the press, a technology to exchange large amounts of data quickly and easily between devices over Wi-Fi. So far, Bluetooth is used for the job but with it's limited transfer speeds of around 2 MBit/s on the application layer, it starts having difficulties with larger files no common due to increase in megapixels and general quality of images. At this year's MWC in Barcelona I have seen Samsung advertising their Wi-Fi Direct implementation for first devices (see pictures on the left). A quick web search revealed that LG is also working on / releasing Wi-Fi Direct capable devices.

So what's the difference between normal Wi-Fi based networks and Wi-Fi Direct? Normal Wi-Fi networks have a central Access Point (AP) and a device joining a network for the first time usually asks the user for password that is then used for authentication and encryption. This is a bit cumbersome if the connection between two Wi-Fi devices is only required temporarily. This is where Wi-Fi Direct comes in as it allows a hassle free connection establishment between two devices without requiring an external access point or the entry of a long password. Here's a line from the Wikipedia entry on the topic that describes it pretty well:

"Wi-Fi Direct essentially embeds a software access point, or "soft AP", into any device that wishes to support [Wi-Fi] Direct. The soft AP provides a version of Wi-Fi Protected Setup with its push-button or PIN based setup."

 

Exploring Android – Part 3 – Data Use In Idle

Coming back to my roaming requirements for this part of the story, it's not only important that the web browser and the e-mail application require as little data as possible but also that Android itself is not chatting with the world and thus incurring cost. So to see what Android does, I installed "3G Watchdog" and let the mobile run overnight with Opera Mini being executed but the e-mail program shut down. Good news here as well. As I don't have any active widgets, instant messengers or other programs running that could exchange data in the background, the watchdog counter only recorded around 4 kilobytes of data exchanged. It would be interesting of just what those 4 kilobytes where but I'll leave it at that for the moment. From a roaming perspective that's quite acceptable. In other words, Android has passed my roaming data test as well.

The Changing User Base Of Smartphones

When you are a bit bored next time you are in a public place have a look around to see what kinds of mobile devices which people use today. A couple of years ago, smartphones were early adopter toys and mobile Internet practically unknown and undesired by the general public. Today, the picture is totally different. I have to admit that I am still surprised when I see people who are likely to be in their 60s with an iPhone browsing the web. But it's by far not an exception anymore. That also means that the target audience for smartphones has significantly shifted from only half a decade ago. Not a homogeneous early adopter audience anymore but anyone from student to retiree has now become a 'real' customer in this segment.

Radio Streaming While Moving

Recently, I discovered Internet radio streaming on my mobile. There aren't many options but it's easy to use and after one has spent some time to find the radio stations that provide good content audio quality and save them as favorites it's "click & go" fun. Using it in a stationary way works well, but how about streaming while sitting in the tram or moving through the city? Will the program have enough data buffered for short outages?

So I tested it on a route from which I know that there is continuous and good 3G coverage (no use trying it on the train I take almost daily where I know 3G coverage is patchy at times). And yes, in areas with good 3G coverage, streaming worked well and during the 20 minutes I tried I encountered no major glitches. The only downside is that the mobile gets a bit warm over time and it takes a heavy tool on the battery. So in other words, continuous radio streaming requires two things:

  • A good 3G network on the route
  • A charger at the destination.

The issue of high power consumption is unlikely to be fixed anytime soon as 3G chips tend to get faster but not significantly more power efficient. Therefore I don't think we will see hordes of people running around streaming their favorite music instead of listening to "bottled" music anytime soon. Also, the network coverage I used for the test was exceptional. In most moving use cases, you end up sooner or later in places where no 3G network is available and your audio stream comes to a sudden halt. That completely kills the experience.

Don't get me wrong, I love Internet radio and often have a stream running on my PC while at home. But in a fully mobile environment I am a bit skeptical that there will be a take-up beyond occasional listening.

Exploring Android – Part 2 – Browsing and E-Mail

After giving you an intro of what I'm after in this series in part 1, let's get to the details. There are two main applications I need on my mobile phone:

Web Browser

First, I need a browser that is both fast and resource efficient as I travel a lot and roaming charges, especially oversees, are an ongoing issue. On Symbian, I have used Opera Mini for many years now as it's an excellent browser and uses a compression server that minimizes the amount of data transferred. Luckily, it's available on Android as well and works identical to the Symbian version.

I've also tried out Opera Mini Android / Symbian side by side while traveling on the train to see if there are differences between the two versions when the connection is constantly switched between GSM and UMTS and if there is a difference recovering from network outages. I pretty much got the same stable behavior on both the N8 and the Galaxy S. So that fixes web access.

E-Mail

The second most important mobile application for me is e-mail. Needless to say that I have special requirements here, too. Especially for roaming I need an email application that only downloads the first couple of kilobytes of the email. For reasons explained in part 1, gmail is out of the question and the default SMTP/POP/IMAP email client alternative doesn't seem to support my download limit requirement. But fortunately there are two alternatives. The first is the independently developed K-9 email program with lots of flexibility. And the second is Profimail, an email program I have been using for years on Symbian. Being ultra configurable, the Android version behaves and looks just like the Symbian original. As Profimail supports configuration export and import, I was up and running on Android in a few seconds by forwarding the configuration including all email settings via Bluetooth. I tested the program over several days and it worked very well. The only thing I am missing is a pulsating indicator light that shows me that new messages have arrived when the screen is switched off.

 

Dual-SIM Phones To Counter Patchy Networks

Every now and then I am in a country where network operators are making it difficult for me with their limited network coverage to make phone calls and surf the web in places like hotel lobbies, restaurants, meeting rooms, hotel rooms, you name it. In one place one network operator has some sort of coverage while in another place, if you are lucky, only a competitor can be received. So I could in theory just switch my phone to automatic network selection but that would mean that the Internet connection of my phone is reestablished every 5 minutes, which is not acceptable from convenience and monetary point of view.

So one of these days when I was stuck without network coverage again and contemplating to switch to another network for some time, I wondered if a Dual-SIM phone would also do the trick for me. One SIM card locked to one network, one SIM Card locked to another and call forwarding when not reachable on both sides to the other. And for outgoing calls I use the SIM card and network that is available at the time. Ugly, but reachability and instant usability would skyrocket 🙂

Exploring Android – Part 1

With Nokia's decision to back away from an open ecosystem and freedom of choice for users with their future devices it's time I had a serious look for an alternative to Symbian. One doesn't have to look very far, Android is very open, their app store is not as tightly bound to corporate policy as those of others and applications can also be installed from SD card.

The one thing that is an issue for me is that I don't want to use Google's cloud services such as email, calendar and contacts for my private data. My data is mine and I don't want to see it in the cloud. Fortunately enough, Android has evolved tremendously in the past two years and from all reports I have seen it is now easily possible to use the built in applications or replace them with third party apps and not synch to the Google cloud.

So I've got myself a Samsung Galaxy S which is in about the same price range as my Nokia N8 to experiment hands-on with Android and see how I can use it abroad, i.e. how to restrict data usage to a minimum without shutting data services down completely and how I can migrate my personal data locally, i.e. not over the Internet.

As I will look at quite a number of things I've decided to write down my experiences in several parts. Note that this exercise is not about whether Symbian or Android is better. This exercise is about how to get Android up and running for my personal purposes and for my personal requirements (no cloud services, low data use while roaming, etc.).

That said I have not decided yet when I will make the switch to Android. I'm not quite ready yet for an Android device as my main mobile as there are still two things that keep me with my N8:

  • The 12 megapixel camera with unsurpassed optics and a Xenon flash
  • Ovi Maps with navigation, maps for all the countries I need worldwide downloaded to the memory card and hence usable without incurring massive roaming charges for large map downloads. Yes I know, there's a new Google maps version that can download maps material. Still, quite far away from Ovi maps functionality I'm afraid though.

Also, I'd like to say a few words on cost and hardware. The N8 and the Galaxy S cost nearly the same with the N8 being slightly cheaper. But as far as the hardware is concerned the Galaxy S lacks many features of the N8:

  • Only a 5 megapixel camera with a tiny sensor, indoor shots are light-years away from the N8
  • No flash, not even an LED
  • No 'alert' LED (at least I haven't noticed one so far) so I can see that new email is waiting.
  • The N8 has a permanent 24h clock on the display when it is switched off. A cool feature for me and I hope someone in the Android world does something similar soon.
  • The N8 feels solid in the hand due to the aluminum casing compared to the all plastic Galaxy S. When holding the Galaxy S my hand gets sweaty quite quickly due to the plastic, something that just doesn't happen with the aluminum casing of the N8
  • No FM transmitter built in like in the N8. Another must have feature for me now that I have used it in the car for a while.
  • No penta-band UMTS. Quite a pity when traveling internationally.
  • No HDMI out
  • I really like the fast lock/unlock slide button of the N8. Perhaps I will get accustomed to the lock button of the Galaxy at some point. Let's hope.

And with this all said now I will start looking into how I can make an Android based phone fit my needs starting with part 2.