UMA's dirty secrets
For more UMA answers, see my more recent article.
What's UMA?Recently, many carriers have started offering UMA, or WiFi phones. These are cell phones with WiFi capabilites. Don't be fooled -- you won't be able to get free calls and run skype on them. The UMA technology is meant to extend the carrier's cellular network into your home using your broadband internet connection.
How does UMA work?An UMA phone operates just like a regular cell phone. It can talk to cellular base stations. But it is dual mode, and it also has a WiFi radio on board. When it finds a WiFi access point, it will attempt to connect to your carrier's servers over the Internet. If the connection is successful, it will "Rove in" and begin sending everything over the Internet.
The carrier's server is called an UMA Network Controller, (UNC). From the perspective of the phone, the UNC looks just like a regular cell tower, and it talks to it in the same way as a cellular base station, except that everything is wrapped up and forwarded over the Internet. Communicating in this way has some important differences from the way your laptop accesses the Internet
Hands in your pocketWhen you browse the web from your laptop, the data flows from your laptop to the web site you are visiting, with nobody in between. It is different when you are browsing with a cell phone, however. With a cell phone, you get assigned an IP address in your carrier's core network. The IP address is how your handset is identified on the network. For example, when you browse a web site, the IP address lets the web server know who to send the web page back to.
When you are using a cell phone, the idea is that your IP address will stay the same no matter which cellular tower you are at. So, if you are loading a web page and driving down the highway at 120 km/h, you might switch from cell tower to cell tower, but your IP address will remain the same, and your web page will still load. The carriers accomplish this by giving you an IP address in their core network. When you ask for a web page, your request is forwarded through your cell phone company's servers. Your cell phone company actually downloads the web page for you, and then sends it to your phone.
The same thing happens with UMA. You might rove-in to your WiFi connection, but your IP address will remain the same. Your device is still directly connected to the carrier's core network, and the web page loads through your carrier's servers.
So if you wanted to load Skype on your phone to try and make free phone calls, forget it. It would cost you more in data usage charges than you'd save. Also, it's probably technically impossible, due to the amount of extra work your phone has to do.
UMA efficiencyAnother important difference between browsing using your laptop and the cell phone is efficiency. Because your laptop is directly connected to the internet, it has a much greater advantage in terms of speed. Your tiny cell phone, however, is burdened with extra protocols that make loading web pages a very costly operation.
When your laptop is transmitting data, the data is broken up into small chunks, called IP packets. These IP packets can then be transmitted directly over the Internet.
Over UMA, however, the situation is very different. IP packets over UMA are transmitted using the same techniques as if they were going over a cell tower. That means that after your web browser forms an IP packet, it has to be transformed into a form that is recognizable by carrier's servers. The packet will first be broken up into smaller chunks, called frames. Each frame will then have extra information added to it, called headers, that is needed to be understood by your carrier's network. The extra information is not so much, but what is really costly is the security.
SecurityYour UMA phone has a direct pipe into your carrier's core network. This requires a lot of security, because your carrier doesn't want just anyone to have this kind of access. So your phone communicates using a special protocol known as IPSec.
You many be familiar with IPSec already. It's used by a lot of companies that issue their employees laptops. If you have to work from home, you might have some kind of security key, and to log in, you'll start up an application called a VPN Client, and then boom, it's as if you were sitting in your cubical at work, except that you're at home in your underwear.
UMA phones use the same technology. To connect, they form an IPSec tunnel into the carrier's network. Instead of a password, the phone checks that your SIM card is valid and up to date before letting you on.
IPSec provides great security. The packets are encrypted, and it's pretty much impossible to figure out what they mean, what web pages you're browsing, or what you are saying in your phone calls. However, it has a huge cost in terms of overhead. Each packet has to have extra headers added, and then it's encrypted. This encryption can expand the packets by as much as 30%. This means that your web pages will take 30% longer to load vs. using your laptop, even under the best of conditions.
I filed this patent to try to mitigate the problem.
UMA AdvantagesIf UMA is so inefficient, why use it at all? I am a strong supporter of UMA, despite its flaws. It's great for the consumer, because it gives you better coverage when you are at home. Also, it affects the pricing of your phone. Many carriers have special discounts, or even unlimited calling when you are on UMA.
You see, it's all part of the strategy to get you to use your cell phone at home. Carriers would much prefer you to use your cell phone all the time, so they can squeeze more revenue out of you. This would be beneficial for the consumer too, because rather than paying for a cell phone plus a landline, you ditch your landline and just pay a little more for your cell phone.
But if everybody did this, without UMA, it wouldn't work, because cell towers can only support a few dozen calls at the same time. UMA is a relatively cheap add-on to a carrier's infrastructure, so it makes sense to add it. Adding a new base station to cover dead spots in a neighbourhood costs a quarter million dollars. A WiFi access point, at wholesale rates, costs maybe $30.
HandsetsEarly generation handsets, like the Samsung and Nokia, have a few problems. I have read reviews on the Internet and apparently they were horrible and people are asking for their money back.
There are a few reasons behind this. UMA specifications were only finalized as recently as 2005, and unlike the mature GSM specifications, they leave much open to interpretation. They don't address things like when your phone is supposed to rove in and rove out. There isn't an easy way to figure out if your Wifi connection is stronger than your cell tower. Your typical tower transmits at several watts of power because it has to reach tiny cell phones up to 30 km away, but your typical access point transmits at only a tiny fraction of that power. Your cell phone can't just choose the stronger one. There just isn't an easy way to decide which one to use. If your phone chooses to use the Wifi access point, but it's too weak to be used, then quality will suffer.
Quality of service is also a problem. If your laptop is downloading movies using bittorent, and you're trying to make a phone call, it just isn't going to work. Theoretically, a technology called Quality of Service is supposed to fix problems like this, but the technology just isn't there today in 2007. Most access point deployed don't support it at all, or they say they support it but it is completely inadequate. So if you are planning on making internet calls while watching videos online, plan on getting an up-to-date AP with decent QoS.
Finally, most people's access points use the default settings set at the factory. That means that they will be using the same WiFi channel, and two of them placed close together (as in an apartment building) will cause interference. Other appliances like Microwaves will also cause a degradation of the signal.
But wait...Some cell phones can send data natively over WiFi, without going over carrier's servers. The carrier has no way to track this data, so you can send as much as you want. But in practice, you really have no way of knowing if it is using Wifi directly, or the UMA connection.
Exploiting perceptual colour difference for edge detectionThink colour isn't important in image processing algorithms? Let's try it both ways, and see for yourself.
Asana's shocking pricing practices, and how you can get away with it tooIf one apple costs $1, how much would five apples cost? How about 500? If everyday life, when you buy more of something, you get more bananas for your buck. But software companies are bucking the trend.
An instant rhyming dictionary for any web siteSometimes your API has to be simple enough for non-technical people to use it. Find out how to include a rhyming dictionary on your web page just by copying and pasting.
Why you should go to the Business of Software Conference Next YearMost people, having already paid $2000.00 of their hard earned money, and then having flown, driven, or otherwise travelled to Boston to attend a conference, and then having paid an additional $250/night plus $33/night parking and "tourism taxes" to the Seaport Hotel -- most people, after all this, are unlikely to say that it was a waste of time and they should have stayed home watching the remaining salvaged episodes of Doctor Who on Netflix.
In fact, I found it quite useful.