I have been paying a lot of attention to smart phones and expending a lot of brain power trying to gaze into their future to predict what is coming.

One thing that baffled me for some time, was companies approaches to platforms. Google seems to be pursing two technologies, Android and ChromeOS similarly Nokia are doing the same with Symbian and Meego.
Why expend efforts on two seemingly similar projects and not converge them?
Well, I think the answer lies in market segmentation. At the current rate of progress, users break down into two types of categories, Tech savy and Non tech savy. Which conveniently for me is plainly clear by the difference between me and my sister. I go and seek out new technologies to use when they are still in their infancy and unrefined. She on the other hand holds back for as long as possible until the technology is mature and actually ubiquitous and useful.
Now lets move over to the iphone for a moment. Curiously they ARE NOT pursing two platforms. Again we ask why? Well, what was the underling cause of the success of the iPhone? Was it it’s amazingly slick user interface, the seamless integration of phone, media player and personal organizer or perhaps a phenomenal marketing campaign?
None of those.
The reason iPhone was such a successful product was because Apple did something very clever and forced you to have a free data package with the phone when you brought it. This meant that it was the first phone that a lot of people experienced the service of mobile internet on. Bang. Without free data, the app store and the iPhone would have been a spectacular non-event.
So still I hear you ask, why two platforms?
Well, mobile data is expensive, as much as we might wish for companies like Vodafone and O2 to disappear off the face of the planet, they are not going to. They make a large amount of money from holding the keys to these services and charging you whatever they can get away with for the privilege to use them here, overseas, anywhere. The phrase money for old rope springs to mind.
Undoubly they will die or change significantly. Their business model is old and out of date. But in the mean time, it leaves a gap.
This is a gap of technically able users who can use smart phones but who can not afford the functionality associated with mobile data. Also more significantly in this gap are users who do not have access to data, for example the billion+ people in India for whom 3g is not a possibility not from prohibitive cost but from lack of infrastructure.
Hence Google and Nokia are positioning a suitable fallback. An operating system that caters for online/offline users, users who are less likely to use mobile data, but more likely to come home and connect their phone to their home broadband powered wifi. An operating system that takes full advantage of all the services offered by smart phones that are not dependent on mobile data.
It is no co-incidence that Nokia is launching all it’s new phones with Ovi maps built in and not requiring a mobile data connection. It was quite a shock recently when my European based partner came to visit me in the UK but was unable to use Google maps on her iPhone becuase of the prohibitive cost of roaming data from her cellualr services provider. There is a large an important market place waiting to be tapped here.
So what can we do to slowly errode the control of unhelpful companies like Vodafone that painfully extract excessive amounts of money from consumers preventing innovation and more use of mobile data?
Well, I’d like to cross over back into Google land for a moment. I think someone at Google read this post on economics by Joel Spolsky the basic premise of which states that if you commoditize complimentary services to your own then your product sells more e.g. if you sell beer glasses it is in your interest to make beer as cheap as possible. This theory pretty much explains all of Google’s moves into other sectors, broadband, browser, mobile the list goes on. The more people use the internet, the more they use Google and it’s advertising. Kerrrrr ching.
So how do we commoditize mobile data in order to force the prices down? Well, we need to create viable alternatives to the networks controlled by these mega telcos. We need to create the equivilent of “open mobile data networks” based on the same principles as the internet, a collection of nodes freely passing information at no charge to the consumer.
But how? Well fortunately we already have the technology. It’s called WiFi.
Unfortunately however a few years ago, the mega telcos did a very clever thing and brought up all the hotspots. I was horrified when I went to a hotel recently where T-mobile wanted to charge me 30 euros an hour to use the wifi network. Hmmmm. That is not going to encourage the use of WiFi on smartphones.
What companies like Google and Nokia need to do is club together and create a simple WiFi router, that they give away for free, on the premise that users sacrafice a bit of their bandwidth to local wandering strangers trying to use their smartphones breaking the mobile data monopoly.

Where to put your CSS hacks - conditioning your conditionals.
Wednesday, March 3rd, 2010I’ve had/heard/seen this argument many times on blog after blog. So I thought it would be a useful blog post to highlight to upsides and down sides to each argument.
Conditional Comments
Conditional commenting is the practice of putting code in special comments in your HTML document that get executed only in specified IE browers, it usually looks something like this:
Pro’s
Con’s
Inline CSS Hacks
Inline CSS hacks are where you write *hacked* attribute, property pairs in your CSS using combinations of ascii characters to take advantage of bugs in different CSS parsers, looking something like this:
Pro’s
Con’s
Ultimately it’s a preference thing and you can spin these pro’s and con’s either way to support your chosen method of development, but once it’s been chosen all developers need to stick with it. I think the important thing is that everyone needs to be vigilant that both are used with extreme caution and care as a last last resort in the CSS.
I see two useful things that could be created to follow this up to create the desired behaviour:
Personally I opt of the conditional method, but that’s because I have a bizarre obsession with automated validation of CSS. See CSSOrder.
Tags: automated testing, best practice, conditional comments, CSS, hacks
Posted in javascript/css | No Comments »