
My App Is Dead in the Water (medium.com)
369 points by stan503 11 months ago | hide | past | web | favorite | 200 comments

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?

Sorry to hear about your troubles.

Please read vikasnair's answer [0] below. I think that is the best answer to get your app approved right now.

[0] https://news.ycombinator.com/item?id=18444197

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.

But they are specifically requesting it.

I think this is a bad argument. Showing web content is how the web works.

The Field vs Google case is about the Google cache, not web browsers...

Publishing a hyperlink has nothing to do with Fair Use. OP is not re-hosting the content themselves, therefore in no way does Fair Use Doctrine apply.

The key difference is, Twitter and Reddit are big. The app store rules are way more flexible, when you have millions of users.

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.

Reddit is not the content author.

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.

Regardless the lack of communication from Apple about what needs to be done differently is infuriating.

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.

Personally, I feel like the correct thing to do for the user is to use SFSafariViewController. Custom webviews are pretty annoying IMO.

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:


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].

[1] http://ec.europa.eu/information_society/newsroom/image/docum...

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.

Speak for yourself

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.

Your argument misrepresents the metaphor. It's the wall that's the barrier to freedom, not what goes on within.

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.

Both of these points are wrong.

Thanks for the constructive criticism.

A wall can provide much freedom, depending on what’s outside. Freedom is a complicated term.

Freedom is slavery; ignorance is strength.

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.

Doesn't it depend on the size of the garden, and the diversity within?

You can of course still write software outside app stores and provide best of both. Not every computer in this world is a walled garden.

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.

> and that is not their fault

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.

Also vendors doing their best with astroturfing and obfuscating their works. I wonder why.

Yes, it's one thing if the government regulates a market, yet another if a company regulates it ...


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.

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.

I totally disagree and the evidence is Android.

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.




People have been saying the same thing about PCs since the 80s. How has that worked out?


Like “Access File System”,”read phone state”, etc.?

Fortnite isn’t a good example of anything.


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.


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.


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.

There are a few things, but porn games is probably the biggest.

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.

How well did that work with Windows UAC?

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.

Or an app like Fortnite....

And yet this doesn't happen on Android.

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.

[1] http://appstore.com/dossierallyouneedtoknow

This is a shame, I'm sorry to hear.

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.

Thank you, this is the best comment so far.

Why not launch Safari when the user clicks on an article? And make it clear that you have permission from HN to use their API?

Having used your app for exactly one minute, that seems like it would address their concerns and preserve usability.

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.

Yeah, what allows the Safari app creators to display arbitrary web content?

Given the "back" link from Safari to your app since iOS 11? (10?) - this is the right solution IMHO.

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.

And it keeps on ignoring the "don't ask me about Chrome / Safari again" toggle...

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.

this ain’t it

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.

On iOS, SFSafariViewController gets you the best of both worlds. The browser is in-app, but you essentially get a full Safari experience.

I agree. I also like to bookmark pages to read later. I hate it when I am required to go through additional step to open a page in web browser.

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.

[0]: https://developer.apple.com/documentation/safariservices/sfs...

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.

Don't point them to, INCLUDE.

#1 rule of dealing with bureaucrats: They are lazier than you can possibly imagine. Indulge them.

I would obtain a full copy of the copyright laws, ask your lawyer to put them on legal paperhead in a PDF, then attach them in full to your email.

I'd be interested to know if a "full copy of the copyright laws" would fit in a standard email payload

This seems weird enough to be an error of some kind. Not that Apple is likely to fix it, but enforcing this rule would exclude:

- All Reddit apps

- All HN apps

- Twitter

- Facebook

- Google News

- Any link or news aggregator

I guess even a browser wouldn't fly, since it "displays full articles from multiple news sources."

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.

It's been a while since I developed an iOS app, but I seem to remember there being a rule that you "app" can't just be a wrapper for a web site.

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.

? A lot of reddit and HN apps don't display the articles in app. Some of them open browser pages. I don't see how your "All ... apps" is quantified.

Fair enough. I'll amend it to "All Reddit, HN and Twitter apps I have ever seen"

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.

Looks like Apple has a history of removing third party reader apps. See a discussion from a couple years ago on Reddit apps getting nuked: https://www.reddit.com/r/iphone/comments/4edaee/looks_like_t...

edit: looks like that time it was for NSFW content....

It should be well known by now that Apple developers serve at the pleasure of the king (https://blog.codinghorror.com/serving-at-the-pleasure-of-the...).

Apple told you what to do:

> 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)

News Sources:

Hacker News (On/Off)

Imagine they accept it like that haha

Let the user select

    - How many articles per page
    - Only article with N upvotes
    - Don't display articles already read
    - etc

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?

> How is this different from a web browser?

or a search engine

> - 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?

More likely that is about Apple pushing its News app.

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).

The hardships of developing for closed platforms. At least your livelihood didn't depend on that App.

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.

In this case, it's just unfortunate luck.

I'd assume other reviewers were involved once he challenged the results.

I’m confused. What’s the violation here? Apps are supposed to open links in Safari “outside of the app” unless they have permission?

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.)

This might be a good time to reconsider what made iOS the best platform for this application in the first place.

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'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".

It looks like I wasn't clear - I'm suggesting an in-browser app independent of iOS and the app store.

That would be the same from a legal standpoint. You app would just get shittier UX, nothing else.

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.

I think what your parent comment is saying is that the Apple policy rejection would be exactly the same whether the app is native or HTML5.

Discovery via the app store.

Can't wait for PWAs to truly take off, so we can all build for an open platform again, without having to deal withh this nonsense.

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.

[1] https://medium.com/@firt/progressive-web-apps-on-ios-are-her...

> Questions like, “How is my app different than all the other Hacker News apps out there?” were ignored.

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.

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.

"it is wholly irrelevant"

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?

Let me fix this for you: Don't invest any resources into developing for an Apple platform. They will fuck you over whenever they feel like it.

“It felt like I was arguing with a robot.”

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!)

I guess your app is basically a browser. And so, you are competing with their own browser.

What else can you expect from a walled garden?

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?

The app you're using:

- 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.

It's using the official Hacker News API (https://github.com/HackerNews/API), not scraping web sites.

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.

I'm sure this is an error, and a moronic one at that. Otherwise even safari infringes on Apple's rules.

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.

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.

>Showing articles from random third party sources is pretty much THE feature of a Hacker News client app.

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.

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?".

Except speeding as a law makes a lot more sense, and, in the case of the cop, you're actually able to appeal to a real person.

Surely its enough to get a Hacker News person to give you a claim waiver or something? I mean, did you try contacting the HN folks?

The article doesn't mention YC, it mentions Techcrunch, Conde Nast etc.

Actually I did ask them, they (unsurprisingly) didn't have anything like that.

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

[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...

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.

Very rich of Apple to reject this app when Apple News aggregates news, doesn't display original URLs, etc.

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.

Why is this an app? seems to be a terrible candidate in the first place. Why don't you make a website?

it's already a website? you're using it right now..

The time has come: OEM's that lock their users into a specific app distribution platform need to be slapped with an anti-trust lawsuit. Hard.

When you have Apple's market share... well, with great power comes great responsibility....

If displaying links to other websites violates the TOS, then iOS is completely broken.

Whatever they are selling their customers is no longer the internet. It is a weird, hyper-monetized digital playpen.

Enough HN pwa to test https://hnpwa.com. Afcourse Apple is not fully embracing Pwa like Chrome/Google

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.

I just wrote up a long response to this rather than in comment form:


The main issue is - don't be a sharecropper. The problem is that many people can't avoid it and get sucked in regardless.

Why is there a need for a "Hacker News client"? It's a web site.

So is Facebook, Twitter, Instagram, Reddit, etc.

why bother making a native app ? simply, when a web app would suffice in terms of a PWA o? Aye, fuxk the so called walled gardens.

your app mechanics aren't that much different than Reddit, am i wrong? How is Reddit doing it without being removed?

The downside of curated app stores...

"But others do it too" is always a weak defence.

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.

I didn't know Apple now was a "courts of law" in the US, this is huge!

Well that's one way to interpret what I said...

> 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.

It opens the page in a WebView. What's the problem?

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.

Have you tried to be wealthy and/or an important app developer?

Quite right, basically if you're an established company, the app store works with you to establish the guidelines

Rules 1 and 2.

1. Be important 2. Don't be unimportant

Wondering if 1 or 2 are achievable when spending 100% of your time programming.

3. Be John Carmack

He attends conferences and gives talks.

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.

What are you refering to? HN guidelines?

I was just trying to be funny as well as point out the obvious reason why Apple won't care about him :)

I think s/he is saying - Rule 1: be wealthy, Rule 2: be an important app developer

Of course that makes a lot of sense. Thank you for clearing that up for me.

I think it's a play on a fairly common meme from Reddit. Early example here:


It’s an SNL sketch from years before reddit existed.

>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's fine if Apple wants to control their store, but that only apps approved by them, in their store, should be allowed ... should be illegal.

I wouln't like if someone scraped my web site, and put it in a iPhone app. Why not just open the links in a web browser !?

...that's what the app is doing.

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.
