Apple takes down another indie dev
blog.rollins.io
blog.rollins.io
Section 10:
10. User interface
10.4 Apps that create alternate desktop/home screen environments or simulate multi-App widget experiences will be rejected
So, like it or not, it's what we agree to if we develop apps for iOS.
As in, we have no other choice. They could write a clause that said your third child must be named Macintosh and everyone would "agree" to it because there is no other option.
That does not mean it's right.
Consider this: It's the late 1990's and the Terms of Service for Microsoft Windows contains "10.4 Apps that create alternate web browser environments are not allowed".
Microsoft has its pants sued off in court and is almost forced to break up as a company.
I'd argue that Apple has far, far more control that Microsoft ever did, but face no similar consequences for any of their anticompetitive behavior.
That's what upsets me about this.
If we accept that premise, then what's "right" is what builds that user base. You have to take the bad with the good. I sound like a broken record at this point, but there is plenty of history surrounding apps that act as launchers. That singular feature represents a huge overlap with the primary role of the home screen, and the App Store Guidelines clearly spell out that this is a no-no.
Widgets are a new case, because they're not full fledged apps. A widget could not "create an alternate desktop/home screen environment" because it is only a small part of a greater environment itself (Notification Center). However, the intent of guideline 10.4 is pretty clear. Apple wants to control the means by which users launch applications. That goal serves what Apple believes to be the best interest of users. You can disagree with that, but it's not your platform, and you haven't (yet) built a platform upon which millions of dollars are transacted in app purchases every year.
What I'm saying is that Apple isn't exactly clubbing seals here. They're doing what they believe to be best for their platform, and they're doing it in a way that is pretty consistent with past behavior.
I may not agree with the speed limit on the freeway, but I am not surprised if I am ticketed for going over it.
I agree that Apple should have never approved the app in the first place. Once they let it through, there was no good solution.
1. Allow all widget launchers, which they don't want and are explicitly against the TOS.
2. Allow only this widget app to stay, giving it an unfair monopoly. Cue kingmaker article.
3. Allow this version of the widget app to stay, reject all updates. Like #2, but worse in every way.
4. Pull the app off the store; allow it to continue to function for people to have it.
5. Push the big red button to pull the app off the store and every phone.
Any time a flagrant TOS violation sneaks through, whether by App Review oversight or by subterfuge, this happens. Apple always chooses #4.
remember, the anti-trust laws are meant to curtail abuses of monopolies. they are almost powerless when a company is not actually a monopoly. that's by design. when a company is not a monopoly the remedy to their abuses is to simply buy from their competitor.
In answer to your point, the likely reason Apple can do it but Microsoft could not is two things:
- Microsoft was a monopoly, iOS is not.
- At the time Microsoft was competing against browser vendors who licensed their software for a fee (e.g. Netscape cost between $30-69) and not only utilised their monopoly to squish that entire industry ($0 browser) but also created an uncompetitive market in another field (leveraged their OS monopoly to squish the browser market). That isn't similar to the 2014 browser market.
Of course you do. Android, Windows Phone, even Blackberry if that's your thing.
It's a collection of action shortcuts. iOS 8 does something similar when you double tap the home button. It shows recent contacts at the top and tapping one expands into actions such as call or text.
I mean I get it. Apple is King and if you stand too close to the line they play it over conservative and pull you over. But I don't think it breaks the rules you mentioned. It doesn't matter what you or I think though, of course.
https://developer.apple.com/app-store/review/guidelines/
"We'll know it when we see it."
If that isn't a clear indication that Apple takes broad latitude in the judgement of what is acceptable, I don't know what is.
It's obvious to me that the launcher widget fell in a gray area. Any app that launches other apps overlaps with the functionality of the home screen.
There are also countless stories of Apple changing their mind when there is enough public outcry. So it's a calculated risk and blog posts like this are part of the plan if things don't initially go your way.
I believe the point of the article is that we don't like it. Terms of Service are not the ultimate arbiter of ethics.
Your profile states:
>my AppleTV runs XBMC
Which breaks the terms of your Apple TV software agreement. http://images.apple.com/legal/sla/docs/appletv.pdf
>You may not, and you agree not to or enable others to, copy (except as expressly permitted by this License), decompile, reverse engineer, disassemble, attempt to derive the source code of, decrypt, modify, or create derivative works of the Apple Software or any services provided by the Apple Software or any part thereof (except as and only to the extent any foregoing restriction is prohibited by applicable law or to the extent as may be permitted by licensing terms governing use of open-source components that may be included with the Apple Software).
>BY USING YOUR APPLE TV, YOU ARE AGREEING TO BE BOUND BY THE TERMS OF THIS LICENSE, UNLESS YOU RETURN THE APPLE TV IN ACCORDANCE WITH APPLE’S RETURN POLICY. IF YOU DO NOT AGREE TO THE TERMS OF THIS LICENSE, DO NOT USE THE APPLE TV.
So, like it or not, it's what you agree to when buying an Apple TV. You should probably return or not use your Apple TV
Reverse engineering and installing third party software in addition to, or over OEM software, has been widely held as legal, in addition.
Apple rolls out new features/platform.
Developer forges ahead in gray area (there's history here with apps that launch other apps).
Apple "clarifies" their stance by rejecting said developer's app. (In Apple parlance, clarifying means issuing a firm opinion on their openly stated policy of "we'll know it when we see it".)
Development community cries out.
Apple remains singularly focused; stringently enforcing their policies (even if they are often unclear or inconsistent).
I don't mean to lay the blame entirely at the feet of the developer in this case, but it's hard to argue that there isn't history here. Remember when iOS apps first hit and there were a whole slew of "home screen" apps that displayed things like the weather, calendars, etc? Apple banned all those apps too. The reason given was that Apple doesn't want apps to usurp the home screen. Apple wants to control that part of the user experience, because Apple knows best.
> Instead, Apple is being Apple and aggressively protecting things that do not need to be protected. They do so with inscrutable and nebulous reasons that leave all involved feeling dismayed.
This is purely a matter of opinion. Apple feels that they need to control the user experience. Just read the introduction to the App Store Review Guidelines [1]. Apple's stance is really clear: they control what happens on their platform. They've made some efforts to make the process a bit less lopsided (the appeal board), but it's still crystal clear that Apple holds the reigns.
If, as a developer, you disagree with that philosophy, you have to decide how to best effect change. I would argue that continuing to develop for the Apple platform is about the worst way one can affect change. Proselytizing the developer community is a fool's errand. Look at the case of the larger iPhone. What drove that? Apple looked at the market landscape and decided that they could no longer ignore the trend.
IMO, your best choice as a developer is cast your lot with the platform that best reflects your philosophy.
> Apple rolls out new features/platform.
> Developer forges ahead in gray area (there's history here with apps that launch other apps).
> Apple "clarifies" their stance by rejecting said developer's app. (In Apple parlance, clarifying means issuing a firm opinion on their openly stated policy of "we'll know it when we see it".)
> Development community cries out.
> Apple remains singularly focused; stringently enforcing their policies (even if they are often unclear or inconsistent).
You missed the last step - one iOS version later, Apple copies the killer feature it originally rejected as a misuse of the platform, and makes it its own.
Is that really true? This has been going on since day one and yet the platform is thriving.
And usage stats show user engagement for new apps at half of what it was a year ago.
Even a cheerleader like Marco Arment has expressed serious doubts about the health of the iOS app ecosystem lately.
> This kind of nervous uncertainty among devs is bad for the platform.
> The platform is thriving.
It is difficult to argue that this kind of activity on Apple's part creates uncertainty. Apple weighs this as a trade-off. What is consistent about Apple is that they err on the side of the user; or at least what they perceive to be of benefit to the user.
That is what many of these disagreements come down to.
These things are a turn off for us, but that doesn't mean that the market is failing.
It's nothing Apple Damage Control can't handle.
If the terms are so easy to understand that this dev should have known better in creating a "gray area" app, shouldn't the reviewer(s) be expected have an even better understanding?
This has happened so extremely often that it's become a meme. This is now considered standard behavior for Apple. When I think of iPhone development, my very first thought is of the uncertain and fickle nature of their app approval process.
You probably won't get an answer to that here from anyone who knows. The only Apple employee I knew at school was really weird about it. When I asked what she did I got "Apple employs sales, technical and engineering staff in the Boston area". Perhaps some of the folks in CA are a little more open/laid back.
You make it sound like being in a grey area is a bad thing. Most things worth pursuing are probably a little grey in some sense, otherwise they're probably just a 'me-too'. That this app was downloaded so much indicates a strong desire for it. Retrospectively coming up with policies will always create ire.
Sorry but Apple's app store policies are pretty clear in this area. They have also squished tons of similar apps previously (which was well publicized).
Plus according to the article Apple contacted the developer essentially saying "Do X and Y or we'll pull you!" and the developer didn't do X and Y so consequently got pulled. They say the developer "compromised" but the way it is worded I have to assume it was a one-sided "compromise" (as in, he never got Apple's approval before submitting an update that clearly didn't fix the issues raised).
I honestly would have had more sympathy if the article wasn't so manipulative. Now it has just got my back up and I'm more on Apple's side than the developers.
PS - Apple's policies are dumb. I dislike them. I'm all for protecting user privacy and security, but many Apple policies are essentially "don't compete with us!" which is dumb when app installation is entirely voluntary.
10.4 Apps that create alternate desktop/home screen environments or simulate multi-App widget experiences will be rejected
So no, it's not related to being a home screen at all. The fact that a home screen also launches apps does not make it a home screen.
I mean, how is Launch Center Pro allowed (for years now) if app launchers are so clearly banned? https://itunes.apple.com/us/app/launch-center-pro/id53201636...
More factual title: "Launcher removed from App Store".
[1] the only apple product I own is a 2nd generation iPod in a drawer somewhere. I still hold myself responsible.
This is why "browsers" like Chrome on the iPad still use the webkit components and it just adds password-management and bookmark syncing on top.
2.17 Apps that browse the web must use the iOS WebKit framework and WebKit Javascript
Computers will just turn into consoles.
To be honest, apple just makes computers that work like consoles.
I tried to do this when I was implementing subscription payments within my app. There are two ways to do subscriptions on iOS, and I wanted to know which one I was supposed to use for my app. The support rep I spoke to said I should go ahead and implement one of them and submit it, and that was the only way to find out.
Turns out I chose the wrong method, and had to re-do a whole bunch of work, which could have been avoided if they'd just give me a straight answer. At least I finally got it accepted - I feel terribly sorry for this guy.
As usual, it's all written in the bible http://www.joelonsoftware.com/items/2009/06/10c.html
Deleted comment
"On September 26, Greg submitted what he believed was a valid compromise: The click would take the user to the main Launcher app, and from there the app would call the appropriate action."
It's quite clear that while the code would no longer be launching another app from the widget, the user would experience essentially the same action. That he offered this as a compromise shows that he was deliberately attempting to sidestep the rule.
I agree that the dev thinking it is a "valid compromise" is iffy, but I don't think there was any compromise that would allow his app to stay on the store.
I am totally on board with the mindset that Apple needs to loosen their grip: I think it's long-term-detrimental to their platform and it keeps a lot of really innovative ideas out. And if this blog post had said "I wanted to do something really innovative, but I can't because Apple holds an iron grip", I'd be 100% behind the author. But Apple has the right to run their marketplace as they see fit, and developers who sign on and expect that Apple will not act as they always have, and as their ToS says they will, are deluding themselves.
This article is another one of those sensationalized "I know best, Apple is wrong!". I don't doubt that Apple makes mistakes, they are run by humans (for now...), but this definitely isn't one.