Android Not Open: No XMPP, No Source, No SDK For Some

Next Story

CrunchDeals: Nokia N810 for $299.99

Android is the new highly-anticipated “open source” mobile platform that is currently under development at Google. There are a high expectations of Android as the first viable open source based mobile platform and a viable competitor to the dominance of Symbian, Microsoft and now Apple. Android is based on Linux and developers can write applications in managed code that use the Google Android SDK, which is developed in Java.

Initially with the Android SDK, there were three ways that a developer could communicate with other services or devices. The first was through text messaging with SMS (or MMS), with HTTP (or the secure variant) or with XMPP, the open messaging protocol. This list has since been struck down to two and a half options, with the XMPP implementation with Android being replaced with a more generic GTalk client library. This means that all real-time communication on Android not using SMS or HTTP must pass through the Gtalk servers.

The initial XMPP implementation was provided via the Smack library, an XMPP implementation developed by Jive Software. Developers started complaining back in January of this year that the implementation had been changed, and that it wasn’t adequate for implementing messaging services on Android. Google has since responded and the official line now is that a more specific library for GTalk is more than adequate, and they also claim that full XMPP isn’t very good for mobile anyway.

Android started as an idealistic open source platform, with a large number of hardware manufacturers lined up supporting it. It is now becoming just a Google platform for mobile, as forcing Gtalk on developers has a chain effect of enforcing Google ID’s on users and all communication to pass through Google servers. Developers are becoming increasingly frustrated by first denying Android SDK updates to some and now by closing up and deciding what can and can’t be done on the platform. Instead of being an open platform, they seem to want to funnel everything through Google services.

As one commentor on the developer thread said, what is next? GHTTP, GSMS etc? Google sucked up credibility by claiming to be the open platform alternative for mobile, but they are burning that credibility up at a fantastic rate with the decisions they are making.

  • http://blog.luziaresearch.com Al Briggs

    This isn’t news! This happened in Feb – look at your own links that back that assumption up.

    The news on this was that a couple of weeks ago someone commented (on a link you have in your article) that XMPP is back on the roadmap! (See the comment on May 30, 2008 in the Issue 201 link).

    The headline suggests that this has just happened (maybe 6 months ago is just happened for you), but it hasn’t.

    The general idea about the ideals of Android falling apart is the headline you should have had – XMPP is another (old) piece of evidence of this along with the delays and compromises they are making for Operators.

    Please change the headline!

  • James Example

    Noting in the Android platform prevents applications from using other real time channels including XMPP. The built-in services will not use XMPP.

  • http://TheChad.info Chad

    The carriers would never allow a data (XMPP, or otherwise) IM client. I’m sure the goog had a big enough fight with them over gtalk (i’m sure the only reason it stayed in was the fact that gtalk doesn’t have the same penetration of AIM/Yahoo/MSN messengers). The crriers charge for a SMS for every IM.

  • Mark Murphy

    Do you people even *research* this stuff before posting?

    There is absolutely NOTHING preventing one from using XMPP on Android. You just have to supply your own JAR, like you do for IMAP, POP3, SMTP, or any other protocol not baked into the Android firmware.

    Next you’ll complain that Android doesn’t include a built-in interface to Kenmore dishwashers, or something.

  • http://www.techcrunchit.com/ Nik Cubrilovic

    Mark: the difference is that Google went into Android boasting about open protocol support, and they are steadily stripping it back. Its more about what could be next..

    It is right though, the telco’s are just going to rip the whole thing apart anyway and do what they want.

  • http://www.techcrunchit.com/ Nik Cubrilovic
  • Mark

    Mark Murphy, don’t so easily assume Google or the carriers for that matter will allow developers to install any JAR they want to onto the platform. This platform is all about control. The guy they hired from Danger to run this effort is an EXTREME control freak.

  • TanNg

    Mark: Google could have any excuse but in the end the openness they were touting is now gone.

  • Mark Murphy

    @Mr. Cubrilovic:

    I note that you have not retracted the unproven statement in your article, where you said: “This means that all real-time communication on Android not using SMS or HTTP must pass through the Gtalk servers.” If you are going to make such claims, you need to supply the proof. You have proven they pulled an XMPP JAR from the nascent 1.0 distribution, and I’m not disputing that. But that is a far cry from what your above-quoted statement says.

    “the difference is that Google went into Android boasting about open protocol support, and they are steadily stripping it back”

    Even if this were true, it’s not what you said in your article. And, I reiterate, you have supplied exactly zero proof of what you said in your article — that Android allows no real-time communication (other than SMS/HTTP) except through Google’s servers. And so, I wait for you to supply the proof or correct the article.

    “It is right though, the telco’s are just going to rip the whole thing apart anyway and do what they want.”

    Ignoring the bad grammar…your proof of this claim is, what, exactly?

    The telcos allow arbitrary applications using arbitrary protocols on Windows Mobile and Symbian handsets today — I’ve installed plenty of them. I assume they will for LiMo and OpenMoko, though there aren’t many of those around. With iPhone, the gateway appears to be Apple, not AT&T. Admittedly, I don’t know much about BlackBerry app distribution, so there could be telco-enacted limits there.

    @ #7

    And your proof of your claims are, what, exactly? See the preceding paragraph of this comment, and get back to us, will ya?

  • http://www.techcrunchit.com/ Nik Cubrilovic

    Mark i linked to the post. There is a big difference between having XMPP support on the phone and getting XMPP support onto a phone

    we all know how much carriers love apps right?

  • http://www.techcrunchit.com/ Nik Cubrilovic

    Mark also with your argument, anything is possible therefor nothing is impossible therefor there is nothing wrong with anything, ever – its all up to us!

  • http://blogs.zdnet.com/Google/?p=1098 Googling Google mobile edition

    […] The concept behind Android was that it was an “Open Platform”, however Google’s own actions are challenging their vision. XMPP, an open protocol that Google used to support in earlier versions of the SDK has been completely replaced by Gtalk. This means that all XMPP traffic must go through Google’s servers — so much for choice. developerMorale -= 1. [Android] is now becoming just a Google platform for mobile, as forcing Gtalk on developers has a chain effect of enforcing Google ID’s on users and all communication to pass through Google servers. — TechCrunchIT […]

  • http://shonzilla.tumblr.com Shonzilla

    XMPP package getting ousted from Android SDK (and getting replaced with GTalk one) is old new – February ’08 (http://code.google.com/p/android/issues/detail?id=201).
    With network connection (via WiFi, 3G or xG) Android software can potentially use a variety of transport, internet, and application protocols.

    As far as XMPP drama is concerned, it become obsolete by using almost any of XMPP Java implementations and doing some patching. For example, Smack API (http://www.igniterealtime.org/projects/smack/index.jsp) is one such library and here’s (http://davanum.wordpress.com/2007/12/31/android-just-use-smack-api-for-xmpp/) how to patch and use it.

  • Mark Murphy

    @Mr. Cubrilovic:

    Android *never* had an XMPP *app* on the phone.

    What Android did have, and what the post you linked to documented, is that Android once had an XMPP *library* on the phone, and pulled the library out of the firmware.

    Developers *always* had to write their own XMPP application to have something a user could use. Now, they have to provide their own XMPP library to go with their code, whereas before they only needed their code. That’s a hassle, but no more than the hassle of supporting email or any other protocol not supplied by the firmware.

    “we all know how much carriers love apps right?”

    There are thousands upon thousands of apps for Windows Mobile, Symbian, etc. I have no idea if the carriers love them or not.

    You *still* have not corrected, retracted, or updated the incorrect statement that “all real-time communication on Android not using SMS or HTTP must pass through the Gtalk servers.” Nor have you supplied proof of this statement. Heck, the one issue you linked to provides documentation to the contrary, describing how one ADC team got XMPP to work despite it not being in the firmware. You might as well be saying that all real-time communications on Windows not using SMS or HTTP go through Microsoft’s servers — you have just as much proof, and the statement would be just as faulty.

    “Mark also with your argument, anything is possible therefor nothing is impossible therefor there is nothing wrong with anything, ever – its all up to us!”

    Spelling and grammar aside…that’s what programming is all about. You might try it sometime.

  • Markus

    Hey Mark.

    Relax, it’s a blog. Go outside.

  • http://shonzilla.tumblr.com Shonzilla

    XMPP package getting ousted from Android SDK (and getting replaced with GTalk one) is old new – February ‘08 (http://code.google.com/p/android/issues/detail?id=201).
    With network connection (via WiFi, 3G or xG) Android software can potentially use a variety of transport, internet, and application protocols.

    As far as the XMPP part of this drama is concerned, it become obsolete by using almost any of XMPP Java implementations and doing some patching. For example, Smack API (http://www.igniterealtime.org/projects/smack/index.jsp) is one such library and here’s (http://davanum.wordpress.com/2007/12/31/android-just-use-smack-api-for-xmpp/) how to patch and use it.

  • http://www.canal.cl/ Ignace / @micronauta

    I wonder what happened to the Global Village protocol. It worked really well for me over slow GSM/GPRS with Yahoo’s IM. A pity it has not been adopted by Google for GTalk and others.

  • http://www.jroller.com/shareme/ Fred Grott

    Nik,

    I think everyone seems to forget that SIP and IMS jsrs are optional both in Android and SymbianOS. While Google did have SIP in the Nov 2007 SDK that is no longer the case.

    Certainly a SIP or IMS jsr has to be in firmware to enable such apps despite ignorant non mobile developer claims to the contrary. My reasoning is that the hardw

  • kael

    @ Nik

    Mark Murphy is right to insist that it’s still possible to use XMPP with Android using an external library. The Android SDK being not XMPP compliant doesn’t disallow to run an app including another XMPP library. But it might be more difficult to interact with the GUI part of the Android API or to make it behave like a native-like app, for example (Please correct me if I’m wrong).

    @ Ignace.

    AFAIK, the IMPS (Wireless Village protocol) is a polling-protocol and very few used.

    Ideally, XMPP should replace IMPS and perhaps SIP for IMS.

blog comments powered by Disqus