knurling / ServiceStation

Service Station
39 stars 1 forks source link

App Review rejection: v2020.5 #28

Closed pkamb closed 4 years ago

pkamb commented 4 years ago

I've submitted v2020.5, which adds support for Mounted Volumes and Network Drive locations: #2

Unfortunately, App Review has decided to flag this update for some items that already exist in the Mac App Store app and that have now been through 5 previous App Review sessions.

I'll need to change these and/or appeal prior to shipping the 2020.5 update.


Guideline 2.3 - Performance

Your app does not achieve the core functionality described in your marketing materials or release notes.

Specifically, Finder Locations ‘+’ button preset to root hard drive.

We advise setting the default no lower than the Home folder.

Two issues at play here:

  1. I've already changed the Mac App Store screenshots to show the Home folder rather than /Volumes or Apple SSD root directory. This is, I believe, the reference to "marketing materials or release notes".

  2. The Finder Locations Open Panel currently defaults to /Volumes. They may want me to change that to the Home directory instead.

    That would not be a great change, as it makes it less likely that the user will be able to use Service Station wherever they right click. It also would make it harder to add Mounted Volumes or Network Drive locations.


Guideline 2.4.5(iii) - Performance

Your app spawns processes that continue running after the user has quit the app.

The spawned process is ‘com.knurling.ServiceStation.Attendant’.

This process must not continue running after the app is quit.

Alternatively you may request permission from the user, however it must be optional.

Next Steps

You can resolve this by leaving this option unchecked by default, providing the user the option to turn it on.

The Service Station Attendant background process is needed for Service Station to function when you click on a Finder Extension menu item. This is in line with the Finder Sync docs:

Place in a separate service (a Login Item or Launch Agent) any code that performs the sync, updates state, or communicates with remote data sources.

So any setting that turns off the background process while the Finder Extension is enabled is major point of frustration for users. They'll click the menu item and nothing will happen.

If I make a change here, I'll need to design a setting that the vast majority of users will turn on and leave on during their first run of the app, if they are using the Finder Extension.

Ideally the background process would be running only when either the main app or the Finder Extension are also running. However I'm not sure the Finder Sync Extension capabilities will let me exactly model that scenario.

I've written an appeal to hopefully get my usage of a background process whitelisted by App Review, given the Finder Sync docs.

If anyone has an idea here to make sure the background process is running, let me know.


Design Preamble

We found that your app does not include the minimum standards required for an app to be approved for the App Store.

Your app included buttons or features that were visible but not functional until users purchased additional access. Such buttons must be clearly marked as requiring purchase before users click on them.

When clicking on the ‘+’ button to add a 5th rule, an upgrade dialog is presented.

Apple places a high value on design and expect apps to provide a really great user experience. Apps should provide valuable utility or entertainment, draw people in with an attractive and well-organized UI, keep people engaged by offering compelling capabilities or content, and enable people to do something they couldn't do before or in a way they couldn't do it before.

Apps should do one thing really well without being overly simplistic and missing functionality that people would expect to be there. They should also avoid being so complicated that people are confused about what the app does and how to use it. They should meet people's expectations and have features that are easy to identify and use.

The "+" button currently shows the IAP screen if you're clicking it to add a Rule above the free version Rule limit.

I guess I will change the button text or grey out the button to make that more clear.

pkamb commented 4 years ago

v2020.5 was approved by App Store Review today after I added some changes for the above items.

The most noticeable change is that it's now possible to disable the Service Station Attendant background process via Menu Bar > System Setup > Service Station Attendant. The background process will then only run when the main app is running.

Service Station won't really work if this background process is disabled, so the app prompts on startup and when quitting that you should enable the Attendant. Once it has been enabled it will stay enabled with no prompts, but this allows the process to be "off by default" for App Review.

Screen Shot 2020-05-12 at 2 12 14 PM

Please let me know if you see any issues related to this change.