App Store Review Guidelines with Paweł Madej

App Store Review Guidelines with Paweł Madej

In this episode, Leo chats with Paweł Madej, pharmacist turned iOS developer on his learning experience and what pitfalls devs should know about App Store reviews. We talk about what he learned during the submission process of his app CodeConf, as well as the major App Store stories of the year: Hey, Wordpress, xCloud and of course Fortnite.

Guest

Related Episodes

Related Links

Sponsors

AppFigures
The tools you need to monitor, optimize, and get more downloads.

If you want your app to succeed, there's never been a better time to read up on App Store Optimization and Appfigures provides that for you. 
  • One of the most known conferences about Apple platforms development is going remote this year! 
  • NSSpain 2020 is an online, continuous 36 hours conference, carefully crafted by the community for the community.
  • Guests of the show Paul Hudson and Donny Wals will be speaking as well as others
Go to NSSpain.com and use promo code empowerapps to get 10% off

Also speaking at...

Pharmacist to iOS Dev

  • Learning Resources
  • Challenges with Documentation
  • Making CodeConf for Conference Videos
  • Using CoreML for CodeConf Subscriptions Bonus Clip
  • Building the Twitter Text Library Bonus Clip

Getting into the App Store

Other App Store Tips

  • Avoid Bugs!
  • TestFlight Reviews vs App Store Review
  • You can be rejected later!

Social Media

Credits

Transcription

Leo Dion (Host): Thank you for joining me for another episode EmpowerApps. I'm your  host, Leo Dion. Today we have with us.  how you doing? Hello? 

[00:00:12] Paweł Madej (guest): I'm fine. Thank you. 

[00:00:14] Leo Dion (Host): Thank you so much for coming on the show. Really glad to have you 

[00:00:17] Paweł Madej (guest): on. 

[00:00:18] I'm also really happy to talk with you today. 

[00:00:22] Leo Dion (Host): I'll look, go ahead and let you introduce yourself.

[00:00:25] Paweł Madej (guest): Well, I'm pharmacists almost former pharmacists, because last time I found my iOS dev job and I am also making apps for app store for myself. I'm the developer, but for the last one, 13 years, I was working in pharmacy. 

[00:00:52] Leo Dion (Host): That's such a great story. How, what got you interested in doing, getting into iOS development?

[00:00:59] Paweł Madej (guest): I was looking for mobile development in three years ago and I have a background on web development. I was programming in PHP sometime ago and also some Linux administration. So it was my hope before. All my life, I think. And after awhile I started interesting in developing mobile apps. I tried for very short periods, how to develop for Android, but I found it hard for me to learn and understand it.

[00:01:39] And after. Some break. I got my iPhone burrowed and tried the iOS, how it works, how it looks and how it feels. And I liked it very much. And then my interests on iOS started, I have bought a few books. I watched the Stanford course online and then decided to that I will try to learn and make up at the same time.

[00:02:08] So this was first quarter of 19 year. So I'm year and a half in business now. 

[00:02:18] Leo Dion (Host): Congratulations. That's fantastic. I'm really happy for you. What did you find to be the best resources in order to get you started with iOS development? 

[00:02:33] Paweł Madej (guest): Well, at first I was looking for some reading. So blog posts but I bought also some books and with following a book.

[00:02:47] You have to think as an outer of a book. And for me, this was a little hard because I got some idea what I wanted to do. But the outer follows some idea, which he has. So this was hard for me at start to transfer this idea from the book to the idea I want to. Use and make some progress. So I started looking for ideas on the web and not the full flow, for example, how to make from a, to B to C, to C, but just the tracks.

[00:03:28] And this is how my first app start, that I have some problem to resolve and I looked for solutions. So not the learning. With following your pages of the book. And this one was StackOverflow, the blog posts. But I found also that at some point that conferences from around the world are also helping me.

[00:03:58] That I watch some idea and someone explains it in the short period of time, but it's quite to the point. So you can just use this examples or this idea and resolve your problem. So this was also learning path for me. 

[00:04:20] Leo Dion (Host): I think that's really interesting because in the last episode I had Bas on and we're talking about how we learn via documentation and videos and stuff.

[00:04:28] And it's interesting that you like balanced out learning just from some sort of curriculum while also just getting questions answered on the web, you know, either Googling it or doing stack overflow or whatever. So I found that really interesting that you kind of took both modes. 

[00:04:45] Paweł Madej (guest): Yeah. And I found that documentation is very helpful for me at that point.

[00:04:53] I am now, but at first, do not know where to look for and what to look for. 

[00:05:02] Leo Dion (Host): You don't know what you don't know.  I think that's the biggest challenge is it's like you look at it and it's just a, you know, a mess.

[00:05:09] I want to talk to you again about app figures. You probably already know them, but their analytics and their app store optimization. AppFigures really is about giving makers the tools they need to get more downloads and revenue. Well, now figures can help you track competitors for how many downloads they're getting and how much money they're making to their audience, demographics and which SDKs they use.

[00:05:35] Their competitor intelligence really gives you great context, say a competitor as like a new feature or was mentioned in the news recently with app figures, you can see if that brought in more downloads right away. Got a great idea for an app or a game. Well with AppFigures, you can figure out how big that market is and how much money you could be making with it.

[00:05:56] And that's just scratching the surface, whether you're growing your app or building a new one, AppFigures has the tools you need that will reduce the risk, but also get you more downloads. You don't need a large budget or a data science degree to do this kind of thing. AppFigures has made it affordable and simple on top of tools AppFigures also provides a lot of great guides and tutorials to take you step-by-step through gaining more visibility with ASO and increasing your revenue by learning from your competitors.

[00:06:24] They just released a free guide on that, actually. So go ahead, head to the link in the show notes and try out AppFigures for free. If you like it, use our special code and power 30, 30 to get 30% off for the next three months. Thank you at figures for sponsoring our show.

[00:06:42] And then once you figure out kind of like the structure and the flow and what's the philosophy behind it, I think it just becomes easier to know what you're exactly looking for. Yeah. 

[00:06:51] Paweł Madej (guest): That's why I started learning from documentation and looking for solutions in documentation. This year, I got around one year of experience because I was able to understand that documentation and I was able to define the problem.

[00:07:10] I look in this documentation. Because Google is helpful because you write a sentence and it throws you back hundreds of solutions or examples, but you have to in the documentation. You have to be very specific. What you look for. 

[00:07:28] Leo Dion (Host): Right. And you have to make sure you understand what's jargon to use and things like that.

[00:07:32] I just recently learned term that I didn't even realize was a term that Apple use protected resource. That's an actually official term for anything that you have to ask permission for in iOS. So for instance, when you need to have like location data or health data or microphone et cetera, like, I didn't know that there was an official term for that.

[00:07:53] So I would have never known If I wanted him to look up a specific permission dialogue, that term was protected resource for all that. Like, and I've been doing this for, I don't know, 10 years at least. And that, that was news to me. I just learned about that term. So yeah. 

[00:08:08] Paweł Madej (guest): Yeah. That's the moment you know that there is so many things.

[00:08:14] You have to learn yet. So for me, the one and a half year, it's quite a newbie in iOS developer community. So I learned from many people and the documentation is. Because it's drawbacks yeah. It's not in every part. Documentation is easy to use and even if it exists for something. So, 

[00:08:40] Leo Dion (Host): and yeah especially if there's very specific cases, like documentation is incomplete or it could be out of date, which I've found to be quite true.

[00:08:50] Paweł Madej (guest): Yeah. That's a hard thing that you get to the documentation and find, for example, One part of the solution you're looking for, but then you follow links to another part of this thing and there is no documentation. So you will stay at the point that you do not know what to do next. 

[00:09:15] Leo Dion (Host): Yes. Yeah. I'm very familiar with that.

[00:09:19] Seems like conference videos were a big help to you ended up being an inspiration for you to create your first app in the app store, right? 

[00:09:26] Paweł Madej (guest): Yeah. I have watched a lot of conference videos, but I found that it's hard to find them on the web because I didn't know what conference names are or where to look for them.

[00:09:42] So when I found them, it was also because I could learn a lot from them, but not all every conference is easy to find now. So when I was making my first job it's family graves map. And so the idea came that maybe I will make some app that will contain. Lots of conference videos in one place, and this app could help many other developers in my situation, they are learning.

[00:10:22] They look for ideas for inspiration or knowledge at all. And. Having the one place to go with this conference videos would be awesome. So after I released this first app to app store on October last year, I decided that I will do this app and this app is named. Called CodeConf it's now in the app store for every user it's free to use and it contains almost 600 videos from talks from around the world.

[00:11:00] There are, most of the talks are in English language, but they're also in Russian and probably in quick time, I will have also some in Portuguese language, so that's 

[00:11:14] Leo Dion (Host): awesome. That's definitely something I think the community needs. I know. I mean, there's a great WWDC app, but, or developer app, I guess now, but to have all those resources from different conferences, it's going to be fantastic.

[00:11:27] It's a great app. And thank you so much for building something like this for the community. 

[00:11:31] Paweł Madej (guest): Yeah. I think this was also. Quite a thank back to community because I have learned so much from the community and this way I can also help others to learn something. I am not a blog poster or writer. I have to hard to write some blog posts.

[00:11:54] So I cannot learn people for example, this way. But providing this app and making it free for everyone makes I think easier for people to use almost 1000 people tried it as for now. That's awesome. Thanks 

[00:12:13] Leo Dion (Host): a lot congratulations that's fantastic. So what were the big challenges you face trying to get this app into the app store?

[00:12:24] Paweł Madej (guest): Idea of the app was to be not a static app, for example, but to have some backend. So I have to write a backend for it. And all data is life from these backend. And during that time. When the app was ready for app store, I have found some issues with revenue. One thing, it was a newbie error that I have created In App Purchase for the app, but I didn't attach it to the app in the review process because when you are making this for the first time, you have to.

[00:13:09] Do this additional step because otherwise it's not connected one with the other. And that was one reason of the rejection of my app. Okay. The second one was that Apple treat that my that videos I have in my app are not my own. So it was illegal from their perspective for me to use them because I'm not the owner of these videos.

[00:13:44] So they were very strict with this. And I had to have official document that I have permission from conference organizers to use these videos in my app and still stream them. Because all videos are streamed from the official channels. So I use YouTube on only as I a video backgrounds for it.

[00:14:15] Leo Dion (Host): And that's really interesting. I've heard that like, so getting into the main topic, like I've heard that legal tends to be one of the like big issues that folks get into when it comes to like the ownership rights of certain content that is in your app. So if you're using like external content of any kind, you need to have ownership or permission of some kind when you're using that content.

[00:14:44] Even though it's from a third party, which I find really interesting. 

[00:14:48] Paweł Madej (guest): Yeah. I found as I was sort of researching this problem, I found that even using the images in app, for example of toys that are copyrighted, there is a box with this toy and there is a name of the company which made it. And for people, this was the problem that Apple have denied it using of such images in the app also.

[00:15:21] So they are also very strict with libraries use. I think. On test flights. I was testing using Vimeo as streaming because some conferences are so on stored on Vimeo. And I have rejected one of my solutions because it was using. Not right the Vimeo tools. So there are my tools I have used.

[00:15:51] And this also, they stayed that I have to change this. 

[00:15:57] Leo Dion (Host): So you were using some other like third-party plugin or library, I should say in iOS. That was not the official Vimeo library. Is that 

[00:16:06] Paweł Madej (guest): correct? Yeah, I tried it and this was for tests but as I want to show my test flights users solution with the YouTube videos and Vimeo videos, and then it was, I had to change because they somewhat found that this is not the official solution for it.

[00:16:30] So, so, and for you to buy I am using official API. So it was clear to use. But on the other hand, Vimeo API is not as open as YouTube one. So at now I'm not using at all Vimeo for conferences I'm set we've. I am set with that because there are a few awesome conferences that I cannot show in my app, but maybe in some future it will change.

[00:17:03] Leo Dion (Host): Yeah. Like I know I spoke at Swift Toronto, that's on Vimeo, so, and I know a few others that were on Vimeo as well, so yeah, that is unfortunate sometimes. Really another good point. I think developers, especially Indies who try to like hack their own thing. Nope. Was it disapproved in test flight or was it disapproved for the app store?

[00:17:24] Paweł Madej (guest): No, this was on test flight. So it was not released that I pushed for the apps to review. It was a test light review. Yeah. 

[00:17:36] Leo Dion (Host): Cause I know like, it seems like test flight reviews have gotten a lot stricter almost to the point where I would say the test flight review usually tends to like filter out.

[00:17:46] 90% of the issues are going to run into before you've even submitted it. To the official app store, but yeah, the whole point about like using an official API and not using an official API, it goes back to the whole thing about legality. Apple does not want stuff on their app store that might skirt official rules.

[00:18:06] Paweł Madej (guest): Yeah, it's very strict with it. And even if you try to make some hacks they find these ways that you are not using the official or legal content. And they will deny you at all. 

[00:18:22] Leo Dion (Host): So were there any other issues that you ran into when you submitted CodeConf? 

[00:18:28] Paweł Madej (guest): Yeah, I think the biggest one for me was to understand why Apple doesn't let me to use enough auto-renewal subscriptions because the idea of my app is to allow everyone to use it for free, without paying and viewing the content, but it some few features additional that let you make these watching and managing these videos easier or way to manage it in a very convenient way, because it allows you when you have these premium package make some favorites make a favorite speaker notifications or making creating

[00:19:20] your watch list. Yeah. So when you Browse the dogs. You can save it to their watch list and watch later, and you will not lose these stock. You have found and. That was the the first set of features I wanted to have as a premium package and reviewers, that, that this is not the ongoing content.

[00:19:50] When user is grating creating those for example, watch lists or favorites and they wanted to make something that will user use almost every time they use app when they have this subscription. And if at first I even didn't understand what they want from me to do, but as I see it and think what I can do to.

[00:20:22] Make this ongoing content, because when I compared to other apps which have enough and auto-renewable subscriptions, from my perspective as a user, I didn't felt that my app lacks of some feature that probably okay can be able to auto-renewable subscription. And I got one feature that I didn't plan to.

[00:20:50] Implement in first version of. My app, but creating it might do the review successful as they allowed me finally to use auto-renewable subscriptions and that feature was talk recommendations.

[00:21:12] Leo Dion (Host): Hello, everyone. I wanted to let you know about my speaking schedule for the rest of the year. I will in fact, be speaking at three conferences over the next month. These include. IOS dev camp DC 2020 on October 30th, as well as releasing two videos for the online conference. Back to Mac on November six and seventh, you can find links to both those conferences in the show notes below, but.

[00:21:41] In the middle of November, between the 17th and 20th of November, I will be also speaking at an S Spain 2020, which will be of course, a remote conference just as all these conferences this year are. And for those of you who don't know, and as Spain is one of the most well-known conferences about Apple platform development and.

[00:22:05] It is going to be this year, online, carefully crafted by the community for the community. And it will be going on for continuous 36 hours. This is going to be amazing. If you've been a listener of the show, you probably are familiar with some of our guests, such as Paul Hudson and Donnie walls, who will both be speaking there?

[00:22:26] I will be speaking of course, and my topic will be something that is near and dear to me. My talk and Spain 2020 will be on Swift packages, the, to dependency management of the future. If you've heard me talk about Swift packages before that, you know how much I am interested and excited to be speaking on this topic.

[00:22:49] So, if you are interested in going to an a Spain this year, then you can get a 10% discount by using the promo code and power apps. All one word again, empower apps to get 10% off your ticket, tennis, Spain, this year, I highly recommend you check this conference out. There's going to be a great set of speakers.

[00:23:10] And with 10% off, this is really reasonable to attend from the comfort of your home. Thank you to iOS dev camp DC and back to Mac for inviting me to speak this year and most especially, thank you, Anna Spain for offering a discount to our listeners and for inviting me to speak, these are some great conferences.

[00:23:30] I highly recommend you attend them. And if you do, I look forward to seeing you there. Hi,

[00:23:37] Interesting, I'm wondering, like, that seems an interesting situation where you have like in-app purchase and you just want to add certain features. Was it maybe like the type of subscription that you use that could have been the determining force? Like. Because there's other apps I've used that have third-party APIs and have in-app purchases that add certain features to the user interface.

[00:24:03] So I'm like really curious why they didn't allow your set of features such as favorites and things like that. They didn't allow those as necessarily in-app purchases. 

[00:24:14] Paweł Madej (guest): I also have no idea why it was like that, but they suggested to me that. They allow me to use subscriptions, but not the outer. Okay.

[00:24:27] Leo Dion (Host): Interesting. 

[00:24:29] Paweł Madej (guest): Okay. But from iOS dev perspective, it is better a lot. If you have these auto-renewable subscriptions. So I tried to make my best and, and get it's as I plan it long time before. Yeah. Yeah. 

[00:24:49] Leo Dion (Host): So let's start off with the first big controversy this year, which was what the folks at band camp and their app.

[00:24:56] Hey, I don't know if you want to get into this Pawel but what exactly happened with Hey this year? 

[00:25:01] Paweł Madej (guest): Well, they, I, I believe in review denied. Hey To accept to the app store which was unusable. If you do not have any account and the problem was that you could not create these accounts inside the app.

[00:25:24] Could create the account on the website and then having these credentials would log in into the, on the iOS device. Yeah. So for Apple, this was the problem. that They said that you cannot use the app that does nothing. It has to make something before it's accepted in the app store. And the problem is that.

[00:25:54] It was not the first app that has this idea that you have credentials and you log in and you start using the app because there were many other apps that use the same concept and are all of the available in 

[00:26:10] Leo Dion (Host): in App Store yeah. I think like Netflix is the big elephant in the room that gets away with a lot of things that most developers can't.

[00:26:19] How did, how did this end up getting resolved? 

[00:26:23] Paweł Madej (guest): Well, I decided to create. Option to make in app the real account so you were able to create the app login and use it for free for 14 days. If I remember correctly. Yeah, I think that's right. this Made Apple happy. If we can say this, that app make some features for the user.

[00:26:56] So you can create an account. You can log into this account and use the app. So it is strange, was enough for Apple to alow them back in the app store. 

[00:27:08] Leo Dion (Host): Yeah. And then the other controversy we had this summer was with the folks at automatic. We actually, I had Aaron Douglas on who works on the WordPress app and we talked about the issue that WordPress ran into was.

[00:27:24] Apparently somewhere in app, you could have gotten into a web view to where you'd purchase wordpress.com hosting. So there was WordPress, which is just an open source project that you can install on any old PHP server, but then there's wordpress.com, which is basically WordPress's hosting, hosting offering that they have.

[00:27:45] And apparently there was a way in the app that the reviewer had found that you can. By hosting and that essentially skirts getting away from doing in-app purchases. And that, that was why they ended up getting rejected. And I believe like with both of these apps and including, Hey, like this wasn't the first release that got rejected.

[00:28:06] It was a later release. Where it was found. So even though your app may have already been accepted, it could get rejected later for a feature or flaw that had already existed earlier. So that's something to keep in mind. We're press, they worked it out with Apple and wasn't as big of a deal as it was made in the press.

[00:28:22] But it's still good to keep in mind that you, even if it's accidental, if you end up skirting the in-app purchase stuff, Apple gets pretty pissed about that. 

[00:28:33] Paweł Madej (guest): Yeah. I think that if Apple find some. Issue with the app during the first release or during the some updates, they are very strict with their statement.

[00:28:47] They do not change their mind during some conversation or even excalation of the problem with this app, you have to. make it straight as Apple wants you to, because otherwise you and app with a full rejection or even you are out of 

[00:29:08] Leo Dion (Host): App Store or. Yeah, agreed. That's the thing is like Apple has all the power in these situations.

[00:29:14] I mean, that's something to keep in mind is like from the indie developer for the biggest company in most situations, Apple's the one with all the power, unless you have an app with a large enough audience. I E Facebook, Netflix, like you're pretty much not going to be able to get away with getting.

[00:29:31] Around Apple's rules more or less. 

[00:29:35] Paweł Madej (guest): Yeah. I remember the case with Facebook, as you said, maybe not with the app itself, but even if Facebook have been using not the 

[00:29:46] Leo Dion (Host): enterprise certificates, is that what you're thinking? Yeah. 

[00:29:50] Paweł Madej (guest): So. They were using the certificates to install the app on the devices.

[00:29:57] They are not allowed to install. Yeah. And Apple also have blocked whole Facebook and all of Facebook's devices that we're using. We've just a revocation of these enterprise certificates. So even it's such big company as Facebook, they are very strict with the rules. And I think. This consistency that every one have to use and keep up with the rules.

[00:30:27] Apple states from one perspective it's okay. But the Apple uses its guidelines as a guidelines and the, it is not, not everyone have to feel every guideline in the same manner I think, yeah this is not the very fine way from the Apple but we have to with that because companies have some better treating from Apple

[00:31:00] Leo Dion (Host): yeah, agreed. Agreed. And then before we covered the biggest, the elephant in the room, I wanted to cover the whole game streaming controversy. So there's this whole new technology where folks like Amazon, Google, Microsoft in particular have enabled. They're basically you can play games on various devices without actually having the console by basically streaming the video and streaming the input from your game controller to some server in the cloud, essentially.

[00:31:32] And then playing the video game that way. Google stadia. I forgot what the Amazon one was called. That just came out a few. Few weeks ago. 

[00:31:39] Paweł Madej (guest): Yeah, I think the most, do you remember them? No, I'm sorry. I'm not a gamer. So 

[00:31:45] Leo Dion (Host): I, but I know I'm not a gamer in those, those spheres, but the big one was obviously Microsoft X cloud and the controversy there.

[00:31:55] They wanted to put an app in the app store you so you can play any X-Box game you want in the cloud, on your iOS device, especially at on iPad. And basically Apple didn't allow it because of the way it sounds like it's partially the controversy of you can play any game. You want an Apple kind of wanted them to have like.

[00:32:15] A separate app for each game that would then use the service, which sounds like a mess. Both for usability and maintenance. Yeah. I dunno. What else did I miss? 

[00:32:26] Paweł Madej (guest): Yeah, I think Apple is a word that with such solutions as game streaming, they are losing the power of control. Right. So content power of control is on the, provider of these streaming services then, and not the on Apple and Apple wants to keep the power on it's behalf so I think this is the main problem with this services.

[00:32:55] Leo Dion (Host): Yeah. And it's really unfortunate because you know, something like Netflix essentially does the same thing, but without interactive content, Netflix doesn't have to have a separate app icon for each show or movie. And it seems like the kind of, there's sort of a lack, there's a lack of foresight in how future technologies will affect how the iPhone is used.

[00:33:16] And I don't think when the app rules were first thought out of. Game stream, what was never thought of as an actual, like viable service on the iPhone. So like they don't have the ability to, to kind of. Take that on, in a way that's useful and fun and easy on developers to take care of it. Now it's kind of a mess, so to speak when it comes to having game streaming platforms on iOS.

[00:33:41] So now people just ended up having to use an Android tablet or an Android or a Chrome TV to do it, which is 

[00:33:47] Paweł Madej (guest): unfortunate. I think. At some point, these guidelines will change because the market will be too big to lose the money from it. So I think I think that if Apple finds the way to make some profits from these streaming services and to force these providers, To give Apple money but some of the money they make from these services.

[00:34:16] And I think that then it will be possible to stream games on the iPhone or so I think the cash is all the things, 

[00:34:27] Leo Dion (Host): so, yeah, I agree. And speaking of cash and gaming let's of course cover the biggest elephant in the room with Fortnite, Fortnite. I mean, they blatantly got, tried to get around the whole in-app purchase thing and that costs severely and they've kind of taken rather than acquiescing to Apple in many ways.

[00:34:49] They've just go ahead and now they're suing them and who knows how long that's going to take? 

[00:34:54] Paweł Madej (guest): I have read that's the case on the cart is on May 21. So it's long before some judgment from these guys, but, and 

[00:35:09] Leo Dion (Host): there's been a lot of back and forth about like their unreal tournament engine and whether Fortnite has the right to post the app on the Mac, even outside of the app store, because there's certain certifications you need in order to get an app on a Mac.

[00:35:23] Paweł Madej (guest): I think that fortnight case is. They wanted to test how Apple is strict with the rules, the rules, were open that if you have some purchases in app, you have to use enough  from Apple. You cannot do any other tricks. There are many apps that you. By outside of the app for the content, but you cannot drive users to this place when you have to buy, if you can buy these services.

[00:35:58] So you can have to find the way on his behalf. Yeah. The fortnight tried to make it very straight without any... Without keeping any rules. So, so they say they forced to your side by side in-app purchases and they're on basket for buying things. So this was, I think the most important rule of the app store.

[00:36:28] Yeah, because that was broken by fortnight. So. As I see these guys as I in the dev with some in-app purchases , I'm a little person in the markets. Very little. Yeah. And I think that Paying these 15% of a provision to the Apple and having access to the worldwide market is fair. I think that's fair because if I didn't have access to the app store, I will not have access to users from around the world.

[00:37:09] Leo Dion (Host): Yeah, that's totally fair point. And so I think. Something I wanted to really get into is just what, what are some things folks should look out for when they even, I would even go so far as to say when they have an app idea. And I think we've kind of touched on a few of those, making sure you have the legal right to use the content in your app.

[00:37:28] I think that's a big part of it. If you're using copyrighted material, make sure you have documentation that you have. You know the right to do that otherwise, you know, I'll make sure it's creative comments. 

[00:37:39] Paweł Madej (guest): Yeah. I think that this guy sees is very important because every app in app store is reviewer very many ways.

[00:37:51] So, this is not only how the app works, because it should not crash for example, on the start, because it will be also rejected. Yeah. But what app does and if it's, for example, have some gambling in it. So I remember the case from, I think last year where some. Newspaper apps were rejected because Apple's site that they allow to open URLs from to the web pages, for example, from this newspaper.

[00:38:28] And they say that opening URLs allow you to go to the gambling sites. And the app was rejections for allowing gambling. So this was also the case, but, and it was rather quickly resolved, but also Apple's treat  some opening URL can be denied for the app. 

[00:38:54] Leo Dion (Host): I think there's a really good article. I read recently by David Shayer on why Apple doesn't allow a third party watch faces and why we might not be ever getting third-party watch faces.

[00:39:05] There were obviously issues with battery life and buggy code and Apple's image and stuff. But the last reason I found really interesting and it pertains to our conversation here, but like the whole idea of copyright, it made me realize how important it is for Apple to make sure they don't. Do anything that crosses the line legally.

[00:39:26] And he talks about how like, Apple has been very painstakingly, like. Certain and careful about what they do with their own watch faces precisely because they don't want to mess with Apple legal. And I think it gives you some perspective about how Apple looks at even your apps in their app store and how you don't want to cross those paths

[00:39:48] Paweł Madej (guest): yeah. I think that's Apple with how it's big it's. Can be a target for suing it for many things. Yeah. So they and stood for big money, for example. Yeah. So they legal department keeps everything very strict because of that. I think that they do not want to have been sued because of some deaths issue or using by any dev illegal contents.

[00:40:24] So I think this is the thing why they are very strict with these, legal content issues. Yeah. 

[00:40:31] Leo Dion (Host): Yeah. Agreed. And then the other thing you mentioned specifically with your app is taking shortcuts with third-party APIs, right? 

[00:40:40] Paweł Madej (guest): That was also the case. And I think you kind of go the shortest way because even it's.

[00:40:48] May be convenient for you as a developer, because it's cheaper. It's easier to do, but even if at first it will go for the test flight review, I think day one, you want to release the app in app store. It will be rejected and you have to fix all those things before I they accept you. 

[00:41:10] Leo Dion (Host): Yeah. Agreed.

[00:41:12] And then last that I think certainly not least is anything that kind of. Skirts or bends the rules when it comes to in-app purchases, whether that's trying to get around it, trying to sell something that just isn't. You know, according to Apple, following the guidelines, having any sort of browser view that kind of skirts in-app purchases.

[00:41:38] I think that that's something  just be careful of when you do it and make sure it follows the guidelines that Apple has available. 

[00:41:44] Paweł Madej (guest): Yeah. And I think that maybe guidelines are not. Easy to understand in many points. Absolutely. Absolutely. Yeah. Even if you read word by word these guidelines, in many ways, you will find that it's hard to get the Apple's point, what they want you to do.

[00:42:07] And so I tried to talk with the reviewer, but on the review when you are, you will not get any tips what to do, because as they say to me on the review, they are describing or replying to features I have, but they will not tell you what feature you have to do. You should have to be accepted with for example, auto-renewable subscriptions.

[00:42:39] So I have to find it myself. What they will accept as this subscription. Yeah. So you can't, you can ask questions, but you probably won't have any answer that will help you at all. 

[00:42:55] Leo Dion (Host): Yeah. I want to definitely state that, like the guy following the guidelines. Well, I'd say following the guidelines are easy and 80% of cases, it's those 20% where it's like becomes ambiguous and challenging.

[00:43:06] And I think a few tips is like one thing I've suggested to folks. Is putting your app in the app store, like do MVP in the app store to make sure that you, your MVP can be approved by Apple. What's the least amount of work. So you can just test and make sure that you're following guidelines. Before spending a lot of time building the most robust app you can possibly have and find out that the whole idea is against Apple's rules.

[00:43:33] That's something. To keep in mind. The other thing I was going to say is take advantage of the hours during WWDC I had a really great conversation with one of the folks at Apple about why I couldn't use. Imagery from Nintendo games in my watch app. For those of you who aren't familiar, heart Twitch, you can show off your heart rate when you're streaming.

[00:43:56] And I have video clips and screenshots of me playing like Mario kart, for instance, and showing my heart rate racing while I'm playing Mario kart. They didn't like that. The watch app store. And I had thought actually the reason being was that it wasn't actual watch app screenshots, but that it was.

[00:44:12] Screenshots of the TV. But in fact, the controversy was again, because I had screenshots from games of Nintendo that I didn't have the legal right to use. I would have never thought of that because it's an app store. So, you know, it was really good that I talked to somebody and got that guidance. 

[00:44:28] Paweł Madej (guest): Yeah. I asked you site about screenshots.

[00:44:31] So. What about issue of friends of mine? When he has that used in screenshots, Apple Watch on device side by side with the iPhone and. At first, it was accepted. With this screenshots and after updates or reviewer denied these updates because it was showing the feature, Watch App that doesn't exist for this app.

[00:45:03] But the issue is that. One of your doesn't solve the problem or might be missed this screenshot. And for the next one, when update was released, this was the problem. And this friend had to remove the watch from screenshots and everything went fine and the app was approved. So we have to also have in mind what you show on the screenshots, because this could be also one of the, even if the app is okay, this is what you write in description.

[00:45:39] App description. What you show on the screen source also can be 0.4 for action. 

[00:45:46] Leo Dion (Host): Yeah. Was there anything else we wanted to cover when it came to making sure you follow app store rules, as, as much as you can. 

[00:45:55] Paweł Madej (guest): Well, I don't know what to say. 

[00:45:58] Leo Dion (Host): I think that pretty much covers it as best as we can. It is definitely a challenge.

[00:46:05] And like I said, try to be flexible as far as features and also your release date. It is hard. I'm not going to tell anybody, especially for Indies and just, you know, You know, be careful what you put on the app store content that you have legally right to, and you're not trying to like skirt the laws. I have my own complaints about the app store most certainly.

[00:46:24] And I don't want to get into that in this episode, but I think like, I think we pretty much covered the basic guidelines and not trying to cheat Apple out of money. I think that's the overall one of the big rules I would say is be careful, be careful on that. 

[00:46:40] Paweł Madej (guest): Yeah. I have released my first up.

[00:46:43] It was approved without any issues TestFlight went very fast and then the App Store review. Also, I was very stressed how it goes, because I didn't have this experience on releasing App and, but idea of it was very original. I think that. If you have the original idea, you do not copy the existing app one-to-one and that every feature you have in your app is the same exact copy of something.

[00:47:20] Other apps. We know all that. There are hundreds of notes up or some, a podcast app, and there are. Any app makes its own the room in app store. But if you have some original idea, you have to make sure it's worth my sending for the review and to make it available to app Store. These problems with review I think that every developer iOS developer will have.

[00:47:53] Some issues with apps to review at some point, maybe later on maybe a longer it will take for them. But finally, I think that Every idea is worth 

[00:48:09] Leo Dion (Host): submitting. Yeah, I agree. And like I said, if you feel like, you know, like I did with heart Twitch, I wasn't certain that an app like that would make it into the app store.

[00:48:18] And before I thought it was completely, perfectly ready, I made sure it was approved. Before moving forward. Cause I wanted to make sure the concept was solid with Apple before, you know, spending a lot of time on an app like that. And yeah. So good luck to those out there. Big and small who are posting apps to the app store.

[00:48:36] You're going to get rejected at some point and it's okay if you do. 

[00:48:41] Paweł Madej (guest): Yeah, I think it's for having this rejection is the iOS dev life, you get this rejection will better understand what they want. 

[00:48:51] Leo Dion (Host): Yeah, I agree completely. Well, thank you so much for coming on the show. Where can folks find you online?

[00:48:59] Paweł Madej (guest): Well, I'm mostly on Twitter. You can find me there. 

[00:49:06] Leo Dion (Host): The show notes. 

[00:49:16] Paweł Madej (guest): You can find me on my sites. This is also my name and surname.com. Also in show notes. I'm also on github and I think it's replaces. You can find me, so my DMS are open.

[00:49:33] So if you want to get in touch, feel free every time. Well, thank 

[00:49:38] Leo Dion (Host): you so much for coming on Paweł. People can find me on Twitter at Leo G Dion. My company is bright digit. Please take some time and go to Apple podcasts, Google podcasts, or Spotify, and give us a review. And if there's anything you want to talk about on the show.

[00:49:56] Or if you have any topic, ideas or feedback for me, please feel free to reach out to me on Twitter. My DMS are open as well. Also, you can email me leo@brightdigit.com. Thank you so much for joining us for this episode. And I look forward to speaking to thank you so 

[00:50:12] Paweł Madej (guest): much.



Thanks to our monthly supporters
  • Bertram Eber
  • Edward Sanchez
  • Satoshi Mitsumori
  • Steven Lipton
★ Support this podcast on Patreon ★

Creators and Guests

Leo Dion
Host
Leo Dion
Swift developer for Apple devices and more; Founder of BrightDigit; husband and father of 6 adorable kids
Paweł Madej 👨🏼‍💻🏡
Guest
Paweł Madej 👨🏼‍💻🏡
iOS Developer at @tedee_smartlock Author of @CodeConf_app, @familygravesmap & TwitterText tweet parsing library in Swift.Opinions my own

Join our newsletter

checkmark Got it. You're on the list!
image of podcast supporter image of podcast supporter image of podcast supporter image of podcast supporter
Join 4 supporters
Mastodon © Bright Digit, LLC 2018