Android & The Future of Mobile Computing

It's been a bit wet and dreary out this week. For many, that's a good time to catch up on an old book. For a technophile like myself... it's a good time to deep dive into a new project.

I've been wanting to toy around and learn the Android OS since I got my G1 phone a couple months ago. All the Google services work great on Android: GMail, Calendar, Maps, etc. However, Google has thus far fumbled on a decent "To Do" list. That's why many people like myself are big users of rememberthemilk.com (aka "RTM"). I'm not the first person to wish for an RTM Android app. Their mobile site is okay, but a custom app is a must-have for something you use often. No one seemed to be delivering, so I made the "RTM Tasks" Android app myself (see below), leveraging the RTM API.


The Android API is Java-based. I already know Java so learning the framework wasn't too bad. It's similar to any GUI framework like Swing - all widgets, and handlers. After learning the ins & outs on my first app, I feel like I could turn out another app fairly rapidly. There were a few pain points I ran into, e.g. no XPATH library, and figuring out how to do a threaded "loading" ProgressDialog. Overall, I think Android is a well-designed OS that has a future of growth.

The Future of Mobile Computing

I've got a few thoughts about Android and the mobile computing market in general. I think my opinion is founded on a good understanding of technology and business (the old MBA market-niche-strategy studies come in here). I'm going to sum up my prediction about mobile computing in four words: Apple will repeat history.

What do I mean by that? Apple is the same in today's mobile phone market as it was in the early personal computing market: a leader and innovator (credit both to Steve Jobs). Apple brought the mouse and a windows-type GUI to it's computers, revolutionizing their usability and appeal to consumers. Similarly today, the iPhone has revolutionized mobile computing with touch-interface and an app platform. Clearly at both points in history, Apple was the leader in it's market.


Apple MacintoshApple iPhone

So what happened to Apple? How did Microsoft Windows come to reign on the personal computer? The answer lies in Apple's business model, and the fact that all new technology starts in a phase of innovation eventually to mature into a phase of commoditization. Apple makes it's products from top-to-bottom: hardware & software. This allows it to make all the pieces fit when it dreams up fantastic new ideas. However, once Microsoft implemented "windows' and the mouse on it's computers... commodization started. Since they license their OS... cheaper component based PCs came out from manufacturers.

Apple still likes to do things the old way. They even limited their iPhone to a single provider (AT&T)! Here's where Android comes in. You see, Android could come to play the same role that Microsoft played in the commoditization of PCs. It's a full-featured mobile OS, just waiting to be commoditized. That's already happening with reports of manufacturers lining up Android products. The API is Java-based, making it attractive to developers. Even now, the most popular iPhone apps are available on Android. It is truly impressive with it's feature-set: accelerometer, GPS, compass, copy-paste(eat that Apple!), 3G, wifi, bluetooth, full internet, and on & on.



What about Microsoft? Palm? They are also both victims of they own business models. Microsoft can't revolutionize the mobile-web future without cannabilizing their bread & butter: Windows for desktops. They've made sad attempts to shrink their Windows onto mobile phones... but Android creamed them with a fast & smooth trimmed-down mobile platform. Google has everything to gain by enticing people to the mobile web. Like the powerful RIAA is slowly bleeding from the inevitable progress of digital media, Microsoft will slowly bleed from the inevitable evolution of the "web OS". Sorry Microsoft... I will never want to build a Powerpoint presentation on my little mobile device. As for Palm - they just announced a new mobile OS that looks sharp. However, Palm suffers from the same business model as Apple... so they won't benefit from the coming mobile commoditization. They will be third or fourth rung (at best) in a market with space for two or three major players.

Personally, I also admire Android for it's "open" philosophy. That's another blog... but with the upcoming release of Android "cupcake" update and new form-factors on the way, the future looks bright for this new mobile platform.


UPDATE==============

I got the the email below from an attorney at rememberthemilk.
Well, I'm not updating this android app anymore since I'm busy with other projects, so if any users of the app read this... now you know why it broke, because "RTM" is in the app title. Complain to the acronym-nazis at rememberthemilk, not me. I've learned to love Google Tasks by now, so I recommend the app GTasks as an alternative.


On Wed, Nov 30, 2011 at 9:30 PM, Remember The Milk <legal@rememberthemilk.com> wrote:
Hi Steve,

I'm writing regarding your app, "RTM Tasks" at:

 https://market.android.com/details?id=com.apppad.androidRTM

Using the Remember The Milk API with API key: 347f55a1d8864618f927659352990abe

Unfortunately the name of this app violates the Remember The Milk API Terms of Use and branding guidelines:

 http://www.rememberthemilk.com/services/api/terms.rtm
 http://www.rememberthemilk.com/services/api/branding.rtm

From the branding guidelines: "You may not use Remember The Milk or RTM in the name of your product, website or application".

Please see the branding guidelines for full details on acceptable naming.

If you're able to rename your app by Friday, December 9, this would be great (as technically we need to disable API keys that don't comply with terms).

Thanks!

Comments

Me said…
Hello,

seems to be a great app - can I download it somewhere in the internet because here in Germany I can not get/see it via android market ... (or can you change there the setting?)

Would be great, thank you in advance!

Regards
Steve V said…
Sure, no problem. I changed the setting to all countries... only English though (unless someone wants to send me translations).
Me said…
great, thank you for the fast changes!

I installed it yet and will have a look now.
Me said…
Hello,


After you put RTM Task at the market I am testing it (just switched again for your app my 60+ Tasks from Toodledo to RTM again).

It is really (nearly) all we need for fast & simple TaskManagement - thank you for this app!

Will we find the following features maybe in a new version:

1. Field for tags?
2. Field for changing Tasks between lists (e.g. from inbox to work)?
3. Data availibilty when not connected to network (in trains ...)? Not sure if that needs a sync-function, just offline showing the tasks ...

cu, NM
Steve V said…
Hey Moi, thanks for the suggestions... I've taken a break on this app for a bit but might come back to it eventually.

If/when I do, a task selector & notes are two potential features. I can't promise anything right now though.

Hope you enjoy the app as-is in the meantime. Who knows - RTM might come out with an official app eventually with those features though.
Nuttzy said…
Hey Steve, great app! I'm a software engineer that primarily works in PHP. So dabbling in an android app would be a great way for me to get into Java. Since you are taking a break from the app, would you consider making the source code available?

Thanks!
-Craig
I would also very much like to see this project open sourced, and with a free license, especially if you are not interested in maintaining it anymore!

I use RTM extensively, and would like to see a good RTM app for Android. Astrid (another RTM app) is already open source, so I guess this is the better choice for now, even though it lacks the concept of lists.
Monkiki said…
In "RTM Tasks" how can I move a task from a list to another?
Monkiki said…
Is the source code available?
Unknown said…
just wanted to say that I downloaded RTM Tasks today and was able to heave a HUGE sigh of relief to finally find what I was looking for - an RTM linked G1 app that allows me to see all the tasks in a single list on screen at the same time - thank you so much.

Yeah, could do with tags etc, but I am more than happy with what you have provided so far.

many thanks
Unknown said…
I like the concept and agree with most of what you've said.

Unfortunately when I bring it up on my Motorola Droid the main screen is black on black (black text on a black background).

I can kind of work around this by selecting each task. The details come up clean...course this kind of undermines the coolness of the app.

Any suggestions for a workaround?

Many thanks.
HaggleLad said…
Hi Steve,

Love the app but it needs an update to work with newer devices and Android 2.1.

Please, please, please can you release the source code?

Thanks
Mr. Carney said…
Steve,

Thanks for the great work with the RTM app.

Would it be possible for you to release the source code? (Or at least provide it to me?)

I just want to be able to customize it a bit more for my own use.
fincsi said…
Hi!

I am unable to download it from Hungary with my 2.1 device.

Would really love it. Perhaps I could provide the hungarian translation for it...
Joy said…
There are a bunch of us struggling with Astrid/RTM sync issues. I recently switched from Astrid to rememberthemilk mobile in order to have mobile-web 2-way sync. This app is okay but nowhere near the features of Astrid. Astrid being the Mercedes that's mostly in the repair shop versus the Mini Cooper that always gets you there but not as fast or comfortably. Someone posted a link for your app, but it didn't connect for me, didn't find your app on Android Market either. I'm running a Verizon Moto Droid; could that be the problem? Looking for the best fit... Thanks for your effort.
Susi Cox said…
This comment has been removed by the author.
Unknown said…
Thanks for providing this interesting information and i got a good knowledge to read your blog. so thanks for creating this informative blog.

Android app developer