The most popular mobile platform in the world doesn't seem to care much about making developers happy
Itโs been years since I did any mobile development โ and much of what Iโve done has been with mobile app dev platforms like Appcelerator.
The last time I did anything substantial was some hacking on the Android client for Open Remote back in 2008. At the time, the APIs werenโt bad and the overall development experience wasnโt too tough. My main issues related to inexperience coding mobile (for example, how do I pass data between activities?).
I assumed that Android APIs would have improved by now. Good gosh was I wrong.
Crummy documentation
The documentation for Android has exploded into a mess. Also, a bunch of it is essentially out of date both on the Google site and on various community sites. Itโs like going to a dilapidated town where the gas station advertises a gallon of fuel for 88 cents and you realize the place has been shut down for about 18 years.
Yet people are writing millions of Android apps. How come no one seems to be doing the work of keeping the documentation up to snuff?
OMG, so many files
It used to be there was an API way and an XML way to do almost everything in Android. Maybe itโs still like that, but it isnโt obvious.
Today, to do nearly anything you have to edit at least two files and probably three. With the new security model you not only have to specify what permission you want in the XML manifest but also in your Java code. By the way, none of the tutorials (cโmon, I only wanted contact data to display!) actually tell you this.
Did you really copy Sun?
The APIs themselves seem like they were designed by the Java Community Process. When this all started, part of how Google got itself in trouble was by taking the best of Java and making an API that tasted a bit more like Ruby than like Java.
In the modern Android I taste that factory-to-create-a-locator-to-create-a-factory-to-generate-a-locator-to-find-a-singleton pattern that the Java Community Process and Java EE was so fond of creating. Combine that with the ton of XML and it gives me gas.
Speaking of that security model, what was the point of making me write it twice? In fact, half the API changes Iโve noticed donโt seem to have any great purpose. Holy crap, itโs J2EE!
Whine: I donโt want to write Java anymore
I guess part of my issue is that I donโt really want to write classic Java anymore โ so much typing, so little reason for the typing.
Whether using Scala or modern JavaScript, Iโm ready for a change. I thought Apple gratuitously wrote a language with Swift โฆ and there was an element of that. Google could use the same approach but go straight JavaScript and clean house on this big mess of an API itโs created.
I still love my Android phone. My girlfriend, on the other hand, swears by her iPhone and uses stuff like Find My Friends, which creeps me out. I mean, Tim Cook blocked me on Twitter for retweeting an article about Appleโs labor policies in China. Maybe Iโm paranoid, but I donโt want Apple to know where I am at all times.
Iโd rather tell Google where I am at all times (like it wouldnโt be able to extrapolate that anyhow). I canโt wait to grab one of the new Motorola Force Zs and buy one of those battery modules, the boombox, and projector. (Someone asked why Iโd need the projector and I said, โTo project things!โ)
Appleโs move to create a new language looks a bit less cracked to me now. Writing Android stuff feels like writing J2EE in 2002. I have XML buttache.


