6 ms·
Halide rejected from App Store because it doesn't explain why it takes photos
- sandofsky 2y agoI'm the Halide cofounder who shared the silly rejection that blew up. I'm knee deep in our iPhone 16 update and tired, so I don't feel like engaging the discourse that comes up over and over around the App Store. Instead I'll just paste the follow-up I just posted to Reddit: Hey everyone. Apple followed up with us to confirm this was a reviewer goof. Normally, they don't sweat that description when it's obvious it's a camera app. They're stricter on apps that don't really need camera access. This was human error, there's no need for us to change the description, so we're all good.
- ajdude 2y ago> Update: Halide’s Sebastiaan de Wish says the company received a call from Apple informing them that this was a mistake. Halide can now resubmit to the App Store “without any changes required.”
- LeicaLatte 2y agoI ship 50+ app updates per year on the Apple App Store including updates for a top 10 ranked app. This kind of thing happens more often than less. It mainly hurts timed promotions or marketing efforts that the rest of the company has planned for. Last month our app was rejected for not working on the iPad Air. This rejection came in at 2 am in the morning on a weekend. App was never supported for iPad. My company panicked but I realized what was happening and just sent it for review again and it was accepted after 15 hours. But the damage was done and iOS platform missed the marketing launch. Android made it through. It’s a mess because the review is almost always disproportionate to the changes you might have done in a update. That update was a simple content change and there was no reason to assume it would be blocked. But there is never any guarantee. Sometimes they will say you can’t say iOS 18 in your release notes. :) it’s dumb so be warned, set the right expectation to the rest of the organization.
- amelius 2y ago> I don’t know how to explain why a camera app needs camera permissions. Developing for the App Store is about as much fun as filling out tax forms and talking to an IRS agent.
- lorenzsell 2y agoNo. The IRS tax agent will be way more helpful.
- rty32 2y agoAnd I suppose CPA exists to help understand tax laws, and there is always a possibility to sue the government if you don't agree with them on how the law works. Whereas with app store reviews, it's a black box with no option other than trial and error to figure out what to do.
- leetrout 2y agoReally needs to be regulated with some kind of oversight for this kind of silliness, and even better, needs a way for users to sideload when they choose to accept the risk and let devs sell direct. I side with Epic on that one.
- imgabe 2y agoSideloading would be better. Adding regulation just means another layer of even more clueless bureaucrat you have to appease.
- Zambyte 2y agoI don't even like the term "sideload" honestly. It implies that Apple reasonably has any say over the software installed on a computer they don't own, and by "sideloading" you are circumventing that. They have no meaningful say. Exercising power over a computer they don't own is simply malware, and would be illegal if it were not for the associated branding. People should be able to control computers they own. Simple as that.
- alias_neo 2y agoJust to add some balance to the conversation; this silliness isn't limited to Apple; we've had Play Store reject our app several times for doing something it literally doesn't do; they required us to add a data-protection policy to explain why we did it, and wouldn't accept that it (our app) literally doesn't (the app connects to a self-hosted server the user runs themselves, so it can easily be checked). In the end, we gave up and just added the DPP text anyway and it got approved. Edit to add: This was for an update, over half a decade after release, not the initial release, and nothing had changed in how it functioned in this regard in that time. Edit 2: Typo + clarification
- isodev 2y agoIn this case, they were correct to request that you add data protection policy. Your app may still process personal data locally and then you're still subject to data protection regulations.
- alias_neo 2y agoIt doesn't.
- tempfile 2y agoAre you? If the user processes their own data on their own device using your software, you're the data processor?
- refulgentis 2y agoCorrect. They are using my software to process their input.
- isodev 2y agoAs the app developer you clearly control the means of processing, you are the data controller. You may have opted for “offline processing” which simplifies your compliance, but it is still processing under your control (and subject to change in future updates, which needs to come with a change to your data processing policy with informed user consent).
- nottorp 2y agoThis is the first product of Apple Intelligence(tm)!
- lawgimenez 2y agoApp Store reviewers need to get their acts together. Last week our app was rejected for submitting it for iOS 18, then they accepted it right away after realizing their mistake. Very weird.
- abtinf 2y ago> The camera will be used to take photographs. That is a terrible reason to request camera access. It is just restating the access request and it should be rejected. Why will photographs be taken? Because it is a camera/photography application and will only take photographs on explicit user request.
- virtualritz 2y agoIt were if there wasn't any context. But as you just downloaded a camera app that you want to use to take pictures, that description is actually already beyond what could reasonably be expected.
- abtinf 2y agoIt is trivial to come up with plausible justifications the user might reject if the reason were made explicit. E.g “The camera will be used to continuously take photographs and upload them to our AI platform for training, analysis, and aesthetic optimization.”
- deleted 2y ago[deleted]
- ahoka 2y agoYes, how would I know how else it might use the camera?
- rib3ye 2y agoDoes the reviewer have that context? In my job capacity, I give status updates about many unrelated projects. If I am not explaining full context in a seemingly simple update or question, I will get my hand slapped. And if I tell my boss to “read” it’s going to go worse. I would have removed the risk of removal by simply prefacing the app is a professional camera app and taking photos is the primary user function. And not just a lesson for here but also in life: One-liners are fun to say, but people generally don’t like being on the receiving end of them.
- i_k_k 2y agoIf Halide were an alarm clock, the explanation would be wholly unconvincing: the rejection only seems silly if you know what Halide is. “This is a camera app”, might be a better explanation.
- BadHumans 2y agoYou would expect the reviewer to do some research and even maybe, I don't know, use the app?
- dhosek 2y agoI’m guessing reviewers have very limited time for each review. I don’t know what the internal process looks like, but I’m guessing an automatically generated screen listing the app’s permission requests, the justifications for each and other stuff? I would be surprised if there would be time for them to actually use any of the apps that they review or if they even have a phone to try apps on.
- exe34 2y agoIt sounds like they are looking for plausible excuses, not necessarily what's going on or using common-sense. This seems ripe for LLM automation.
- dhosek 2y agoThis seems exactly the kind of result I would expect from LLM automation. I would never trust any system that used LLM output without human review. Actually, I don’t think I would trust any system that used LLM output even with human review.
- Zitrax 2y agoThat was my first thought as well, "The camera will be used to take photographs" seem pointless, if it's a camera app it's obvious if it's not it does not help the reviewer.
- blargey 2y agoWhy does this app use the camera to take photos? "The camera will be used to take photographs" Given how that reads, I'd think listing any single specific reason a user would want to take photos with this app instead of the default camera app would have worked fine.
- saagarjha 2y agoThat’s the job of the marketing copy, not a privacy alert.
- deleted 2y ago[deleted]
- userbinator 2y agoI guess the reviewer might not be familiar with the name, but after seeing what the app is for, it should be obvious. Unfortunately it seems the reviewer didn't have the competence to reach the second part.
- pasc1878 2y agoCorrectly - read the documentation first before even loading the app. If the docs don't say why then you do not go to the second stage.
- happytoexplain 2y agoApple's process is correct here, in my opinion. They (rightfully) require that an app declare why it needs access to resources/data, and they verify (rightfully) that it is meaningful and does not use circular logic ("The camera will be used to take photographs"). Remember, this is not only for users, it is also for reviewers - to keep out apps that unnecessarily access things (that many users don't have the energy to think about, and will just tap "allow" in the permissions spam they will come to expect from every app if this policy was not enforced). Given the enormous volume of app submissions and the large number of points each app must be reviewed on, it might be unrealistic to require that reviewers always use the full context of the app when reviewing each individual component - the person reviewing the message might not even know what the app is! And they shouldn't have to! The message should be self-explanatory. The app needs access to the camera because it is a photography app, not because it takes photos. I applaud Apple's thoroughness on this topic. It's much better than the opposite problem, which is what plagues virtually 100% of other software platforms historically, and I'm disheartened for software as a whole that some people (especially HN users, who should be more thoughtful) can't see beyond the petty "it must be mindless Apple defenders" catch-all, or the "rejection reasons are sometimes non-specific" problem, (the latter of which I am assuming on good faith is a real problem, though I've never personally encountered it).
- tempfile 2y ago> the person reviewing the message might not even know what the app is! Sorry, you have gone too far here. If the reviewer doesn't know what the app is, they aren't reviewing the app at all. Knowing that a photography app takes photographs is the absolute bare minimum of context that is required to even begin to meaningfully review it.
- happytoexplain 2y agoYou're right, they're not reviewing the app, they're reviewing the rationale for access! Separation was the point of my suggestion. It is probably not even true in the first place - it was only a conjecture. But if they did do that, it would have ups and downs. I could see a rationale that intentionally separating certain review duties from the context of the app could actually help to enforce objectivity. I tend to agree that it would probably be more bad than good, though.
- paxys 2y agoHere to see all the creative justifications for why Apple is correct, and it's actually the app developer's fault for not clearly stating why an app that users explicitly downloaded to take photos takes photos. It's for the users' own protection of course. Even after all these years the reality distortion field is strong as ever. Meanwhile if Google had done this people would already be outside their HQ with pitchforks and calling for the government to break up their evil monopoly.
- isodev 2y agoIt's funny because it's true. You can always count on the defenders of the Corp. to show up when needed.
- JohnMakin 2y agoI suspect this is in no small part because many people here’s livelihoods are dependent or intertwined with said Corps, whether directly or indirectly. It’s very difficult to separate that innate bias. I don’t agree with the gp comment’s sentiment though, plenty of people here and elsewhere go hard to bat for google, although admittedly lately that’s increasingly difficult to do with a straight face.
- ryandrake 2y agoI’ve never understood why one would take time out of their lives, go to an online forum, and simp for a trillion dollar corporation or a billionaire. What are they getting out of it? MegaCorp isn’t going to give you a coupon for defending their honor online. Their CEO isn’t going to come to your birthday party. Their PR team isn’t going to send you a nice letter on parchment thanking you. What does one get out of putting finger to keyboard in defense of a megacorp? You see it all the time on HN and it is bizarre.
- cruffle_duffle 2y agoBecause sometimes people are being wrong on the internet and given the entire point of this site is discussion, well, what else would you expect. Nobody is simping for anything. Taken at face value, folks just have an opinion that is different than your and they are expressing it on a site designed explicitly to express such things. And that is just fine. Who knows maybe they have a point that you never considered. Why else would you visit the comments here? Just to get a pat on the back that every person on the planet thinks exactly like you do?
- djfdat 2y agoThe Apple Camera app comes preinstalled with no warnings or permission requests notifying me why it's requesting camera access.
- jimmaswell 2y agoRemember when MS was sued by the DoJ for bundling IE? And they didn't even block Netscape or put onerous requirements on third party software developers? What a different time.
- rs_rs_rs_rs_rs 2y agoCome on, this is a ridiculous point and makes no sense.
- djfdat 2y agoIt's a comment on their monopoly position and how they can make it difficult at any point for a third party to run their business/app. Apple doesn't need to jump through these hurdles, but they can be placed in front of anyone else randomly, disrupting their business and income and at the very least, creating a worse user experience for those apps. The article states that the alert had to be changed from: "The camera will be used to take photographs" to "The camera will be used to take photographs for the app that you just downloaded to take photographs for." "Spotify, why would you like to play audio? Please notify the users that you are using the speakers to play the audio for the app they just downloaded to play audio." If they make using third party apps a little more scary, a little more dense, consistently, people will slowly gravitate to Apple's first party apps. You can see a similar pattern for MacOS where more and more restrictions are added to opening apps downloaded from outside the App Store.
- exe34 2y agoMaybe for Apple - but there's crap running on my lineage phone I've not had the courage to look up. I just generally hope the firewall is working and only the apps I actually want to connect to the internet are able to do so.
- xtracto 2y ago
- dependsontheq 2y agoEven ChatGPT can give me better worded version in 5 seconds “Halide needs access to your camera to capture photos and videos with advanced controls for pro-level photography.” For user facing text I tend to always try a LLM version, just because the results are so middle of the road, which is exactly what I want in a case like this.
- throwuxiytayq 2y agoThat's not very readable and way too many words. Reads like a marketing copy. The purpose of the sentence isn't apparent; a person who struggles with English could be confused what advanced controls or pro photography even have to do with camera permissions. The reality of the situation is that the camera app needs camera permissions because it's a camera app. It's for taking photos, you know.
- sib 2y agoBut that's not really precise. Halide needs access to the camera to take any pictures at all, whether there are advanced controls or not, and for crappy or pro-level photography. In other words, "camera app needs access to the camera."
- nucleardog 2y ago“Needs access to the camera” is inherent in the modal popping up in the first place. Explain why you need it and what you’ll use it for. “Halide needs access to the camera to capture the photos you take.” Capture photos, that’s obvious. Will only be used when _I_ choose to take photos. That’s good to know! Contrast with something like “App needs access to capture the photos you take as well as perform periodic background captures and image recognition to provide feedback to our advertising partners.”… Wait, what?! Still silly, but I don’t think there’s no room for more precision and clarity here. The prompt Halide is using doesn’t actually say they’re _not_ doing the second one.
- sib 2y agoAgree that there's not zero room for improvement. I just think that it's a silly reason to reject this app. (And I say that as someone who used to work at Google in the Android org - and I'd make the same comment if the Play Store did it.)
- spacecadet 2y agoIve worked as a mobile app dev consultant since before the iPhone and have submitted nearly a 100 apps over the years. I always warn clients that when submitting an app you are at the mercy of the reviewer and their knowledge of Apple HCI guidelines, which is a lengthy tome of a document... I have had all manor of rejections for weird reasons, but have also had rejections where I just resubmit with no change or justification and get approved. I have also never had to specifically justify camera use and trust me, I have clients build some stupid ass apps that use the camera. This was random and probably the result of poor internal communication.
- pulvinar 2y agoThe problem stems from the name "Halide". It's not clear that it's a camera app. Unlike "Apple", which clearly indicates...
- sub7 2y agoWhy the f do any companies get to decide what code I can or cannot run on my device? I didn't rent the device from anyone, I bought it. Does anyone really think giving 20-30% of ecosystem revenue to some gatekeeper makes better ecosystems? We need new open computing laws.
- epistasis 2y agoFor the average user, ensuring that unwanted code does not run is the biggest possible feature for any device. If you don't want that feature, don't buy the device! Or jailbreak it. Or compile your own code and load it. It is not the 20%-30% of revenue that makes a better ecosystem, it's the vetting process for the software that makes it better. Every vetting process has errors, just as all software has bugs. The end goals of the process and the error rate of the process, and correction procedures of the process, are what makes a better software ecosystem.
- temp2033 2y agoWhy should i compile or jailbreak. Its my own device, why not have a toggle to allow sideloading like android. Your average user won't know or even bother to change since as you mentioned they don't want to run unwanted code. Rest of us can run anything on our devices.
- Terretta 2y ago> why not have a toggle to allow sideloading like android Because then your grandmother will turn on that toggle as instructed by the fraud-center in South Asia, install a keylogger watching her banking activity when she sends you that $5 for your birthday, so they can drain that inheritance you were counting on. See the article right here on HN about Python devs applying for jobs and being prompted to self-pown. TL;DR: There are more people susceptible to fraudulent instructions by bad actors than there are people qualified to evaluate consequences of running unvetted code.
- epistasis 2y agoEasy solution: don't buy into the ecosystem if you don't want the primary feature of the ecosystem. For example, I'm not going to buy Sonos speakers ever. It doesn't mean they should be outlawed for their practices.
- deleted 2y ago[deleted]
- epistasis 2y agoApple previously published extensive Human Interface Design guidelines that were too-notch. For a generation of computing they really raised the bar on usability and improved experience. (Recently all of computer usability has gone far downhill, IMHO, especially starting with all the flat interfaces, and the penchant for mystery meat icons everywhere, but I digress from my main point...) If Apple is going to have strict usability requirements on the clarity of the permissions requests, that has the potential to be a good thing. But that requires establishing guidelines, and publishing them, and being clear about what in the prompt does not meet the guidelines.
- helsinkiandrew 2y ago> The camera will be used to take photographs Isn't providing functionality provided by existing iOS apps still a reason for rejection? The description should at least say "for taking photos with advanced customisation suitable for professionals"
- michaelteter 2y ago“AI” or outsourced low budget review staff.
- bgidley 2y agoThe most bizarre App Store rejection I’ve seen was for a TV app which was rejected by Play for ‘Policy Violation’ without much explanation… After several rounds of resubmissions and emails it turned out the problem was some channels on it were in 4:3 (not widescreen). Google required we add a ‘warning’ to the App Store description that it contains 4:3 content!
- astolarz 2y agoThat's on you for adding NSFW* content to your app. *Not Safe For Widescreen
- cruffle_duffle 2y agoOh shit! Don’t download that app, son! It contains 4:3 content and I can’t be having any letter boxes on my phone. No sir-e Bob!
- mensetmanusman 2y agoPublic lashings for overzealous reviewers.
- onemoresoop 2y agoThis rejection seems like a bureaucratization of the app store, which doesn't help with fraudulent applications, clones and other shenanigans. They should address the latter. Whoever is in charge of this process is utterly incompetent.
- Wheaties466 2y agoPersonally, I don't even think this is sillyness. yes it should be strict to release apps and you should be accountable and have to explain why you need access to specific permissions on the app stores. The age of open permissions is should be long over. I'm sick over overreaching app permissions wasting my battery trying to collect more data on me. If you want more data, provide more value.
- mablopoule 2y agoBut it's a camera app. Of course it needs the camera. It's not overreaching app permission, it's been rejected because the text "The camera will be used to take photographs" wasn't considered a good enough explanation for the permission.
- compsciphd 2y agohow hard is it to say "This is a camera app. Therefore it needs camera permissions in order to take photographs".
- mablopoule 2y agoWhile I believe that the app store reviewer was being dense on purpose, I agree that this is a better prompt.
- Wheaties466 2y agoIf you cant sufficiently explain why your app needs the permissions it does thats on you and the submitter needs to take accountability here. Resubmit with a better explanation. I get that the app store is strict. But its strict for a reason. Apple or the app store isn't out to get your app or you.
- AndroTux 2y agoAll right, mister smarty pants. Let's hear it then: What is a better explanation than "this app need camera permissions, because it takes photos, because it is a fucking camera app"?
- mbrumlow 2y agoWe have a real problem with app stores. The thing is. I like apps needing to display and even better request permissions for resources like the camera, files and clipboard. But that should be the limit. What I don’t want is somebody, anybody other than my self deciding if an application actually needs those permission. WE need an alternative to walled garden app stores. It can be fine that a curated store exist that does these things. But they need to live side by side with stores or catalogs that do less and more. It’s an uphill battle because Apple and Google both know that it will be a loss of revenue for them. What is silly though is they could make the App Store have sub app stores curated by different entities (or not at all) and solve all this and keep revenue. But they won’t.
- angst_ridden 2y agoI once had a very frustrating battle with a new reviewer who told me my utilitarian app did not offer an "innovative experience" and wasn't "interactive" enough. So I had to add a completely useless feature where a user could partition their database by marking some items as "favorites" and have a separate "favorite" view. This was then approved, with the assertion that "it's now the magical kind of experience users expect from the App Store." I'm pretty invested in an Apple ecosystem for some very specific software, but that was nearly enough to make me ragequit (unfortunately, the specific software is not something I could develop/imitate under Linux without a huge financial investment).
- andrewmcwatters 2y agoiOS devices are not professional tools, that’s primarily why. Ignore whatever preconceived notions you have about “pro” devices as well.
- Shraal 2y agoOkay, I'll bite. 1. What is your definition of 'professional tools'? 2. What does Apple need to do to make Macs 'real' professional tools?
- andrewmcwatters 2y agoWell first, read my post. I'm not talking about Macs. I think this is a cultural divide for young developers, because older developers wouldn't think twice about my comment, but clearly it's an unpopular opinion. In carpentry, your hammer doesn't tell you what you can and cannot fasten. No commercial, professional engineering tools require features for consumers, like favoriting items, for them to be distributed. If that's lost on you, then I have no idea what you think a professional tool is, but there's no world I operate in where you and I share the same idea of it.
- mikestew 2y agoIf it were just some random app, even something obvious like a camera app, I could be a little forgiving. Maybe the reviewer hadn’t heard of it. Maybe it wasn’t immediately obvious that it was a camera app. But the app was featured in the Glowtime event just weeks ago. The app has won an Apple Design Award. It has been in the App Store for, what, seven years? Of all the apps to reject, the reviewer sure made a poor choice.
- whywhywhywhy 2y agoHard to have sympathy for anyone choosing this path at this point, over a decade of stories like this and the “quality” of what Apple does let through tells you everything you need to know about their opinion and respect of software.
- andrewmcwatters 2y agoAnother story for me to add to https://github.com/andrewmcwattersandco/app-store-rejections https://github.com/andrewmcwattersandco/app-store-rejections ! Please submit others if you have any.
- benmmurphy 2y agoThey were probably looking for something like: 'The app needs camera permissions so _you_ can take photographs'. 'The camera will be used to take photographs' is not clear that the app might be taking extra photographs that you did not intend.
- darajava 2y agoMy app was rejected for about 1 week because some home screen widgets I have advertised don’t show up on their simulator. This is a known bug with the iOS simulator and the widgets show up after killing the app and opening it again. I explained this and they ignored it and continued rejecting it. After I pushed a new build which targeted ios 18 (and did not fix the issue they were claiming was there), they accepted it within minutes.