Launcher Followup and Thoughts on the App Store Review System

Since I still receive a few emails every week asking me if Launcher is ever coming back to the App Store, I figured it would make sense to post a public update now that I finally have a pretty solid answer on it.

The short answer is: No. It doesn’t appear that Launcher or anything even close to it will be making it back to the App Store anytime soon. I wish this wasn’t the case and I believe that I have tried everything reasonable that I could do to try to get it back in some form.

For anyone interested in a more detailed answer, feel free to continue reading. I’ll try to keep it as brief as possible, but I also don’t want to skip the important and interesting parts, so it may end up a bit on the longish side. We shall see.

First, a bit of backstory

Let’s jump back to 2013. I was working full-time, but was hoping to pursue a dream of being an independent app developer. During my 16+ year career, I had always worked full time for a company and the idea of working for myself and the flexibility it would provide was something that I was hoping to try out. I’ve always had various side projects that I created during nights and weekends mostly for fun. These were websites or apps that I wished existed, but didn’t, that I decided to tackle myself. None of them ever became anything that received much traction. But this time I decided to make a more concerted effort, start a company, and see if I could make some app (or apps) that could simply keep me employed and pay the bills.

After taking the leap, I spent about 8 months (6 part-time, 2 full-time) on my first app that I released this past May. It didn’t gain much traction so I decided in July it was time to work on something else. I came up with the idea of Launcher and made a plan to try my best to get it out on the day iOS 8 would be released in mid September. Since it took advantage of a new feature of iOS 8, the Notification Center widget, I figured if it was out first, that would help it be noticed by people looking for new iOS features and possibly featured by Apple. As with any iOS app, there was a chance (perhaps this this case, more than most) that the app would be rejected by Apple, but I figured it was worth the risk once I determined that it was technically feasible and I found nothing in the App Extension Programming Guide that disallowed it.

I met my goal and Launcher was approved and went out on the App Store on September 17, the day iOS 8 was released. For the first 4 hours it was out, it was actually featured in the App Store and things were going really well. It wasn’t until 6 days later that I got the dreaded call from App Review where they explained to me that the executive team had met and determined that Launcher needed to remove its widget or it would be taken off of the App Store. For those unfamiliar with the story, I ended up submitting a new version that I felt was a decent compromise based on my understanding of the problem that Apple had with the widget, but Apple didn’t feel it was valid, so they immediately removed Launcher from the App Store.

But why??

When Launcher was taken down, Apple did not provide a very clear explanation for exactly why it was removed. My family, friends and users who aren’t very aware of Apple’s past behaviors were completely shocked and confused. Why would Apple remove an app that was beloved by users and wasn’t violating any published guideline? Many people suggested the theory that Apple wanted the functionality for themselves and that something similar to Launcher would appear in the next version of iOS. I never bought into this theory, though, because even if Apple was going to put something like this in iOS, it wouldn’t be until iOS 9 a year from now, so why take it down now?

It wasn’t until I started discussing the problem with app developers and other people who follow Apple closely and have more understanding of their tendencies that I was able to form a clearer picture of their reasoning. Steve Jobs was a notorious control freak and he instilled that value in Apple from the beginning and the company still continues to exert control at every opportunity to this day. Steve also had a high level of confidence, some might say arrogance, that led him to believe that he was absolutely right when others were wrong. This level of confidence/arrogance is also ingrained in the culture at Apple.

It can be said that much of the reason why Apple builds such successful products is due in large part to both of these traits instilled in the company by its founder. Apple believes that they are building the best products in the world and they exert excessive control over the design and manufacturing of both their hardware and software to make sure that they deliver what they believe to be the best possible user experience.

So when it came to the iPhone and its App Store, Apple designed both in a way that allowed them to have complete control over everything that could be installed on their new phones. The App Review system is a big part of that enforcement and it’s been there since they first allowed third party software to be installed on iPhones.

Over the past couple of months I’ve had several conversations with people at App Review and the best way that I can explain the reason why they don’t want Launcher’s functionality to exist on iOS is because it doesn’t meet their vision for how iOS devices should work. And they have both the arrogance to believe that anything that doesn’t match their vision should not be allowed to exist in their ecosystem and the complete control required to make sure it doesn’t. Apps should be launched from the home screen, spotlight, and Siri, and that’s it. The fact that millions of iOS users would like the added functionality of being able to launch apps and actions from the Notification Center is inconsequential to them because they know best.

(In)Consistency of Enforcement

One of the best parts of this whole experience was the awesome outpouring of support that I received from hundreds of users who told me how much they loved my app and expressed their disappointment in Apple’s decision. Occasionally one of those supportive emails would point out another app with a widget with similar functionality to Launcher that was still available on the App Store. They pointed out these other apps in the hopes that it meant that I could change Launcher to make it similar to these other apps that were still available which could get Launcher back on the App Store.

I decided it was worth asking Apple the same question and hoped it would at least be a good way to narrow down what is and is not allowed in a widget. When I asked people at App Review, however, they only told me that they could not comment to me about other apps and they would look into whether or not the other apps were acceptable or not. If they were deemed unacceptable, they said the developers would be contacted and instructed to remove the offending widget or risk being taken down as well. If these other apps had been flying under the radar, I had accidentally outed them which was not my intention when I contacted Apple.

One app in particular offered all of the same functionality as Launcher and came out the day after Launcher did. As of today, well over 2 months after Launcher was removed, it still remains on the App Store. I won’t name or link to said app, but you can find it if you google for “launcher replacement”. In addition, every week there are a few apps with widgets that launch apps in some way that are approved. This is not only annoying, but also very confusing. Does a new speed dial widget that was accepted last week mean that a widget with the limited functionality of just initiating phone calls is acceptable or did it just slip through the cracks?

During one of my conversations with someone at App Review last month, I asked if they could tell me if some of these new apps being accepted slipped through or if their use of widgets was deemed acceptable. I heard what had come to be a popular refrain from them. They couldn’t discuss other apps with me, they would look into those apps, and if I submitted a new app with that specific functionality they would be happy to review it and let me know if it was acceptable or not by either rejecting or accepting my new app. They steadfastly refused to tell me if a certain use of a widget was acceptable or not ahead of time.

If developers don’t have explicit guidelines to go on and we can’t even use apps available on the App Store as an indicator of what is acceptable, our only choice is to potentially waste huge amounts of time working on apps that ultimately get rejected in an attempt to find something that will get accepted. I pleaded with this person to make public whatever guidelines they make available for app reviewers to decide what is acceptable and what is not regarding widgets. The Apple representative responded by saying that they prefer that the rules remain vague because that allows developers to come up with innovative ideas and also allows Apple to be flexible in case they change their minds later. When pressed on the issue of their policies leading to wasted developer time, I was told, “If you are afraid something you are working on will be rejected, then don’t work on it.”

To Apple, developer time is expendable because they don’t bear the brunt of the wasted months of development. As far as they’re concerned developers are an infinite number of monkeys on an infinite number of Macbooks and every once in a while, one of us stumbles upon an app that not only passes all of their written and unwritten guidelines, but is actually successful too. The opportunity cost of developers either not working on an app for fear of rejection, or wasted developer time when an app is ultimately rejected appears to be of no concern to them.

During this same conversion, I also asked specifically why Launcher was removed from the App Store after 9 days when other similar apps are still available weeks later. The answer to this question was the most interesting and informative response I had ever heard from them. They basically said that Launcher was a trailblazer in uncharted territories and that they felt that they needed to make an example of it in order to get the word out to developers that its functionality is not acceptable without them having to publish new specific guidelines. And they said that the fact that they aren’t seeing hundreds of similar apps submitted every day is proof to them that taking down Launcher was successful in this regard.

This was a pretty big revelation to me. After Launcher was rejected and the press picked up on it and started writing articles which painted Apple in a bad light, I was afraid that Apple might be mad at me. But it turns out that was actually the outcome they were looking for all along. They acted swiftly and made me the sacrificial lamb. And after that, removing other apps with similar functionality became a low priority for them.

I can only assume that the developers of most of the other apps with app launching widgets have been contacted and asked to remove that functionality. I know that sadly the developers of Drafts and Neato have been contacted and asked to remove specific functionality from their widgets recently.

In the meantime, I’ve seen two apps with app launching widgets disappear from the App Store. However, without hearing from the developers of the removed apps, it’s impossible to know if they were taken down by Apple or if they removed their apps themselves. Dozens of other similar apps, some that have been out for months, still remain and don’t appear to be submitting any updates, perhaps in an attempt to stay on the App Store for as long as they can. And since Apple doesn’t appear to be in any big hurry to eradicate all app launching widgets, their strategy appears to be working so far.

Rene Ritchie just wrote a great article where he very clearly explains his thinking about what goes on behind the scenes with Apple in this regard. I recommend it highly.

Launcher Standalone

After taking a month off to destress from the situation and rethink my next steps, I actually ended up deciding to give iOS development another shot. Other than dealing with Apple’s authoritarianism and the uncertainty of being able to make enough money to support myself and my family, the flexibility and productivity that I was able to achieve working for myself developing apps was awesome. So I figured I could perhaps work on a few apps that could be based off of the original Launcher code such that I would only have to spend a small amount of time (a few days to a week or two) on each. And if I assumed that they would also likely be rejected by Apple, if they actually ended up getting approved, there was only upside.

From the first phone call I had with Apple about Launcher, I was told to remove the widget and resubmit it. The app itself has the same functionality as the widget, but the widget is way more useful because it is always just a swipe away. But I figured there were still some people who would be interested in a version of Launcher without the widget and it wouldn’t take more than a day or two to remove the widget and resubmit it and see. Because I didn’t want to remove the widget from the people who had downloaded the original Launcher, I submitted it as a new app called Launcher Standalone.

Now you might be thinking, why would I assume that this would be rejected if I was told to resubmit Launcher without the widget? That is a great question. It turns out that there is a developer who worked on an app called Workflows which is an app that launches a sequence of other apps and he claimed that his app was rejected just for launching other apps. I contacted the developer, Craig Pearlman, and he confirmed to me that he worked on his app for 18 months and Apple rejected it under the 10.4 guideline which states that apps cannot “create alternate desktop/home screen environments”.

Despite the risk, I figured it was worth trying to submit Launcher without the widget since it only took about a day of work to remove the widget. After submitting Launcher Standalone it went into review for well over a week before I finally got a call from App Review explaining that it was indeed rejected for violating the 10.4 guideline.

My first question for them was why would Launcher with no widget be rejected when plenty of other apps exist that launch other apps, such as Launch Center Pro, Launch+, iLaunch Free, and have existed for years and get updated frequently without apparently being rejected. Again their answer was that they couldn’t discuss other apps with me. When I asked what I could do to fix the violation I was told that there was nothing I could do other than attempt to appeal the rejection. I appealed the decision and I am told that I will receive a phone call soon with the results. Since the apps status hasn’t been changed to approved, it looks like the phone call will again explain that the decision is final. I’m not holding my breath.

Conclusion

As developers and end users, we may disagree with Apple on some of their completely arbitrary decisions to reject certain apps and features that result in making our phones and tablets less useful. But Apple owns the App Store, so they are well within their right to approve or reject any app for any reason. As someone said to me, we’re playing with their ball, so it’s up to them. But it’s really difficult to play their game when we don’t know what the rules are.

I feel the true problem lies in their seemingly purposeful lack of communication and clarity around this part apps and their review. It has been two and a half months since Launcher was removed and there are still no guidelines anywhere to tell developers that widgets can’t launch apps. They added a small list of app extension guidelines two weeks before iOS 8 came out, but there have been no followup guidelines or rules to explain what a Notification Center widget should and should not do. Apple can try to spin this into a positive by claiming that fewer rules allow for more experimentation, but in reality it results in unnecessary developer confusion, fear and angst. The more likely results from such a system are:

  1. A tremendous amount of wasted time for both developers and reviewers when developers create apps that violate unpublished rules.
  2. Developers unsure of whether their app will be rejected end up developing the absolute minimum viable product just in case the time and effort put into the app is wasted if it is rejected.
  3. Developers not developing certain features or certain apps at all for fear of rejection.

How is this good for anyone? End users, developers and the iOS ecosystem all suffer as a result of a largely opaque system of rules, especially regarding new functionality, which is where the innovation and experimentation should be happening.

It took Apple two years after they opened the App Store before they finally published review guidelines to help developers determine what was and wasn’t allowed on the App Store. While the guidelines were far from perfect, their existence likely saved countless developer hours as they had much more clarity on what would result in their app being rejected. Several years later, Apple continues to drag their feet in this area and it’s hard to pinpoint the reason. It could stem from Apple’s notorious culture of secrecy and the fact that they like to play their cards close to their chest. Maybe it’s simply just a lack of priority and focus on their part. Or perhaps the unbridled success of the App Store clouds how much better it could be with clearer and improved communication with its developers.

The upshot for Launcher and its fans is that it doesn’t look like it will be returning to the App Store anytime in the near future in any form. I am currently working on a couple of other apps with widgets simply because I want them to exist. Unfortunately they are pretty useful widgets, so it is quite possible that they will never see the light of day on any other phone but my own. Maybe if I’m really lucky one of them might get approved and remain on the store and give me some chance to keep my indie developer dream alive.

Update 01/06/2015: The first of those useful widget apps was initially rejected, appealed where the rejection was overturned and is now live on the App Store. Download Music Launcher today!

Thank you to all of my great Launcher end users for the fantastic feedback and support over the past few months. Perhaps someday if we’re lucky I’ll have some more great apps for you to enjoy. Stay tuned.

Advertisements

17 thoughts on “Launcher Followup and Thoughts on the App Store Review System

  1. […] exist on iOS is because it doesn’t meet their vision for how iOS devices should work,” Gardner wrote on Monday. “They felt that they needed to make an example of [Launcher] in order to get the word out to […]

  2. […] Greg Gardner: Launcher Followup and Thoughts on the App Store Review System – Cromulent Labs […]

  3. […] fans out there still keeping up hope, I actually submitted a new version of Launcher Standalone (see my previous post if you don’t know what Launcher Standalone was) that I called Launcher Configurator which doesn’t launch any apps at all since even that […]

  4. […] (una app cuyo widget nos permitía lanzar aplicaciones desde el centro de notificaciones) en el artículo en el que explican su “aventura” con el equipo de revisión del App […]

  5. […] app, contatti o task semplicemente scorrendo il centro notifiche. Ebbene dopo che lo sviluppatore (Cromulent Labs), organizzatosi per tempo, era riuscito a sottoporre ed a far approvare la sua app da Apple in […]

  6. […] so wie ihn Greg Gardner jedoch nach seinen ersten neun Verkaufstagen im letzten Herbst erfuhr, ist eine Blamage für Apples Softwareprüfung. Die jetzige ‚Rolle rückwärts‘ unterstreicht […]

  7. […] afoul of the company’s stringent design guidelines. Launcher’s founder, Greg Gardner, complained in a blog post that the ruling in his case was both unclear and inconsistent, opening a wider […]

  8. […] afoul of the company’s stringent design guidelines. Launcher’s founder, Greg Gardner, complained in a blog post that the ruling in his case was both unclear and inconsistent, opening a wider […]

  9. […] widget ran afoul of a company’s difficult pattern guidelines. Launcher’s founder, Greg Gardner, complained in a blog post that a statute in his box was both misleading and inconsistent, opening a wider […]

  10. […] widget ran afoul of a company’s difficult pattern guidelines. Launcher’s founder, Greg Gardner, complained in a blog post that a statute in his box was both misleading and inconsistent, opening a wider […]

  11. […] Greg Gardner: Launcher Followup and Thoughts on the App Store Review System – Cromulent Labs […]

  12. […] and present themselves on the platform. Extensions, the widgets, the new file approach. But this, this or this shows that Apple is quite unsure how to approach this change in their control of iOS. […]

  13. […] rejected the Launcher app 1 so my hopes weren’t high for […]

  14. […] and checks over 4,000 custom URL schemes and hasn’t yet had any run-ins with App Review (well, at least not with respect to checking URL schemes). So, at least for now, app launching apps and widgets appear to be […]

  15. […] Two of the other affected apps were Drafts (seemingly because it used buttons in the widget) and Launcher (because it launched other apps). Like PCalc, Drafts and Launcher both had their widgets approved, then approval revoked, before […]

Comments are closed.