Android Rating Ranges

As a developer with a variety of apps in the store my ratings are super important to me.  But even more important than the actual ratings of my apps are the perceived ratings of my apps.  What exactly do I mean?  Well I think this comic by Randall Munroe sums it up best:

star_ratings

Quite frankly that little sliver of pixels can make a huge difference.  Especially the jump from 3.5 stars to 4.0 stars.  But one of the things I’ve always found interesting is what ‘3.5 stars’ actually means.  Where exactly is the cutoff?  Does 3.5 stars mean 3.5 or lower?  Or does it mean the closest star value (3.25 to 3.75)?  Or does it mean something completely different?

Well it turns out it isn’t really straightforward to answer this question for two big reasons:

1) Stars are different in different locations.  The web shows stars different than the app, and at times different pages have showed them different as well.

Here’s Goofy glass on mobile with 4.5 stars on the left, and 4.0 stars on the right (web).

Goofy Overview Mobile Goofy Overview Web

2) The metric changes from time to time.  Users probably never notice, but what a 4.0 app is today, isn’t necessarily what it was yesterday.

The Old Metric

What was the old metric?  Well it was actually relatively simple compared to how it works now.  The old rule was simple, round to the nearest half star.  So for instance:

4.75 – 5.0   = 5 stars
4.25 – 4.75 = 4.5 stars
3.75 – 4.25 = 4 stars.
And so on…

This meant that from a realistic perspective most of my apps fit into the 4-star rating.  My voice changers (notoriously low rated) fit into the 3.5 stars, and Goofy Glass at one point broke into 4.5 stars.

Then one day tons more reviews started rolling in.  In fact I started getting as many as 5x to 10x more reviews.  What had changed?  The Play Store started prompting users to rate apps with the promise of providing similar apps the user would love.  This had two side effects:  1) Lot’s more ratings were showing up on apps.  2) The ratings were generally lower (though arguably more accurate).  Users often just uninstall an uninteresting app, but now were being prompted for a rating.  They also were asked a slightly different question…  Instead of: “What should this app be rated?” it was: “Would you like us to find apps similar to this one?”  And that question effects ratings significantly.

Screen Shot 2015-01-11 at 9.54.39 PM
Goofy Glass (Used to show a 4.3)

 

My apps all took a dive after that.  Goofy Glass which had been trending upward for the past few months, started dipping without any indication as to why.  And even worse, the ‘recommendation’ reviews don’t come with comments, so no valid feedback comes through to help improve the app, if they ran into issues, or what they’d like to see to win them back.

The New Metric (Mobile)

I’m guessing Google noticed the dip in ratings.  And since then they’ve played with a few different displays.  The most recent one is particularly interesting.  They’ve effectively gotten ride of whole stars in favor of half-star ratings.  The new ratings are as follows:

5.00 = 5.0 stars
4.01 – 4.99 = 4.5 stars
4.00 = 4 stars (Must be exactly 4.0)
3.01 – 3.99 = 3.5 stars

In my opinion this is really weird.  That means that my painting app, which has generally favorable reviews gets lumped with my voice changers, which have pretty bad reviews.  And if you take a look at the difference in graphs… you’ll notice they really don’t seem to fit into the same category.  Palette Painter (with a 3.9 review) seems to have tons of fans with just a few haters.  While Funny Voice Changer has almost as many haters and fans.  Yet, they both show up with a 3.5 star rating to anyone looking.

2015-02-18 22.44.00 2015-02-18 22.18.58

Now admittedly they’ve also made it easier to see the exact number (see the 3.9) on the app page itself.  But of course that is after they click on the app, and if you are like me… 3.5 stars apps just aren’t worth my time (while a 4.0 star app often is).

2015-02-18 22.52.30

The New Metric (Web)

The web on the other hand does something completely different.  They fill in stars as a percentage of the full star.  What that means (in theory) is that if you had a 4.1 star rating it would show up with 10% of the last star filled.

I actually like idea if it can be implemented correctly.  The only problem I see with the current iteration is that the percentage stars don’t start on the left and right side of the star.  They actually start in the space between.  What this effectively means is a 4.2 star looks identical to a 4.0 star and a 3.9 star.  While a 3.3 has a little tiny bit of a sliver being drawn in.

Palette Painter
Palette Painter
Spot the Animals
Spot the Animals
Scary Voice Changer Pro
Scary Voice Changer Pro
Scary Voice Changer
Scary Voice Changer – Hey look: A sliver!

Effectively this means that the difference form web to mobile can be a full visual star.  Anyway, I don’t know if anyone else has noticed these weird ratings.  And I’d be really curious to hear the reasonings behind them, but I just thought I’d call them as I see them.

 

 

Mario: A Specially Tailored Room

2012-01-15 11.58.07

Our second baby is on the way, and we’ve been working on putting the room together. All this sketching reminds me of 3 years ago when we did the same for Logan’s room…

In the last three years we’ve had a lot of people ask how we did it, and a few have asked us to do their rooms. We are not really artistically inclined, so I think it surprises people how nice the room looks. Here’s few tips on how to make it look right.

1) Light Colored Chalk

2012-01-03 10.18.49

Chalk is *way* better than pencil. It is easy to erase, which is very important when your painting shouldn’t show lines. It will mix in with your paint, which makes it easy to paint right over it. And last of all the thick lines allow seeing big objects really well.

2) Use a Template

Unless you are an amazing artist, try to find a similar object to what you are trying to draw. You don’t have to follow it exactly, but it will do wonders in helping notice the little nuances of your painting.

2012-01-15 11.59.28 latest

But remember, a template does not mean you have to copy it exactly. You’ll see from the above Luigi pictures that we wanted a flatter, simpler look.  When comparing them side by side our image of Luigi doesn’t look nearly as impressive.  But when standing by itself nobody notices the least bit.

When we were drawing the goomba the final result always came out so scary. This was a child’s room, so that didn’t sit well with us. After fixing it 2 or 3 times we finally realized a smile would look much better than the grumpy goomba frown. Don’t be afraid to take similar liberties.

2012-01-10 16.57.02

3) Iterate Over and Over

It turns out you don’t need to be a great artist, you just need to be a stubborn perfectionist.  We don’t paint very fast, in fact the #1 reason we haven’t said yes is because we just imagine the countless number of hours we would spend in their house, bothering them and getting in their way.

2012-01-15 11.59.57

But it is completely fine to make mistakes.  We have a simple policy: “Sit on every drawing at least one day before painting it in.”  When we first drew Mario we loved how he looked, but something just felt off.  After a night we realized one of his arms was *way* too long.  We made some edits, waited another day, and finally were happy with the results.

4) Be Careful with Black

While most cartoons have a heavy amount of black lines, we found they just didn’t look good on the walls.  But we found that we couldn’t just drop them completely.  Instead, Sarah simply lightened or darkened the current color to give the effect of lines.

2012-01-10 14.16.49

5) White Out Where Needed

We were painting on a fairly dark blue wall.  At first we just painted straight on the wall, but it made it hard to get the colors right.  Instead we learned that for lighter colors it was really important to put down a layer of white first.  This did wonders to make sure the color was the exact color that we mixed.

2012-01-03 13.59.06

Bonus: Don’t be Colorblind

Not that you have control over this…  But seriously, I’m super lucky I have a wife who could mix colors.  My first attempt at Mario’s Green Pipe turned out to be an ugly brown mess (or at least so I’m told).  From that point on Sarah was our designated “painter of all things”.

2012-01-15 12.01.02

Copy Cat: A Game for Working Parents with Kids

Imagine a rough morning where you wake up early to get to work.  Your family is still asleep, and you aren’t able to say a proper goodbye before leaving.  There’s a big important deadline, and it is taking all of your time and energy.  You are finally starting to get things done when the phones rings…  it is your child, super sad that they didn’t get to see you.  Just then your child starts crying on the phone for you to come back home.  You love them, but how do you show them with so much to worry about at work?

One idea to try is the copycat game.  It is a fun and simple game that we like to play.  Send your kids a picture of yourself making a silly face and ask them to copy it and send a picture back.

2014-10-27 16.59.532014-10-27 16.58.56

It may not seem like much, but it will go a long way for your kids.  It helps remind your kids that you haven’t forgotten them, and that you still love them.  But it doesn’t take as much time as a phone call or video chat would, and it can be a lifesaver on a busy day.

2014-10-27 09.07.52 2014-10-27 09.15.22

I find on any given day it doesn’t take more than 6-8 pictures.  Part of the fun is the anticipation of what picture is going to come next, so you don’t need to worry about taking more than one an hour.  And if too much time goes on before you send a picture, they can always nudge you back by sending their own face to copy.

2014-10-27 10.00.582014-10-27 10.07.07

Give it a try and let me know if your kids love it as much as my boy does.

2014-10-27 10.58.562014-10-27 11.01.04

Honest Development

Through my years of development I have always strived to be an honest developer. I want my users to have a good experience. I want to build fun, new, exciting, polished apps. And I want to play by the rules…

But not everybody plays by the rules.

Animal Game

When I released Spot Animals a few months back I was very disappointed that I could not even find my app in the store by name.  Or by any other combination of search terms, no matter how much I scrolled down.  Trust me, after lots of development, nothing is worse.  Here’s me searching for it by name.

Originally called ‘Hidden Objects Animals’

Screen Shot 2014-04-23 at 2.51.02 PM

While searching for my app I came across a variety of other apps that were high in the ranks, but seemingly poorly built. I was on a quest to figure out why.  Admittedly, many of the apps were generally high quality, and had a lot of downloads to help them keep their high ranking.  After searching for a while I came across this app:

Screen Shot 2014-04-23 at 2.49.07 PM

Now, I’m not going say whether this app deserves its ranking or not, I didn’t download or play it. But as I was scouring their reviews I found a really disconcerting trend.  Let’s see how fast you can see the trend…

Screen Shot 2014-04-23 at 2.48.59 PM

Screen Shot 2014-04-23 at 2.48.46 PM

Screen Shot 2014-04-23 at 2.48.34 PM

I think I can sum up all the above with “Cute cute cute cute cute”. I found page after page of ratings that had exactly the same rating… some number of Cute’s and a high 4 or 5-star rating.

Now it is possible that there are simply a ton of people that just find this app unbearably cute.  But more than likely these were purchased reviews.  Almost none of the reviewers have thumbnails, and they all look awfully similar.  The chances of this being the case sounds particularly low to me.  This really got me wondering… How many apps simply cheat their way to the top?

Email

I’m not certain how many apps do this, but I assume it must be a lot. Since my apps are on the store I am required to provide a public facing email that users can contact me at. Sadly, about half of emails I get are advertisements. And of those there are two main categories. The first are advertising networks:  Our ads will make you way more money! But a close second is: We’ll get you more ratings/downloads.  Here is an example of one such email:

Screen Shot 2014-12-07 at 4.02.51 PM

 

Now, I’m not sure how well Google is able to crack down on this, but it actually sounds like an incredible difficult thing to do.  It is a short step from encouraging 100 of your friends to download your app, to paying a 100 of your friends to download and rate it 5-stars.  How does Google distinguish the difference between the two without seeing the money transfer?  I’m not really sure they can.

So if I’m receiving this many requests there must merit behind it.  Which makes me believe the number of apps using this method of deception isn’t small.

Temptation

So is it tempting to use this with my apps?  Of course!  There’s always that desire boost ones downloads and ratings, who wouldn’t want that?  And there’s always the question of: “If I get the ball rolling, how big could it become?”.

But I got into app development because it is fun.  And I refuse to let the illusion of grandeur dissuade me from doing what I love, and doing it in a way is honest and true to my values.  And of course the fear of getting my apps kicked off the store is always there too.

Anyway, I’m curious if anyone else has seen this kind of trend elsewhere, and what other developers feel about it.  Is there anything honest apps can do to combat it?

Note: Since it has been months since I originally released “Spot!”.  I wondered how it fares now.  The good news is, it is showing up just fine in the rankings, and interestingly enough the other app isn’t in that list anymore.  Who knows the magic behind the store ranking, but one thing is for sure, just because you have a certain rank (or don’t) doesn’t guarantee you’ll stay there.

Screen Shot 2014-12-07 at 3.52.35 PM

Android Isn’t Left-Hand Friendly

While redesigning my app Goofy Glass, I came across this interesting finding.  Android isn’t left-hand friendly!  Now I’m not left-handed, so this has never been a problem for me.  But, I am colorblind so I can relate to the frustration of designs excluding a minority of us and essentially making it unusable for us.

So… What do I mean it isn’t left-handed friendly?

Being Friendly

1) Software home buttons stays right.

If you have a device with software buttons, try it.  You’ll notice, the software buttons always stay on the bottom or the right, depending if it in portrait or landscape.

This get particularly weird when using the Google Camera app.  That app does attempt to support left-handed use.  But this puts you weird position… you now are stuck using two hands in this orientation, where you would have been perfectly fine in the right-hand friendly version.

While it is nice to see Google does try to support it in some apps, the software buttons and the system in general do not.

 

2014-12-07 22.06.39

2) No easy way for develops to support it on their own. 

While Android as a whole does a marvelous job of designing for any device, they don’t make it easy to define a layout for landscape-left vs landscape-right. You can specify the based on size, density, language, and even orientation (portrait vs landscape)… but not which landscape version you are in.

This puts developers in a strange position of needing to handle all of the effort themselves.  Assuming of course that their apps really need to change based on handedness at all, which admittedly isn’t very common.  But then again, I’m not left-handed, I’d be curious to see what other frustrations those who are have run into while using Android.

Can It Be Done?

Of course it can!  Simply listen to the accelerometer and use that to determine your layout instead of using layout specific folders (as is traditional in Android). But be prepared for a lot more work in code, and a little bit more of a mess with your layouts.

This is exactly what I ended up doing with Goofy Glass.  Since I was essentially creating a camera app similar in some regards to the build in Android camera.  It tricky to do, but it was a bunch of extra effort, of course a lot of that effort was simply redesigning the layouts to look the way they should and making sure that all the lists were reversed in left-hand mode.

2014-12-07 22.25.51

Anyway, I just thought it was interesting and a little disappointing, but overall probably not even important for most apps… as I doubt very few need to be specifically designed with that in mind.

Christmas Lights Synced to Radio

For years I have wanted to sync my Christmas lights to music.  Each year comes and goes without even a single blinking light on my house.  But no more…  this year I decided to finally sync my house to the radio station FM 100.3!

Last night we turned it on for our first end-to-end test run.  And here are the results.  What do you think?

For those who are a little more curious about how it works, I’ll be writing a much more detailed set of posts about it later.  But a quick view of the pipeline is as follows:

Radio -> Custom Audio Cable -> Android -> Frequency Magic -> Bluetooth -> Arduino -> 16 Channel Relay -> Christmas Lights

And there’s more to come.  A few strands of lights are still in transit.  And there’s a variety of tweaks I still plan to make.

Battling the Media Framework

Screen Shot 2014-11-15 at 9.32.15 PM

Earlier this year I gave a presentation titled Battling the Media Framework.  I’ve had a lot of bitter-sweet experience dealing with Android’s media framework.  I’ve had experience with camera & OpenGL via Goofy Glass, mic & audio with my voice changers, and a healthy amount of video at both Sorenson Communications and currently with HireVue.

The short and skinny of it is: “These API’s on Android are super hard”.  My goal with each of those apps has been to support as many devices as possible with the best experience possible.  With over 7000 devices, it hasn’t always been easy.

For some practical tips on how to deal with the shortcomings of those API’s feel free to check out my slides here.

Android TV Presentation

device-2014-11-11-220510

I recently gave a presentation regarding Android TV for the Google Developers Group in Utah.  All in all I am very impressed with Android TV.  Google has learned a lot of lessons as they’ve attempted this with Google TV, Nexus Q, and the Chromecast.  This iteration finally gets the experience right.

I also was impressed how easy it was to port existing code to Android TV.  I attempted to port HireVue Pro, and it turned out gorgeous and simple to use.  I really hope these TV’s garner the attention of developers, because it really could finally change the outdated TV experience.

Here’s to hoping.

The entire presentation (minus one video which wouldn’t upload) can be found here.

 

Camera Design Decisions

A couple years ago I released one of my favorite apps, Goofy Glass.  Since that initial release I have pushed out many updates.  Along the way I have come across a variety of difficult design decisions.  This latest release has been especially difficult, and so I’ve decided to recap the tradeoffs I made.

Initial Design

Two years ago the initial design of Goofy Glass was based on Android’s open source camera.  They locked the phone into a single orientation, and then handle “orientation changes” by monitoring the sensor and simply rotating all the elements on the screen manually.

rotate_gif

While this isn’t a very common design, it is actually a really smooth experience for a camera.  There are three things that makes this nice:

  1. It is fast.  Since the layout doesn’t change none of the surfaces or the camera have to be reinitialized.
  2. It makes taking pictures easy.  It allows you to take photos with your left or right hand, from the top or bottom.
  3. It makes things simple.  With only one orientation to worry about, there is a lot less design to worry about.

The Challenges

This was great, and I loved having in my app.  But over the last couple of years I’ve noticed some really big drawbacks to using this method.

device-2014-11-03-213857Rotating buttons
In order for this method to work everything has to be rotated manually.  Initially this was simply buttons, so with a little code abstraction that was easy.  But in order for this to work everything I ended up needing to rotate fragments, dialogs, action bar and event toast messages.  And rotating some of these items required creativity and sometimes a worse layout.  For instance, fragments all had to be perfectly square so they could rotate correctly.

Problems with ads
One of the biggest problems has been with ads.  For some reason still unknown to me, rotating ads causes all sorts of problems.  On some devices they don’t show, on others they only show only if you add background to them.  They get copped funky if you’re not careful, and the full page ads always show up toward the forced orientation.  Goofy Glass actually has my lowest performing ads of all my apps, and this is one of the big reasons why.

device-2014-11-03-213305Confusion w/ Software Buttons
On a phone with hardware buttons it is easy to miss this.  Even on a phone with software buttons you probably won’t notice, since phones tend to lock the software buttons toward the ‘bottom’ of the screen.  But on a 7″ tablet it is glaringly obvious.  Most people use the 7 in portrait by default.  When the app is locked in landscape, and the user is in portrait, the home button is on the left side of the screen, which is ugly and hard to find.

Face detection woes (other filters)
And last, but not least, it was really cramping my style.  Every filter I built I had to worry about rotations, and the impact it would have.  For most filters, this isn’t too terrible.  But I’ve had plans to add face tracking to the app for a while, and it was getting complicated fast.  Most of the programming for it is done, but finding a rotated face and rotating the effect to match the face was proving to be quite painful.

The Solution

device-2014-11-03-215315I finally decided the cost of this design was too high.  So in this latest update I decided to finally break it apart.  And wow, did it turn out to be a lot of work, much of the work was simply a process of undoing what was already in.  The interesting thing is apparently the Google team had the same problems, because their latest updates don’t lock the orientation anymore either.

I will admit I’m going to miss those smooth animations.  Design is almost never straightforward.  And contrary to popular belief no single design will win, there will always be tradeoffs in the decisions we make.

Google Play No Longer Loves Indie Developers

Both the Google Play Store and the Apple App Store were built on the backs of independent developers.  The platform was wonderful!  People could easily find exactly the apps they were looking for, and developers could finally reach out to niche markets.  The pay for developers was reasonable, and the cost for users was much cheaper than traditional software.  Life was great.

But not anymore.  Let me share a couple experiences…

unnamedOver two years ago I released my second app to the Play Store, Funny Voice Changer.  My first app, Palette Painter, had a really slow launch, after all it only supported Android 3.0 on launch day which had less than 1% of the market (though it supports 2.2+ now, and is still going strong).  I expected the same slow response with Funny Voice Changer, so I clicked Publish and went on vacation.  Boy was I wrong.

Funny Voice Changer exploded overnight.  It was getting thousands of downloads a day.  In fact, it was too many.  I wasn’t ready for the barrage of ratings, the bugs it encountered, and the emotional roller coaster that ensued.  I gave up on the app after just a couple of months, something I have regretted ever since.

unnamed1I have since learned about the importance of iteration, and finally decided to fix those two apps, and remove that regret from my shoulders.  Yesterday, I finally released the refreshed versions, Funny Voice Changer 2.0 and Scary Voice Changer 2.0.

So how is the launch going so far?  Try a little experiment for me, go to the play store and search for Funny Voice Changer or better yet, use the name exactly Funny Voice Changer 2.0.  Do you see it?  If you don’t, that’s because it is ranked #124 for the first, and #88 for the second.  That’s right you can’t even find your own apps by name anymore.  Note: You will see my Voice Changers from 2.5 years ago in the 1st and 4th places.  You won’t find my new voice changers.

You can’t even find your own apps by name anymore.

Perhaps this is a one time thing?  (Well two technically, since there are two voice changers)  But the same thing happened to me just a couple weeks ago.  I released a fun Hidden Animals game.  My son loves it, and I’m certain other kids would as well.  But the day of the launch I couldn’t find it.  Even searching by the exact name it didn’t show up at all, not in any page, in any search I tried.  I have since tweaked the name and description a bit and have gotten it to show up at about the same 100th place on the search, but not exactly a searchable spot.

unnamed2

So how are they ranking apps via search?  Nobody knows.  Which is probably for the best, otherwise people would game the system.  It is obvious that the title and description don’t help as much as they once did.  So perhaps there is a variety of good reasons they’ve done so, right?  After all,the goal is to provide people with the best apps possible.  So what factors could they be using to rank apps?

Here are a few ideas along with some comments:

– Ratings.  This actually seems like a fairly reasonable way to organize apps.  But I have my doubts that it actually has much of an effect.  After all my previous Funny Voice Changer is ranked #1 and it has a miserable 3.3 star rating.  But worse, even some 1-star apps are showing up higher than my new apps, and these are apps that people obviously don’t want.

Screen Shot 2014-04-25 at 11.28.46 AM

– True intent.  A user types in “Funny Voice Changer”, but is really interested in any voice recorder out there.  This has a grain of salt to it, we don’t always know exactly what we are looking for.  Though I believe people are generally pretty good at it… but if they are looking for a funny voice changer it doesn’t make much sense to show a face changer.  That having been said, there are a *lot* of voice changers, so I do applaud Google for trying to parse it into something reasonable (assuming the results are reasonable).

– Number downloads.  Once again it makes sense that if an app is downloaded a lot it must be loved.  Though I do argue this should be weighted by how well people *liked* the app after they downloaded it.  For instance, even though this app has 100,000 – 500,000 downloads, something tells me that if you download it, you won’t like it.  This method of course helps either apps that have been in the store for a long time (regardless of worth), and developers with large pockets who can advertise to get a lot of downloads quickly.

Screen Shot 2014-04-25 at 11.27.47 AM

– App awesomeness.  I think this is a great metric, but how do you calculate this?  The only way I can think would be how pleasing the screenshots, title, description, ect are.  I would love to believe that they’re doing crunching on these to calculate an awesome score, but seeing apps like this and this make me believe they aren’t.

– App life – I’ve heard some people say that uninstalls have a huge impact on your ranking.  That makes a fair bit of sense, and I hope it is something they are doing.  On the other side of things, not all lifecycles are the same.  While some apps like Facebook you may keep on for the long haul, there are apps that may be perfect for an occasion.  Mine are great for sleepovers, others are great for weddings, and others for travel.  But you still should be able to find those apps if you’re in the moment.

– External links/Google magic.  This seems the most reasonable idea.  But it also tends to benefit those with large pockets.  Do you want lots of reviews of your app?  Do you want press releases?  Then open up your checkbook, because nothing is free.  And that’s assuming  your SEO efforts even pay off, it is very likely they won’t.

I don’t know how their ranking algorithm works.  But it is clear to me that as an indie developer it is no longer worth it to invest my time into building creative apps for the Play Store.

I’d love to hear your experiences on deploying to the store.  Has it been the same for you?