Problem Two: Reporting fraudulent and malicious apps is inconvenient|
Android may be considered secure because of its sandboxed apps and strict permission system, but there’s one thing that no useful OS can protect itself against - its users. If someone installs an app which happens to be malicious, and accepts that it requires suspect permissions, Android will not object. For this reason, it’s critical that the process for reporting suspect apps be streamlined straight into the Play Store site as a button, to protect naive users from harm.
The Play Store app already has a button for flagging objectionable content, but there’s no easy way to do it via their website. The current method requires filling out a takedown form. This isn’t immediately obvious to users, and is far less convenient. It shouldn’t be difficult to have a report button on app pages in the online store.
An alternate solution would be to introduce an approval process similar to that of the Apple App Store. Whilst prevention is better than cure, it also means added overhead, and extra expenses on Google’s part. Google need to weigh up the quality of their market with expenses, and decide.
Problem Three: Star system too easy to rort, uses weak averaging algorithm
Star rating has a large impact on whether users will choose one app over another. The current system uses a simple averaging algorithm. The final score is based on the weighted sum of each star rating, divided by the total number of stars. This approach means an app with a single 5 star rating will be displayed as a 5 star app to the user. On the other hand, a disgruntled first user could rate a new app 1 star, significantly reducing the click through rate in store searches.
The superior way to calculate rating requires the use of confidence intervals in order to ensure that the total rating is a true representation of what the app is worth. Evan Miller explained this in his blog post ‘How Not to Sort by Average Rating’. His example reasoning and algorithm only work with binary positive and negative ratings, but should be able to adapt to the current system. Or, Google could move to a thumbs up/down system like they recently did with YouTube, then generate a rating from that.
There’s also the issue of how easy it is to for a competitor to spam ratings in their favour. This doesn’t happen often, but it’s not hard for people to crowdsource ratings. Reddit do it all the time to malicious and fraudulent apps, so there’s no reason why this can’t be done to legitimate apps too.
Not only is it not difficult, many apps trick users into participating. One such example is Ant Smasher, which promised that the user would get free updates for rating the app 5 stars. The truth is, the developer can’t know what rating you’ve provided, so the promises are either false, or applied to everyone anyway.
Another recent way to game the system uses Amazon’s Mechanical Turk. In this case developers can pay willing humans to batch rate an app five stars in return for money. This gives the illusion of a successful app, giving it a stronger presence in the store.
Tracking this behaviour is difficult, and comes back to simplifying the reporting process, or implementing an app approval process.