Lessons for app developers that I gathered by reading complaints about Finland’s (generally very good) COVID exposure notification app. Context: Uses Apple/Google ENS, shipped only Finnish and Swedish as UI languages. Complaint sources: Twitter and Google Play & App Store reviews
1) _Always_ ship English UI strings _in the first release_ even if the app is meant to be local to a country that doesn’t have English as an official language.
2) _Always_ configure English as the fallback language. Users don’t configure secondary UI languages on the OS level. In this case, there are users who have set English as their phone UI language and complain about the app showing up in Finnish rather than Swedish.
3) For a locally-relevant app, it’s a good idea to provide an in-app language override so that users can pick a local language even if they have set the phone’s language to English (e.g. to avoid bad localizations in Google’s apps or other foreign apps).
4) Even if the app’s privacy story is excellent, you can undermine the appearance by doing clueless things on its Web site. (In this case, popping up GDPR consent for advertising cookies!)
5) Even if the app’s source code transparency story is excellent, you can undermine it by putting clueless copypasta terms in the EULA. (Don’t prohibit reverse engineering in the EULA if you are trying to make the point that it’s all Open Source.)
6) If your app requires a hardware capability, say clearly that the hardware capability is the requirement even if a correlating OS version is easier for users to check. Users will blame you for being lazy if they think non-support for old phones is a software issue.
7) If your app requires Bluetooth Low Energy, you should emphasize the Low Energy part as communicate the year when it was introduced. Otherwise, clueless users think the developer is incompetent, since the users see their phone having “Bluetooth”.
8) You should make explaining the required Android permissions your top priority in the Play Store description. Users will hold Google’s permission bundling against the app developer. (Google bundling GPS and Bluetooth LE in this case.)
9) Even if you do everything right, there will be hopelessly clueless users leaving one-star reviews. (E.g. complaining that the app should be based on GPS rather than Bluetooth LE, because the latter consumes battery.)
Epilogue: Is it reasonable to complain that you wanted Swedish even if your phone is set to English? I haven’t evaluated Google’s Swedish localizations, but I have my phone set to English and I’ve used in-app overrides to set Helsinki public transit and taxi apps to Finnish.
I stopped using Android in Finnish when I realized that Gmail had the translated strings for “on” and “off” reversed. I had to explain to my kid why division by zero in the Android Calculator complains about network identifiers. (“Domain error” translated as if it’s about DNS.)
You can follow @hsivonen.
Tip: mention @twtextapp on a Twitter thread with the keyword “unroll” to get a link to it.

Latest Threads Unrolled: