205 comments

[ 4.6 ms ] story [ 240 ms ] thread
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"
The hardships of developing for closed platforms. At least your livelihood didn't depend on that App.
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.

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

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

Have you tried to be wealthy and/or an important app developer?
Rules 1 and 2.
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.
(comment deleted)
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.
Quite right, basically if you're an established company, the app store works with you to establish the guidelines
The downside of curated app stores...
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.
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)

Let the user select

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

Hacker News (On/Off)

Imagine they accept it like that haha

Why do you need an app to view a web site? Surely you've heard of the web browser?
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.
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.

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.

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.

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.
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'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?
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.
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.
On iOS, SFSafariViewController gets you the best of both worlds. The browser is in-app, but you essentially get a full Safari experience.
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.
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?

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

your app mechanics aren't that much different than Reddit, am i wrong? How is Reddit doing it without being removed?
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.

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

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

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

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.