Designing a Great In-App Purchase Experience 

Session 218 WWDC 2014

Being successful with In-App Purchases requires much more than just having a store within your app. A well-designed experience motivates customers to purchase, offers them the items that they want based on what’s happening, communicates item details and pricing clearly, and provides vital feedback about the purchasing process. Learn key design techniques, how best to communicate when new content and subscriptions become available, how to handle large sets of In-App content, and important StoreKit tips.

[ Applause ]

Hi, everybody.

Good morning.

My name is Rachel Roth and I’m one of Apple’s User Experience Evangelists.

Now this session is not about monetizing.

It’s about having a great experience with in-app purchases because a great experience is what’s going to keep people coming back to your app or game time and time and time again.

Think about the last time you had a really fantastic meal at a great restaurant.

So it’s a place you always want to come back to, right?

So this is the bigger picture of what it takes to have a great experience with in-app purchases and today’s session is all based on the assumption that you already have a really amazing app or game.

Your app meets the needs of your audience.

It’s got a really intuitive interface design.

It’s been executed really well.

For game, it’s just fun to play.

And there’s really no design secrets or shortcuts around this one.

But I know that you guys all have it handled.

So we don’t have to dwell on this for too long.

Now, if you’re using the freemium or the paymium model with in-app purchases, it’s so important that people can enjoy your app or game without buying anything.

I mean, I think most of us have had the experience.

You get a new app from the App Store and you download it and you launch it only to find that you can’t do anything with it.

That’s frustrating.

You need to make it a purchase in order to get some utility out of it.

It would be like if you bought a mixer for your kitchen and it didn’t come with any attachments.

You couldn’t mix anything.

That would be really disappointing.

And that’s why mixers come with a basic attachment that you can use to mix and see how great the mixer is.

And then you buy some additional attachments for specialty tasks like making bread or some kind of pastry.

And that’s what you want to achieve with your apps.

You want to let people really enjoy the functionality and the utility, the quality of your app, and then you offer them advantages or additional functionality, some advanced features.

And when you offer those things, you want to make sure that you make buying easy.

And I know this probably sounds obvious but I’m not just talking about sending the transaction to the App Store and getting a response back.

You want to make sure that the decision to buy something is really easy for the people coming to your app or game.

There’s a lot of friction to making that decision to buy and a lot of it is outside of your control.

But as app developers, you want to eliminate any obstacle to making that decision to purchase something inside of your app.

Make it easy as possible because that decision to buy is a fleeting moment and there’s many traps.

So one of the best things that you can do is to integrate your merchandise into the experience.

I mean, people aren’t going to buy things if they don’t know what you’re offering, if they can’t see them.

I talk to a lot of developers who create a really great store section inside of their app or game and then they’re really disappointed because no one’s going there.

They’re not buying anything.

That’s because people don’t know what you’re offering.

It’s kind of like the difference of if I said, “Do you want to buy something?”

Or if I said, “How would you like a really great drawing tool?”

And that’s what you want to help explain with your app by putting the merchandise out on display, integrating it into the experience.

But when you’re doing that, I’m not suggesting that you become a pushy salesperson about it.

Nobody wants this guy following them around saying, “Hey, you want to buy something?

Hey, hey, hey.

You want to buy something?

Do you want to buy something?

Do you want to buy something?”

Every minute, and that’s what you’re risking if you’re flashing a lot of alerts or notifications or crazy animations to try and entice people into that store.

It’s really about timing.

And with some apps, it’s about offering the right thing at the right time.

Like at a restaurant, when the waiter brings you the dessert menu at the end of the meal.

I mean, you might not even want dessert, right, but it doesn’t feel pushy that they offered it.

It would feel pushy if they offered it to you before you sat down and while you’re eating your appetizer.

So you want to think about what’s the right moment to offer something to someone and do that in a way that’s really thoughtful.

Now with other apps, it’s about the presentation.

You want to think about a really great window display for a store.

I happen to be very partial to the Apple Retail window displays.

I’m sure that will come as no surprise to you guys.

Now they do a great job of showing off the merchandise and drawing you in.

It makes you want to find out more about the products.

It’s really intriguing.

And that’s what you want to think about with your app or your game.

You want to integrate the merchandise in a way that feels really natural.

This is Paper by Fifty Three.

It’s an Apple Design Award winner from years ago that is still a fantastic example of integrating in-app purchases into their experience.

If you haven’t used it, the app is designed to capture ideas through sketches and diagrams and notes.

And like that mixer in your kitchen, they give you some basic drawing tools for free, your pen and your eraser.

And you can see from this example that you can do tons with it.

But there might be an occasion when you need a more advanced drawing tool or a different kind of line or texture and so that’s why they leave these empty spots here where the advanced drawing tools should go.

And that’s like that window display in the store.

It’s putting them out for you to see.

There’s no question what’s available.

What they didn’t do is hide everything in an arts supply store or tuck it in a pencil case that then you have to go push open to see what’s available.

That’s creating friction.

That’s expecting the player, or your audience to do work, to see what’s there.

And another thing that they didn’t do is trick you into thinking that you already owned all these tools.

Because if you could see them all but then when you tapped on one to use it, it told you that you need to pay money just to test out a brush?

Well, that would be disappointing.

That’s not a great experience.

It’s a frustrating one.

And that’s why this design is so elegant and so great.

It’s informative but it’s not pushy.

Now next up, let’s look at that timing I mentioned earlier, a totally different kind of app, Bloomberg Businessweek.

And this is a business publication that has regular updates, new content.

And without a subscription, you can still browse, read several of the articles, browse all the headlines and the introductory sentences.

Now if you tap on something that requires a subscription, they bring up the subscription options.

It’s like the dessert menu.

You’re interested in reading some of their content so here’s the information about subscription so you can get it.

They’re presenting it right at that perfect moment.

They’re making it easy for you to get the subscription.

Now, they also have this Subscribe button down here in the corner of every screen and that’s great too.

But having that in addition to the integrated message helps them reach more people.

So I’m not saying you can’t have a store section.

You just don’t want to make it the only place that people can find what you’re offering.

Now this also works for games.

I don’t know how many of you have played “Smash Hit”.

It’s a really fun arcade game that involves smashing things as you might have guessed, very satisfying after a long day.

The way that it works is that it’s an arcade game and the more accurate you are at smashing things, the further you’re going to get.

You progress through the checkpoints unlocking them.

And they also offer a premium version and they’ve a great way of illustrating exactly what that advanced feature does for you.

[ Music ]

So here we are.

Let’s start from checkpoint 2, maybe I can get a little bit further this time.

[ Music ]

Oh, but this requires the premium version and I’m not ready to buy it.

[ Music ]

Pretty compelling, right?

I mean, if you had any doubt about what that advantage is that they’re offering, that spells it out for you right away.

Now I don’t know how many of you notice that there’s also this Get Premium button here in the corner.

And if you did, would you have guessed that that’s what the premium version meant?

I mean, some of you might have tapped on it to find out and some of you may not have.

And they have the details here about what you get.

But having this in addition to that integrated message is just much more effective at explaining what the feature does for you and offering it to you at the time that you can use it.

Just remember, don’t be this guy.

Nobody wants someone pushing in your face pestering you.

Pestering people is not going to get the results that you want.

But thoughtful integration of the merchandise will.

Now another challenge is to help people understand the value of what you’re offering.

And if you walked into a clothing store, this is easy to figure out.

You can touch the merchandise, feel what the fabric feels like.

Does it feel luxurious or does it feel kind of cheap?

Is it well made?

Are the seams are falling apart?

Most importantly, does it fit you?

Does it look good?

Is it going to suit your purposes?

So letting people try out merchandise before they buy it is a really effective way of helping them understand the quality and the value and the utility of what you’re offering.

I mean, you wouldn’t buy a car without taking it for a test drive first, right?

It’s the same principle.

Letting people use it will be the best way for them to understand how awesome they are.

And again, Paper by Fifty Three does a great job with this.

In addition to providing a lot of samples of what the tools are capable of, they put together an entire journal made by their staff showing off the different tools and their capabilities.

And then of course, they let you use the tools, the basic tools for free.

And if you haven’t used this app, I can tell you that the tools respond beautifully to your finger.

Now me telling you that isn’t nearly as effective as you actually using the app and so that’s why when you go to find out about these advanced drawing tools, they let you test them out right there.

You’ve got these sketch pads along with detailed information and testing them out is how you can determine the quality and the utility.

What kind of texture do they provide?

How do they react to your finger when you’re drawing?

Which one is going to be right for what you’re trying to achieve?

And each of those sketch pads has drawings already in progress.

It’s kind of like the test drive where they take you down certain roads to show you how well the car handles?

Paper by Fifty Three is setting up the sketchpads to show you the optimal uses or some suggested uses for those tools.

This one’s great at watercolors.

They’ve set up a watercolor drawing for you so then you can jump in and add on or try your own drawings.

And it might seem obvious to take this approach with drawing tools but I promise it will work for almost any kind of virtual good.

Here’s a really different example and that’s Line.

So it’s a popular messaging app.

You can send and receive messages for free.

Now one of the things that differentiates Line from its competitors is the vast array of stickers that they offer.

Stickers are kind of like really crazy Emoji.

You can include them in your messages and send them back and forth to your friends.

It gives your text messages a whole new life.

Now Line gives you a very generous selection of these stickers for free so you can try them out plus the ability to earn stickers without paying anything.

So all you have to do is add Hello Kitty as a friend and then you get Hello Kitty stickers.

And some people love Hello Kitty stickers.

And using them really helps you understand how great they are.

Now another thing that they offer are themes.

And when I first investigated themes, I’ll be honest, I had no idea what to expect and I thought, “Oh great, there’s some free ones.

Let me try out the Brown Bear.”

Let’s see what happens here.

So when you choose the Brown Bear theme, instead of getting the standard UI, you get bears!

Hurray! Everywhere, all over the place.

Even the tab bar icons are bears.

Now, sure they could have put a description of what a theme is or even a screenshot but that wouldn’t have been nearly as effective at conveying what happens when you use the themes.

Giving people some free ones to try out is the best way to really understand what they’re all about.

And this works for publications.

Does anyone have any question about where to get the free preview content on the screen?

They’ve made it really easy for everybody.

“Esquire Magazine” wants to make sure that you know that reading their content on an iPad is the best experience possible.

And so they give you free content to check out.

It’s got videos, interactivity and this is the equivalent to standing in line at the store and flipping through a magazine or going to a comics store and checking out the artwork.

It helps you to really know whether the reading experience is going to be good and whether the content’s going to be something that you’re interested in.

And again, this also works for games.

Now, I’m pretty sure that everyone in this room has played Candy Crush Saga at some point but for the 2 of you who haven’t, it’s a puzzle game.

And they’ve done okay with in-app purchases, you know.

So what they do at the beginning of every level is that they offer you these boosters.

And these boosters give you a leg up on completing the task and they’ve become much more valuable the harder the puzzle is.

And if you’ve never used one, you can just ignore them, go for that big pink play button and you’re into a puzzle game.

So that’s why they introduced the Daily Booster Wheel.

Every day you can come and get one of their boosters for free.

So there is nothing standing in the way of you trying them out.

And once you try them out, you really know what a difference that they can make.

So that’s what I mean about offering a test drive.

Letting someone really experience that merchandise, trying it out before they buy it, is the best way to communicate the value and the usefulness and the quality.

And that’s why it’s going to make the decision to buy something easier on people.

Now, another way to reduce the friction to buying is to stick with your theme.

It’s really important that every screen in your app or your game is cohesive.

And you want to carry that visual design all the way through.

That interaction model needs to be consistent.

And you want to put as much effort and time into designing these screens as you do anything else in your app or your game.

So this is Ruzzle Adventure and it’s got hundreds of levels of puzzle games and all these various theme worlds.

You start out in the forest and you work through the different puzzles in the forest to get to other lands.

Now, every aspect of the forest looks like the forest.

They’ve got it doesn’t matter the objective of the game.

You can see the forest details creeping in at every corner.

Now there are in-app purchases involved and in-app currency which you can use to then buy advantages for the different levels, powerful boosts.

And you can earn the in-app currency as you’re playing but you can also, of course, make an in-app purchase for their in-app currency.

So imagine you’re up against Chief Smartypants here and he’s tough.

So it might be worth getting some in-app currency so that you can so that you go buy some in-app currency so you can get some of those boosters.

So imagine you’re excited.

You want to beat Chief Smartypants.

But the next screen you saw was this.

It would be terrible, right?

I mean, suddenly there’s an entirely different UI that you have to understand.

You got to think about it.

It’s really sterile-looking.

It’s not very well laid out.

It takes you right out of the experience.

You’re not in the forest anymore.

And that creates friction.

It makes you feel more like work.

That’s making it harder to buy something.

Now thankfully, Ruzzle Adventure does not do that.

They have a nice forest theme purchasing experience and all the visual design and interaction is consistent with everything else in the game.

So make sure that you maintain the world of your game or the look of your app on every single screen and with every single control.

Because when you suddenly snatch people out of that world and they have to deal with a new interface or a new look, it’s going to feel like work.

It’s going to be hard.

And buying, we want it to be easy, right?

Now just a word of warning while you are busy sticking with your theme, don’t take it so far that language becomes confusing.

You want to make sure that people can really understand exactly what they’re going to be getting for their money.

You use clear language.

Now have you guys ever seen a description for an apartment or house that said something like “needs a little work”?

And then you show up and it’s, you know, it looks more like this.

I think we’ve all had that experience.

Now with any purchase, it’s so important to be honest.

There is really a fine line between trying to be positive about something, highlighting the features and really being overly optimistic about what you’re selling.

Nobody wants to be disappointed when they see what the merchandise actually is.

And especially when you’re coming to subscriptions or recurring content, you want to be as specific as possible.

Set people’s expectations correctly.

When are they going to get new content?

How much content are they getting for the price?

And if you just saw something like this, you don’t know.

Is it expensive or is it a bargain?

I mean, if it’s 12 issues in a year, that’s less than a dollar an issue.

That’s pretty reasonable, right?

But if it’s only two issues, well, I don’t know.

Is that content really worth that much money to me and see now, I’m off thinking about whether or not this is a purchase I want to make instead of quickly coming to a decision, getting the new content and going off to enjoy it because that’s what I’ve come to an app to do.

I’ve come to enjoy content.

I’ve come to an app to help me achieve something.

Jamie Oliver does a much better job with this.

He’s a famous chef and he has a recipes app.

And you’ll see here that here they let you know that new content is coming on the second Wednesday of every month.

Crystal clear, very specific.

I know exactly when to expect things.

FitStar is a personal training application and they have a number of workouts and they’re tailored to your goals and also your actual performance.

Now their subscription screen gives you detailed outlines of all the programs.

I mean, you can find out the length of the workouts.

Do you want something short?

Do you want something long?

They are offering both of those, the advantages of them.

Are you interested in fat burning or are you trying to do strength training?

They’ve even pointed out which one is recommended for me based on a couple of questions I answered earlier.

And when you’re ready to buy that subscription, that screen is so clear about exactly what you’re going to be getting, all of the programs, unlimited free style moves.

And they’ve even highlighted the annual subscription with a discount.

They’ve made it so easy just through the use of clear language for me to make a decision about buying something.

And now I really understand what I’m getting for my money and I can appreciate it.

Now another way that you can make this clear to your audience is to do the math for them.

I don’t like doing math.

That’s not fun for me.

Don’t make me do the math.

It’s your job as the app developer to make it easy on people to make a decision.

So quick, which one of these is the best value?

I mean, I’m sure some of you can really quickly calculate this but most people are not going to want to.

It’s this one, by the way.

And so that’s why you really want to help people understand which is going to be the most cost effective for them.

This is Lovoo.

It’s a dating application and they offer tons of utility without a subscription.

You can fill out a profile, message users.

There’s lots of ways to browse potential suitors, including this.

This is a radar screen.

That’s what you’re seeing here.

You can see all the people, all potential dates around me.

And of course, they have some premium features that’ll help you get more exposure to people.

And here is how they explain the subscription options.

It’s called pennies a day to find love.

Pennies a day to find love!

Who can afford pennies a day for love?

Now, there’s no guesswork here.

I know exactly which subscription is going to be the lowest cost per day.

But it’s really important.

If you’re going to take it to this level, make sure that you’re still calling out the total purchase price because again, we want to be honest and clear with our language.

People are going to want to know what they expect to pay.

Don’t make them do the math in reverse, right?

Now, if your app is available worldwide, I want to make sure that you localize your currency because that’s a huge roadblock if you don’t.

So that’s what I mean about doing the math for people.

It can be so helpful in making that decision quickly.

Now, another thing that’s really helpful is showing fewer things.

It’s about quality, not about quantity.

Too many choices, you risk overwhelming people.

And I don’t know how many of you have heard of the paradox of choice.

It essentially means that the more choices that you have, the harder it is to make a decision.

And in fact, when you’ve too many choices, that choice overload, it stresses you out.

And what you, people wind up doing is avoiding making a decision altogether.

And you want people to make a decision to purchase something.

It’s kind of like if you’ve ever gone on to make a recipe and it calls for apples.

Maybe you’re making apple pie and so you got your list.

You go to the grocery store and then you’re faced with this.

Well, what kind of apples?

Is it Golden Delicious or Red Delicious or Fuji or Pink Lady or oh!

It’s too much!

It’s overwhelming!

Too many apples!

And this will result in you just abandoning that pie altogether.

You want to avoid that reaction in your app.

Too many choices becomes stressful and that’s going to result in people avoiding the purchase decision altogether.

So here is Match.

It’s a different dating application.

Again, loads of utility without subscription.

More than letting you test-drive the app.

They’re practically giving you an entire car.

You can fill out your profile, message people, a million ways of browsing including recommended partners.

They do offer some premium features though and one of the things is seeing who’s viewed me.

So tapping on that viewed me button brings up their subscription choices.

So they’re offering me that information at the time that I need it.

Now look, I’ve got 3 easy choices here.

They’ve even highlighted the one with the best value.

3 choices is an easy decision to make.

I don’t have to scroll through a long list of options or page through screen after screen with different subscription numbers on it.

Then I have to remember them in my head and try and figure it out.

That makes it hard.

Buying things shouldn’t be hard.

So fewer things all on one screen, no paging, no scrolling.

People want to be able to see all their options at once.

Now, if someone’s ready to make that decision to buy, they’re ready to press that buy button, you really want to execute on it as efficiently as possible.

I mean, have you ever gone to get a cup of coffee and then you’re faced with a long, slow-moving line?

And so, you’re just like, “Forget it.”

That’s what you don’t want to happen in your app or game.

Minimizing both the time and the number of steps that it takes to make a purchase keeps people really engaged in your app, not thinking about that purchasing process.

So this is Supernauts.

It’s a builder game that takes place in space.

It’s not quite out worldwide yet so stayed tuned very soon because you’re probably going to want to play it after this.

Now right now, I’m in the process of repairing my tiki hut.

As you can see, it’s a little pathetic at the moment.

I want to add some more timber but this is going to cost me 8 diamonds.

Now, I only have 1.

So what happens when I press that green button?

I can get some gems right here.

I don’t have to go anywhere.

I can stay right in that moment of tiki hut repair.

So in addition to clearly stating what I’m going to get, 200 gems for $4.99, they’re also reminding me why I’m seeing this in the first place.

I need 7 more.

I only have 1.

I needed 8.

And they’ve even selected the package of gems that’s closest to what I needed.

It happens that this is the smallest package of gems but then I can make a decision really quickly.

I mean, yes, they have a gem store and yes, it has many more options in it.

But taking me away from my tiki hut is more disruptive than letting me just stay put, stay focused on building because building is what I came here to do.

You never want to distract a game player from playing the game.

That’s the fun part.

Distracting them makes it easier for them to just walk away entirely.

Similarly, Candy Crush Saga handles this really well also.

You have those boosters at the beginning of every level and you have the option of purchasing them right here.

They’re not shipping me off to a candy store with a million different things to choose from.

It’s just, “Would you like this booster?

Here’s the price.

Buy it. Back in the game.”

Fast and efficient, right at the moment when I can use it.

Now another thing to think about is preloading images and data so it’s there when people need it.

This is the Bejeweled Blitz.

It’s another kind of match-3 puzzle game.

Now you earn coins as you’re playing and then you use the coins to buy rare gems which then help you to do better on the various puzzles.

Now every day, you can also get some free coins from this daily wheel.

Now you get 1 free spin per day but of course, you can buy some more spins, if you like.

And the wheel’s pretty generous.

So imagine that you’re excited and you’re like, “Okay, you know what?

I’m doing really good on the tournament this week.

I want to beat my friends.

Let me go get some more spins and see what happens.”

Well, what if you’re faced with this?

People don’t like waiting.

That’s like that long line at the coffee store.

You risk them not sticking around.

Now thankfully, Bejeweled Blitz doesn’t do this.

They load everything immediately.

What you want to do is to be aware of what people are likely to purchase based on where they are in your app or game.

And then you can look for times to thoughtfully preload it so that the data and the images are available should someone need it.

So this screen is only accessible from that wheel screen.

So this is a perfect opportunity to preload those images so then they’ll be available.

The images and data will be there when people seek it out.

And 1 final tip is you should cache artwork appropriately so it’s not going to have to load every single time if it doesn’t need to.

Now after lunch in this room, we have a great session about optimizing in-app purchases with StoreKit so I highly recommend you come back after lunch and check it out because there’s a lot of great tips for avoiding common pitfalls.

Now finally, what you can do to make the buying process easier on people is to inspire people.

Someone may not want something because they don’t know what the possibility of it is.

They don’t understand how a tool or a feature could help them or what they could achieve with them.

Now, I’m not saying that you want to turn everything into an advertising experience.

Again, we’re not trying to be pushy.

But there’s a lot of ways that you can really naturally illustrate how things can be used.

Paper by Fifty Three does this beautifully.

They’ve got this sample journal that the staff has made that shows off not only what the tools are capable of but also different ways they could be used.

You know, maybe you want a wireframe with it or maybe you want to make some artwork.

Now another thing they do well is give suggestive titles to the blank journals.

Maybe you hadn’t considered sketching or journaling with this app but now you’re going to.

And they also have a gallery of artwork created by people using the app, regular people.

And this gallery shows off the variety of styles that’s achievable, what you can do with the tools and also how the app can be used.

I mean, you can make some amazing artwork but you also might want to use it for architectural renderings.

And if that doesn’t get you inspired, maybe the idea of having your work featured here is very exciting.

So you’ve just got a plethora of ways that you can use the app and see what the tools are capable of.

Now again, with games, and with Supernauts does this very well, it’s kind of a different approach with the same idea.

So after you learn the basic game play with Supernauts, they reward you for visiting other people’s worlds.

Now like I said, this is a builder game so you’re working on building up your property.

And seeing how creative other people have been is super inspiring for your own place.

Now this is how you start off, pretty basic.

In the first 15 minutes, you’re going to get some real basic structures going.

And after a couple of hours, you might wind up with something like this or something like my tiki hut.

And when you get through a couple of hours, you think, “Okay, I know what’s going on.

I have an idea of what’s possible.”

But it’s only when you go to visit other people’s worlds do you really get a sense for what’s coming, for what can be created.

So check these out.

These are all real players.

This is not the Supernauts crew who created these.

Amazing, right?

I mean, my tiki hut is super lame by comparison.

[ Laughter ]

And now I’m excited.

Now I want to go in and add a dragon or you know, a rainbow or a flag or messages to my friends.

I mean, it makes, it gets you excited about spending more time building things.

You make something really cool and you can see what materials are still forthcoming.

So as you’re thinking about how to make the buying process easier, make sure that people can see what’s available with no effort.

Help people understand the value of what you’re offering.

Give them that test drive experience.

And then when it comes to the transaction, make sure that you can process on it fast and efficient.

And don’t forget to get people excited about what you’re offering.

But the story doesn’t end here.

Your job is not over just getting them to push the buy button.

There’s a lot of things that need to happen to complete the transaction in order to have it continue to be a really great experience.

The first of which is a new feature coming in the fall and Tim touched on this very briefly, but I’d like to spend a little more time because this is going to impact everyone and that’s Ask to Buy.

So in the fall, you’ll be able to associate up to 6 people in the household as a family.

And as part of this, we’re going to have a new parental control called Ask to Buy.

And if it’s enabled, this means that a parent is going to approve or decline any purchases that a child makes.

So it’s basically the equivalent of this.

“Can I have it?

Please, please, please?”

But it’s all going to happen through your devices.

So here’s how it works.

Today, when your app sends a request to purchase something, you’re going to get a response right back.

That purchased or failed.

Now with Ask to Buy, we’re going to check with the parent first if Ask to Buy is enabled.

So you’re going to send the request for purchasing.

The child’s going to ask for something.

And then the App Store is going to check with the parent.

So what does that mean to you?

During this time, you’re going to get a response back of deferred.

And then once the parent accepts or declines the request, that’s when the App Store will let you know whether it’s been purchased or failed.

And this deferred state can last for up to 24 hours while waiting for a response from the parent.

And if there’s no response within 24 hours, it’s going to default to failed and the child can request again.

So what does this mean from a design perspective?

Well, if you have modal situations where people are doing purchasing, you need to shift over to an asynchronous model.

Let’s say your game offers boosters at the beginning of a level and a child makes a request to buy one.

You don’t want that child stuck there waiting for up to 24 hours to hear whether they can have a booster for the next level, right?

I can guarantee you, they’re not going to stick around that long.

So what can you do?

Well, you have to figure what’s going to be best for your app or your game.

The important thing is that you let people keep using and enjoying your app during this time.

So if a child’s requested a booster, well you send the request off for the parent to approve but then you could let them play other levels or maybe they continue playing the level but without the booster and when that approval comes in, you bank it and let them use it at a different time.

Another thing that you want to think about is giving some sort of feedback inside of the application so that the child remembers that something is pending, that they’ve already asked Mom and Dad.

And so that you could update the label on the button to say something else or in the App Store, we show a message to help the child remember that it’s actually pending.

So if any people using your app are under 18, you need to start preparing for this now.

That deferred state is entirely new and you need to make sure you’re handling it well.

Make sure people can still continue to use your app or your game while that deferred state is happening.

And you want to make sure that if a response is pending, that they have some feedback there.

It’s really important to note that this isn’t just iOS 8.

So don’t think that waiting to update your app or game is going to get you out of this because it’s not going to.

The ability to create families is what’s coming with iOS 8 but this Ask to Buy permission is going to apply to older versions of iOS, Mac OS and Apple TV, so start preparing now.

Now, whether or not a transaction completes immediately or up to 24 hours later, you always want to confirm that that transaction is completed.

Let people know.

So at a minimum, help people find whatever they just bought.

Let them know that it’s available for use.

An example that you guys probably see all the time is the App Store.

So as soon as you confirm payment for an application, you see that the app starts to download.

You get that feedback that something’s happening.

Nothing’s gone wrong.

Your merchandise is being transferred to you.

And then you can open that app directly from the App Store.

You don’t have to go digging around all your home screens filled with apps to find it.

You can just start playing 3’s right there for hours.

Now, another thing to think about is if you have a game or a children’s app, something really fun, you can make this a fun experience by using sound and animation.

So this is Heads Up!

It’s a game that’s really popular with Ellen DeGeneres.

She plays it on her TV show all the time.

It’s a little bit like Charades.

It’s designed to play it with real people in real life.

Each of this deck of theme cards are topics that you then act out for your friends and try and guess.

Now they give you a couple of theme packs to get going to start playing.

But then they also offer a ton of other theme packs to enhance the experience.

So check out what happens when you buy one of these.

I happen to be into the 80’s one.

[ Music ]

So you get that sound and that animation that lets you know something has happened.

The purchase has gone through and then they animate back up to the top so you can see where your cards are and start playing right away.

Now confirming that the transaction is completed is especially important with Ask to Buy because your customer may not be at the same place where they were when they requested the transaction, right?

So if you had a comic app and say the child is browsing all the comics that are available, they request one and while they’re waiting for Mom or Dad to accept it, well then they go and read one of the issues they already have.

So you need to think about if that transaction completes, how are you going to let people know if it completes at a later time how you’re going to let people know where their merchandise is and how to find it.

Now no one wants to see Error Code 128, right?

It’s confusing.

It’s frustrating to someone and it can be a little alarming.

So you want to know your error codes and present information in a way that’s going to be meaningful to the people using your apps.

Not all errors may require a response.

You don’t have to tell your people everything.

Now if someone did cancel a transaction, let’s say that you’re using an app or game, you change your mind about something.

You cancel it.

Is this what you want to see?

This doesn’t make sense.

You may not need to notify people at all or you may just want to make this a little more customer friendly.

So the best experience, of course, is to avoid errors entirely.

So again, this afternoon’s session on optimizing StoreKit is going to have a ton of technical tips about avoiding errors and all those common pitfalls.

Now another thing that I see sometimes is that people tend to over ask for purchases.

You want to let folks get some enjoyment out of what they just bought before you start asking them to buy something again.

Again, don’t be this guy.

It’s like at Christmas, so you unwrap the toy and you’re all excited and then you realize, “Oh, it didn’t come with any batteries!”

It’s disappointing right?

I mean, you just took something that was a really joyous occasion and turned it into a frustrating experience for people.

So make sure that when someone buys something, they can use what they just bought.

Give them that satisfaction.

They shouldn’t have to make a subsequent purchase in order to enjoy it.

And then like I said earlier, less is more.

You want to prioritize the remaining purchases.

Help people focus on what’s still available to them.

If there’s things they can’t buy, do prioritize that in the UI, especially with nonconsumables.

There is no need to keep showing people something that they’ve already bought.

They already own it.

Now in some cases, it may not make sense to hide items that have already been purchased but just don’t let them be the star of the show.

And I think you’re all aware that it’s very important that you let people restore their purchases that they’ve made previously.

They could have made it on another device or they got a new piece of hardware and it’s important that they can retrieve what they’ve already bought.

This is “Brooklyn Magazine” and they make it super easy.

If you already have a subscription, well here’s where to go to start that restore process.

But they took it one step further.

So if you were to tap on one of these subscription options, you get the confirmation to subscribe just like you would expect.

But if you hit Cancel, they ask if you’re already a subscriber.

And that’s because there’s basically 2 reasons why you might cancel subscription confirmation.

One is if you changed your mind about subscribing, of course.

And that’s a much bigger problem for them to tackle.

But the other is if you already had a subscription.

So in this case, they’re helping get you back on track.

Now you all know it’s an App Store requirement to make restoring available.

But a great experience is going to make it easy.

All right, so one last tip in this section.

And this is about notifications.

You want to use them thoughtfully and this applies to push notifications as well as local notifications.

Now you’re not going to have to notify children about Ask to Buy, purchases completing because the App Store is going to handle that for you.

But you do want to use notifications to let people know about new content for a subscription or maybe in those dating apps, they could let me know if I have new recommended matches.

Circa does a great job with their notifications.

They serve up bite-sized news articles and they give you updates as it’s happening.

Now they’re only going to send notification if it’s an article that I explicitly followed or if it’s something that they consider breaking news.

And they’re very choosy about what they consider breaking news.

Now this is not breaking news.

This is what I followed earlier.

Swiping on that notification takes you directly to the article so you can read all about it.

So they’ve made it really easy for me to return to the content.

So you want to be really thoughtful about the kind and the number of notifications that you’re sending because too many notifications is just going to annoy everybody.

And not only do you risk them turning off notifications entirely, they might just wind up deleting your app, if they get tired of all the notifications.

That’s not the experience that we’re after, right?

You want thoughtful notifications that will keep people coming back and make the app feel more valuable because suddenly there’s new content there.

Okay, so make sure that you consider these things after your customer’s pressed the buy button.

Completing the transaction is super important.

Which brings us to the final sort of stage of a great experience with in-app purchases and that’s measuring and refining.

With all good design, it’s so important to iterate, you want to measure the success and quite frankly, the failures of what you tried.

See how that has an effect on things and then make changes based on those.

I mean, that all the things that I mentioned today are going to work for all product types and all audiences.

So the more that you really fine tune your approach, the better, the more effective it’s going to be.

So here are some questions that you can ask yourself about the changes that you made to help determine whether they were successful.

So when were the changes made and what were they?

Super important, you want to make a detailed note about exactly when you made changes and all the things that you updated so you have something to measure against later.

You also want to think about how has the number of changes, how has the number of purchases changed?

Hopefully they’ve gone up, right?

And are different things being purchased from different places in the application as a result of integrating your merchandise?

Are you selling higher value items?

And what’s the average revenue per device?

And this is going to be really easy to see in the fall with the new iTunes Connect because we have a ton of app analytics coming for you all for free.

And this helps you learn whether or not a marketing campaign was worth it.

If you invested a certain amount of money per device and you’re not seeing that revenue come back in, well, that campaign’s not going to be a good investment for you.

And finally, keep an eye out.

Are people returning more frequently?

Because if they are, that’s an indication that you have a really great experience, that the quality of the experience has gone up.

So I hope that you guys will take at least one of the design tips that I gave you today and implement it in your app or game and then see how it affects the overall experience.

Because I think you’re going to be really happy with the results.

And I would like to hear how it goes.

This is my email address.

So let me know.

Let me know what you changed.

Let me know the effects that it’s having on your sales.

And if you would like more design advice, we have tons of it at Designing Great Apps up at

And if you don’t all have a copy of the Human Interface Guidelines, it’s a great resource, a lot of good tips.

It’s available on the iBooks Store now.

So here are all the related sessions you might want to see.

Ingredients of Great Games was yesterday and that talks about how to have a really great gaming experience.

And so the video should be available online and you can watch it.

And just before the session was the new iTunes Connect which had all the information about app analytics.

So look for that video to be out later today.

And then we have our Optimizing In-App Purchases later today in this room, tons of great technical tips.

And there’s a prototyping session tomorrow morning that’s going to tell you all about how to quickly iterate and test out the value and it’s a great session to figure out how to quickly test things out that you might want to integrate into your app.

And finally, on Friday, come to Preventing Unauthorized Purchases with Receipts because you’re offering really valuable things and we only want you to be giving them to people who’ve paid for them.

So it’s going to be a very detailed technical heavy session that you’ll want to check out.

So thanks so much everybody!

Enjoy the rest of the conference.

[ Applause ]

Apple, Inc. AAPL
1 Infinite Loop Cupertino CA 95014 US