14 ms·
iPad Camera Multitasking
- vbsteven 5y agoThis is what bothers me most about Apple devices and software. They probably have the "best" devices out there in terms of user experience. I use an iPhone and iPad every day because of it. But they keep very tight control over what software can be installed and run on it in order to safeguard their views on UX and security/privacy. This means for me as a developer that it's hard to write software and tools for my own devices without having to deal with Apple in some way or root the devices. Some things are even clearly impossible because of these private entitlements: There is no way for me to explore the CarPlay API's to experiment with my own ideas. A small part of me hopes that the Epic lawsuit and recent developments can lead to more abilities for sideloading on iDevices.
- isatty 5y agoThe tight control over what the software can do is a big part of what makes apple devices have such a good user experience. Even as a power user/SWE/tinkerer I hope that does not change because I want my daily driver devices to be as reliable and zero config as they can be. Sideloading/rooting an idevice as long as it can’t do Apple Pay/bypass find my iPhone is fine of course.
- kennywinker 5y ago> The tight control over what the software can do is a big part of what makes apple devices have such a good user experience. Correlation does not equal causation. There is a way to provide streamlined default experience without the control. The Mac has so far been an example. Everything under the sun is possible, but apple only paves the path they would prefer you take.
- scarface74 5y agoAnd the Mac has cases like Zoom installing a back door web server so even when you deleted the app, it could reinstall itself. Another case (not saying it’s nefarious it was obviously an unintentional screw up) was if you had System Integrity Protection turned off an installed Chrome, it would render your Mac unusable. (https://arstechnica.com/information-technology/2019/09/no-it-wasnt-a-virus-it-was-chrome-that-stopped-macs-from-booting/ https://arstechnica.com/information-technology/2019/09/no-it...) Even Apple is not immune from screwing up on the Mac. A certain version of iTunes deleted users files if the hard drive name had a space in it.
- _ph_ 5y agoI have to agree and disagree. Yes, it is good that not every app has root rights, that you have a reasonable expectation of security and some level of quality assessment. However, at the same time Apple fails dramatically at keeping bad or even nefarious apps out of the app store. And in a lot of places, user experience is outright horrible because of the restrictions. Have you ever tried to move music from files to the music app? You can't. So I have music on my iPhone I basically cannot play. Same for videos. And a lot of data handling is awkward at least. With all their power through the App Store, Apple should insist that all apps which have some sort of local data also support the files app. That all apps which play video properly support picture in picture (most don't or differently). Not to mention, that there isn't even the most basic, even if completely sandboxed, shell application. In this context I can only praise "Working Copy", which works really great in giving apps git access. Personally, I am very excited about the new iPad Pro, but I am holding on my order till WWDC, trying to find out whether Apple finally has an answer to what I can use this gorgeous device for and finally lifts some of the road blocks. So yes, I do think a good amount of control can help building a quality environment and on the one side is responsible for all that is good on the iPhone/iPad platform. But also flaws in the execution by Apple are responsible for a lot of things which are exactly not good user experience. At a minimum, they should try hard at improving the developer experience. Limiting the ability of apps to access car play? For apps actually distributed, yes. For developers, who want to experiment with it, definitely not. Same with the discussed API in the article. There should be a clear path for developers to discover and access these entitlements.
- scarface74 5y agoCan you imagine the shit show that would happen if a developer installed a video playing app on his own CarPlay device and he got in accident? All car manufacturers are very careful about what you are allowed to do on driver accessible controls on dashboard gadgets.
- nobodywasishere 5y agoIt'd be only the driver's fault, not anyone else's. How is this any different from playing a video from the phone and either holding it, or putting it on the dash?
- ksec 5y ago>Sideloading/rooting an idevice as long as it can’t do Apple Pay/bypass find my iPhone is fine of course. Epic actually made a case or suggestion for this all the way back in 2015. The App Store distribution doesn't need to tie with App Submission Compliance.
- bengale 5y agoI think my preference would be that hardware manufacturers should give the ability to boot other operating systems. Then if people want to run their own software they can without forcing someone else’s OS to fit them. Then there can be no more arguments about not owning your own device, run what you want on it. Consoles, phones, laptops whatever.
- mcot2 5y agoWe are just used to this for “computers” because of how the industry evolved but it really is the exception and not the norm if you think about it. Even for early cell phones and pdas most ran their own OS and didn’t seperate the hardware and software layers.
- mcot2 5y agoI disagree but will likely get downvoted on HN as this communtiy does not really reflect the huge set of customers Apple is building these devices for. The Mac is for us. iDevices still for the most part target a broad swath of users (despite the pro moniker) and have to be easy to use and as secure as possible. Offically suporting sideloading will lead to what we have on the Mac, an official app store that is barely used and compromises the security model and user experience for many major apps. If you give an official channel to bypass Apple policies people will use it for everything. A major part of the security model for example is a third-party (Apple) being able to nuke abusive apps. Also enforcing compliance with certain UI guidelines as the devices evolve keeps things very easy to use. Its possible to have some of the things for sideloaded apps but more difficult to control.
- asiachick 5y agoAndroid allows side loading and there are at least 10 3rd party app stores. And yet the Google Play store is the main player. So there's zero evidence that allowing side loading would turn the iOS App Store (top store) into the Mac App store (barely used)
- kgc 5y agoIf it's your own hardware and app, what's wrong with just sideloading it using a dev cert?
- agsnu 5y agoDev certs won't give you access to private entitlements
- bydo 5y agoI'm not an iOS dev, so correct me if I'm wrong, but aren't these specifically App Store entitlements? So if you try to submit an app using an API covered by one without having been granted permission to it, that request will fail, but if you're just building and running on your own hardware you can use any private API you feel like?
- LeoNatan25 5y agoNot the way it works. On non-jailbroken iOS, entitlements are enforced at the kernel level. If your app is signed with an entitlement that isn’t listed in the provisioning profile (which only Apple can generate with its private key), the system rejects the binary. It’s the same on Mac, but you can disable amfi to get rid of that shit, which used to also be possible on jailbroken iOS.
- bydo 5y agoHuh. Thanks; I stand corrected. The last time I messed with iOS development was years ago, and you could sign and deploy whatever you wanted locally. I forget if it required a developer account then, but definitely not a paid one.
- LeoNatan25 5y agoI assume you mean locally on the simulator. On device, it has been as I described since iPhone OS 2.0.
- andrepd 5y ago"A good user experience" and "not being able to do with your device as you please" are incompatible concepts to me. It's amazing how somebody is okay with Big Daddy Apple controlling what they do or do not do with the device they bought.
- mcot2 5y agoWe have over a decade of data and experiences with this Sandboxed approach. The fact that you still use an iPhone/iPad over Android means you are tacitly agreeing with the approach.
- asiachick 5y agoNo it doesn't. Example: Someone votes democrat because they want to support public schools doesn't mean they support every democrat policy. Similarly, I can choose iPhone over Android for many reason, that doesn't mean I suddenly agree with every feature/limit of iOS
- viktorcode 5y agoYou can use CarPlay simulator for development without being enrolled into the program.
- deergomoo 5y agoI care less about the iPhone because I’m never going to do real work on it. It’s my everywhere computer and my emergency computer, there’s a benefit to there being absolutely nothing anyone can feasibly do to fuck it up. But the iPad, man I really wish they would settle somewhere between the iPhone and the Mac. I can appreciate that it’s the primary computer for millions of people like my mum, so there still needs to be some coddling. But my iPad Pro is a really nice, capable device, and it’s a shame I can’t do anything useful with it purely because my job requires capabilities Apple doesn’t want to give! It would never be a replacement for my Mac, but being able to noodle on some side projects while I watch TV would be nice. Maybe things will start to change now they’re putting the M1 in iPads? You can now spec out an iPad with 16GB RAM—if my best option for writing code is still streaming VS Code from a different machine that will be a sad joke.
- predakanga 5y agoThe thing that bothers me is that it's not even restricted to iDevices. I was recently looking into replacing Time Machine on my MBP (which has a tendency to corrupt over SMB) with APFS snapshots, synced to ZFS snapshots on my NAS. Unfortunately, I quickly found that Apple has locked the relevant API (fs_snapshot_create) away behind a private entitlement, only to be granted to select backup software that abides by their rules. It's gotten to the point that I want to "jailbreak" my laptop. Just give myself the ability to grant any entitlement, for local use only.
- bsaul 5y agothe worst kind i think is the special entitlement whatsapp and other popular messaging apps get for abusing voip push notifications (not related to an actual voip call, but still waking up the app).
- jbverschoor 5y agoAnd I’m very happy about that. Imagine the horror of some apps sending notifications to wake up an app, so they can track your ip/location/whatever. I’d say give more control to Apple.
- matsemann 5y agoMeh, let me as a user decide if an app should be allowed in the background or not. The "kill everything" approach to keep battery life is just a band aid and more often than not just ruining someone's experience. I've heard sooo many stories of people using fitness trackers on ios that stops working in the middle of a run, for instance.
- bsaul 5y agothere are other solutions to accomplish the same goal (edit: maybe not all of the whatsapp features though), but it requires a bit of work. I believe the reason they did that was to allow whatsapp to keep working when they decided to update the voip notification behavior on ios 12 (or 13 ?) and stop forwarding voip if the app didn't actually trigger an "incoming call" screen after the notification has arrived.
- GraemeMeyer 5y agoSource/more info?
- bsaul 5y agohttps://stackoverflow.com/questions/60815763/how-does-the-whatsapp-web-client-still-work-with-the-latest-ios-update-sdk-vers https://stackoverflow.com/questions/60815763/how-does-the-wh...
- 5y ago
- schoolornot 5y ago“We treat every developer the same. We have open and transparent rules, it’s a rigorous process…those rules apply evenly to everyone.” Right. https://twitter.com/cbseveningnews/status/1288542307608940544?lang=en https://twitter.com/cbseveningnews/status/128854230760894054...
- bombcar 5y agoAll developers are equal but some are more equal than others
- numair 5y agoIf I were Apple, I would say “oops a couple security-sensitive APIs slipped through that we forgot to open up for requests for access,” and quickly publish an expanded list of all of the entitlements they’re currently saving for their close friends. This is different, and more toxic, than all of the in—app purchase stuff — you’re telling indie developers that no matter how hard they try, they won’t be able to match the functionality of Apple’s special friends. Otherwise, well, there goes your narrative of having a level playing field. The problem with this is, the loss of trust results in a slow, unending decay that only becomes obvious in retrospect. It may not seem like it, but billions of dollars of value are at stake with little things like this. If you work at Apple, you should raise the alarm.
- hrktb 5y ago> you’re telling indie developers that no matter how hard they try, they won’t be able to match the functionality of Apple’s special friends. To note, the entitlement switching from private-only-zoom-is-in-the-loop to public-and-documented doesn’t mean that indie devs get access to it. Apple still will grant it to special friends only, and random indie devs can request but will just be rejected.
- judge2020 5y agoChances are it'd be the same as the carplay drop-down - you only get access if your app is part of a market that apple allows the API to work on. You have no idea if it'll stay "only for Apple's friends" once they do this; even the current CarPlay app selection has no-name apps like Next[0] (74 total ratings), and I doubt they pulled any favors to get on there. 0: https://apps.apple.com/app/id1476724373 https://apps.apple.com/app/id1476724373
- xuki 5y agoThey have a documented process to apply for CarPlay. There is not even a way to apply for this special entitlement.
- 5y ago
- paxys 5y agoI don't understand how this is even a security concern. How does it matter whether an app accesses the camera while it is taking up the full screen vs half?
- bombcar 5y agoI could see sneakiness happening with an app that detects another app is sidescreened and you think the first has the camera but it’s actually the second. Not sure how effective it would be.
- slver 5y agoTwo apps sit side by side. You see the camera dot. Which one is recording you?
- eps 5y agoAdd a second dot.
- slver 5y agoTwo dots would look like the camera is used by two apps. That’s not the scenario. Also I doubt Apple wants to turn the UI into a Morse code sequence to be deciphered by users.
- bellyfullofbac 5y agoThey just want to do that with the hardware... How many finger and swipe combinations are there with the home button, or trackpad?
- isatty 5y agoWhen you swipe down it tells you which app was/is using the camera.
- tester89 5y agoPut the camera dot on the side of the app using it. Also is this really the issue? You can have an app voice recording and even quit it and it’s just fine.
- bredren 5y agoI'm used to giving the benefit of the doubt to Apple, but this one needs to be explained. Is this fodder for new discovery in the Epic lawsuit? Due to the nature of that case, can Apple be compelled to provide information on this and all other non-public entitlements along with and who they are granted to and why? Is it reasonable to presume that Zoom was under an NDA on this, and it was an employee mistake bringing it up by name?
- scarface74 5y agoSeeing that Epic admitted they also got early access to APIs and beta features to test the Unreal engine, they can’t actually argue the point. It also came out in testimony that Epic asked for special deals with Apple.
- viktorcode 5y agoIt isn't. Apple can use private APIs and entitlements, while other apps can't. Those private APIs eventually become public or get replaced with something else entirely. So, this advantage is always temporary and can easily be explained by security or privacy.
- slver 5y agoWhen Apple tests new ground, only their apps have access to a feature. Then only partners. Then only approved developers. Etc. This gradual rollout allows refinement and reduces the odds of screwups. It looks unfair, but Apples goal isn’t to be idealistically fair, but to keep iOS a good experience to users. For every good use of a feature there’s an abuse case.
- supermatt 5y agoReduce the odds of a screwup by giving it to arguably the most popular app in the store? This is nothing more than apple giving themselves and their preferred partners an unfair advantage - somewhat in opposition to Tim Cooks recent statement on developer equality.
- asutekku 5y agoMost popular apps are less likely to abuse the feature in a malicious way and it gives a great amount of users to test the feature.
- misterchrister 5y agoHilariously, “most popular apps” being Zoom getting busted for lacking basic communication security out of the gate when the pandemic hit and a/v comms became important. Please, tell us more about these most popular apps.
- skunkworker 5y agoThis back and forth exchange between Zoom and Jeremy Provost is really all I could find on the entitlement. https://devforum.zoom.us/t/video-camera-not-working-in-split-view/43387 https://devforum.zoom.us/t/video-camera-not-working-in-split... And it's odd how they expect that someone integrating with the API will just be able to use it.
- wodenokoto 5y agoI wonder if Zoom can get in trouble for spilling the beans on this private entitlement.
- xuki 5y agoNo, it's public information if someone wants to find out. This is the full entitlement of Zoom https://pastebin.com/0qHP2v1F https://pastebin.com/0qHP2v1F Now it would be interesting to automatically download all the popular app every update and find private entitlements.
- kmeisthax 5y agoGiven that all App Store apps are encrypted with FairPlay DRM, and only accessible on a device filesystem that users cannot read, is it necessarily public? Like, I'm pretty sure you have to be jailbroken in order to even read that entitlements file.
- xuki 5y agoThis was pulled from an encrypted IPA.
- kmeisthax 5y agoRight, but my point is that it's still not public information what entitlements apps use. Apple's policy is that users should not be able to read the contents of encrypted IPAs at all. The fact that you can do it doesn't make the information public - you have to go through extra steps, many of which are illegal to explain to you in most parts of the world, to be able to decrypt IPAs and read out the entitlements file therein. As an example of how zealous Apple is about keeping apps encrypted; they even disable iOS app support entirely on M1 Macs if you've unlocked the hardware for third-party or modified operating systems: https://twitter.com/never_released/status/1390707411930001408 https://twitter.com/never_released/status/139070741193000140...
- 5y ago
- villgax 5y agoFinally someone has raised a question regarding private APIs and special fees from Apple for certain apps.
- fredsted 5y agoI don’t think Apple will grant them the entitlement now that they have made a public blog post complaining about it. They don’t like that at all.
- jonplackett 5y agoReckon there’s a good chance this turns up in then Epic VS Apple case!
- joelhaasnoot 5y agoAh yes, the private entitlements. There's also a private entitlement to disable Apple Pay/PassKit so that it doesn't clash with things like barcodes (for example transit). That one is pretty Google-able though.
- withinboredom 5y agoAh, reminds me of the time almost everyone in our group got stuck in a train station. The people with androids had to let us out because our iPhones would open Apple Pay and obscure the barcode.
- urbandw311er 5y agoJust FYI this is available from Apple on request by any developer, you just need to write to them to explain the use case. I guess this is just to prevent abuse. (Source: we use this entitlement at our company)
- joelhaasnoot 5y agoI guess it's a little less secret than a camera multitasking entitlement, still not a super "public" thing.
- saagarjha 5y agoThis is not a new occurrence: Uber got com.apple.private.allow-explicit-graphics-priority (yes, I really mean com.apple.private!) that let them record the device screen several years back.
- tpush 5y agoThat that didn't generate more of a hubbub back then and seemingly didn't stay in people's memories for long is a real mystery to me (and a great boon to Apple!).
- andrepd 5y agoWell you can see people in HN are very keen to defend Apple as being the world's most privacy friendly tech company, despite no evidence in that direction :)
- josephg 5y agoTheir record isn't perfect, but there's plenty of evidence Apple cares about privacy. For example, Apple added E2E encryption of iMessages long before signal and whatsapp made E2E popular. They also E2E encrypt the location of AirTags - which they absolutely did not need to do. Or the recent opt-in iOS data sharing rules - much to Facebook's frustration. But companies, like governments, countries and people are not wholly good or bad. Companies don't think with a single mind, or act with a single voice by default. They're a flag waved by thousands of different people who each have a different background, different capabilities and who each make slightly different ethical and financial tradeoffs. Google is a massive contributor to opensource. And they harvest vast amounts of user data. And they use far less of it for advertising targetting than they could, out of respect for their users. Google makes some of their most valuable IP - Android and Chrome - (mostly) opensource and open platforms. They suspend users' accounts for silly reasons, and have a bad habit of shuttering services people care about, to the point where I generally avoid new google products to prevent heartache. Apple makes beautiful devices. And they do a good job caring about user privacy. And the iOS app store is a rent-seeking monopoly designed to maximise profit, where they pull crap like this. They have given the world llvm. And their design leadership invented the modern smartphone. Without them android might still be trying to emulate the blackberry. Apple deserves praise for their privacy friendly technology. And they deserve criticism for how they run the app store. I see no contradiction there.
- mrtksn 5y agoThis doesn't bother me at all. Wouldn't it mean that if you talk to Apple about something you need they might actually give it to you? I suspect that people imagine Zoom getting a privilege due to their inartistic value but I don't think that this is the case. I think that it's just a business and there's no reason why you can't have it with Apple too. I imagine, engineers in Zoom needed this to accomplish something and they told the management. The management contacted Apple management and explained them how this could work well both for Apple and Zoom and promised not doing nasty stuff. Apple trusted Zoom enough to open or implement that feature for them. Maybe Apple have seen the the need of this API, developed it and contacted Zoom to give it a try. Why wouldn't they open it for everybody? Probably edge cases that can be worked out on 1:1 partnership but need good design when open to everyone. It's just business. What would have annoyed me though is if a competitor like Skype request access in similer terms but got denied. For some reason, the narrative on HN and similar tech heavy forums require us to pretend that business relationships don't exist or that business relationships are dirty elitist entities that you can't have. A lot of people can be surprised how much you can have by just asking to have it or proposing something that can work for everyone. Maybe that's the dirty secret of the non-technicals :)
- jefftk 5y agoWould you feel the same way if a web browser added a feature that could only be used by a specific partner?
- mrtksn 5y agoGood question. I had to think about it and I can't get more definitive beyond "it depends". In many ways, it's already the case. Browsers are already possible through partnerships with companies that manage certificates, DNS and so on. They also have special APIs that are open only to the vendor. You can't spin off your authoritative DNS or certificate authority or malicious site detection and have it made accepted by Firefox/Chrome or others. On the other hand, we have an understanding about what web is and expectations about the web standards which makes me to expect neutrality. It's the tool that promises me to parse whatever HTML I throw at it and execute any JS. Then we have things like Brave browser that has API that's not of any standards. So, I don't know. It depend. I will know it when I see it.
- 0x0 5y agoAnother weird example is how Apple's own "Clips" app has a special private entitlement that bypasses the permission prompt for camera access. Would it hurt them so much to prompt for camera access the first time the app is started after installing it from the app store? I found that extremely worrying as it means I can no longer trust the app store to provide a safe sandboxed environment. Suddenly there's an app with this special no-cam-permission entitlement and your mugshot is uploaded when you believed the ios camera permission system would have protected you. Oh, but Apple would only ever grant that permission to its own apps? Better hope we'll never get a repeat of the PsychicPaper exploit!
- mrtksn 5y agoI had to check that app and wow, what an amazing video editor. Apparently it's a prosumer level app with quite a bit of power and depth: https://www.youtube.com/watch?v=lI8SWCUWMDY https://www.youtube.com/watch?v=lI8SWCUWMDY However I agree that it's strange not asking for camera permissions. The app itself can be used with no camera. It's also strange because even apple's own watch app that tracks your hand washing habits keeps asking for permission to track your location. Every now and then you will be reminded that hand washing reminder app tracks your location.
- machello13 5y agoI guarantee you the product manager for Clips probably just made a lot of noise about trying to reduce onboarding friction as much as possible, and their manager talked to someone else's manager and got that entitlement. I agree it's bad optics, but on the other hand I'm not sure there's a practical difference between the Camera app having this entitlement, and Clips having this entitlement. Both are made and distributed by Apple, regardless of the method of installation.
- erikpukinskis 5y agoCamera app should ask too.
- machello13 5y ago
- someonehere 5y agoDo we know the full details of this API or is there something nefarious it can do we’re unaware of? Remember several years ago they discovered the webcam can be enabled on Macs without the light turning on? I know this is iOS/iPadOS, but as a consumer I’d like to know what it can do specifically. Or did I miss something?
- londons_explore 5y agoIt looks slightly risky because an app can continue to use the webcam after being backgrounded. I can imagine nefarious apps tricking a user into streaming their webcam for hours after using the app once. Apple probably decided that was safe enough only if the app has been through some extra review to ensure it has a clear UI so the user understands they are still streaming video somewhere.
- f3i-yfq 5y agoSo this explains why I can’t use the front camera of my iPhone while streaming mobile games? It’s always been a limitation on iOS.
- rock_artist 5y agoI wondered for a while why only FaceTime can keep camera on while I'm switching apps. Not Google meet, Viber, Whatsapp, Signal. There are many un-fair things with Apple's apps and some valued ones. I believe eventually this will get back at Apple.
- viktorcode 5y agoThis was happening since 2008, the year of iOS SDK release. Apple's software had every capability, while third-party software was quite limited. But with every new SDK release more capabilities were made public. Camera multitasking may one day become public too. Nothing to do with "fairness", simply a way of rolling out public APIs.
- tyingq 5y agoNot great timing for Apple, given the US government's sudden new interest in anti-trust and the plight of small business.
- scarface74 5y agoWhat’s the government going to do? Say no large company is able to beta test products with a few companies before they make it publicly available?
- viktorcode 5y agoPrivate entitlements aren't news. They've been known for years.
- mcot2 5y agoI am not defending Apple here but perhaps they intend to make this a public entitlement or even an official API but they are working with Zoom to test it first. We know Apple gives testing priority to certain developers, they mention it at practically every presentation they do. Granted those are usually for NDA’d features for making demo-only apps.
- viktorcode 5y agoPersonally, I see nothing newsworthy here. Seems like Apple is using private entitlements the way they use private API: to implement something now that public entitlements that public variants can't accomplish, and maybe make them public in the future when polished enough.
- supernova87a 5y agoI mean, the surprise here (to many I suppose) is that their belief that Apple is one huge company with documented procedures and all-their-shit-together is not always true. Apple is just as much a company full of little people and groups as probably any company is. And despite some things seeming really polished, others are operating by the seat of their pants, with a just-released feature that they're working the bugs out of. A team of developers who have some library that they didn't fully document yet, or are supporting on an email basis. Just like whatever open-source project or team you might know, if you raise some legitimate need, are not a crackpot weird user, are important in some other way, and know how to contact the right person, they can probably help you. It's just that it's big Apple, so there are some hurdles to doing that. Is it odd to realize that if a big company / user group raises an issue, it's likely to get some legitimate attention versus a curious bystander just randomly asking what this API is, with no promise of why they need the info? Don't you treat meetings at work and random requests similarly, with some judgement of credibility of the asker in mind? Just like a company is not probably "evil" and out trying to get you -- it's probably 1-2 people who are responsible for something and its fix. And whether the company enables that to happen tells you what the outcome will likely be. It even holds true for a place like the IRS. More often than not, there is someone who knows your issue and who you can contact to figure it out. If you provide enough coherent information and understand that it's worth their time to help fix, and find the right channel.