4 ms·
I actually never understood why iOS and Android don't offer the same system browsers offer for the Web. When you pick a file, the OS prompt a screen to navigate
by maxwellito 6y ago
I actually never understood why iOS and Android don't offer the same system browsers offer for the Web. When you pick a file, the OS prompt a screen to navigate through your pictures to pick the item you want and give it to the webpage. Because this workflow is what most of the apps needs. I don't want apps to have access to all my storage system, but just the picture I want to share. The same system could be applied to contacts as well
- AgloeDreams 6y agothey do, the default file picker for iOS has a 'pick file' native command that then pops a system picker and then returns just the selected file but many companies would rather have full access to enable their own experience. In messaging apps, it is seeing the photos in a small view. Instagram has a full screen browser to enable their own chosen UX. Edit: I just saw a really neat alternative view in iOS 14 whereas the 'allow access to photos' modal gives the option to pick and choose what photos are 'shown' by the OS.
- DaiPlusPlus 6y agoThird-party apps could provide a custom UX to sensitive data by providing a separate executable that the device's OS then runs in a sandboxed process with read-only access to your sensitive data and without the means of communicating anything with the source app's process. When the user has completed whatever task the sandbox was needed for (e.g. finding a photo from your entire camera-roll or picking contacts) the sandboxed third-party code indicates the selection to the host OS who then does a quick "confirm you want to use these 3 photos?" prompt and then releases only the selected data. ...basically something like WinRT's broker-processes on steroids - or another use case for Apple's "App Extensions" feature but allowing for complete control of the UX more akin to a Photoshop Plugin than being limited to a small number of prescribed use-cases.
- maxwellito 6y agoWow! It's so rare that I might have never seen it, or completely forgot about it. However, now that you mention it, I think I remember it from my early days on iOS. Actually the problem is most of apps don't give you the choice between [slick UX + loose control over your data] or [ok UX + perfect control of your data]. If I download Instagram and refuse to access my local storage, I guess I won't be able to share a picture from my phone, right?
- kalleboo 6y ago> If I download Instagram and refuse to access my local storage, I guess I won't be able to share a picture from my phone, right? Not from within the app, but if you go into the Photos app and share a photo from there, you can choose to share to Instagram, and Instagram will get only that one photo.
- cryptoz 6y agoI think this is how Android works now, and has for a few years. It is crazy that it wasn't always this way, though. Apps in the past could choose to request access to all your photos just to let you pick; but now I think that will get you removed from the Play Store (maybe?) since the official way in Android is now the way you describe.
- kllrnohj 6y agoIt was always this way. Intent.ACTION_PICK is API level 1: https://developer.android.com/reference/android/content/Intent#ACTION_PICK https://developer.android.com/reference/android/content/Inte... But when you can integrate the picking into your app and avoid trying to learn a zero-permission approach because users just hit OK at install time anyway... why bother? And thus back in the day very little things used this, because there was very little reason to avoid just requesting every possible permission.
- augusto-moura 6y agoAndroid gives this option, and also gives the option for acessing arbitrary files too (for other user cases). Most of apps use the second option anyway for other purposes, so they see little trouble in doing a custom file picker