I've checked couple of popular apps on the App Store and here are my findings:
- 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.
Hi! I actually just submitted my 1.0 app to App Store Review and I was just rejected for using SFSafariViewController, over the same guideline as OP. Imagine my surprise when ASR sent me screenshots of my app using iOS APIs as designed.
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?
One key difference (from a legal perspective, rather than a developer perspective) is that all of the above apps first display user commentary and the user is then given the option to open the link to read the entire article. This is an important distinction under the fair use doctrine: https://www.nolo.com/legal-encyclopedia/fair-use-the-four-fa...
How does it make a difference from a legal perspective? I am a former lawyer and can't see how any of this matters. I have thought about this deeply in the past (dealing with the same issue for another app), and talked with IP lawyer friends, and we cannot determine what basis Apple has for singling out apps that are essentially specialized web browsers.
I'm happy to be enlightened on why this practice makes sense, but so far I've come up with nothing.
The Fair Use Doctrine allows someone to share copyrighted material for a limited and "transformative" purpose. Typically "transformative" falls into one of two buckets: parody or commentary/criticism. Reddit, Twitter, Facebook and Instagram all display the entire news article within their app only after it has been presented alongside the poster's commentary. OP's Hacker News Zero app does it the other way around. Click on the link and you're taken directly to the news article and, if you then choose, you can select the "comments" to view commentary/criticism. The initial viewing of the article doesn't fall within Fair Use because it's not transformative in any way.
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.
This begs the question of why the fair use doctrine is required at all. It isn't needed for a web browser; why would it be needed for a pared-down web browser? Is it needed for a text-only web browser?
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.
Web browsers have an "implied license": https://en.wikisource.org/wiki/Field_v._Google,_Inc. and (I believe, but don't quote me on this) the law was amended shortly after this case to clarify the permissions/limit liability of web browsers & ISPs.
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.
Really unclear to me what you man by "third-party application" here. How is Google Chrome not third party, but this app is?
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.
In Google Chrome, you have to type in the address of website you are visiting. It is a lot of different if Chrome showed content from other sites without you specifically requesting it and without showing URL of those articles.
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.
That's not the key difference here. The key difference here is that the content author has control of the output. In the app in question, the app is scraping the content and the app developer is choosing how it's outputted. That's why the app is in violation.
I never said reddit was. The app in question isn't exclusively limited to content on reddit. Since anyone can post content from any website on Hacker News, there are several content sources and none of them are being displayed natively in this app.
That would make sense except the author said they have a “show in Safari” button for each article. Apple’s reply was very specific and said nothing about just adding titles and URLs or the safari view controller.
In the current App Store version the share button embeds both the original and HN discussion link into a promotional message about the app.
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.
Not from a legal perspective. But from a technical perspective, I refuse to use any app that doesn’t use the SFSafariViewController for third party content - including Facebook. The web is an awful place. An app that doesn’t use an SFSafariViewController doesn’t take advantage of the built in content blocking framework.
I think it's important to look at the broader issue:
"App stores" are walled gardens, policed by corporations and are the opposite of freedom.
The web is open and free.
We made a deal with the devil when we collectively decided to write and use apps and not the web.
This is just one symptom.
Developers only have themselves to blame. We allowed our technology to be used to spam, cheat and steal from our non-tech family and friends. We made tools that helped the bad-guys and did very little when our non-tech family and friends threw their hands up in confusion and cried for help. We sighed. We called them idiots and rolled our eyes.
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.
You were downvoted but this is spot-on, and you see this debate happening everywhere in tech. The entire GDPR was rooted in the (correct) observation that the tech sector could not self-regulate, that actual laws with nontrivial punishment were required to force tech companies to stop shady behaviors.
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.
The problem is that either policing is not a role for a company, or there should be laws that protect both the developer and the user, like in a normal market.
Governments are partly to blame here, for not addressing platform economies. But some are working on it [1].
The idea that "we" have the power to prevent software from being misused is nonsense. Most software (and all open source software, by definition) can be used for things the author of the software doesn't approve of.
For services, there is more scope to prevent misuse, but it's a never-ending battle.
There's that and the notion that as a distribution mechanism app stores are hopelessly ineffective unless you happen to have bribed your way into being featured or listed in their top whatever (at great expense).
(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.
You might be right but that doesn't reflect my own experience. I tend prefer native applications when using my mobile phone and I only use the browser for consuming text content. When it comes to more interactive experiences like maps, booking tickets, ordering food, social media etc. I definitely prefer native applications.
Alas, a walled garden is not the opposite of freedom. Indeed, in many places, living in a walled garden will make you factually freeer than your fellows outside.
Particularly in this case we should note that while there may be lost freedom for some developers, there is an increase in freedom for some users. They gain the freedom to explore the wares available in the app market without spending (as much) time worrying about bad actors.
Freedom without boundaries and trust isn’t freedom but anarchy.
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.
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.
I think you're extending an analogy to a philosophical place it doesn't go: from a "walled garden" to "the rule of law in a free society." There are a variety of features of the latter that are not inherent in the former.
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.
This is an under-represented viewpoint. The freedom we constantly discuss in terms of app stores is freedom of possibility, but it comes at a cost in time and effort that reduces one's material freedom.
You are right, and not just technically. But the problem with walled gardens is that they're safe and easy for people unable to navigate the world outside of them. Most people are unable or unwilling to sideload apps onto their devices, and that is not their fault. So when the walled garden becomes too unfree and tyrannical, the companies maintaining those gardens are to blame.
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.
You make a valuable point about personal responsibility that I agree with, so I may have to reconsider my original position. (I upvoted you.) But, I would also point out that while there is much more available information to make such decisions, that info is much less comprehensible to the average consumer, who is almost certainly much less savvy about technology than you are.
I half-agree. Maybe three-quarters? I would prefer that Apple let applications be distributed outside their app store; the mechanisms are all in place for them to be able to still have tools to stop genuinely bad actors this way (e.g., only allow signed applications to be side-loaded, so even if apps can't be yanked from a store, the developer certificate can still be revoked).
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.
It’s only a “problem” for a relatively few techies. Most people would be better served by a wall gardened. Seeing the mess that the average consumer makes on thier Windows computers is evidence.
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.
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.
A windows app can do anything do your computer. Spyware, malware, erase the hard drive. No permissions needed.
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.
Android - it's very limited what they can do - and they need permission
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.
A walled garden with a discreet gate that one needs to know how to open would still serve the non-techie crowd perfectly well, without compromising freedom for the rest.
UAC is a bad example - it's more like a walled garden where the wall consists entirely of gates, and when you approach any, it asks you if you want to open that. Hardly discreet.
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.
You just need that one person who thinks they are an “advanced user” to tell everyone else the secret trick and it spreads like a virus. About like all of the iOS users that aggressively quit apps because they think it increases battery life.
I had a very similar problem with an iOS app [1] I published which aggregated 3rd-party news content via RSS.
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.
I think Materialistic (a popular HN app for Android) does this. I can't remember getting "you need to be online" error ever, it just uses whatever comments cached last time I updated. I don't know if it has an iOS version.
I see the comments are already filling up with the usual cries of how this is what you get when you play in a curated market, but something about this doesn't make sense.
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.
It's kind of interesting that an app developer needs to prove they've got permission from the copyright holders to display a website, but Safari can display them all just like that.
Especially with the swipe gestures on the new phones since the X, my pet peeve are apps that use web views inside their app inside of just opening Safari.
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.
They're doing the same in the YouTube app, and even if you choose "Safari" they're not opening Safari, but showing an in-app webview to siphon every last bit of your browsing activity. Truly disgusting.
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.
Yes, I don't know about others but I actually prefer this, I would see it as an improvement, URLs should be opened in a browser not the app, that way you have the full functionality enabled, but then again that's just my personal taste.
Or even just SFSafariViewController set to automatically enter reader mode. Then you're not downloading/displaying content from other sites, but you're still keeping users within your app.
That seems even worse tbh. You are of course still downloading their content, but now you're also leaving out any money making possibilities the host site may have had in place. Even less likely to be considered "permitted".
Reader mode (and the ability to enable it by default [0]) are built-in features—and ones that are used quite frequently by other apps.
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.
It seems to me by saying "Attach documentary evidence in the App Review Information section in App Store Connect granting you permission to use these sources" they are just asking for a paper trail of your rights to use that information.
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.
> Why can't you include the agreement for the API as documentation of this?
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.
I'm not sure this is the case. Based on my experience, they take issue with the hard-coded sites, which the user has not "picked" via RSS or other setup process. So the issue here was just the HN domain, not all the other ones.
But I do wonder what suffices as "documentary evidence". An email from someone who works at the company? A letter from their legal department?
I have pointed them to the API documentation that I use, however they were uninterested in that. I also tried contacting the maintainers of the API, they didn't have anything for me.
Unless they are cracking down on apps that do nothing but republish links and feeds. Most Reddit apps will let you post and engage; some HN apps will do that too (shout out to my beloved Minihack). This particular app didn't, so it's difficult to argue that it provided anything more than republishing links... something that surely should be done only by their News app now /s
I guess... but that still leaves pretty much all news aggregators. Google News doesn't let you do much other than read news from all over the internet. It's functionally exactly the same, only with a different aggregating algorithm.
Even the Hangouts client opens links which people send me in its own internal browser— a behaviour I actually don't care for, since I'd prefer it spawned tabs in the regular Safari app. But it's exactly the same thing this guy is getting in trouble for.
I think what bugs me most about app review is that these things never come up for 1.0 or even 1.15. It’s some minor update where THEN Apple complains about minutiae that have existed since 1.0. Heck, they once complained about not having a Minimize button in a window (literally all previous versions lacked it).
It's sad that most of the comments seem to suggest that while it is not ideal, this is indeed the rule and either the links should be opened in safari or this is nothing new. That such a common functionality isn't allowed on ios while showing arbitrary enforcement is a real travesty. I'm surprised how tepid most of the comments are.
> 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)
There must be thousands and thousands of apps that function similar to HN clients. Providing a wrapper of an existing site and some additionally functionality seems pretty standard.
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.
Completely agreed here, we gave these companies all the power to keep us safe, integrate into our lives, and at the drop of a hat now they can take it away from you with no real way to fight back.
What nonsense. The links that HN has are all to publicly available websites, isn't the whole reason for their existence to be visited? How is this different from a web browser?
> - Only show a portion of the article within your app and link out to Safari for the rest
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?
Aside: Is there a reasonable way to get any non-American/non-English news in the news app?
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).
Painful, but I guess it's up to the individual AppStore reviewer to figure out what is ok or not. I actually created a few years ago a HackerNews client as well for iOS, but it never got through the review process, not even version 1.0. I was surprised, since many other HackerNews apps with similar features were allowed. At that point I just gave up and put the source code on Github, for whole the world to see.
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.
Yes, it would help to know why that condition is there in the first place and also why Apple exercise it for some apps and not others.
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.
I'd imagine the compelling advantage is being a native iOS application: "I wasn’t satisfied with the features of the Hacker News clients I had downloaded from the app store".
This is not a situation where legality is in play, it's an Apple policy rejection. Apple can say it's "for legal reasons" but Apple is enforcing it, not the government. Nobody is suing OP.
Isn't Apple the main holdup for this though? They only recently allowed some things, but look at the list of things you can do on android vs ios when it comes to PWA's [1]. Things like not even notifying the user that they can install it as a PWA, and no push notification functionality are 2 pretty big barriers to having it actually work well. From what I've read, v12 didn't add any new capabilities over 11.3, which only fairly recently introduced very limited PWA functionality.
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.
If you believe they actually had a reason for their actions and are trying to apply their rules consistently, that question is the best way to get everyone on the same page and reach full understanding of the situation. It's only irrelevant if you assume from the beginning that enforcement is completely arbitrary and capricious.
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.
They told him whoch changes they want him to make. He dances around it a lot with "surely I can't get consent from the whole Internet", but he did understand that they want him to use Safari.
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.
And why not ? How else will we question arbitrary enforcement without pointing out to the instances of arbitrary enforcement ? Surely, he is not asking that they take down those other apps. He just wants to be in the same bucket as the others.
You don't discuss arbitrary enforcement with Apple's reviewer.
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.
Are you displaying the articles in a standard Safari view like Tweetbot & co? And are you sure the problem isn't triggered by the favicons (aka copyrighted logos) on the main list?
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?’
> I feel speaking out loud with a real person would force answers to a lot of these questions
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!)
Is the app actually parsing the articles and displaying them the app or just like other HN clients that just have links and you open them in Safari? If it's the first then I guess the complaint makes sense if you are implementing some kind of "Reader" mode in the app itself by scraping the content.
I am currently using an HN client on iOS which parses the article links for you and renders them into a "reader" mode without leaving the app, you can also open the link via Safari or save it to pocket.
This is exactly what his app is doing, I fail to see what are the differences between the two?
I think dewey is asking about the articles linked from HN, not HN itself. The post implies that when you click on an article from NYT/NPR/etc, it shows the content inside the app (since there's a separate button to open it in Safari), doesn't it?
It might not be a desirable behavior for some users but it shouldn't be forbidden… The client I'm using also leaves the choice of opening within the app or going through the native browser.
No, Safari doesn't have this problem. One remedy the OP was offered was to require the user to choose the third-party content to display. That's just what Safari does.
(BTW, I don't think it's an appropriate remedy in this situation. I'm just saying this isn't inconsistent with Safari.)
It's not so simple. When you load HN on safari, it doesn't prompt you which links on HN you'd like to allow visits to. A tap on the link is what signals your intent. I fail to see how downloading an HN app is any different from visiting HN in 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).
One has to wonder if what Apple actually objects to is the display of logos (from the favicons) in the list of links. They’re an incredibly brand conscious company and almost certain have people scouting for things that could get them sued by the owners of other brands.
It would seem to be odd for a mark owner to sue after specifically putting out a favicon, which is intended to be used to visually ID that site in a sea of tabs/links.
While I wholeheartedly agree I mean to focus on the perception of a problem and not the presence of any actual problem.
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.
Seems like a lot of these issues could be resolved with better communication, such as a call with a real person. The author mentions "It felt like I was arguing with a robot." Too many of these large companies (Google, Facebook, Apple) have become faceless.
One option is to submit the app under a new dev account with a few tweaked variables ( name, colors, screenshots ) I feel like some of these rejections depend on the reviewer you get that day; and once an app is flagged, it's hard to recover.
This is a really bad idea. These platforms like Apple and Google control large online ecosystems, and they're known to permaban people across the board when they step out of line. There are dozens of stories about Google basically terminating all relationships with someone (including their Gmail, Drive content, etc.) over Play Store dev account hijinks.
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.
> 5.2.2 Third Party Sites/Services: If your app uses, accesses, monetizes access to, or displays content from a third party service, ensure that you are specifically permitted to do so under the service’s terms of use.
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.
A lesson learned by a lot of iOS devs. If you want to play in their game, you have to play by their rules, even if they don't apply those rules to everyone else.
>* Questions like, “How is my app different than all the other Hacker News apps out there?” were ignored. (...) It makes you wonder: if this rule is supposed to be enforced by app review, how does ANY Hacker News client make it through app review?*
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?".
Given the huge volume of crappy apps in the store, I think the general public is well served by this policy even if it does suck for well intentioned developers like yourself.
Apple is a monopoly in the apps market, controlling 66% [1] of the $70B annually. It's practices are now going to be litigated at the supreme court level [2]
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
There are a lot of complaints about "X app does this, why can't mine." The app store isn't a democracy, they can and do make up their own rules and they can apply them how they want.
Think of the Simpsons episode and the "No Homer's Club". They can allow one Homer, and reject all other Homers if they want.
Apple News has a license to distribute that content from the content creators. OP doesn't.
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.
I am curious if that kind of arbitrary myopic judgement will hurt Apple in the long term, as influential developers end up using Android because it supports more options.
Precedent is important. So important in fact that it is a widely used mechanism in courts of law when an issue is not cut and dry. If you lay out a set of rules which are only randomly enforced then your 'rules' become useless.
> As for their alternatives, kicking the user out to Safari would significantly reduce the usability of the app.
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.
They're saying it's a better experience. I'm saying I'd rather have it in the browser that I already use. Good example being that I want to keep the article open or accumulate them in Safari instead of have this weird modal article-viewing system in the app.
Various Reddit apps inline articles and I think it's just a worst experience.
Do you know anyone important who spent 100% of their time programming? That rules out books, talks, blog posts, entrepreneurship, etc. That's your answer.
>kicking the user out to Safari would significantly reduce the usability of the app
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.
How much control do the app have over a web-view? Would it for example be able to log user input (steal passwords), or insert content (ads) ? Do the web view make it's own https request ?
The app can tell the webview: open this URL. That's pretty much it. Injecting could theoretically happen, but only by showing a page that looks like the original but isn't.
Sounds like their problem is that you don't have permission from Hacker News to launch a Hacker News app? To be honest, this is a good policy - the app store is inundated with shitty apps that capitalize on well known properties in this way and monetize their users with ads for even shittier apps, with straight up scams being the plankton on which this ecosystem depends.
- 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.