Many of the people who read TNooz are technically proficient in some shape or form, but you all know from deep experience that coders get lazy or have bad habits when it comes to certain issues.
The gap between the functionality required and the ability of the code to deliver remains our constant battle. As a former (and occasional current) CTO I see this all the type.
There is one lesson I learned at Microsoft that I fundamentally believe in. Eating your own dogfood! We do need to be able to appreciate the code that we are responsible for. So how does this affect my travel, in particular how we use voice to communicate?
My travel is always irregular. I rarely can use a template for travel, although I go to some places on a frequent basis. Thus the communications tools used are both ad-hoc and regular.
So I have developed a number of procedures and processes that I find (after many years of hard learning) work for me and should work for others of both regular and irregular travellers. Recently I have been looking at more virtual lines to improve the accessibility and keep the costs in check. The trade-off is always between the convenience and the cost.
I maintain a base in both the UK and the USA so I have mobile phones from each place. My voice accounts are with O2 http://www.o2.co.uk/ and AT&T www.attwireless.com respectively.
In addition I have a virtual line from Skype http://www.skype.com/ in the UK and 2 business lines in the USA with my local provider currently Comcast http://www.comcast.net/ Verizon http://www22.verizon.com/ (soon to be Frontier Communications http://www.frontier.com/ ) and Vonage http://www.vonage.com/.
I use Skype more than anything else and have it on my business cards and on my email tag lines to encourage people to use it and stop those greedy telcos from getting too much money.
I also use the Google Voice – www.google.com/voice (formerly Grand Junction) with its one box system that is very useful for getting voice mails anywhere. Complicated enough yet?
The business problem we face is that making calls outside of your home territory is very complicated and hugely expensive. Here is why it is complex:
The US and the rest of the world have different models for mobile phones.
The Rest of the World offers free inbound minutes.
The US charges for all minutes in or outbound.
Europe is slowly moving to a single market, but right now the only benefit is that you can dial someone’s local mobile number in Europe and the inbound call is of no charge if that person is also roaming in Europe.
Making calls in-country are generally chargeable on mobile networks. The US does not differentiate between mobile and fixed line so it is impossible for any software to know if the call it is making in the USA is to a mobile or fixed line.
In other countries the mobile networks are easily differentiated, which on the one hand adds to the cost of that type of call but on the other hand gives the user (and related software) the opportunity to differentiate and make smarter decisions (typically calls to mobile voice numbers are 3-4 times that of a similar call to a fixed line).
What I usually do in each country is to determine if I am going to be spending a lot of time there and if so then I will sign up for a pay-as-you-go line.
These are often disposable and if you don’t make calls in one calendar year the phone numbers expire and go back to the pool (and any money).
This means that the people I am with locally can contact me cheaply or else I am an expensive international call for them to make, often just to say “where are you?”.
These issues are very important and there is no clear solution on the horizon that it is going to get any easier - indeed, there are times when I think the breakup of Ma Bell was not such a good thing!
So, let me turn to the issue of bad software. There are two levels of this. Handset and network. The common convention of networks to distinguish an international call is to use the local countries international direct dialing system conventions.
In Asia this is a royal pain because they are very different by country.
In the USA it is 011 + country code.
In Europe now generally it is 00 + country code.
But most software switches are hard coded. Thus to generate a simple international call the convention of using the + sign works.
So + country code works (full official list of all the country codes http://www.itu.int/itudoc/itu-t/ob-lists/icc/e164_763.pdf)
However, this comes at a price. In most cases the software is not smart enough (either at the handset or switch level) to recognize that the user is in the same area code.
Thus if I am in the USA and in the 212 area code and my phone has stored someone’s phone number as +1 212 555 5555 then it will charge me a long distance call at the very least. At worst it regards it as an international call.
For the handset this works really badly. I have been using two separate voice add-ons for my US based phone: Truphone http://www.truphone.com/ and Vonage Mobile.
Vonage, http://www.vonagemobile.com/, released with much fanfare, looks good on paper.
A US based number can use the same system and all your long distance and international calls will be cheaper. Great in theory lousy in practice. Why?
Because some lazy coder didn’t actually work hard enough to do a call which checks where the user sits as he makes the call. Thus when I want to call home (the USA one) and I am inside the USA all my numbers are stored using the International + convention, as I can store all the numbers first.
The Vonage code looks for the + and assumes that it must be an international call and starts to intercept the call and make it an international one.
But because the phone is faster than the software, I make the call and complete it… but then VonageMobile asks me would I like to place my international call?
It then charges me for making the call, while I desperately fight with the software to get it to stop dialing again.
The other service Truphone works on a similar concept for users. While it is a simpler system it suffers from the same usability problem - and they don’t/won't co-exist on the same phone.
So much for Walled Gardens! Both these services need to get a LOT BETTER before they are unleashed on an unsuspecting public. At the moment they are both below par for the expert user and definitely not usable by the occasional user.
So there you have it. I have given you enough ammunition to let you try and use these services. But caveat emptor. It’s sometimes hard and complicated – I wonder if I should really be making the effort.
However when you get your first $1,000+ phone bill, you won’t wonder any more.
Many people who read Tnooz are technically proficient, but all know from deep experience that coders get lazy or have bad habits when it comes to certain issues.
The gap between the functionality required and the ability of the code to deliver remains our constant battle. As a former (and occasional current) CTO I see this all the type.
There is one lesson I learned at Microsoft that I fundamentally believe in. Eating your own dogfood! We do need to be able to appreciate the code that we are responsible for. So how does this affect my travel, in particular how we use voice to communicate?
My travel is always irregular. I rarely can use a template for travel, although I go to some places on a frequent basis. Thus the communications tools used are both ad-hoc and regular.
So I have developed a number of procedures and processes that I find (after many years of hard learning) work for me and should work for others of both regular and irregular travellers.
Recently I have been looking at more virtual lines to improve the accessibility and keep the costs in check. The trade-off is always between the convenience and the cost.
- I maintain a base in both the UK and the USA so I have mobile phones from each place. My voice accounts are with O2 and AT&T respectively.
- In addition I have a virtual line from Skype in the UK and two business lines in the USA with my local provider, currently Comcast, through Verizon (soon to be Frontier Communications) and Vonage.
- I use Skype more than anything else and have it on my business cards and on my email tag lines to encourage people to use it and stop those greedy telcos from getting too much money.
- I also use the Google Voice (formerly Grand Junction) with its one box system that is very useful for getting voice mails anywhere. Complicated enough yet?
The business problem we face is that making calls outside of your home territory is very complicated and hugely expensive. Here is why it is complex:
- The US and the rest of the world have different models for mobile phones.
- The Rest of the World offers free inbound minutes.
- The US charges for all minutes in or outbound.
Europe is slowly moving to a single market, but right now the only benefit is that you can dial someone’s local mobile number in Europe and the inbound call is of no charge if that person is also roaming in Europe.
Making calls in-country are generally chargeable on mobile networks. The US does not differentiate between mobile and fixed line so it is impossible for any software to know if the call it is making in the USA is to a mobile or fixed line.
In other countries the mobile networks are easily differentiated, which on the one hand adds to the cost of that type of call but on the other hand gives the user (and related software) the opportunity to differentiate and make smarter decisions (typically calls to mobile voice numbers are 3-4 times that of a similar call to a fixed line).
What I usually do in each country is to determine if I am going to be spending a lot of time there and if so then I will sign up for a pay-as-you-go line.
These are often disposable and if you don’t make calls in one calendar year the phone numbers expire and go back to the pool (and any money).
This means that the people I am with locally can contact me cheaply or else I am an expensive international call for them to make, often just to say “where are you?”.
These issues are very important and there is no clear solution on the horizon that it is going to get any easier - indeed, there are times when I think the breakup of Ma Bell was not such a good thing!
So, let me turn to the issue of bad software. There are two levels of this. Handset and network. The common convention of networks to distinguish an international call is to use the local countries international direct dialing system conventions.
- In Asia this is a royal pain because they are very different by country.
- In the USA it is 011 + country code.
- In Europe now generally it is 00 + country code.
But most software switches are hard coded. Thus to generate a simple international call the convention of using the + sign works.
So + country code works (full official list of all the country codes http://www.itu.int/itudoc/itu-t/ob-lists/icc/e164_763.pdf)
However, this comes at a price. In most cases the software is not smart enough (either at the handset or switch level) to recognize that the user is in the same area code.
Thus if I am in the USA and in the 212 area code and my phone has stored someone’s phone number as +1 212 555 5555 then it will charge me a long distance call at the very least. At worst it regards it as an international call.
For the handset this works really badly. I have been using two separate voice add-ons for my US based phone: Truphone and Vonage Mobile (released with much fanfare, it looks good on paper).
A US based number can use the same system and all your long distance and international calls will be cheaper. Great in theory, lousy in practice. Why?
Because some lazy coder didn’t actually work hard enough to do a call which checks where the user sits as he makes the call. Thus when I want to call home (the USA one) and I am inside the USA all my numbers are stored using the International + convention, as I can store all the numbers first.
The Vonage code looks for the + and assumes that it must be an international call and starts to intercept the call and make it an international one.
But because the phone is faster than the software, I make the call and complete it… but then VonageMobile asks me would I like to place my international call?
It then charges me for making the call, while I desperately fight with the software to get it to stop dialing again.
The other service Truphone works on a similar concept for users. While it is a simpler system it suffers from the same usability problem - and they don’t/won't co-exist on the same phone.
So much for Walled Gardens! Both these services need to get a LOT BETTER before they are unleashed on an unsuspecting public. At the moment they are both below par for the expert user and definitely not usable by the occasional user.
So there you have it. I have given you enough ammunition to let you try and use these services. But caveat emptor. It’s sometimes hard and complicated – I wonder if I should really be making the effort.
However when you get your first $1,000+ phone bill, you won’t wonder any more.