Overnight, I received yet another request to deliver training on Android internals: how to create Android devices, work with Android firmware, and the like. While I offer training related to Android, it's only on application development, as kernels and device drivers are not my cup of tea.
I get one of these training requests every month or two. I would love to steer these interested parties towards people offering such training. Clearly, there are some people outside of the Open Handset Alliance who know how to do this sort of thing — witness the ROM modders and homebrew device makers. I haven't found any of them who have decided to “go pro” and start teaching others what they know.
This, however, points to a larger issue with Android: long-term maintenance. Read more
A few weeks ago, I wrote a post cajoling Android developers to be more self-reliant, rather than expecting Google to make every conceivable addition to Android and related technologies. The Android community doesn't need Google's help to create a better Market. The Android community doesn't need Google's help to create standardized ad network APIs. And so on.
The reason for self-reliance in places where it's possible is because there are many places where it's not possible, where Google is the only viable answer for getting something done.
Exhibit A: Linux kernel patches. Read more
Some people have taken issue with my calls for developers to employ alternative markets in addition to — or possibly instead of — the Android Market. The prevailing sentiment seems to be “too much work, not enough results”. That is a perfectly rational, if short-term, perspective on the present situation. However, it ignores the impacts that developer choices today will have on available Market competitors in the future.
To examine this, let's think about what a robust direct competitor to the Android Market would need. Read more
Many people have lots of ideas of things that Google should do with Android. These range from code changes to Market changes to license changes to support changes. Heck, I've had and written about a few of them myself.
However, by and large, I have concluded that making such suggestions is ineffective. Read more
A lot of developers like going past the bounds of the Android SDK to tap on innards that, while publicly accessible, are not part of the official API and therefore are subject to change. Reading the SMS client database, connecting to the Amazon MP3 music store app, and the like are all sexy, but not part of the API. Developers, in turn, then tend to complain that such things really should be part of the API.
However, what I don't see all that much of are Android developers adding APIs to their own apps. After all, what's good for the goose really ought to be good for the gander. Read more
As expected, there has been a lot of coverage of Google's Nexus One Android “superphone”. Some of the coverage has focused on its feature set, hardware and software, which is nice but not genre-busting. Some of the coverage has focused on the beyond-the-carrier sales model, which is fairly distinctive in the US market and highly welcome.
However, there has been very little coverage of the one feature that, to me, represents a new “front” in the mobile device “wars”: the Nexus One is a consumer device that has user-replaceable firmware. Read more
This column tends to wield more than its fair share of brickbats, as I try to cajole various players in the Android ecosystem to work with each other, not at cross-purposes. However, if I hand out coal during the year, it is only fair to try to make amends during this season.
So, for 2009, I am thankful...
...for T-Mobile, Android's earliest and staunchest adopter among US carriers, for flying the flag (and, incidentally, for getting 3G service to my corner of the planet) Read more
Last week, Palm launched another salvo in the mobile OS wars with the beta release of Ares. Ares is not yet another mobile OS, but rather a browser-based IDE for building WebOS applications. It offers much of what you would expect to see in a desktop IDE for mobile development: debugging, drag-and-drop GUI editing, version control integration, live preview, etc. And, it is visually striking, looking much unlike the Visual Studios and Eclipses that dot the traditional tool landscape. Read more
Every now and then, a developer complains that Android is not “open”. The problem is that there are too many things being termed “Android”, and that is leading some developers to try comparing apples to Apples. Read more
One popular approach to making money off of Android applications is to run ads in them. That way you can distribute the app for free (powered by ad revenue), or offer a ad-free “premium” version to supplement the ad income.
As with everything in mobile, it's never quite that easy. Read more
One challenge with open source projects is finding people to fix the bugs. After all, bug-fixing is supposed to be an easy way to get developers started contributing to a project. But people sometimes forget that bug fixing, like anything in open source, inevitably involves “scratching your own itch”, in one form or fashion. Read more
A recurring meme in Android-space is fragmentation. One source of such fragmentation fear is the current triad of Android versions in public use: Android 1.5, 1.6, and 2.0. That situation should improve with time, as 1.5 vanishes, most devices move to 2.0, and 1.6 is perhaps used for some devices. Read more
A couple of months ago, in another location, I posted 40 Android business models — ways you can make money in the Android ecosystem, beyond simply selling individual apps to Read more
To all those of you who have jumped on the Android app development wagon in recent weeks, welcome aboard! Android development can be fun and exciting...until you run into your first show-stopper problem. Depending on your luck, that might take weeks, days, or hours.
And at that point, you are going to be looking for some help. Beyond standard documentation, here are some of your options for getting assistance. Read more
In late April 2009, Google released Android 1.5.
In mid-September 2009, Google released Android 1.6.
In late October 2009, Google released Android 2.0.
That is three version releases in a span of six months. Progress is great. Progress is necessary. But there is going to be some fallout for this flood of Android versions, both with consumers and developers. Read more
Android 2.0 is a big win for Android users. Google Maps Navigation, better contact management, more camera features, Exchange integration, and the like are all boons for those owning Android 2.0 devices. Developers get the long-lost Bluetooth APIs, along with a contact sync framework, more CDMA APIs, and the like, adding new areas for apps and feature expansion for users owning Android 2.0 devices.
The key is who all has Android 2.0 devices. Read more
Marco Arment (of Tumblr and Instapaper fame) wrote a piece for his blog back on October 9th, profiling the two sides to the iPhone App Store. While his analysis was aimed at the iPhone, I believe it holds fairly true for Android as well...particularly if we can develop a better framework for what Mr. Arment calls “App Store B”. Read more
Recently, a few device manufacturers and carriers have begun reaching out to Android developers, ranging from posts on official Android Google Groups to holding developer conferences. Compared to life a year ago, this is great, and we really appreciate the gestures. However, in other respects, these attempts were somewhat fumbled, posting what amounts to press releases in a developer forum and spending lots of keynote time on company positioning statements. Read more
Right now, it is very straightforward — if you publish on Android Market, your application will be made available for free download outside of the Market. This appears to hold true regardless of whether or not you are using the built-in Android Market copy protection mechanisms, which have been demonstrated to be ineffective. Read more
Long-time readers of this column will know that one of my big gripes with the Android project is communication, or the lack thereof. I have not complained as much about that recently because, in some areas, things are steadily improving. Getting technical answers, in particular, is working out about as well as can reasonably be expected, particularly given the growing size of the Android developer community.
What has not improved, though, is the ability to get any questions answered outside of pure programming issues. Read more