Archive for category phones

Google Android Seeding

nexusoneI have just received confirmation that I’ll be receiving a Nexus One. All developers with a rating of 3.5 stars or higher and more than 5,000 unique downloads will be receiving either a Droid or a Nexus One.

In my opinion, 5,000 downloads is actually quite low. I have three apps at the moment totalling over 120,000 downloads. I think Google is giving phones out to developers to encourage earlier developers to test their older apps on newer devices as well as encourage more apps to be written.

Purchasing the latest phones is an issue for developers. It can be costly ensuring an app runs on all phone variants. In my 14 year mobile career I can only remember having received (as a developer) an iPAQ from Redmond and very recently a Satio from Sony Ericsson.

Conversely, as a blogger I have received many more phones. Phone OEMs and network operators have been far more interested in getting the word out on new phones than ensuring that applications continue to work/continue to be developed. As usual, Google is taking an engineering rather than marketing driven approach. Seed developers with phones and see what happens.

Replacing Android Components

engadgetIn recent news, AT&T’s Motorola Backflip is configured such that Yahoo has replaced Google as the search provider throughout the phone.

Therein lies a problem for many OEMs and network operators. It’s very difficult for them to remove something (e.g. Search, App Store, Email…) and replace it with something that’s better. The default apps and services are so good that it’s difficult to compete (and differentiate). Instead, maybe they should be thinking about adding to the platform rather than replacing components.

Phone Comparison

androidphonesiconWith all the Android phone announcements, it’s hard to keep up with the various new phone specifications. You might like to try androphones.com who are doing a great job comparing the various devices. There’s a large matrix where you can compare specifications…

androidphones

Developing Handsets

Doing some research on developing Android handsets, I came across a useful presentation by QualComm on ‘Top 10 Tips For Developing Android HandSets‘. Here’s an overview…

devandroidhandsetstips

OEMs Hacking Android?

eweekThere’s an interesting interview with James Gosling at eWeek.com.

Regarding Java on Android, James says…

“But everybody I’ve talked to who is building an Android phone or whatever, they’re all going in and they’re just hacking on it. And so all these Android phones are going to be incompatible”

The big question is in what ways will the phones be incompatible. If the OEMs are changing the OS so as to change the public APIs then this will indeed be unfortunate. However, the OEMs have an incentive not to do this. Doing so would make the OS potentially incompatible with 3rd party applications. They would have to ship their own SDK and only applications created with that SDK would be guaranteed to work on their phones. I am not sure an OEM would voluntarily go down this path with its implied limited app compatibility and difficultities with maintaining the code with the Android main branch going forward.

Instead, what the various OEMs are almost certainly doing is modifying the non-public APIs and native code. As a contrived example, an OEM might create a better camera API to allow greater control of the camera settings. This is OK provided developers don’t later need to rely on these new or modified facilities. If the OEM decides to publish these APIs then it becomes more difficult for 3rd party developers because there may need to be different application versions for different phones. It’s better if the OEM contributes their code to the Android source so that it becomes shared across all devices. This obviously requires some sort of compatibility testing and negotiation.

James goes on to say of Sun’s Java ME …

“We charge license fees is because we’ve got organizations of people that do compatibility testing and actual negotiating amongst the different handset makers so that things like GPS APIs look the same.”

However, we all know now that this didn’t really work. Despite compatibility testing (TCKs) there’s significant fragmentation across Java ME phones. While working on Java ME JVMs, I have personally used the TCKs and I can see that it’s impossible for tests such as these to account for every deviation from the expected functionality. Also, Sun’s cross party negotiations resulted in Java ME’s onerous permissions based security that, in my opinion, has limited Java ME’s success.

I also previously wondered about the future of Java (and Java ME) now that Oracle intends to acquire Sun. In second part of the article, James says…

“It’s pretty much impossible to say.”

James says he has ‘no data’ on this. As one of the commenters on the eWeek article points out, this is revealing. It tells us that the future of Java and Java ME hasn’t yet been thought through. I can only guess there are more important factors and reasons weighing in on the Oracle’s acquisition of Sun.