Two days back, I’ve submitted an update for Permute to the App Store. Regular update (v3.8.6) that fixed a few things and added a few options – stuff people – or actually you, Permute’s users – are waiting for.
The update got rejected because someone at Apple suddenly (this feature in this form has been around from the very beginning) decided that Permute does not correctly implement the option to detect external subtitles. This feature allows Permute to detect .srt or .ass files in the same folder as the video file and merge them together.
So where is the caveat? Sandboxing. As Permute is sandboxed, it only has access to files that you open with it. If you open a .mp4 file, macOS grants Permute access to that particular file, but not to the parent folder. So, by default, Permute cannot detect the external subtitles files automatically (note: non-App Store builds use an additional entitlement to do this without the following).
In order for Permute to be allowed to automatically scan the folder, it needs to show you an Open dialog where you select the root folder (i.e. your start-up drive, in technical terms the path “/”). This is so that it covers external drives as well.
Now, out of the blue, Apple has decided the the open dialog must not open with the root folder selected, but must be opened with the home folder selected. Don’t ask me why. I’ve responded, they rejected again. So what’s the big deal? Most people will just confirm the dialog without thinking about it too much, meaning that they will suddenly find themselves with Permute that can only perform this feature (scanning external subtitles) only within their home folder and not on external drives.
Apple’s reasoning is that if the user wants to, they will select the root folder… But who knows the implications right away? Or even thinks about these dialogs too much? In the Mac experience, volumes are shown on your Desktop, so the user may as well assume that external volumes are covered as Desktop is in your home folder – yet they are not.
In the end:
- Apple is forcing me to make the app harder to use, break a feature for many people and cause me to spend a lot of time on support, explaining my customers why the app is not working on external volumes…
- Apple is hurting you by crippling apps that you’ve already purchased.
And that’s what you get when you buy apps via the App Store. Subpar experience because someone at Apple decides that they’ve got the power to make me do something and they will stick with it. And then Apple wonders why are developers sick and tired of the App Store…
EDIT: In case you are fans of irony – the official rejection reason says “app does not achieve the core functionality” – yet it does and Apple is forcing me to break it.
I would think that the root folder does not have write permissions and the home folder IS the safer solution. Yes you can still navigate to some other folder on another drive. Besides Apple must keep the integrity of the Macintosh HD partition with the operating system. Then again there are some other software products with a forked release(s), a Mac App Store version and a direct download version.
All external drives are connected at /Volumes/ – which means that in order for Permute to access those, it needs to get permission for / (root folder). Of course, it’s not writable and the system will not allow any writes there (so there’s really not harm), but it grants access to /Volumes/ – and that’s important! If the permission is granted for ~/, then the app will not get access to the external drives.
This is not something the average user knows or even should know. This should be something easy for the app to do.
Yes, non-App Store versions do have extra features. And I hate that. Every now and then I get an email from someone who tried the trial, it was working, purchased the app on App Store (easier management across devices) and was wondering why it’s not working – even though I’ve outlined it in the help book.
No one reads help books or instructions these days…