| thekingant ( @ 2008-05-19 23:34:00 |
| Current music: | Death Cab for Cutie - We Laugh Indoors |
| Entry tags: | computers |
Meebo for Google's Android Platform
Update 2: See my newer blog post.
Update: We're working hard to fix some bugs, and we're currently hoping to release this on November 7th. Sorry to keep people waiting, we're just EXTREMELY busy :-( On side note, if you're crazy talented and want to work at an awesome company then check out Meebo's job listings.
Overview
I first mentioned Android in a January blog post, and a few weeks ago I mentioned that me and Jim from Meebo wrote an IM program for Google Android (unfortunately we didn't win the competition :-( ).
Android is an operating system built for cell phones. It aims to provide functionality similar to Apple's iPhone. Many major cell phone manufacturers are working on creating cell phones that run Android. They're expected to hit the market toward the end of this year.
Videos
I made two videos showing our program in action. It's running on an emulator on my computer which simulates the cell phone. Check it out: Video 1 and Video 2. The videos are about 12 MB each, and are pretty similar. So unless you're really into it you can probably just watch one of them.
How Does it Work?
It's written from scratch in Java and uses the normal Android API. We did NOT implement any protocol code directly. Instead we chose to implement a light-weight frontend that talks to the Meebo servers, then the Meebo servers talk to the IM networks. The application makes HTTP POST calls to the Meebo web servers to establish a session, login, send messages, etc--we essentially reimplemented the Meebo JavaScript code.
There are a few pros and cons to this approach. On the plus side this makes the actual program size smaller, which is nice. And network bandwidth can hopefully be reduced because all data gets proxied through the Meebo servers, which can filter out information that the application might not be interested in. It also means we can fix bugs on the server-side that would otherwise require the application to be updated. On the downside, going through Meebo means there is another potential point of failure (although Meebo is almost never down).
It supports only basic functionality right now: signing on with multiple accounts on multiple protocols, a buddylist which shows people as online/offline/away and shows their buddy icon, and the ability to send and receive instant messages.
We haven't released this yet, but I think we'll have something available for download by the time Android phones are on the market, if not sooner. It's my hope that we can release the source code and allow users to contribute patches to us. I think Meebo would have to play a "benevolent dictator" role, but I think it could work out really well.