US mobile network carriers are crippling the promise of J2ME MIDP
US mobile network carriers are probably the most short sighted and narrow minded corporations running networks in the world. They are sold a most valuable public common asset, bandwidth, and are given so many protections in return for their billions. Then they so jealously horde that common asset you could imagine them playing the role of Smeagol in Lord of the Rings. "Precious bandwidth, must have precious..." they whine at every opportunity.
To be honest I think they deserve what they get when technologies like WiMax and VoIP and their equivalents equivalent take a huge chunk from their revenue stream. Carriers should be required to get completely out of the voice business and manage their licensed bandwidth as a public wireless network asset in an open and fair way.
So why exactly am I in a huff and ranting about this right now?
Well its because I've discovered that carriers are restricting what J2ME MIDP apps deployed on phones connected to their networks can and can't do. J2ME MIDP2.0 which is supported on the latest J2ME phones opens up some very useful new ways to use the network via TCP sockets and datagrams. This means that your closed mobile network access device aka "the phone" is now an open platform for deploying networked applications. Or is it?
It turns out that carriers in the US are requiring that any application accessing those network APIs from Java must be digitally signed by the carrier who's network it is accessing. This means not only does the carrier have absolute control over what applications are on what phones in its network, it also means that developers no longer have application portability because each carrier requires a different certificate and has a lengthy process to get that certificate - if you can get it at all.
I previously encountered this same problem in the early days of WAP and development of WML based mobile content sites. Phone companies relentless pushed WAP as the greatest thing since Al Gore invented the internet. In the US phone companies adopted proprietary incompatible versions of WAP (based on Phone.com's HDML),prevented users from setting their own "home page" for the browser, and if you wanted your WAP site to appear anywhere on the phones hardwired home page it required extensive testing and monitoring by the carrier and adoption of certain restricted technologies that weren't necessarily the best.
In the end WAP was a flop and has largely faded into obscurity. However one legacy of phone companies over zealous promotion of WAP is that most phones still only incorporate a "Web browser" that is actually a WAP Based WML2.0 compatible browser. As a consequence my phone with 5Mb of storage and 1Mb of heap still can't even browse a web page with more than 1.5k of content on it. Doh!
Why do carriers so jealously guard access to phones on their networks? Well one explanation, and that usually proffered by carriers, is that "we don't want just any application jamming up our networks". Basically they are saying they don't want phones on their network to become bandwidth hogs, vectors for various mobile viruses or to be running mobile equivalents of Napster.
The problem with this argument is that they still retain control over how much bandwidth phones can use on their networks. Also all phones require user intervention to install an application and for any app to access the network. Finally the APIs we're talking about do not allow apps to act as a server, and in any case the IP addresses of phones on the network are not public IPs and hence carriers still have absolute control about what is going on within their network.
The real reason carriers are insisting on stunting the growth of J2ME as a viable mobile development platform is plain and simply dollars. By restricting what useful non-game application can run on phones in their network they can treat the phone as a precious resource that third parties must pay dollars to get access to. They can also sign exclusivity agreements with various companies and charge even more dollars to them.
For example on T-Mobile your phone is pre-loaded with an AOL Instant Messenger client - a Yahoo IM client for J2ME exists which I could run, but guess what, its not available on T-Mobile. There is no reason why that client couldn't run on T-Mobile, its just that T-Mobile has almost certainly got an exclusivity agreement with AOL to keep Yahoo out. Its also very suspicious that when I try to access the Yahoo WAP site from my T-Mobile phone I am subject to numerous and repeated network failures which happen on no other network or device that I've tried. Isn't that rather interesting...
I think that Sun should be telling carriers to lay off their restrictive practices and stunting of the J2ME platform. Carriers should realize that a free and open platform is beneficial to all and that the temporary gain to them from exclusive licensing agreements will be a very short term one. The long term view should be to create a healthy and diverse community of app developers for J2ME on mobile devices that is beneficial to all developers and consumers alike. That way they will see popularity such as Palm enjoyed by not only encouraging 3rd party development, but making it a key feature of the whole Palm experience.


0 Comments:
Post a Comment
<< Home