App Services • iOS • 41:45
Newsstand is the best way to provide periodical content to iOS users. With automatic background downloading, integration with auto-renewable subscriptions and simple content management users love the apps on their Newsstand shelves. Gain insights into best practices for building a great Newsstand application and learn how to avoid some of the common pitfalls.
Speakers: Karl Good, Aubrey Ness, Ben Nielsen
Unlisted on Apple Developer site
Downloads from Apple
Transcript
This transcript was generated using Whisper, it has known transcription errors. We are working on an improved version.
Hi. Good afternoon. So my name is Ben Nielsen. I work on iOS applications, applications and frameworks. I'd like to welcome you to session 307. We're building great Newsstand apps. Yeah, so Newsstand has had a lot of success this last year. And I'd really like to just first off thank you all for all of the hard work that you've done to really make some great content and bring it to iOS, and really make it an enjoyable experience for users.
So what are we going to talk about today? Well, to clarify the purpose, we're not actually covering any new API. What we're going to be talking about is a lot of best practices, possible pitfalls. There are a couple of behavioral changes in the system to work out some issues that you've told us you've had.
But mostly we're going to be talking about issues that your peers have had and what they and us, what we have done to help with that. So we're going to approach this from three very different standpoints. The first is we're going to talk about it from kind of a business standpoint.
When we're making our Newsstand apps, what are the things we need to consider to make a really great Newsstand app? And then after we talk about that, we're going to approach it from more of an operations logistics standpoint, especially talking about iTunes Connect and all of the things you need to set up there.
And then finally we're going to approach it from a Newsstand kit and other related APIs perspective and some of the issues we've seen there. So with that, I'd like to invite Carl Good up here to tell us what it takes to make a great Newsstand app. Thanks, Ben.
So since Newsstand launched, I've had the privilege of working with many, many publishers worldwide to help them bring their content to Newsstand. And during this time, I think I've learned some key elements that really contribute to making a great Newsstand app, and some that also have the opposite effect. So I'd like to share some of these with you today, and I call these elements of great Newsstand apps.
So first up, Retina Display. Text and graphics have never looked so crisp and clear as they do today on a Retina Display. If you have a Newsstand app that is live in the App Store that doesn't yet support the Retina Display or has optimized content for Retina Display, you're doing a disservice to your users. Your users are disadvantaged and I would really urge you to support Retina as soon as you can.
Great Newsstand Apps package high resolution assets to support the Retina Display. Downloading content in the background. So another fantastic feature of Newsstand is the ability for you as a publisher to push content in the background to your Newsstand application. This provides a fantastic user experience. From the user's perspective, they can go into your application and the moment they go in, there's content ready for them there to consume. But think for a moment. What if you haven't yet implemented background downloads as a feature in your application? Think of the user experience that that user is going to have if, for instance, they're on the tube.
Sorry, subway. Or if they got on a plane. And they go to your application, they open it up, and they look for some content to consume. And there's nothing there. What do you think they will think of you as a developer or you as a publisher? I actually think they're going to be pretty disappointed. Great Newsstand apps. Download new issues in the background. And I would urge you all to implement this functionality.
Another key thing for you to think about is offering potential subscribers the opportunity to experience the content in your publication. And again, the key word here is potential subscribers. And I don't just mean showing them the cover. I don't just mean giving them one or two pages of content, but giving them something substantial that they can consume that will help take them on the journey to make that subscription decision and sign up to subscribe to your content.
Free trial periods are a fantastic piece of functionality that exists in our platform and offer you as a developer and a publisher the ability to offer a free period of subscription of your choosing. It's under your control to potential subscribers. And from the potential subscribers' perspective, this is also a great experience for them. They get to try out some of that content with no price or risk to them. Great Newsstand Apps offer free trial period to subscribers.
Also think about how you deliver your content to your consumer. The reader of your application doesn't want to be forced to consume content in the way you want them to. They're used to consuming content in the way that they like to consume content. So a key thing for you to consider is not just forcing portrait mode or landscape mode. Great news stand up support both portrait and landscape orientations.
Accessibility. Everybody forgets about accessibility. And actually you're forgetting about a huge potential new audience to your content who aren't accessing it because they can't and you haven't made it available to them. Think about some of the cool iOS technologies we have. Things like voiceover that really can help bring that content to that new audience. The ability to dictate out loud using voiceover text content within your application is a phenomenal opportunity for you.
Also think about some of the other things that users have become used to using in applications. Things like the dictionary, the ability to look up a word and understand its context, the way in which it's being used. These are system features and services that are available to you to use in your news stand up. And we would urge you to do so.
Great news stand apps are accessible and make the most of iOS technologies and system services. Subscription terms. This is something too where I see developers get it wrong. And they offer very complex solutions. Complex subscription terms that are difficult for the user to understand what exactly it is that they're signing up to.
Think about making very clear, concise and to the point subscription terms that are easy for that user to understand. Great Newsstand apps offer clear subscription terms. Again, think about those subscription offers. Don't confuse and bamboozle the user with a myriad of different subscription packages. Make it relevant to them.
Think of one or two, maybe a few different subscription packages that work with the business model that you have for your Newsstand application. It's important that the user really understands the value of that subscription and they feel as though they're getting their money's worth for the product that they're subscribing to. Great Newsstand apps are simple, reasonably priced subscription options.
Don't bloat your application. This is something people get wrong all the time. They push as much content as they can into the Newsstand application. Think also about video. If you've got a lot of video content in your application, make sure you optimize it. Better still, if you can stream some of it online, stream it online versus bundling. Think about using system fonts.
Don't include extra fonts and baggage in your Newsstand edition if you don't need to. Think about images too. Make sure you compress them, but be careful when you compress. Also think about quality, and there's a fine line between compression and the quality that you want within your application. Great Newsstand apps are not bloated.
Also think about the experience that the user has when they're navigating through the content in your digital publication. A common problem with a lot of digital publications today is giving the user a sense of perspective in terms of where they are in the application. Where have they been? Where are they now? And where can they go to? If you think about the print world, they've addressed this for hundreds of years using things like page numbers or perhaps highlighting a particular segment or section in a magazine or paper. Now, we're not specifically asking you to replicate these types of features, but just to be cognizant of the fact that your user is navigating through a lot of content that it's not always easy for them to find out where they are.
Perhaps think of a visual cue or even an audible cue that will help them navigate through that content and again understand where they've been, where they are, and where they can go to. Great Newsstand apps telegraph a sense of place in a publication. And finally, many Newsstand apps offer what we call evergreen content.
Now, evergreen content is content that isn't just consumed once by that user, but it's something they want to go back and reference. So think, for instance, maybe a food magazine with a recipe, something that user is going to want to go back to and refer to, perhaps to cook a meal in the future.
Maybe it's a men's health magazine. Some sports routine that you wish to go back and repeat. Think of ways that you can help the consumer bookmark that content, create reference points that they can come back to and easily find the content. Even think about clipping the content, letting the user take that content and put it into another application.
Great Newsstand apps give users the ability to clip or bookmark content. So I'm going to hand you over to Aubrey Ness, and I think as Ben mentioned, Aubrey's going to talk about iTunes Connect and some best practices in this area. I think we're going to talk about some best practices in terms of managing your Newsstand content once it's uploaded to iTunes. Aubrey. Hi, everyone. Thanks, Karl. So now that you've learned a little bit about how to build a great Newsstand app, let's talk about what you do in iTunes Connect to get it onto the App Store.
I'm going to cover four areas. First, we're going to talk about the setup. So exactly what you need to do in iTunes Connect to get everything set up correctly, set up your subscription and then your subsequent issues for Newsstand. Then I'm going to walk through some automation. We know that your time is important to you. We want to give you as many tips as we can to help automate and save you some time.
Then you're ready to go. You're ready to submit. So I'm going to cover a little bit about submission. And then how does this all impact the app store at the end of the day? Customers are what you're looking to gain. So we want to make sure you understand everything you set up in iTunes Connect, how it ultimately shows up on the app store.
So let's talk about setup. Now, I've been working on iTunes Connect since the launch of the App Store. And one of the number one questions we get about subscriptions are what is a family? What does this mean when I set this up in iTunes Connect? So the best way to describe the family is it's the best way to stay organized for your subscription. As you know, as a Newsstand app developer, you have to have at least one auto-renewable subscription or free subscription to be eligible for Newsstand. So you're setting these up in iTunes Connect.
You want to stay organized. I'm just going to walk you through a little bit of an example to highlight how this works and how this ultimately ends up to show up for the customer. So I have my app. And I'm going to highlight Bon Appetit magazine. And I want to set up a subscription family for Bon Appetit. I want to offer different durations of subscriptions for my Newsstand app. So I'm going to go ahead and name it Bon Appetit Subscription.
From there, I've set up two different durations for my auto-renewable subscription. One month and one year. This means that my customers can subscribe to a one-month offering of Bon Appetit or a one-year offering. Now, let's say I want to add a six-month duration. Well, I'm just going to add it to the same family because all of the same content for your app should live within one family. It's actually very rare to have two families for one app. And I'll show you why.
It's going to look like this. You can see Aubrey's Magazine. This is when I duplicated a family in iTunes Connect. Makes it a little bit confusing. Which one do I click on? Which one do I subscribe to? So we want to make sure you avoid that based on how you set this up.
Now, just to walk through managing your in-app purchases and setting up a subscription, click on Manage In-App Purchases. You can see I've just learned I should probably use an existing family. This is Bon Appetit magazine. So I'm going to choose to add my in-app purchase to the existing family because I want to set up that six-month duration we just talked about.
So you can see my existing one month and one year here. And I go ahead and add my language. And I fill everything out. Fill out my price, set up my product ID, everything I want for that six-month duration, all part of the same family. Ultimately going to result in the best experience for your customer. We've seen the common pitfall of setting up multiple families, so we really wanted to drive this one home today for you.
So now I've set up my subscription. That's not the end of it. We want you to set up issues. And this is really the spirit of Newsstand. It's an opportunity to showcase metadata for your different issues on the store to your customer. It keeps it interesting. It keeps it fresh.
One of the first things you're going to need to do, if you're distributing on the App Store, you're probably familiar with this page. It's actually your version details page of your app. And for Vogue magazine, I need to set up my default cover art. And the reason why this is important is because we always need some sort of art to fall back on on the App Store in case you don't have a current issue that's active.
Default cover art is really important to have a very generic kind of feel. And that's because you have individual issue art that you're also adding that's more specific to that exact issue. The default cover art is going to represent your brand. As you can see here with Vogue magazine, we just have a nice picture. There's no specific wording.
and just to highlight some great examples of default cover art, House and Garden does a good job here with their standard cover art. Very basic and generic compared to their issue art which is exactly very specific to the issue they want to offer. GQ also does a great job at this. Very generic picture of a celebrity. Not sure who that guy is actually at the moment. Michael Fassbender, new issue. Got all of the specific information for that issue.
Before we walk through how to set this up, I want to emphasize to you we're going to be making a change soon where we are requiring 1024 high res icon art for your issues. So we want to make sure the next time you're in iTunes Connect, go ahead and update those to the high res. We want to support our new iPad users and the 1024 art looks great on the iPad. So we are going to be requiring that very soon. So let's walk through how to set up an issue.
Click on my Newsstand icon. You can see that I have all issues that are currently set up for Vogue magazine. I want to go ahead and add an issue, so I'm going to click that. I'm going to walk through each step here. Publish date is going to be the date that the issue first shows up on the app store to your customers.
The end date is optional because you can run an issue for as long as you want. You don't necessarily need to put one in there. If you do, it will end on that date and it will actually go back to your default cover art or will start your next issue. Issue ID, very important to Newsstand kit for your coding, so you got to make sure this is right when you set this up so you can call to that correctly.
Your summary, it's exactly that. What's the summary of the specific issue? So what are your customers going to be getting? What are they going to see on the store? How are you going to get them to subscribe to that issue? And then the individual issue art, very specific to what is inside that issue.
So now I'm all set up, and you can see I have a nice little active button here. So we want to show you that this current issue is actually the one that's on the store. Anything that's not active will actually go into a previous issues button, and you can check it out later if you want to catalog that.
So you might be thinking that that's kind of a lot of steps to create every issue. So how can we automate? One of the great things about Newsstand is we offer you an Atom feed for issue management. It allows you to host your web content for your issues, all of your art and your metadata, set up a feed with us, and you can actually just prepare in advance. We have a technical specification of all the XML on iTunes Connect for your download. And you're going to enter this information here. We'll validate that the URL is active. and you're good to go.
And just stepping back to that issue I set up, all of these individual steps, Over and over and over. Don't need to worry about that with the Atom feed. You can see my Spin magazine. I've set up all my issues in advance. Even if they change or the content changes, you can update that. It's great. We actually pull in the issues every 24 hours so you can keep it updated.
So you've set up your issues, you've set up your subscriptions, and now you're all ready to submit. Well, the good news about Newsstand is that you can update all the issue metadata at any time in iTunes Connect, we're not requiring a new binary for every upload, it's something that we're making it flexible for you because we understand that things change, and we find that with Newsstand developers they tend to be updating their content a lot more than a lot of other developers. But the one thing we need to remember here is that once you're live in Newsstand, you're always in Newsstand.
We don't mean this to be scary. It's really just to keep you motivated that once your app is live in the springboard in Newsstand, it's the best experience for your customer to have you remain in that springboard. You can imagine if you wake up in the morning and you're going to read your magazine and it's gone out of your springboard. So we want to make sure that the customers are going to know exactly where your content is, and that's the reason behind this. Thank you.
Now, how does this all relate to the App Store? So another great benefit of Newsstand, and this is really exclusive to Newsstand, is your coverage that you're going to gain on the App Store as a Newsstand app. And this works because your primary category you're setting up, just like you would any other app, it's your choice, relevant to the content of your publication.
But then what we do is we assign Newsstand as a secondary category. So what this does is it allows you to show up in multiple places on the store. We also introduced Newsstand subcategories very recently, so you can further subcategorize what your Newsstand app is. And this, again, will get you two times the coverage.
It's pretty amazing because you can actually chart in both the Newsstand section of the App Store and, let's say, the lifestyle section. It's a great benefit for Newsstand developers, and we really want you to take advantage of that. And going back again to my Vogue issue we set up, this is exactly how I entered in iTunes Connect. It's one-to-one. Everything you type in and save is going to show up exactly on the App Store.
So just to run a little bit of a comparison between normal subscriptions, so maybe you're using subscription now but you're not using Newsstand, and then Newsstand subscriptions. Karl talked a little bit about background downloading and how great that is, one of the great features of Newsstand. We now introduce the Atom feed.
We introduced individual issue metadata, an opportunity to showcase up-to-date information about your issues. And then custom cover art, beautiful art variations you can have if you have a newspaper or a magazine. We offer all of these different customized cover art options for you. Well, let's take a look at background downloading. Not currently available for regular subscriptions that are not using Newsstand. However, it's available for Newsstand subscriptions. The Atom feed, also available currently only to Newsstand apps.
Individual issue metadata, not something that we offer for regular subscriptions. Newsstand subscriptions definitely can. And customized cover art, not available for regular subscriptions. Starting to see a pattern here. Newsstand and subscriptions really are better together. If you have a periodical and you are not using Newsstand, you definitely should be. It's going to get you leaps ahead of other developers on the store.
And just to summarize best practices, go ahead and automate using the Atom feed. Once in Newsstand, always in Newsstand. And double your app store coverage. Let us do that for you. Take advantage of it with Newsstand. And with that, I'd like to bring up Ben Nielsen again to talk about Newsstand KIPP best practices. Thank you.
Thanks. All right, so we've had a little of the business, business ideas that go into making Newsstand apps, a little more of the logistics. Now let's get down into some of the API. Specifically, Newsstand Kit and the APIs that are related to it. So in this section, we're going to cover three different aspects. The first one's going to be push notifications. Everything starts with a push notification. This is how the app knows that there's new content available.
So this is one of the most important parts. Or rather, this is really where it all starts. And so it's really important because of that. But then we're going to talk about background downloadings. And background downloading is really the heart of Newsstand. As both Karl and Aubrey mentioned, this is what sets you apart from any other app on the App Store.
[Transcript missing]
So let's see how this works. To go back to our example here, the first one is when you sent and that's kind of when you target. So the next two markers, the green ones, depict when you would expect to be sending the next two days. So you couldn't actually send that time and you sent a little late on one day and a little early on the next. Well, in iOS 5, this wouldn't work well, right? You'd throttle that third day.
But in iOS 6, you're just fine because you're no more than four hours before or after your regular time, your target time. But it's interesting because these are, in fact, only 16 hours apart and, in fact, happen on the same logical day. That's just fine. As long as you can keep this idea in mind, your push will get through. So that's one benefit with iOS 6 to help with this issue. But it is important to realize that this still averages out to be one Newsstand push notification. So that's one benefit with iOS 6 to help with this issue.
But we also, in 5.1, we encountered a situation where we realized maybe we need to adjust what actually triggers the start and the end times of these throttling windows. So in iOS 5.1, it was actually triggered by the receive time of the push on the device itself. This was a little problematic because what happens when the device was off, right, or when it was out of range? Well, let's go back to my handy little timeline here. So let's say on the first white dot, you actually sent and it was received on the device and everything worked great. The second one, you sent right on time. Everything was great, but the device was off.
And they turned it back on a couple of hours later and they got the notification, you know, downloaded the content, everything's great there, but, well, we've got the same problem we did before. You know, that third day got throttled when it was on and it could have gotten that notification, but it thought that it was too recent.
So, again, this ends up throttling the next day. But it's actually a little bit worse than the first problem. It's worse because the throttling window varies very widely on all these different devices. You send on time, you thought, but you weren't sure when they were going to get it. And any particular device could be very different.
So this makes debugging a real headache. So in iOS 6 we wanted to address this as well. So what we do is we're actually recording the time stamp that the push notification service had when it got your notification. And we send that down along with the notification to the device and the device can use that for its throttling decisions.
So hopefully this will make it consistent across all of your users' devices and it's going to get rid of the intermittent connectivity problem because it doesn't matter when they get it, it matters when you sent it. This should make it very consistent. You should know when you sent it that everything's going to work fine.
Okay, so let's, those are some of the changes that we made to make push throttling work a little bit better for you. Let's talk about some of the pitfalls that you've run into. The first is to remember that the push notification service is not a store and forward service. It will store the last notification if the device is not reachable, but only the last one.
This means that it's easy to stomp a content notification with some other type of notification. So what's the rationale behind this? Well, some people have thought, well, I don't know if the notification is going to get throttled, the push notification, the Newsstand notification is going to get throttled.
So I'm going to send that and then I'm going to immediately turn around and send another one. And this is going to have an alert to let the user know that new content should be downloading. The problem is you just throttled yourself. That device wasn't immediately reachable. Now they're not going to get it. They're just going to get the alert.
So the solution is there's no reason you can't combine the two. You can mark your push notification with the content available keyword that lets us know that it's a Newsstand notification. But you can also include the other alert keywords. And what will happen, that push notification comes in. We see it's a Newsstand notification. We say, do we need to throttle this? If we say no, we're going to launch your app, deliver you the notification, and it's not going to be processed by any other subsystem.
But you will, since your app is running, have access to any of the normal APIs to interact with the user if you need to. But what becomes interesting is if it does decide it has to throttle that notification, it's going to route it to Notification Center. And Notification Center is going to roll a banner or pop a modal alert or play a sound or badge the icon. Any of the normal things that Notification Center does, it will do with that notification. So this can be a really elegant way of solving this problem if you find you need to interact with the user more directly.
But like I said, most of that I think you'll find won't be necessary with the other changes that we've made. So, other pitfalls. You really need to adopt Newsstand completely. It's really designed to work well as a cohesive unit. So what do I mean by this? Well, there are kind of two things you need to do. You need to support multitasking.
To get a content notification in the background or to do background downloading, you need to tell us that you support those types of functionalities. And you do that by adding the Newsstand content key to your UI background modes array in your Info.plist. This enables both of those functionalities. But there's a second piece that, you know, this first piece most of you get.
But the second piece we've seen some confusion over. And that's you really need to register for the push notification type. Even if you don't actually use push notifications, and I'll explain why. But to do this, it's really easy. In your application to finish launching, you just register for remote types. It's just an API call. And you pass in this type.
Bit wise or with any of the other types that you use. Why is this so important? Well, background downloads are only helpful if you can actually kick them off, right? Otherwise, there's no real point to them. But more than that, the user needs a way of telling the application, you know, I actually, I don't know, I've got data concerns, I've got something, I don't want you to download in the background.
That's a valid thing for them to be able to say. And so the push notification type is actually what we key off of to know if you're allowed to do that. To give the user that choice. Which means if you don't register for that type, your background downloading is automatically turned off. So it's a good idea to do this.
But to clarify what this means, the background downloading facility, the APIs that do the background downloading, they are still available even if the user turns it off. You can use them just fine. But what it means is that when your app is not running, you won't be downloading. But while your app is from most, you'll get full access to all of the the NSURail connection resources.
Okay. So, Just two other quick points before we move on to background downloading. That is debugging. We have gotten a lot of questions about, how do I know if my push notification got to the device? Some simple solution that's not foolproof but it works fairly well, is you can just correlate a unique identifier with that push notification, send it down in your payload to the device, and then when your app gets the push notification, you can just ping that back to the server as well as with information on whether or not the push type was enabled.
You can see how quickly the devices respond to this, people have them off at certain times, or if they just turned off your downloading facility, your push notification facility completely. This can give you an idea of how well this is working for you and what your customers are thinking about this.
Also, don't forget, there is a -- there is a user default that you set in your app that will allow -- that will turn off the push throttling for your developer devices so you can practice as much as you want and really perfect things. It's kind of long, so I'll just point you to it here, but you just set -- using NS user default, set Boolean true or yes for key to that key, and then that will turn off the throttling for your app. Okay, so now let's switch over to background downloads. And again, to reiterate, the key is just do it. This is an important part of Newsstand. This is really the power of what Newsstand brings you and brings to your users.
But possible pitfalls regarding this is you have to realize that not all NSURL connections are created equal, even though that's the facility that we use, it's not the normal run of the mill one. For example, you can get an NSURL connection object that will start up an Internet connection, download or network connection, download whatever content there is using NSURL connection, connection with request.
However, this is very, very different than NKS at download, download with delegate. Even though they look very similar, the first one is completely in process. It's your app running it. Your app has to be alive and kicking. The run loop has to be turning in order for this one to work. Whereas the second one is really just a thin wrapper into the system.
We really gave you a hook into the system's downloading facility. And so even when your app stops, it terminates, it does whatever, we keep downloading it. So they're not the same thing. So you really need to be using the Newsstand Kit API to do background downloading. And as I said, this isn't just background downloading.
It works for, you know, even when background downloading is turned off, it will still download while your app is alive. So there's really no loss to functionality by using NKS at download over an NSURL connection, as opposed to NSURL connection. But like I said, don't forget to register the push type since this gates that facility. Okay.
When thinking about background downloading, it's really important to remember that you need to make your content easy to deliver. If you've got 18,000 HTML files and images and CSS files or PDFs or whatever they may be, if you've got lots and lots and lots of them, this can be pretty problematic.
Because the more connections that you have that you fire off, the more room there is for error and the more room there is for delay. It can add a significant overhead to the system. And the intermittent nature of the cellular connectivity and device coming and going and all that can really make this much, much worse. So we suggest you keep the file count low.
And that is we keep the file count low while you're transmitting it. Package it up, zip it up, do whatever, make some type of archive for your transmission and then unpackage it and put it wherever and put it in the proper location once it gets onto the device. This can really give you a nice, performance boost, especially if there are a lot of, if the system is under heavy load and a lot of new stand kit apps working.
Okay, so let's talk about the Newsstand repository. With iOS 5.0, we introduced with Newsstand Kit a managed repository for all of your content. Now, this is a really big deal because it's not getting backed up. And this is a very, very good thing. And we're going to talk about this more in a second. But the idea is that you should put all the content for your issues in the issue location specified in the repository.
So you can download them with the Newsstand Kit API. That's going to take and download them to a temporary location. You can take, unpackage them, and then move them all into this particular location. And you're going to find this is going to give you a really good user experience for a bunch of different reasons. But let's talk about the first one.
You know, why is it good for it not to be backed up? Well, say you put it in some other place, like the documents directory, that backs up to iCloud. And more than that, it's not just that it backs up to iCloud, but it's also that it's a very good way to back up your issues. It's always there. Which means it can take up a lot of room on disk.
It's really easy to fill up a user's partition with lots and lots of issues. And it doesn't ever go away. And then, of course, when that backs up to iCloud, you've completely overrun their iCloud backup space. And now the user isn't very happy with you. So it's not a good idea to put it in one of these types of locations. More than that, it can significantly increase the time it takes to back up that data.
And it can significantly increase the amount of bandwidth to back that up. So if they hit backup because they're about to swap phones somewhere, you know, for whatever reason, they're on a cell connection, you could cause them to completely eat up through their data allotment. So this isn't a very good idea either. And, of course, all of that does have a battery cost. Hopefully, they're plugged in. But if they're not plugged in, you just cost them a lot of time, a lot of battery.
So it's a good idea to follow the iOS data storage guidelines. You can find them on developer.apple.com. Keep in mind this is something that AppReview is looking at, so if you're a big offender here, they just may not approve your app. So important thing to remember. So talking about disk space.
So what's the solution? Letting Newsstand manage the repository for you allows the system to free up space when the user wants to download another issue, a newer issue. Or when the user wants to take a picture, you know, or the user wants to download a new app. Whatever they're wanting to do, they expect that to work. And this allows NewsstandKit to help keep the user happy in that regard.
And you can help us do a better job of this by giving us certain information. You can tell us what issue is the most important to your user so that we can prioritize this over others. You can also, by supplying the date parameter, this allows us to see what are the most important issues.
What are they most likely going to be wanting? Therefore, we can do a smart job of trying to keep these things for you so that you don't have to manage it and, most importantly, the user doesn't have to manage it. Because, like we said, bandwidth and cloud storage are not free.
Should they run into a problem, they can see that your app is causing an issue for them. They're going to see that in settings. And then if you make them go and manage it themselves, the most likely outcome is they're going to be able to manage it themselves. The most likely outcome is they're going to be, "It's not worth it. Delete." Which is just the worst experience for everybody involved.
So we really don't want that. But, of course, if these issues can be evicted from the system, users are going to want to be able to go back and see whatever issues that they've previously purchased. So you should allow them to re-download that content. You really should think of this as a cache. Think of this as a cache, an on-device cache.
and really those are the main points for Newsstand Kit. So in summary, remember, don't stop your push notifications. Use NK asset download to do all of your background downloading and really do background downloading. This is a great feature. Package things up for an efficient transfer and keep your files in the repository so we can make the best user experience possible so that they are more happy with your app so that they don't have to manually go in and manage things.
Okay, and that's really it for Newsstand Kit best practices. We have Paul Marcos is our app services evangelist. He'd love to hear from you if you have problems or if you've got some feedback. We'd love to hear that. There's some really good documentation up on developer.apple.com and I'd like to single out the Atom feed again. Really great resource for automation to make your lives much simpler. The data storage guidelines, of course.
We have some sessions, some past and some upcoming that you'll probably be interested in. Some iTunes store accessibility, of course. Also, Aubrey will be delivering an iTunes Connect for app developers session immediately after this one if you want to follow her on over. And subscriptions. And with that, I'd like to thank you all for coming. It's been a pleasure. Thank you.