App Store Rejection 4.2 - Design: Minimum Functionality - (my first after 2 years of Ionic)

Has anyone dealt with this before? Any Advice?
I am currently using several native features such as push notifications and opening links directly into social apps and navigation apps.

Note that I use AppAvailability and InAppBrowser to open deeplinks direct into the appropriate apps such as fb and instagram. Ironically to provide a more native experience.

I have had very similar apps pass fine but I am using a clients account and it is the first app submitted.
Here is a link to another app I released over a year ago with very similar functionality:
https://apps.apple.com/in/app/qmtbc/id1476174600

From Apple

    1. 2 Design: Minimum Functionality

Guideline 4.2 - Design - Minimum Functionality

Your app provides a limited user experience as it is not sufficiently different from a mobile browsing experience.

Specifically, we notice that most of the app content links out to Safari.

As such, the experience it provides is similar to the general experience of using Safari. Including iOS features such as push notifications, Core Location, and sharing do not provide a robust enough experience to be appropriate for the App Store.

Next Steps

To resolve this issue, please revise your app to provide a more robust user experience by including additional native iOS functionality.

If you cannot - or choose not to - revise your app to be in compliance with the App Store Review Guidelines, you may wish to build an HTML5 web app instead. You can distribute web apps directly on your web site; the App Store does not accept or distribute web apps.

For more information about creating web apps, refer to the Configuring Web Applications section of the Safari Web Content Guide.

For a description of the HTML elements and attributes you can use in Safari on iPhone, check out Safari HTML Reference: Introduction.

Maybe I should change the code below to use window.open rather than the InAppBrowser?

private launchApp(iosApp: string, androidApp: string, appUrlIOS: string, appUrlAndroid: string, webUrl: string) {

    let app: string;

    let appUrl: string;

    // check if the platform is ios or android, else open the web url

    if (this.platform.is('ios')) {

      app = iosApp;

      appUrl = appUrlIOS;

    } else if (this.platform.is('android')) {

      app = androidApp;

      appUrl = appUrlAndroid;

    } else {

      const browser: InAppBrowserObject = this.inAppBrowser.create(webUrl, '_system');

      return;

    }

    this.appAvailability.check(app).then(

        () => {

            // success callback, the app exists and we can open it

            const browser: InAppBrowserObject = this.inAppBrowser.create(appUrl, '_system');

        },

        () => {

            // error callback, the app does not exist, open regular web url instead

            const browser: InAppBrowserObject = this.inAppBrowser.create(webUrl, '_system');

        }

    );

}

I downloaded the QMTBC app to my iPhone to test it out. I’m going to check with the team, but I do have some thoughts to share. I can’t log in, so my suggestions are based off your screenshots in the App Store.

The main issue is that the UI clearly looks like a regular web application in several screens. Hence why they mention an experience “not sufficiently different than mobile browsing.” The IAB usage might be a problem, but I would start with the UI. Generally, can you incorporate more Ionic Framework UI components into your design? That way it’ll feel more native.

Login screen: This looks ok. On my iPhone though, the screen flickers white when I tap around or tap the text boxes. Not sure why that’s happening, I would fix if possible.

Active member screen: The member data is somewhat “floating” in empty space next to the logo - use ion-list to organize it more “natively.” The card usage is good, but consider adding images or something to make it “pop.”

Trails page: Really good! The use of ion segment component makes sense here. I’m curious what the individual trail page looks like but this overview page is great.

Contact page: Content is floating in space. Try using lists, cards, other components to make it look more like an app.

Hope that feedback makes sense and doesn’t come across as too harsh. I bet with a few tweaks here and there you can get it approved.

2 Likes

@netkow
Thanks for the feedback, very useful.
I just assumed that it was based around native functionality or things that a mobile app can do that a web app can’t (not much!).
I was going to appeal and push the fact that it is usable offline as a permit to access certain mountains. Also it has push notifications with event updates and trail status updates which the user will use when out and about.

So you think it is more based around the look than the native vs non native / mobile app vs can be done with a web app?

Yes the UI needs some work for sure, this was my first Ionic app I did it over a year ago now and I am about to start a project to rebuild it to handle multiple clubs and redo the UI.

There is a link to register at the bottom of the login page if you want to register, I will flick your account to paid if I see you last name. Can’t see you in there, although sounds like you have a login?

This app (QMTBC) is actually approved but I am launching a similar version for another club under a different account.

Login:
The flickering seems to be an occurrence with newer iPhones only, I just noticed it on my new ipad.

Active member:
Yeah needs a redesign. Unfortunately that was on the cards for the next update after xmas. I have a couple of designs with images for the cards and other stuff to make it a lot nicer.

Contact:
Interesting, that there is a specific mobile app design “look” and a web one. I will investigate this some more. It would be pretty easy to change this one.

Be awesome if you and the team could provide some guidance for this issue for all us Ionic devs as I imagine this is pretty common. Hard I know without inside info from Apple.

Cheers!

I have resubmitted the app to the store.
I didn’t really have time to make the UI changes to appear more native so if it fails again I will do that.

I did the following:
-Removed InAppBrowser
-Fixed any glitchy UI issues such as the white flickering and weird white header issue in iPhone X+
-Enhanced the offline capability
-Informed the reviewer in the notes about the purpose of the app and how it is used in low mobile coverage areas and gets push notification with trail hazard updates real time.

Fingers crossed!

2 Likes

To be honest, it’s very difficult to understand Apple rejections. They are notorious for being difficult and rejecting apps for even the most minor of things. So, it could be the usage of in app browser. Or my suggestions about the UI.

I suggested the UI changes because we’ve definitely heard of other rejections in the past from Ionic community members. I do plan to write about this topic soon though, to raise awareness.

Keep us posted here, if possible on the status! thanks.

2 Likes

Rejected with 4.2 again.

I notice they say: “Specifically, most of your app features link out to Safari.”
I am not sure whether they are referring to actual urls that link out to a browser or the fact that it is a hybrid app. I am assuming the urls so I will target this.

So my next steps are:

  • To add more in app content to the newsfeed page (this was a new app so only had one news item)
  • Either remove the deal card links on the home page to web and Facebook. Or explain that these open in the Facebook app if you have it installed.
  • Remove the donations and merchandise page which links to a website. (This was due to be replaced later with in app functionality anyway)
  • Make some of the UI recommendations you made to make it look more native.

They have added this now to the 4.2 text:

If we misunderstood your app functionality, please provide information on what new features/functionality were added in the latest version of your app submitted to review.

Thanks for taking the time to provide some feedback on this I really appreciate it.

I have 3500 members of the club having their memberships expire on 1st Jan and expecting to move to the new platform (app) and not a lot of time due to Xmas!

OK, thanks for the update. Good catch about the links out to Safari. I was able to sign up in the other app (somehow missed the sign up link, oops!) and honestly the app looked pretty good!

That’s the other thing about Apple, sometimes you will get an update through… then a different reviewer will flag an issue on a later submission. that’s probably what is happening with your new app.

As a basic/faster test, you might try removing any external website links, see it that goes through. I believe you can also ask for further clarification, but their responses can be a mixed bag, not always helpful.

2 Likes

Accepted! 3rd time lucky.

Thanks so much for the suggestions.

I can never be exactly sure of what it was but I think it may have been the external links to web and Facebook. Or I could have got a reviewer on a good day.

Anyway here’s what I changed:

  • Changed the UI on the home screen slightly to have images on the cards and ion-list (as you suggested. I actually had a bit of trouble getting a border radius to work in iOS for the ion-list and still haven’t got it right without excessive padding causing the text to be truncated on smaller devices.
  • Add a few more items of content to the newsfeed as there was only one. (its a new app after all)
  • Removed most of the external links. This included the links to the website to donate or buy merchandise and the links on the home page discounts for members.

I have a attached an image of the new home page. This was a quick hack but had/have plans to spend a lot more time of the design I just needed to get it into the store for go live.

3 Likes

Yay! Awesome. Glad to hear. New home page looks good! Cheers

1 Like