Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: Why is there no activity indicator when an iPhone's camera is on?
118 points by jakemor 24 days ago | hide | past | web | favorite | 60 comments
I never understood this. They indicate when your mic, location and even mobile hotspot is on, but there is no indication of whether your camera is on. Apps with permission to use the camera can use it without you knowing!

I remember reading that the Japanese iOS makes a loud shutter noise when you take a picture that can’t be silenced.

It’s actually apparently a Japanese law.


I believe this was also a feature on us versions of iOS years ago. Some developers worked around it in “stealth camera” apps by playing the inverse of the camera shutter soundwave to silence it.

Although it's illegal, that's a brilliant hack. It's also a good reminder that even the simplest systems, which are vetted by dozens of professionals, could be easily defeated...

It's a law there because upskirting is a huge problem. I think OP was referring to an LED indicator so the phone owner/user could tell if the camera is in use by an app though.

Dedicated cameras, whatever their sizes (e.g. gopro), don’t have a mandatory shutter sound. Actual upskirting has little to do with it, phone makers/carriers decided to add the sound to preemptively deflect any issue that could slow the camera adoption when it went live.

(also not a law)

Technically there is no law requiring there to be a shutter sound, but rather a standard practice that all Japanese mobile phones implement.

Here’s a StackOverflow answer [0] from years ago, that came up with a workaround that could mute the camera shutter sound. Pretty clever!

0: https://stackoverflow.com/a/23758876

This is true. Many people use “live” pictures because that triggers the less obnoxious video chimes.

Same when using Nintendo 3DS cameras.

I just want a phone that has a manual physical toggle button that kills the power to the cameras if any apps need the camera they can just notify me to please toggle that switch. One of the nightly build that I put on my note 8 turns on the edge screen notification flash when the cameras are on every once in awhile I see that thing on no reason.

The Librem 5 will have 3 hardware kill switches -- for WiFi, Cellular, and Camera/Microphone.

This is perhaps the most compelling reason to get that phone. Once it launches, I'll be watching reviews to see if it's usable as a phone.

It's a really exciting project and I hope other phone manufacturers integrate some of those ideas.

I pulled the trigger, and I'll be sure to blog about it once I've used it for a while. I will admit I was a little worried how choppy the demo video of the dev-kit looks[1], but we'll see how it works once I get it.

I'm a little bit worried that their "Chatty" messaging app[2] (which is what the default Matrix client will be) is based on libpurple -- which is a library that has a pretty gnarly history of security issues[3]. It is using a plugin that the Matrix developers wrote[4], which I trust more -- but I'm still queasy about it.

I'm currently working on a Matrix-Signal bridge so I can continue using Signal once I switch to it (it won't have a native Signal app out-of-the-gate and I don't really want to run an Android emulator).

[1]: https://puri.sm/posts/massive-progress-exact-cpu-selected-mi... [2]: https://source.puri.sm/Librem5/chatty [3]: https://motherboard.vice.com/en_us/article/qkve5v/secure-mes... [4]: https://github.com/matrix-org/purple-matrix

> that kills the power to the cameras

And the microphones, please :)

Apple seems to be taking steps in that direction


All Mac notebooks with the Apple T2 Security Chip feature a hardware disconnect that ensures the microphone is disabled whenever the lid is closed. On 13-inch MacBook Pro and MacBook Air computers with the T2 chip, this disconnect is implemented in hardware alone, and prevents any software—even with root or kernel privileges in macOS, and even the software on the T2 chip—from engaging the microphone when the lid is closed. (The camera is not disconnected in hardware because its field of view is completely obstructed with the lid closed.)

I'd much rather just have the simplicity of a hardware switch than a bug-prone implementation like this. Not to mention that this is anti-user in the sense that it gives the user less control, not more.

I highly doubt Apple will ever implement a basic hardware switch, because of it's dead-simple nature. I find it highly annoying that Apple at times is like a German car manufacturer that likes to over-engineer shit.

Can you make physical toggles which are very unlikely to break due to wear and tear? I've had several phones that have developed problems with physical buttons within a year, which feels weird when you consider how complex the internals must be in comparison.

The "Oppo Find X" has a pop-up camera, so it sort of does this.

> every once in awhile I see that thing on no reason

Being a nightly build could be a very plausible reason for this.

Downvoted for suggesting a nightly build could have bugs. Who knew...

I’ve wondered this too. But maybe ux is more important in this case than privacy. There’s a red or blue bar that shows up when mic or location or hotspot is on. I’d hate to see that when my full screen camera app opens. But I do value privacy. So another solution would be what Mac has implemented. A led shows up whenever the camera is on. But I’ve seen reports and articles where it’s possible to fire the Mac camera and shut it off quickly before the LED has time to kick on. (I cover my Mac camera with a post-it).

I don’t know what the solution could be. Maybe a vibration of a specific kind?

I think Apple should address this. It’s a good next step in terms of privacy focused Apple and it’s something that will be rewarding for the user to see that whenever the camera opens, something happens. Good PR points for Apple. A win for the user.

> But I’ve seen reports and articles where it’s possible to fire the Mac camera and shut it off quickly before the LED has time to kick on.

It should be trivial to delay LED's 'off' if it happens too soon after the 'on' signal.

There are many possible solutions if designers actually care about users' privacy.

I did some basic testing (capture an image on a warmed up macbook webcam) and the LED lights up for ~1.6s for each capture. The bigger problem is that if you are looking elsewhere / not in front of your computer you wouldn't notice the capture.

Did it using this script: https://tenderlovemaking.com/2014/03/26/webcam-photos-with-r...

This might be specific to the MacBook Air but it seems trivial on the Mac to capture without an LED. E.g. open up Skype and go to settings and you’ll see live footage of your camera without the LED coming on. Am I overlooking something?

I wonder if it would be possible to wire the LED and camera module in series so that the only way for the camera to receive power is if the LED light is also on?

That’s actually what happens on current (as in since 2010) Apple laptops. The camera sensor can not receive power without the LED being on. Pre-2010, the design had a flaw and all the stories about “hacking the camera” that are legit, are about the pre-2010 design.

Presumably this would interact poorly with FaceID’s attention aware features. iOS periodically activates the front facing camera while unlocked to determine if you’re paying attention to the phone. This influences automatic screen dimming and alert noises.

The indicator indicates background activities. Eg. If you are using Google maps for navigation, the bar will show when you switch away from Google maps. But when you switch back, now it's happening in the foreground and the indicator disappears.

Camera can only be accessed by the foreground app.

Disclosure of bias: I work for Microsoft. I don't speak for my employer.

Windows Phone 7's chassis specification mandated that manufacturers include a hardwired LED that lit up when the front-facing camera is active. But Android did not mandate this (or much of anything), and so the Qualcomm Reference Device (QRD) didn't implement it. The QRD is important, because many low-end manufacturers bootstrap their product design with a QRD and make the minimum number of changes to arrive at a viable product. But manufacturers needed to do extra engineering work and add to the BOM to make a Windows version of their cheap Android products.

It eventually became clear that consumers weren't willing to pay any premium for Windows Phone's higher standard for privacy. (I'm not claiming this was the only cause of WP's failure in the market -- just one small contributing factor.) So we intentionally pared down later versions of the chassis specification to minimize the differences between it and the QRD, including removing this privacy LED requirement. In theory, this would have allowed manufacturers to churn out cheap Windows Phones as easily as they were churning out cheap Android Phones.

Of course in hindsight, that was all too little, too late. Android won the cheap phone market for a huge number of reasons, one tiny factor of which is that it didn't require a privacy LED. The moral I took away? If your products cost more because they're safer, your marketing needs to ensure you get credit for that. Safety isn't obvious to someone glancing at your product; you need to spell all it out for the consumer. And if you can't find a way to articulate it, then reconsider whether you really need that safety feature.

If the camera is on it has to be shown on the screen right?

It doesn't.

Our app, Greypad, is a PDF reader that uses the front-facing camera to detect when other people are looking at your device and then blurs the contents of your screen upon detection.

All apps, however, must first explicitly request permission from the user in order to access the camera(s).

Greypad: https://itunes.apple.com/us/app/greypad/id1450783054

Maybe not what OP had in mind, but there's also the issue of taking hidden photos of others. If you're holding your phone in my direction, I don't see what's on the screen, but an LED on the back could let me know that your camera is on.

Given that everyone uses cases, I doubt the LED would be visible.

People are always filming you in public, in the hopes of being the next viral Instagram sensation.

Seems defeatable, unless it captures and matches the display output with the camera input, requiring some decently high correlation.

This may be controversial, but given the potential abuse I think there should be a mandatory blinking orange LED next to every camera (both front and back).

If you make sure that all smartphone models use the same blinking frequency (perhaps 3Hz) and LED color then people would quickly learn what it means.

Can the iPhone camera be accessed by applications without displaying some kind of viewfinder?

Yes, https://youtu.be/jTm4fjx_eZ0?t=532 this is done with React Native. I don't think nothing prevents you from rendering the camera UI preview component with an opacity of 0.0

I guess the main problem that no smartphone manufacturer wants to address is: People who take photos without permission to other people. It would be reasonable to enforce a law on all manufactures to add visible LED when the phone camera is being used, in my opinion at least.

I don't think that would be reasonable. Unless there is a significant safety issue or privacy issue that would be solved, I don't think the government should force manufacturers to add features to their phones, seems like a pretty extreme overreach. Any LED added could easily be removed or covered up in a few seconds, so I don't see how it changes anything.

The ability to defeat a safety or privacy measure doesn't mean it shouldn't be implemented. People sometimes buckle their seatbelts behind them instead of wearing them, but seatbelts are still mandatory in most places.

There are many different instances where someone would want an indicator for a camera and would not block the LED: detecting apps that take pictures without being asked, knowing whether the person across the street is taking a photo or a selfie so you don't accidentally photo bomb, random people taking photos who didn't block the LED (of all the camcorders with LEDs back in the day, how many actually had the LED covered?), etc.

The difference between this and seatbelts is that with the LED, you are trying to prevent someone from maliciously using the camera, while with seatbelts you are trying to give everyone the ability to be safe should they choose to do so.

And regardless, the ability to defeat it should be a factor in determining whether or not it is worth regulating, even if it isn't the sole factor. The combination of having the LED both easy to defeat, and having very limited usefulness, make it not worth regulating.

> People who take photos without permission to other people.

That isn't really what people are worried about here. The issue is when a rogue app decides to start recording video of you without you knowing -- having a camera indicator LED which is in series with the camera's VCC (like almost all laptops have these days) would solve that problem.

There are is a discussion we could have about whether taking a photo of someone in a public setting is something without permission is ethical (and whether the benefit of helping people in private situations would offset the downside of making it harder to discretely record evidence of wrong-doing). But that's not really what this discussion of having an indicator light is about.

Um no, the whole point of that code is to show a preview on the screen. The comment you replied to is asking about the opposite, whether it's possible to hide the fact that the camera is being used.

You're right, I'll find another example and update the answer.

I believe this is possible, in React Native you can access the camera and programmatically set the preview component size. As far as I know, there is nothing preventing you from using the camera to a preview component that is not visible on the screen.

If Whatapps can do this: https://cdn.howtoisolve.com//wp-content/uploads/2016/12/How-...

It means you can control the camera preview UI component.

You need to ask user’s permission for camera first anyway.

For the first time yes but then the app can access the camera anytime without asking permission.

That'd be good for personal privacy from malicious software but it would be easily defeatable by anyone that wants to use the camera unnoticed.

Seems like the kind of solution that can be defeated with a couple cents of black nail polish

This likely hasn't been made clear to them with a terrifying example yet.

Guessing they currently don't have a hardware LED because it might freak people out how much the camera is actually on. Likely no onscreen indicator for the same reason. If they were going to make this change, they'd have to weigh the benefits of making this change against spooking users who have no idea why their bank app is using their front facing camera.

Is there an indicator on any other phone? Certainly none on my Samsung.

I think they're using Macbooks as a reference point for another Apple product that does have a LED wired to the webcam. That's why the title is about iPhones and not smartphones in general.

I don’t know of any phones with an indicator - but on the other hand I’ve never seen a laptop that doesnt have an indicator.

Also, I have seen many people with tape over their laptop’s camera. I have never seen a phone with tape.

Japan mandates a shutter sound due to issues with involuntary pornography: https://www.engadget.com/2016/09/30/japans-noisy-iphone-prob...

I'm surprised not even a simple LED is present though. IIRC Macbooks LEDs are wired such that you can't use them without the current flowing through the LED

I hadn't considered this. I'm going to disable all camera permissions. I'll be less lazy in the future (e.g. with WhatsApp, instead of taking a photo in app, I'll use the Camera app then switch back)


The camera cannot be accessed without displaying it on the screen.

That API says that the camera cannot be accessed when the app is not active (in the background). Like when you receive a call, etc.

I'm pretty sure there are apps that workaround this though.

If I told you the light indictor can be switched off anyway by Apple?

It’s not the Apple way to make concessions to security through hardware means. The hardware must remain a perfect uninterrupted glass slab, and any protections would likely be made in software.

Edit: downvoter is welcome to point me to any model of Apple hardware that has a hardware radio switch or a hardware cover for the camera lens? The secure enclave is maybe the one exception to the above rule, but is highly software-supported.

The microphone is physically disconnected from power when you close the lid.

Also another poster said that the camera can’t get power without power going through the led indicator first.

Applications are open for YC Summer 2019

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact