Saturday, July 11, 2020

Ready, Set, Race?

We recently introduced a two-player "race" version of Plates Across America™. This also required us to add a number of other features, all centered around solving the problem of how to find race opponents.  In our previous blog post, we explained the matching process when you choose to "Race Anyone" and in this article we describe what we had to consider when you want you to pick a specific opponent.


If you do not care who your race opponent is, then this is the easiest thing for us to handle. When two people choose this option, we have mutual consent, so we can match them and the race can start.  But there are some tricky parts once you entertain the notion that a user should be allowed to pick the race opponent.
  1. How do players find the opponents they want to race?
  2. How do we ensure that the selected opponent is willing to race?
We needed to tackle both these problems with care, since we value our customer's privacy and have made a promise to not become yet another source of annoying emails.  The typical things game companies do for situations like this are definitely not aligned with our core values, so we could not just blindly copy what others are doing.

Finding Users

There are two principle ways you can select a particular player to race in the game:
  1. if you see them in the leader boards (click on their icon); or
  2. from the newly added page of players you are "following".
The leader boards already had the user's name/icon and allowed you to click to see some of their stats. All we had to do was add a "RACE" button to that view of a user. It is simple to pick them this way, but there are some issues to be addressed about their willingness to participate and how we should notify them. We discuss those issues little further below.


The "Following" page is a new thing we had to add, to make it easy to locate known players. This immediately brought up the need to allow you to manage this list: e.g., searching for, adding and removing players in the list.  If you see a player you know on the leader boards and click their icon, the newly added "FOLLOW" button can be used. However, the much more desirable method is to locate people you already know, e.g., friends, family and acquaintances. Here is where is starts to get tricky.
  • How do you locate them?  By their game username?  By their email address?
  • What if they are not signed up for the game?
  • Is emailing the user in accordance with our "no annoying emails" policy?
  • What if someone else has already invited them, but they have not signed up?
  • What if they signed up and they prefer to not get any more emails like this?
We wrestled with these questions and came up with our "Find Friends" search page.  We wanted this to be as easy as possible, so you can type in, free form, multiple user names and/or email addresses and we'll do the work to sort this out and provide you with the available options.  If the user is already signed up, you get a "FOLLOW" button, if not we give you the option of inviting them.  You must know their email address and choose to email them before we will send out an email. We will not email someone for you unless you know their email address. Most importantly, we will never show your email address to anyone.

Requesting a Race

Just because someone wants to race you, does not mean you want to race them.  If we allow the race to start and you choose not to participate, then there is the risk of that person wasting their time playing  a game that is a dead end.  Therefore, we introduced the notion that before you can race someone, you must first get their consent.  This is just a one time request, and once consent has been granted, we assume there is a mutual agreement and that all subsequent race requests will allow the game to start immediately. 


What happens if you consent and then the playing partner becomes a nuisance?  We needed to also add a "BLOCK USER" feature to handle this case.

Player Notifications

We struggled designing how to notify users when someone requests a race.  If we do not send a notification and if you were interested, then the burden is on you to continually check back with the game.  If we do send notifications, and you are not interested, then we are annoying you with emails, which is what we have promised we would not do.

We also struggled with how to deal with having opt-in emails.  We did not want to default users to getting emails, since that is against the spirit of what we promised, but we also want to make it easy for users to get notified of these game invites.  We hit upon a good balance by making the emails opt-in and by asking about the email option at the point of race requesting. This allows you to opt-in and understand its benefits immediately, in context.  Note that in your user settings, you can control this email setting so can opt out at any time if you change your mind.


The key elements of this notification design are:
  • emails are opt-in and you can opt-out at any time;
  • we only solicit you to opt-in when it matters to the action you are taking;
  • we require a real human user to initiate an email (no automated spamming allowed);
  • you can block particular users; and
  • even if you opt-in, we limit game reminder emails to at most once a day. 

Summary

All these issues about simply finding race partners required considerable design and development work and that is not include the race feature game play itself.  This large body of work is why the race feature was not in our initial release and had to wait until now to be available. We are very pleased that we were finally able to make this feature available. Try it out and let us know what you think.


Happy Travels!

No comments:

Post a Comment