Big News: FounderDating is joining OneVest to build the largest community for entrepreneurs. Details here
Latest Notifications
You have no recent recommendations.
Name
Title
 
MiniBio
FOLLOW
Title
 Followers
FOLLOW TOPIC

Question goes here

1,300 Followers

  • Name
    Entrepreneur
  • Name
    Entrepreneur
  • Name
    Entrepreneur
  • Name
    Entrepreneur
  • Name
    Entrepreneur
  • Name
    Entrepreneur
  • Name
    Entrepreneur
  • Name
    Entrepreneur

How to make the mobile app running well on all Android phones?

Some customers reported that our app doesn't run well on their phones. We have several iPhone models and Android phone models in our lab, and we can't reproduce the problems. It appears the customers use the manufactory/model of phones we don't have in our lab. For consumer facing app, how to make sure it runs well on all Android phones?

7 Replies

Doug Winter
1
0
Doug Winter Entrepreneur
Founder and Director of Isotoma
Sounds like you need something like this: https://aws.amazon.com/device-farm/ Cheers, Doug.
John Anderson
2
0
John Anderson Entrepreneur
Senior Mobile Developer at Propelics
Developing mobile apps that work well across *all* Android phones is an uphill battle. There are so many different screen resolutions, densities, and hardware variations, you can't test against all.

Android simulators are a decent way of testing out different screen resolutions and densities, but it could give you a false positive on hardware performance. The only way to see how it will run on an actual phone is to run it on an actual phone.

If you're app isn't doing so already, you should add some basic analytics so you can at least see the phone models/manufacturers that people are using. Then you can at least see what % of your users are using what phones. This could help in decided where to spend energy to optimize the app for the most widely used models.

Worst case, you can dumb down the app so that it might not be trying to do things as fancy as you might want. Having an HTML5 version of the app might be a help to users to have trouble with the app, but that's a big development burden as well.

No easy answers here, you just need to decide what battles to fight based on your user audience and the devices they are using.
Guntis Urtans
0
0
Guntis Urtans Entrepreneur
Managing Partner at Colabpro
you may tryhttp://www.perfectomobile.com or similar
Benjamin Olding
0
0
Benjamin Olding Advisor
Co-founder, Board Member at Jana
+1 to John's answer... there's no easy answer here unfortunately. I'll add a few comments from a product viewpoint and then from an engineering viewpoint.

Product: You need to apply the idea of the 80/20 rule here - given the insane variety of Android phones out in the world today you're unlikely to get your app working well on 100% of them. So, you've got to conserve your efforts to focus on the most important phones. John suggests adding analytics to your app so you can see what your present users own. You should definitely do this, but from a product perspective it's not actually much of a solution: what you really care about is the hardware/OS breakdown of potential users of your app. This is not the same as the present users, since users who can't run your app are (by definition) not using it yet.

This task inherently requires guesswork; do your best, but realize this is always going to be an ongoing problem for your product team. My advice would be to focus on your early adopters - users who will be passionate about your app initially. These users tend to be correlated with newer models. Popular new hardware still varies pretty wildly geographically, so know what region you are focusing on as well. Beyond that, take time to profile people you believe are representative of your early adopters and don't be afraid to ask them what their phone setup is... People taking the time to actually complain to you about problems are gold - try to build relationships with them if you can. Most users with problems just leave and never come back.

Engineering: You need to add as much instrumentation as you can get away with to programatically detect failures (ex: Crashlytics, but you can roll some of your own too to detect specific feature usage, etc). If your product team has user flow funnels, see if you can correlate user drop off with phone model. Unfortunately, this only works once you have a very popular app - otherwise you generally can't get enough data to do this well (beyond finding problems that affect a lot of your existing user base).

Once you decide you want to troubleshoot a specific phone you don't own yourself yet, you can find someone in the world with that phone/OS combo and work with them remotely. Locally here in Boston there's a company called utest.com that helps coordinate efforts like this, but there are lots of competitors to them now too you can find. You can also try going direct to non-professional testers on something like upwork.com to target specific geographic regions/networks in additions to phones.

In the meantime, you should also be continually adding to your own phone library. Try to acquire the most common new phones in other regions of the world by having someone purchase it locally and ship it to you. The average phone user in the world today gets a new phone *every 18 months*. Your library needs to be completely renewed on that time scale as well unfortunately.

Yes, this whole thing is a pain. There's no easy way out though if you want an app that scales globally - the sooner you fully embrace this challenge, the better off you'll be. Also remember that people in other parts of the world can often be on slow networks - problems can arise when you're using too much data (so be thoughtful about the instrumentation you do add - don't be afraid of it, but realize that - in the extreme - it can degrade performance; be sure to track % of data you are using in your app for internal development vs. app functionality).

And finally... if you really want an app that works across a huge array of Android hardware/OS configurations, there's sadly no substitute for having a high-quality engineering team. If you find your team staring blankly back at you while saying helpful things like "well it works fine on my device," don't rule out putting more effort into HR as another way to address this problem too...
Jiemin Li
0
0
Jiemin Li Entrepreneur • Advisor
Entrepreneur and Investor
Thank you all for great suggestions. We will try the 3rd party testing sites.
Hasan Diwan
0
0
Hasan Diwan Entrepreneur
contract Data Scientist to several startups
http://www.techrepublic.com/blog/software-engineer/remote-test-your-android-apps-with-these-services/ Perhaps one of the services listed here would be useful? -- H
Joanan Hernandez
0
0
Joanan Hernandez Entrepreneur
CEO & Founder at Mollejuo
It depends on what the app does. Unless the app needs direct hardware access, erratic behaviour shouldn't happen as long as the app respects Android API.

One important factor for you to consider is that, on some of the phones that might not be behaving properly, could be phones stuck in an old Android version. Starting after Android 4, the API was put in order. So, it might be easier for you to concentrate to develop for Android 4 and up, than to try to satisfy everybody. As it was mentioned here, the analytics software will tell you on which version your users are in.

You can then, limit your app in the Google Store to only be available for Android 4 and up (or any other version for that matter). If you have a lot of re$ources, then you can tailor one version of the app to work on Android 2.3, and another for 4.0 and above. Of course, this approach cost more money as you will have two different apps to support.

Cheers!
Join FounderDating to participate in the discussion
Nothing gets posted to LinkedIn and your information will not be shared.

Just a few more details please.

DO: Start a discussion, share a resource, or ask a question related to entrepreneurship.
DON'T: Post about prohibited topics such as recruiting, cofounder wanted, check out my product
or feedback on the FD site (you can send this to us directly info@founderdating.com).
See the Community Code of Conduct for more details.

Title

Give your question or discussion topic a great title, make it catchy and succinct.

Details

Make sure what you're about to say is specific and relevant - you'll get better responses.

Topics

Tag your discussion so you get more relevant responses.

Question goes here

1,300 Followers

  • Name
    Details
  • Name
    Details
  • Name
    Details
  • Name
    Details
  • Name
    Details
  • Name
    Details
  • Name
    Details
  • Name
    Details
Know someone who should answer this question? Enter their email below
Stay current and follow these discussion topics?