A recent dilemma in the development of my app has driven me to look up some best practices and one of the surveys I stumbled upon was this one by Appiterate: 7 reasons why people uninstall mobile apps. Even though it’s a year old, the reasons and advice they give still makes sense. So, take a look at these, in reverse order of importance:
#7. Forced social logins: offering social login as the only registration option. Users feel uncomfortable with some of the accompanying actions that social logins usually require such as automatic sharing, spamming friends, etc. A suggested solution: offer email-based registration as well or avoid registration altogether. More on this later as it figures into my dilemma.
#6. Privacy concerns: too many permissions asking access to too much personal information. This, in Android, is not as much an uninstall factor as permissions are presented as a group before installation. Yet, it also figures into my dilemma as I would like users to install my app.
#5. Intrusive ads: full screen, content obstructing graphics that cannot be closed, auto-play video, with audio, this one is easy to avoid.
#4. Bad UI/UX: the survey said that as many as 42% of people said they remove an app because the user interface (UI) was badly designed or the user experience (UX) was, and I quote, “crap.” This one is harder to avoid without extensive design experience but some alpha testing and observing new users with my app should help.
#3. App takes too long to load and freezes. Got it. No argument.
#2. Complex registration/login experience. This is the part that scares me. “68% of users said they hit delete because they found the registration process too cumbersome.” Their advice is to not “present an excessively lengthy, badly designed form.” A long cumbersome form is easy to avoid but that’s only one part of the onboarding process that can deter users.
#1. Annoying/too-many notifications: absolutely agree. I’m trying to make notifications respectful, sent only when necessary and according to user settings.
So, back to my dilemma: making the onboarding process as easy as possible is an important goal. The registration part is a relatively minor one in my app but the app is based on the user’s friends. In the interest of a quick and painless onboarding, I’d like to get access to exisiting contact lists, either via contacts or social networks. Yet, users hate giving that permission. This morning, as I was looking for best practices, Josh Elman objected to Waze’s request for contacts. Yes, I know that Waze probably doesn’t need access to contacts in order to provide traffic and route planning, and that is the reason for his objection, but my point is that contacts are important to users and fiercely protected. Would users agree to provide access to contacts in return for a faster and easier onboarding?
Waze — for maps traffic and directions — won’t work unless I allow contacts access. Wtf? A hold up indeed. pic.twitter.com/Mb1JKOSRJH
— Josh Elman (@joshelman) November 20, 2014