304: Onboarding - podcast episode cover

304: Onboarding

Oct 24, 202430 minEp. 304
--:--
--:--
Listen in podcast apps:

Episode description

The podcaster did not provide a description for this episode.

Transcript

Welcome to Under the Radar, a show about independent iOS app development. I'm Marco Arment, and I'm David Smith. Under the radar is usually not longer than 30 minutes, so let's get started. So everyone, welcome to our podcast. Please stick around until the very end. But first we need your permission for something.

We're talking about onboarding today. That was a terrible joke. We're talking about getting people into the app and getting your first run experience polished and getting what you need from people, whether it's permissions or approvals or access prompts, and then getting people to actually get into your app from installing it.

This topic is one of those relatively boring to talk about or even think about things of how do you improve your onboarding. It's not super fun usually because it's a part of the app that by definition most people only see once for a second or two maybe, and then they move on.

It's not part of the core day-to-day experience of the app, but it is extremely high impact for your business because how many people you can get to go from installing your app, which is hard enough to get people to install your app, but then from installing it into even just the basics of using it. Not even talking about long-term retention, just the basics of using it. How do you get them from installing the app into first useful experience?

It's vitally important because these numbers have been thinking about this a lot recently and in pedometer plus plus because of a variety of things I'm trying to optimize my onboarding. It added some analytics to see how many people were immediately bouncing out of the app.

It was something close to 20%, which was shocking to me in a way that was very discouraging. It's like really, so 20% of the people who download the app never do anything with it. They just look at one screen and then that's it. It's like, that's terrible.

They do something about this. Fair enough, in my case, part of the challenge in an app that collects someone's steps is part of that is because they have to give the app permission to read their data before they can do anything useful with the app. The app is completely useless unless you've given it data, which I suppose is something I could try and do otherwise of showing you examples or examples like doing ways to potentially work around that that we can talk about.

But fundamentally, to the app to be useful, you have to do something and potentially something that is fairly meaningful. It's not nothing to show, if an app, you downloaded an app from the app store, it says, hey, I'd like to see this private data of yours. I'd like to be able to see every, you know, all of the steps counts from every day that you've taken since you got your phone, essentially.

That's a meaningful thing. Fair enough, not everyone would want to continue with that, or at the same time, given how difficult it is to get users in the first place, it was something that I felt I really wanted to try and optimize and experiment with and play with and see if I can get that number up higher.

So far, I've been able to get it slightly higher, so now it's only like 15% of people don't proceed with the app, which is meaningful, but it's certainly, you know, it's still a large number. But I think there's a lot of things that we can do here. And I think moreover, there's a lot of choices that we have to make about our onboarding experience, that what kind of an experience we're trying to give the user.

Like, there are ones that you could imagine that are very help-oriented, or very like, it's a tutorial. There's ones where you could imagine that it's very almost like experiential.

Like, there's some apps that I download, and it feels like they're trying to take you on a journey. And so it starts off with, you know, you're going to be messaging with the app, or like, it's like they have these dialogue bubbles that will pop up, and it's like, you're having a conversation, and there's lots of key ways to do it.

I've never seen that one. I think it's Libby, the library card thing. When you open it up for the first time, it wants to have a conversation with you about your reading situation, but it's in a text chat interface. Do you have to have a very quiet conversation because it's in a library?

Maybe. It's been a while since I did that onboarding. So there's ones like that. I can also imagine ones that you, or I've seen our experienced ones that are just trying to jump you straight into the app. It just takes you right into the core experience, and you just find your way from there.

Like, there's just so many different paths, and there's ones where it's very sales oriented, like the onboarding experience is essentially just an ad for the, you know, for their premium subscription. And they really tricky ones. They get to the end of the onboarding, and if you don't buy the subscription and the end of the thing, you can't do anything in the app, or it's very, there's a tiny X in the top corner, but it's the same color as the background.

And you have to be incredibly careful about trying to find it, which is another version of this. And I'm sure there are reasons to have that kind of onboarding that you're almost your app experience is almost entirely the onboarding in some degree. Like, it's just you have your acquisition, and then you have your like call to action sales pipeline. And then if they don't continue, then that's it.

Like that user is bounced off the app, and you just like you're just optimizing for a different thing, like, but anyway, so these are the kinds of things that choices we have to make. And I think in different apps at different times, I've tried many of those I haven't tried all of them. I've never been overly cutesy and I've never been very sales oriented, but I've definitely had the apps where you just like the first version of widget Smith, you would just launch into it. And it just there wasn't a one boarding.

Here's like three default widgets that I created for each of the three different widget sizes. There's no instructions. There was no help. It was just like good luck. And subsequently with widget Smith, I've added a bunch of help information, not in a like full screen modal way, but in a there's a bunch of, you know, more like tip kit style, but not using tip kit of like, hey, it seems like you're trying to make your maybe the clippy style.

Okay, here's how you make your first one your first widget. Here's how you add it to your home screen. It's just trying to be a bit more hopeful in that way, but anyway, I've tried all kinds of approaches. And I feel like sometimes they're better sometimes they're not, but it's probably the definitely something that's worth optimizing for.

You know, you think about the impact this has on your business. I mean, this is a hard topic to cover in one episode because as you were just saying, it is so broad. You know, it can, you know, not only does it does it obviously impact how many people that who download the app end up using it at all, but then as you mentioned, it also can impact your actual money, your sales of your premium offerings or whatever, you know, whatever your monetization pattern is.

If people are, if they can't figure out how to use it, maybe they'll bounce out more quickly and deleted or abandon it. So there, it kind of stretches into all these different places. It goes into usability. You can explain new features if you have them like there's also, you know, all sorts of ways to do this. There's the what's new sheets whenever you do a big new version like what Apple does.

Ultimately, one of the reasons this is important and by the way, I should disclaim, I do a terrible job of this in my app. This is one area that I have my to do list to improve soon because I do not do a good job of this. But when an app is new and when any business is new, you typically don't have to pay as much attention to like, how do we get more out of what we already have? When you're like in growth mode, you know, early feature building mode, that's usually a lower priority.

But then as a business mature or, you know, as you start to optimize it, that's kind of where you start looking. It's like, okay, where can we make more with what we already have? Because if you try to increase your, you know, your user base or your numbers, there's ways to do it that involve spending lots of money. You can buy a whole bunch of search ads or other types of ads and you can effectively buy installations or increase your installation rate.

But this is free to work on. Like any kind of onboarding tweaks like that's effectively besides like, you know, your time and maybe design resources. It's effectively free. So it's a much more economical way to grow your numbers or to boost your usage, you know, compared to other kind of brute force methods of just get more people in the door to begin with.

So that's why it's so attractive because you actually can't, you know, going from, you know, your 20% abandonment to a 15% abandonment rate, that's pretty good for something that didn't really cost you anything ongoing. Like that's, I would say that's, that's a great gain. And that's the kind of thing that, you know, if you don't instrument that you wouldn't even know those options are there, but it can make a huge difference.

So like, you know, for obviously you have things like, you know, permission dialogues. If, you know, in your case for pedometer, you need motion permission to do anything at all. That's a perfect use for an onboarding screen. And if you just kind of do the lazy thing of just call the, you know, the delegate method to request the permission every time your main scene loads.

Like that's, that's when you get the unpleasant experience of you first launch an app and you're presented with an empty interface for the app. And immediately three dialogue boxes saying, you want to send notifications, you want to approve access to this, you want to, you know, like that's not a good user experience. And when you make things bad user experiences, not only does it kind of just look, you know, sloppy and not great.

But it also usually affects your conversion rates. So if you can make something nicer, you not only will give the user a better experience overall and give them kind of a chance to to breathe for a second.

But also you can do things like, you know, a common pattern we see is if an app wants permission for something, they will before prompting you with the system prompt, they will show a screen explaining basically that they're about to prompt you with the system prompt. And here's why you want to say yes. And then then you're given the system prompt after you see that screen to say yes, definitely proceed. And that kind of thing is very effective.

You go into sales too, you know, talking about your premium subscription thing. First of all, one thing I learned recently, which still kind of works me. But one thing I learned recently is that the little X you're talking about to dismiss the subscription at the end of the onboarding is optional now.

You can as far as I can tell because lots of apps are doing this and I check the rules as far as I can tell it is totally app store legal to have an app that puts you through whatever onboard experience you want and then puts up an in a purchase sheet that you cannot proceed past unless you purchase it.

So it is entirely as far as I can tell entirely legal on the app store to have an app that requires a subscription to be purchased and doesn't function at all without that. And so that is a common pattern that I'm seeing of like your brought through this onboarding process because then you feel invested in the app.

So your brought through maybe you even create the account you you pick out some some content you want for in the app you tell them tell them a little bit about you. And then oh great to proceed pay us a hundred bucks a year. Like that's that's an actual pattern that actually is done in the app store and seemingly seemingly allowed in mass. So these kind of steps these onboarding steps can have just massive ramifications. So let's talk about some specifics of how to make this nicer.

But first we are brought to you this episode by Celatrios. This is a shoot-em-up game with tiny ship big weapons waves of foes power ups and obstacles. Celatrios is well made for you for users. This is made by an Apple nerd for other Apple nerds. So Celatrios has no ads no in-app purchases no subscription and nothing is locked.

It's only for Apple platforms you can get on your Mac iPhone iPad and even Apple TV. There's 13 stages of the game you can start from any stage you want and you can resume play later if the app is quit or suspended. So if you're like playing online at the bank and you guys suddenly do something don't worry you're not going to lose your game. It is a great game. There's a lot to love about Celatrios.

You have a ton of ways to play with customization you can keep it fresh like ship configuration dozens of abilities full screen on the Mac randomizing and there's even a hard mode which is tempting for a shoot-em-up game like this. So there's also a huge high quality soundtrack with over 45 minutes of original music. I love a good soundtrack for a game and the game keeps expanding. There's been over 85 free updates to Celatrios so far and the entire thing was made by an independent developer.

You can play solo or you can grab a friend for two player your Mac supports various inputs so like one person can do whatever on the Mac you can also grab a controller if you're an iOS. So if you love traditional shoot-em-up games or you just want a quality game it's fun to play again and again with none of the usual annoyances that other games have.

Celatrios is for you. The Mac version is on Steam with a free demo and the iOS and TV OS versions are on the App Store. Go to KevinGrant.name slashapps to learn more or click the link in our show notes to let them know that you came from this show. That's KevinGrant.name slashapps or click the link in our show notes.

Our thanks to Celatrios for their support of this show and relay. So the first thing that I feel like I've learned from the hard way through history is users are surprisingly lazy and just maybe there's one way to say it. You have to be very careful what you ask them to do and how much you ask them to do because if a user has to scroll up to see something or click several times to accomplish something there's a reasonable chance that they will not complete that process.

I'm calling it laziness, maybe it's just lack of interest, they're not as motivated as you would think they are to do anything. I think one of the as a result of this, like one of the fundamental principles that I'm starting to settle on with onboarding is about being very judicious that if you ask a user to do anything that it is going to be high impact for them.

You're not there's not a you don't have sort of superfluous things that you're asking them to do to click on a screen to scroll to the bottom to do anything like that because the realities is they just won't or a meaningful number of users won't that as quick as you can get them to the place where you're actually having an impactful interaction with them is the better.

An example of this was one of the things I recently was trying with my onboarding at Photometer++ was I had kind of a I guess you'd call it a splash screen if it was a website or that kind of thing where it was just a well designed beautiful screen that didn't do anything but it was just trying to be like let me welcome you in with this nice attractive screen.

And you click through that and then on the next screen is where I would explain the need for your permissions and then you know that's the screen that would ask for your if you hit next from that one you'd get your permission prompt. I thought this would be lovely I thought that would be like a nice way to welcome someone in it's like having a nice you know like a well designed front door.

That was the idea in practice what it meant is that 8% of users never clicked through from that screen and so they just never they just never went anywhere they never opened the front door and in this case it's like rather than having a front door I think it's probably more important to have you know like have the front door wide open and the first experience be right there waiting for them as they I guess walk in the door and that analogy.

So you'd say like don't have text in your app that a user has to read in order to understand something because if you do there's a meaningful number of your proportion of your users who will never read any of that that they're just kind of going through an autopilot or not really engaged in the way and this is just a natural reasonable thing that as much as we like to think when we're sitting in our office designing our app that we think of like our main user is someone maybe they're sitting at home they're sitting in their comfortable chair they've decided you know I would like to do that.

I decided you know I would like to count my steps I'm going to go ahead and find an app so they go to the app store they look around they find an app that you think your screenshots look great they read read your app store description and they're decided they want to get it so they're very engaged they're going to go through and read everything that you put out there and that's going to be wonderful that may exist like that user may exist in in in in the world more likely though that is not all of your users that there's going to be a meaningful number of people who are waiting online or in a

you know they're on a bus going to work or they're at a party with someone some some people and they saw someone else who had the app and they just downloading it quickly and they are not engaged in your app in that way and so you want to be very judicious about what you ask of them because if you ask small things you are more likely to have them actually continue with it rather than having lots of big

things or requiring that high level of engagement before they can have a big win because really what you want is I it's like you need to shorten the time I think between they get the app and they have their first like ooo that's cool moment you know they get something that is useful to them is it you know interesting to them is going to help them understand is this the app that's going to accomplish what I want for this purpose we know the reason I got this app was for

school is this app going to be the one that does it and I think about with you with all the other sleep apps you are trying recently where you're trying all these different options is like you're going through the spine set or how quickly can I understand if this is the one that's going to do it and longer they sort of spread that process out the more likely it is you'll just abandon it and go to something else or go to nothing else and move on with your life.

Yeah that's I mean and that's that was very instructive for me like very educational for me to go through the whole sleep app you know journey trying to find what I was looking for because it did show me first of all showed me again a lot of these different practices in the app store that I was not maybe up to date on or you know hadn't hadn't seen a while or hadn't seen the latest versions of

the app but also it showed me kind of the user journey of like I'm looking for this type of app I'm not seeking any particular one by name so I don't have any like loyalty to any particular name I'm not being influenced by an influence or to go get a certain one I'm just searching in general for this category and I'll try whatever I see but then you know I'm only going to want to stick with one and so when you're in that kind of mode as a customer like I don't want to see your pretty benefit.

And stuff I just want to get in the app and just see how the app works and so and I did exactly what you're saying like where I was I would try an app I'd get in some of them I didn't even get past the onboarding because it was so

you know burden some or in some ways kind of creepy with like oh they want to do a lot with my date that I don't really want that you know and then sometimes I would get into the app and realize wait I don't even had to use this like it's because then it wasn't maybe that wasn't enough on board.

So there's I've seen it go wrong like even in my own life with my own stuff I was looking for but you have to realize like a lot of your customers are in that same kind of mode where they they are going to give you a precious little amount of attention and they're going to give you a chance

but they're they're in a hurry to go get something else done and there's a lot of other apps that are competing for their attention and a lot of other things in their life that are competing for their attention so you have a very very small chance to win someone over and that's why you see those abandoning rates like you know we always we always wonder as developers like oh we for some reason you know I mean you know

I have to tell you like oh you know you have this so-and-so retention over you know a day a week a month and you know like wow why are so many people down in my app and then just not using it after such a short time and this is the answer the answer is like basically onboarding failures in some way you you you didn't you didn't succeed in getting them into the app as as user and there's all sorts of reasons why but like the onboarding process I think is such a big one because

there are such big wins and losses that can be had there but you're right like you have to you you can't take too much like you know people are giving you this this attention they're doing it very quickly they're not going to read almost any text you put in the screen as you were saying like the like text is text as a loser like you're you're

because I know as a user how many of those screens that I read when I was going through those apps I read maybe maybe the titles that are on the buttons maybe even then sure not maybe I wasn't reading that closely for some of them because I was like look I got six apps to try here and I don't want to spend three hours doing it like I I just want to solve this problem that I'm trying to solve so really like be be very very judicious with how you spend the

attention the user is giving you because you don't have much of it you have to spend it very carefully very efficiently because if if you can and as you're saying like if you can shorten the time between them opening up your app for the first time and it impressing them in some way or providing utility to them you will see big benefits and that's you

know how that looks is going to be different for every app you know a lot of apps have you support concerns like you know in my app a huge roll of my onboarding the very first thing you have to do basically is I got to know whether you have an account yet or not because if you fail if you had an account but fail to log into it for whatever reason you will have a bad experience in that you will open the app and your stuff won't be

there and you will think you've had data loss and that's not great that's like one of the worst ways that can possibly go so you know my onboarding has to include some kind of a count login or account creation procedure well that's super thorny there's tons of potential problems that can

be solved from that there's failure modes there's creating duplicate accounts there's you know not being able to log in for some kind of like you know forgotten email or password kind of thing it's a very complicated flow and I have seen huge gains over time in simplifying it so for instance one of the big problems is I have to create an account use this app why and that turns a lot of people away right there there there's a lot of people out there who if you

ask them to create an account or log in in your app they will delete the app and go rate it one star and say one star requires an account I don't want to make one like that's that's a non trivial amount of people who do that so one of the things I learned over time is I basically changed the wording it still has accounts but it just generally you know

generate random numbers and doesn't have emails and so that they're just like in a random number store store in your key chain it still has accounts but it doesn't say create new account it says add podcasts and then below that is like you know a smaller button this says you know log in to an account or something like that I forgot exactly what it is but that

changed dramatically improved my conversion rate from launching the app into actually getting people starting to use it because the notion of an account turn them off and I and I did see a substantial gain from that one change just changing the wording and some of you are also making the log in less prominent than the effectively the create new account button which is basically just proceed because that's what most people want most of the

people want is get me through the screen so I can start using the app that is the primary goal get me through this that's why nobody reads your text that's why everyone says yeah yeah whatever yeah yeah just approve yes go go because they don't want to go through your onboarding they want to go to use the app so anything you can do to speed that up while achieving whatever the

positive outcome or needs are that you need to achieve to provide that functionality the fast you can get them through those through those screens the better yeah and I think there's a very user centric approach that you're describing there that I think is very reasonable and I don't know is that it's one of these things there is a

element of just I guess like a difference in approach or style but I think the kind of apps that we tend to build tend to have that user focusedness to it that it is how I'm trying to do it is ever whatever is best for them even if necessary like the having the even if it's not like it's sort of modal and you can't move past it even

putting my my paywall at the end of my onboarding feels slightly user hostile to me in a way that is benefiting me but made up as benefiting to them and obviously there is an benefit like I don't I think don't like to you shouldn't be ashamed of your your paywall screen but it's sort of like you're asking someone to buy something before they've even seen what it is

they're buying is the part that I've like I've found a lot of benefit recently by like I hate in my apps I have a tab on the main screen that shows you the paywall always so like that's just a very available lots of people see the paywall not trying to make sure they're sort of educating people about it but I'm letting them find it soon after the app has been useful to them rather than interrupting them to

as sort of haven't had essentially right at the beginning and obviously to some degree it's a well you know that they can get more out of the app if they have a premium subscription or if they if I don't show it to them they'll never see it it's like well then that's a different problem you're trying to solve

but I think from a user experience perspective the goal is get them to the thing that is awesome about your app as quickly as you possibly can you're in like an overcast case it's like how short can you make it for them to be

listening to something that is interesting to them like that's the main goal like that's what you need to be optimizing for I think or at least there's a lot of benefit to optimizing for that or in the case of widget Smith how long can I get you know shortening the time to get a widget that they think is

interesting or beautiful on their home screen in parameter it's how soon can I be showing them their step data like how if I can tighten up my onboarding as much as I can to get to that sort of that core experience the like thing that'll be useful to them I think the knock on effects and the broader like your attention rate of the app is the thing that will improve as a result of that and this is very much an area where you're just creating

like small accumulations of positive things that if you can you know I think it's worth optimizing this I think it is worth a bit testing a bunch of different things like my next step in my onboarding screens is going to be able to be testing a bunch of different you know doesn't matter what word I put on the button before they I prompt them for the thing if I say continue

or if I say next it's an arrow like I don't know but maybe one of those is half a percent better and if it is great I will take the accumulation of that but I think I want fundamentally to be optimizing my onboarding experience to be user focused

and I think that just in my experience in the long term will pay off that the number of people who are clicking through are people who have had a good first experience and you know that the classic like me thing in life where you only get one chance to make a first impression

and I mean in the app store it's very strongly that like if they make a bad first impression you just get deleted and never looked at ever again and so it's a very profound difference between success and failure in that regard oh yeah I mean and that's that's why this is so important and and you know you're right like I in overcast I you know you're right my goal should be get people into a podcast as quickly as possible I don't do a good job of that right now and I have a lot of potential

improvement to do and the good things I bet if most if you look at your apps I bet you'll find you know if you're honest with yourself if you look at your apps or especially if you if you can do like some user testing if you can see watch somebody use your app for the very first time and try to see like wow like I could really get a lot more value out of this if I tweaked these things or this experience is not what I want it to be

it's not as good or it's not as smooth and not as nice as I want to be there's ways that I can improve it like and every time the person kind of hesitates or seems to have like you know a negative reaction and be like how many people are having that same reaction when they see this screen there's a lot of low hanging fruit there to make your business better and again look no one's perfect again I'm terrible at this this is why I'm kind of talking to myself here just so much of talking

everybody else but look at these onboarding experiences and and ruthlessly try new things and try to optimize them to get better outcomes because there is a lot to be had and the nice thing about onboarding as optimizing it based on my recent experience is the the nice thing is you can be more experimental here in some ways because it only affects new users which is a meaningful thing but it's like so many of the changes I make to my apps

the some of the the nervousness I feel is if I'm going to make a change that affects all of my existing users it's really scary because you know that's the big number

because with onboarding the nice thing is you can try a bunch of different things and if you have a bad onboarding screen for two days in the app okay that two days you would want to have great conversion but you can experiment and iterate on it a much more kind of like safe way which is something that I definitely have experienced recently that I was kind of was nice I allowed me to be a bit more creative and a bit more laissez faire about it because I don't need to worry that if I'm going to make this change and it's going to affect everybody that is going to like completely destroy and tank the app

if one day I have you know 25% abandonment rather than 20% abandonment versus 10% abandonment like in one day's data that's not really going to matter and so that's the nice thing about doing something that only affects a tiny proportion of your users a meaningful proportion of your users but a very small percentage overall thanks listening everybody and we'll talk to you two weeks bye

This transcript was generated by Metacast using AI and may contain inaccuracies. Learn more about transcripts.