Is your user a goat?

Is your user a goat?

Last updated August 17, 2015

Android isn't always serious business. Here are some of the sillier parts of the Android SDK.


The following do real things but have amusing names.

FEATURE_TOUCHSCREEN_MULTITOUCH_JAZZHAND - "Jazz hand" is a fun way to describe a device that can track at least five fingers at once.

isUserAMonkey() - It sounds like a joke, but it's actually for the Monkey tool. Useful if the monkey would have no chance of getting past some of your UX otherwise (for example, an authorization screen). - The most severe logging level. Let's be real: we all know that "wtf" does not stand for "What a Terrible Failure."

fyiWillBeAdvancedByHostKThx() - I get the feeling that this method was named at the end of a long, arduous week.

Not Useful

I'm not going to try arguing that the following don't have any value, but they come pretty close.

GRAVITY_DEATH_STAR_I and GRAVITY_THE_ISLAND - There are several gravity constants of dubious practicality in SensorManager but these ones take the cake. I mean, really, why would you need the gravity of Death Star I? It's already been destroyed.

SENSOR_TRICORDER - Did you know that first versions of Android came with tricorder sensors? Sadly, this functionality has been deprecated for many years.

isUserAGoat() - It sounds like a joke, but it's actually for the Goat tool. It was added in API 17 but Google has yet to provide a back-compat version in the support library, limiting its usefulness.

LIKE_TRANSACTION and TWEET_TRANSACTION - IBinder has been around since the beginning as a core part of Android's inter-process communication protocol. But it wasn't until API 15 that you could start to like or tweet their transactions, finally bringing it into the 21st century. Android has come a long way since its humble beginnings.

DISALLOW_FUN - You used to have to build this into your app manually; as of Marshmallow, it's a core part of the OS.

"Big Island Goat" by Dennis Crabtree is licensed under CC BY-NC-ND 2.0