My App Is Dead in the Water
medium.com
medium.com
- Twitter: uses SFSafariViewController
- Reddit: uses custom in-app web view, shows page title and url on top, provides "open in Safari" option through share button
- Instagram: uses custom in-app web view, shows page title and url on top, provides the built in share-sheet, interestingly disabling open in Safari, but enabling "Add to Reading list"
Your current app on the App Store embeds third party content in an in-app web view, without showing the title or original URL on top and without being able to open the link in Safari.
I suggest you to either use SFSafariViewController for the third party content or mimic something similar with a proper title bar and and share button with Open in Safari option.
Not providing attribution in the form of the address bar (title + url) might be the main problem here but I personally feel fixing sharing would help as well.
I'm happy to be enlightened on why this practice makes sense, but so far I've come up with nothing.
I suspect if the app is changed to operate more like Reddit (view the article title/source and view comments, if any, prior to opening the article) it would be approved by Apple. Alternatively, as suggested by Apple, the app could initially present only an excerpt of the article and fall within the exception but, as pointed out in the medium post, that probably isn't particularly valuable to HN users.
You also could have tried reading the link I included with my original comment.
None of these is addressed by your original comment or the link, which all presuppose that the fair use doctrine is the only way to escape copyright problems associated with loading a webview with someone else's content.
A third-party application doesn't have the same permissions/protections. Copyright law doesn't always require the author's permission though. If you don't have permission you can still display the content if you have a legal justification. The Fair Use Doctrine is the set of factors to determine whether or not publication without permission is justified.
The transformative nature of the publication is only one factor, although it's the most important. Another factor working in OP's favor is that the use is non-commercial. He says in his blog post that he maintains the site on his own in his spare time, doesn't charge users to download the app, and from what I can tell, doesn't have any ads.
I really think OP could make some small changes and get it approved by the app store.
Typically in this nomenclature the first and second parties are the user and OS (or computer) vendor. The third party is an application developer. So typically Google and Mozilla would be third parties the same as maker of the HN browser.
Aside from that, I see no real distinction here. When I launch Firefox, it shows me on my "blank" home page (provided by the browser, not a web page) a list of popular articles curated by its Pocket division. This is essentially identical to what OP's app does. One is a browser that proffers links, the other is a browser that proffers links.
I have seen of lot of funny or meme apps which rip content off same popular websites. I think it unfair to operator of such sites. A lot of these app will show their ads, but won't pull in ads of publisher.
I think this is a bad argument. Showing web content is how the web works.
So not even SFSafariViewController is protection from committing copyright infringement, apparently.
I also got the same workaround from ASR: make the links exit the app to Safari. But now I'm curious what the point of SFSVC is beyond reading... a privacy policy for your own app? Web pages belonging to your own app? But then why not use a WKWebView?
Please read vikasnair's answer [0] below. I think that is the best answer to get your app approved right now.
Except for some corporate environment, I don't see how it's not their fault. It's easier than ever to make an informed decision before using one's wallet and it's every living, functioning human's duty to improve, grow and learn.
Totally tired of apps that are nothing else than options-less and incontrolable browsers.
We now have to live with a bunch mostly sensible though occasionally over-sensitive rules to make sure we don't try to trick and cheat our non-tech brethren.
We of course still have plenty of other super-techy places we can play—: Linux, Raspberry Pies, Embedded Devices, the whole of server-side internet.
Yet we still moan because someone has walled a bit of it off to protect ordinary people from charlatans.
Boo-hoo.
Even YC isn't clean in this regard. They funded a startup called InstallMonetizer that promulgated the drive-by installer problem: https://news.ycombinator.com/item?id=5092711 . There's a great quote from that post:
> You can make a lot of money doing all kinds of popular things -- pimping women, selling drugs, selling 'likes' on facebook, selling botnets that create fake clicks on advertisers, ponzi schemes, etc. Some are illegal, some are just barely legal, but they are all damaging to someone. This line of business is known as 'scummy' and InstallMonetizer is plain 'scummy'.
Yes we have to blame those who perpetrate the behavior, but we also have to blame ourselves for not being more aggressive in sounding the alarm. For many influential people who could have put a stop to this, the Upton Sinclair quote applies:
> It is difficult to get a man to understand something, when his salary depends on his not understanding it.
Governments are partly to blame here, for not addressing platform economies. But some are working on it [1].
[1] http://ec.europa.eu/information_society/newsroom/image/docum...
For services, there is more scope to prevent misuse, but it's a never-ending battle.
You're constructing a scenario to justify an abstract argument. The wall is the only salient feature in the walled garden metaphor. There's no terror lurking outside.
If you mean to imply that Apple's oversight has some advantages, such as security, that's a separate issue.
In the context of Apple's app store rules, the wall refers to Apple's rules. The absence of those rules does not reduce your freedom as a developer; you're can still abide by them without Apple requiring your to do so. But you have more choice without the rules.
A game is only a game if all the players have a shared set of rules and can trust each other to stay within them. As soon as someone breaks the rules the game is over, and the freedom provided is lost.
For example, justice in a free society should not be arbitrary and capricious. It should be fair and equal, and applied with discretion. A society where minor rules are difficult to understand but are enforced to the maximum extent is a tyranny.
No - apps are fine.
Even app stores are fine.
It's the fact that you can't distribute an app outside an app store ... this is a problem.
So basically Apple is the problem, everyone else is fine.
My mom would never have to worry about getting malware because she searched for a printer driver if she had an iPad. Heck, she wouldn’t have had to worry about a printer driver at all.
And if you want to see what happens on mobile when you have an App Store with an out clause like on Android for the common consumer, look no further than what happened with Fortnight.
A) Android doesn't have some vast and ugly problem with malfeasance.
B) It's entirely possible to educate customers that if they go outside of respected shops - they run the risk of problems.
C) The 'Windows' analogy doesn't really hold because mobile OS APIs are totally locked down. Any app installed on Windows/Mac can effectively wipe out your machine. It's a huge risk. An android app has very limited API access, moreover, the user has to grant explicit rights.
Fortnight is not a bad example of anything really.
There's no evidence that people really benefit from fully walled garden.
Moreover, there's evidence that they can't get the apps and functionality they need, because there are quite a number of apps that simply cannot be easily developed and deployed in iPhone - so many corporate and B2B apps. It's possible in only limited scenarios.
The 'security' issue is not real. It's a tactic by Apple to control the market and that's mostly it.
https://drfone.wondershare.com/android-tips/top-android-viru...
It's entirely possible to educate customers that if they go outside of respected shops - they run the risk of problems.
People have been saying the same thing about PCs since the 80s. How has that worked out?
An android app has very limited API access, moreover, the user has to grant explicit rights.
Like “Access File System”,”read phone state”, etc.?
Fortnite isn’t a good example of anything.
https://www.cnet.com/news/just-as-critics-feared-fortnite-fo...
There's no evidence that people really benefit from fully walled garden.
Except that you never hear about the malware on iOS that is able to be installed on Android devices.
There's no evidence that people really benefit from fully walled garden.
There is plenty of B2B software on iOS, a large multinational company I use to work for distributed all types of apps for their employees that never went through the App Store. Another company I worked for distributed B2B software for other customers.
Moreover, there's evidence that they can't get the apps and functionality they need,
What apps does the general non techie consumer “need” or “want” that they can’t get on iOS.
Android - it's very limited what they can do - and they need permission.
This is perfectly fair.
There is basically no reason for a walled garden - that 'there exists some malware' on Android is not evidence that 'open' is a problem, it's just evidence that 'open will have some problems' - which I admit.
The very minor issues that can exist on Android are easily worth the open nature of the platform.
"What apps can't I get" ?
Well, this HN reader for one.
There are 100x more examples of decent apps being rejected from iOS than there are serious problems in Android.
Have you seen the list of permissions that allow an app to do basically anything on an Android phone? And if you think asking for permission before an app is granted these widespread permission are good enough, that’s just about as effective as UAC was on Vista.
There is basically no reason for a walled garden - that 'there exists some malware' on Android is not evidence that 'open' is a problem, it's just evidence that 'open will have some problems' - which I admit. The very minor issues that can exist on Android are easily worth the open nature of the platform.
It may be worth it to you but not to the millions of people that click yes to every dialog box. These are the same people that have ten toolbars on their web browser.
Well, this HN reader for one. There are 100x more examples of decent apps being rejected from iOS than there are serious problems in Android.
The people who want an app to read Hacker News are dwarfed by the amount of people who would just as easily install ransomware on their phone as they would on Windows.
I’ll install almost any app on my phone/iPad/AppleTV just to try out because it can’t do any harm. I would have to treat an Android phone like I treat installing software on Windows - only from a few trusted sources.
You can’t even install CloudFlare’s recently released app without it asking for microphone access and file access.
In any case, this was in the context of app stores. What I meant is the ability to go flip a switch that enables sideloading, as you can do with Android or Win10 Store apps, if you know that one exists - on the assumption that if you do, you also know the risks. On Win10 specifically, this is stashed away in the system settings page titled "For developers", which comes with a bunch of warnings, so it's not something you can turn on by accident.
Or an app like Fortnite....
But even if they did that (which I rate as "unlikely but not as impossible as many others think"), there's a big problem with them being inconsistent and even capricious in rules enforcement coupled with badly communicating when issues arise. While that's a huge problem as long as they're effectively the only game in town for app distribution, it would... still be a huge problem even if that weren't true, because the chances are they would still far and away be the biggest app store.
(Mobile) web is where the action is these days. The conversion from there to app installs is typically beyond terrible. It just doesn't matter how good your app is. The vast majority of your web users will never see your app or care to see it.
A lot of the stuff that currently requires native, you might be able to pull off via wasm instead. In any case, most users simply don't bother with installing apps for anything except a handful of things they really need. You are simply not the center of their universe. So, focus on mobile web.
Make it a progressive mobile web app and you have Android covered as well. And whatever else people might use these days (Ipads, Amazon kindles, chrome books, windows ARM, etc.). Add a bit of responsive design and it works on desktops as well. If successful, you can still package your web app as a native app. Lots of other web developers do this. If Apple ever crippled their embedded browser, it would break most of the apps in their store.
It took 3 months of back-and-forth with Apple Review to bypass those legality and content clauses in addition to a “limited functionality” clause. The key features introduced that finally put me past the review board were:
* Embedding a link to Safari on each news article cell
* Only allow content to display in SFSafariViewController (this was desired anyways)
* Allowing user to pick and choose categories of news to be shown
* A progress tracking feature which very simply measures and displays users’ time spent reading
The former two got me past the clauses identified in this article, re: 3rd party content. The latter two helped me to prove my app did something other than display 3rd party content (the limited functionality clause).
Was frustrating to find these workarounds, especially when the App Review board is not very responsive. Thankfully, some kind soul at Apple called me and helped me resolve everything within a day after my 5th consecutive reject.
I loved this app for a long time because it was the only one (that I found) that would cache comment threads on the device - this meant I could read comments on the subway and/or without access to the internet.
A few months ago the app was rewritten in Swift and lost my most treasured feature, not that it matters anymore.
Thanks for the years of connectivity-anxiety free comment reading!
Edit: If you do get passed this (I really hope you do) please consider adding an option that would fetch and save comments on the device. I'll pay for it.
Apple provides several views specifically designed to show web content: UIWebView, WKWebView, and SFSafariViewController. This ruling of theirs would apply to all uses of these views that aren't for specific domains and URLs known in advance, which makes no sense.
There are literally hundreds of thousands of apps across all kinds of categories that display websites within the app. I've personally launched dozens of apps that have this functionality and never received a rejection for it, or heard of anyone who has.
Moreover, there are no mechanisms that I'm even aware of to provide Apple with proof of "permission" to display a URL. So the path you're supposed to take is to wait for a rejection and then submit that proof to the reviewer in your resubmission? Or is this supposed to go in the review notes? Presumably you saying you have permission isn't enough, so what do they want, a link to a PDF of a signed contract that their legal team can review? Really doubt it.
None of this is meant to be defensive of Apple or an attack on the author of this article. It just sounds like there was a mistake or error in communication somewhere. I don't think Apple's intent here is to disallow any app that opens a URL, but I guess we'll see.
Having used your app for exactly one minute, that seems like it would address their concerns and preserve usability.
The worst offender is the Gmail app since half the links I click on there interact with cookies in the Safari app (account activation, notifications, etc). And Gmail will even keep nagging me to install Chrome which I will never do. Ugh, I really need to switch away from Gmail.
I don’t want my twitter and RSS reader app exploding my safari tab count. I look at articles all the time in those apps and decide not to open them in safari.
Downloading and displaying content from websites in general (not a specific site(s) that you have permission for) seems much less common. I can't think of any other app I've ever seen that does that.
[0]: https://developer.apple.com/documentation/safariservices/sfs...
Why can't you include the agreement for the API as documentation of this? Seems really straight forward. They are trying to protect themselves, not get into a philosophical battle over software and media copyrights.
#1 rule of dealing with bureaucrats: They are lazier than you can possibly imagine. Indulge them.
If I understand correctly they are having a problem with the inclusion of third party pages. So he would have to provide permission from all the sources of articles, like WSJ, NPR, LA Times, any website linked, etc.
But I do wonder what suffices as "documentary evidence". An email from someone who works at the company? A letter from their legal department?
- All Reddit apps
- All HN apps
- Google News
- Any link or news aggregator
I guess even a browser wouldn't fly, since it "displays full articles from multiple news sources."
edit: looks like that time it was for NSFW content....
> Require users to customize their news sources upon launching your app
Make it a setting. Anyone who is going to use your app is qualified to paste a URL into a text field (or click a radio button indicating they want to use news.yc vs old.xy)
- How many articles per page
- Only article with N upvotes
- Don't display articles already read
- etcHacker News (On/Off)
Imagine they accept it like that haha
This is another sad example of the power the internet giants have over developers when we're forced to build for their platforms in order to get users.
or a search engine
Reading between the lines here, is the problem that ad tracking works less in these apps due to having separate cookies, so publishers are pressuring Apple to remove these apps?
I find it a bit mindblowing that "Discover Channels" and the topics list are all in English and for a country I don't live in. For example, there's an option to add every BBC subcategory except BBC Mundo (i.e. Latin America).
I believe this way it might still have helped me find new job opportunities, since companies could see a bit of my coding style. So I believe in the end not all work was for nothing.
There's little app developers can do about it for iOS. On Android you can install new app stores, but with Apple you're forced to use theirs. This can be both a blessing and a curse.
In this case, it's just unfortunate luck.
What about in-app browsers???? Twitter, Facebook, Instagram... they all open links inside their app, in an in-app browser.
Can somebody please clarify Apple’s rules here? (No snark please.)
For example, can the app be re-packaged as an HTML5 app instead? What's the compelling advantage for building on iOS for this application?
I don't really see Apple doing much more on this front than they have. It makes no financial sense for them as some smallish percentage of appstore apps could be replaced with PWA's. What's their incentive? They will lose some revenue.
[1] https://medium.com/@firt/progressive-web-apps-on-ios-are-her...
I understand the frustration that leads to this question, but it is wholly irrelevant and only loses you a bit of the reviewer's attention span.
Nonsense. It seems like the developer was willing to make any changes Apple wished in order to conform to their policies. His impediment was that he could not figure out what those changes were.
If very similar app X is ok, and my app is not, then asking what the crucial difference is, is a very apt question which may lead directly to the specific issue.
If we cant be sensible, ask sensible questions and have a sensible conversation about an issue with another human, in order to try and resolve a problem in good faith, then I guess we should all just go stick our heads in buckets of water.
I don't agree with Apple here, I think his app should be fine.
But that's what they said, and just because they did not pull the other apps yet (for all we know), doesn't mean he has a point asking about those.
Either they enforce arbitrarily, or they don't. In neither case do they care about your opinion on it.
If you want to have that discussion, have it. On your blog. On Hacker News. On Medium. But not in the "please reinstate my app" conversation with Apple.
How much of the App Store review process is automated these days, anyways?
One of my largest laments for the last 8 years or so with the App Store is the lack of a phone number in the appeals process for applications. I feel speaking out loud with a real person would force answers to a lot of these questions, especially ‘why does ‘x’ get away with this and I can’t?’
Oh, hey, we've arrived at the reason that phone number doesn't exist. The ambiguity gives Apple flexibility, and I doubt they have any plans to remove it in the near future (How I'd love to be wrong!)
What else can you expect from a walled garden?
This is exactly what his app is doing, I fail to see what are the differences between the two?
- is older and predates this particular restriction
- OR the reviewers overlooked it
App Store reviews are really a gamble when you start linking to websites in your app. It's just a shitty experience for the developer in general.
The real maddening thing is that there is no appeal process and no (mainstream) way to distribute your app if Apple has a vague problem with it.
I hope for a day we will have mobile devices that are free and usable.
(BTW, I don't think it's an appropriate remedy in this situation. I'm just saying this isn't inconsistent with Safari.)
There are probably links to websites that link to the wider Web too on the safari new tab page (though I haven't used a fresh safari in some time so I might be mistaken).
Regardless of where the logo is acquired from what is more important is where it is shown and what it is shown next to. This is what I mean by brand sensitivity. The article makes it seem (to me) like the reviewer has a problem with a specific aspect of the app but is using a somewhat broadly interpretable part of the guidelines as the reason for rejection. This is why I suspect that a visual change regarding the logos might help the app pass review.
I presume the author of the article has an iPhone. If he intends to be able to use an iPhone, screwing around with making Apple accounts that pretend to be different people to sneak an app past the reviews is not a good decision. The developer could find themselves unable to use any Apple account or service.
Interesting.. I had an app in the Apple App Store for some time that essentially scraped a service provider’s web site, allowing the user to invoke features of that site. Essentially wrapping an ugly web site in a pretty iOS interface. Never even considered “getting authorization” from them. It survived in the iOS App Store for a few years until I took it down for other reasons. Wonder how new this rule is or how evenly it’s enforced.
No, that should be showing the HN discussion.
For the articles itself, you could always forward an open the original page in an embedded webkit view.
That's not a very good question to argue with Apple about. It's like saying the traffic cop "but there are all those other cares going beyond 70 mph, why stop me?".
Apple's only defense, that it isn't a majority of the unit sales in Mobile phones, is a convenient strawman distracting from the fact that they ARE a majority in the app store market. Increasingly, people are finding such excuses misleading and outdated [3]
I hope Apple losses in the supreme court, as their app store process makes a mockery of an individual's ownership of the iPhone they paid for. Imagine if you bought a house, and the builder got to decide what furniture could and couldn't be put in it.
Additionally, it's time for the EU and FTC to regulate Apple and the like, on realistic definitions of monopoly and antitrust
[1]: https://techcrunch.com/2018/07/16/apples-app-store-revenue-n...
[2]: https://www.theverge.com/2018/6/20/17479480/supreme-court-ap...
[3]: https://qz.com/work/1460402/google-facebook-and-amazon-benef...
Think of the Simpsons episode and the "No Homer's Club". They can allow one Homer, and reject all other Homers if they want.
Edit: To say I don't agree with the way the law shakes out with respect to copyright enforcement on the internet but that's the way it works right now. I would even suggest that recent legislation in Europe will pull us in the wrong direction. Just another example of why it's important for our legislatures (and increasingly, judges) to have a firm understanding of how technology works so we aren't left with these hamfisted applications of ancient regulations to modern technology.
When you have Apple's market share... well, with great power comes great responsibility....
Whatever they are selling their customers is no longer the internet. It is a weird, hyper-monetized digital playpen.
https://news.ycombinator.com/item?id=18442147
The main issue is - don't be a sharecropper. The problem is that many people can't avoid it and get sucked in regardless.
Not at all.
When you open a website in Safari from an app, the user gets a first class website-browser experience without your chrome, and a "< Back to your app" button in the menuline.
Various Reddit apps inline articles and I think it's just a worst experience.
I was just trying to be funny as well as point out the obvious reason why Apple won't care about him :)
https://www.reddit.com/r/seduction/comments/3cdmps/rule_1_be...
Am I the only one who HATES when apps open links inside a webview and you have to tap yet another button to open the link in Safari? Most apps do that and they annoy the hell out of me.
It was just opening the links in a webview inside the app instead of tossing the user over into Safari every time they click a link. There was no scraping happening.