The story of – GO – Concentration – Reaction – Speed – Friends –
Introduction -GO- .
Let’s start this story with a little explanation of what -GO- is. -GO- is a simple app/game to quickly decide who is going to do a job, task or chore.
In our office we always had discussions about doing certain tasks, like getting coffee, getting lunch, do an errand or any other office task that no one favors to do. We had the idea that this could be resolved by making a fun, simple and useful app. We gradually increased the types of tasks to beyond the office. For instance, who is going to get the drinks at the cafe, who is driving tonight. The possibilities are endless.
We wanted to combine various areas of expertise and gain more expertise in other areas in this one app. For example, multi-user apps, apps for all ages and no real target audience, casual gaming, freemium and ad-based games.
Another thing we wanted to develop was an app or game that results in a real-life action. So if you lose, there are consequences. No serious consequences, of course, but doing a small task like getting the coffee, making dinner, be the designated driver or whatever you can think of.
We wanted to make a one-button game, a reaction game, based on speed and concentration.
The final thing was to create something fast, simple and with a nice look and feel. Something people enjoy using, doesn’t take much time and is not interfering with work or home. An app that can be played within a minute.
The app also needed to be cross-platform, so Apple- and Android-users alike could play against each other. Thus, all the choices we made needed to work on both platforms. The designs needed to scale to various screen sizes, smartphones in all sizes and tablets in all sizes.
We think most users will be smartphone users, but you never know.
The -GO- project was also an “in-between” project. When time allowed we continued, but since it is always busy, we decided to clear some time in our schedule to actual build and finish this app. Deadline was December 1st; we almost made it.
The development started with choosing the right tools and services. We started with the server. We checked out several solutions, but ended up with a small scalable cloud server from Amazon. They offer a 1st year free service, which can be scaled when needed. We hope we need to scale up quickly.
The system needs to have push messages, to be able to invite friends and start games, and we have chosen Pushbots for this. Again this is a scalable system, whereby the first 1.5 million push messages per month are free.
Having chosen our tools, we first started to create the basic interaction between server and app: creating users, interaction with users, inviting users, etc.
As with all programs that have user interaction, with all the messages going back-and-forth, making sure that everything works in a logical way is always a time-consuming job. To simplify registering, we added the Facebook login.
During the development of the multi-user part, we didn’t work on a fancy interface or look-and-feel yet. See below.
The fun thing is that the final app actually works exactly the same, but only with a different look.
The Business Side
Besides creating a great app, we also wanted to have a free app, to see if we can make money based on advertising. We usually build educational and fun apps for children, or apps for businesses. In both cases advertising is a big no-no.
With this casual/no-age limit app, we are hoping to attract a lot of users. Perhaps we can entice these users to take a look at our other apps as well. Right after registration, you’ll receive a confirmation email message. This email message also contains links to our other apps. The friend invite mail and the forgot password mail also contains these links.
Another area in which we wanted to improve our knowledge (and have an app to experiment with!) was to seek various ways of advertising, but also to continue to explore where advertising works and where it might be conceived as annoying and frustrating. This is a thin line.
So, where to put advertising inside the game? It has to be in a spot where people see it and don’t want to remove it directly. Most money is to be made when people click on the ad and we don’t want people to accidentally click on it, or are forced to look at it for a long time.
We have chosen three different ad solutions: iAd (from Apple) on iOS devices, using a small banner on the bottom; Admob (from Google) on Android devices, again using a small banner on the bottom; and for the full-sized ads when a game is finished, we chose Fusepowered. We also use Fusepowered for the Reward video, to receive extra practice rounds. If one of the advertisers does not have an ad to show, we automatically choose another. We also use Admob mediation, to use other ad companies from within Admob. The fill rate is very important; you reserve space inside your app for advertising and you want it to be filled with advertising.
Since we are unsure about the proceeds with ads and are not a big fan of ads, we have decided to have an in-app purchase possibility to remove the ads. For $ 1.99 you can have the ads removed. A lot of people told us not do that, because the proceeds with ads can be much higher. The “can be” part made us decide to add the “remove ads” option. We can always take it out at a later stage and still keep the app ad-free for everyone who paid for it. This app was built to try all kinds of different scenarios.
We have discussed several other ways to offer in-app purchases; we don’t want to be greedy but we are still a business.
In our opinion, Rovio made several crucial mistakes with Angry Birds 2 (on the other hand, they have several 100 million users and we do not :( ). Angry Birds 2 has a money-making system, that interferes with the gameplay, something we feel is a big no-no. The strange thing is, a lot of people actually don’t mind waiting to continue or buying digital stuff to be able to continue. People do behave strangely sometimes.
We explored several options of adding in-app purchases, buying milliseconds to be faster (which is cheating, of course!), buying extra help when to click (cheating again), but we decided on buying extra practice rounds. That way, you don’t cheat and you don’t NEED to buy it, because you can practice together with a friend. But, if you really want to win and join the winners, it could be handy to do some extra practicing.
Because the game has a random start time, it is really challenging and depends completely on your reaction speed. Some extra practicing won’t hurt; it’s cheap and it might save you several tasks you do not wish to do :)
Finally, we ended up with ads and two in-app options; remove ads, and buy 10 practice rounds or watch a video ad to receive 5 practice rounds.
Since this game is build to test things out, we can easily swap ad companies or change in-app purchases. Even the game part is modular and can easily be replaced.
We know we need a lot of users to make it financially worthwhile on the advertisement revenue side. Although these numbers are high, they are not completely unrealistic. If you take 2 people who each invite 1 friend, these new friends invite 2 friends, . 2 x 2, 4 x 4, 16 x 16, 256 x 256, 65536 * 65536 etc.
So we basically have three areas in which we are planning to create some revenue: advertising, in-app purchases, and exposure of our other apps.
We have spend a lot of time figuring out all the advertising scenario’s; this is really a different world. ECPM, ARPU, RPM,INTERSTITIAL, MEDIATION,IMP and DAU are some of the abbreviations you will encounter when venturing into this world. Bottom-line is how many users see the ads you display in the app, and how much revenue you will have per user. We have not found a good way to calculate the values;everybody has different ways to calculate and none seem to fit our app. Again, this won’t be exact science and we must see how this will evolve. Luckily everything can be changed easily.
Let’s see what happens, we will keep you posted.
Simplicity was the core; ease of use, self-explanatory and a solid, nice-looking design, not too flashy. The app needed to have a simple structure: start-a-game, select friends, and play, all in roughly 30 seconds. Sounds simple, right? We started with two buttons to create and start a game. We wanted fluid movements between menus and to keep the screens as clean as possible. The basic design was very clean, a bit too clean eventually and we needed to add a lot more during development.
It can be challenging sometimes to keep the design intact and still add features. As always, things you build and see create new ideas and these new ideas create changes. Usually these changes bring big or small improvements, sometimes they don’t and make you step back a bit. We have made a lot of steps forward and backwards.
We started out with a very basic interface. This very first version was tested and changed intensively. When we started on the interface, the app was functional and stable.
As soon as we started to use the app, we started to evaluate each game we played. During these evaluations we applied extra features, fixes and changes.
When you start a game and have selected your friends, they are going to receive a push message. You can open this push message and you’ll see the pending game waiting for you. You accept the game, friends will join and go. There were a lot of issues with the push messages and how the user would go from the push message to the game and especially when a user was invited, but was not able to play. He would still see the push message, while the game was already finished.
Since data goes back and forth, delays can occur and that can eventually create problems on the server side. It was essential that the data, that goes from the user to the server and back to the other users, was kept to a minimum. We have spend a lot of time optimizing the data and found a lot of solutions within the app, by re-using and anticipating data. It was essential to keep it lean and mean. We encountered tons of problems with the user-interaction, especially between WiFi and cell networks, bad reception of signal, losing the signal, etc.
You can search for a friend using first and last name, but also by email address. If your friend is not in the list, you can invite him/her with a small email message. This email message contains the invitation, the download link and instructions. When a friend follows these (very simple) instructions, he automatically joins the friends list of the friend who has send the invitation.
When you start a game and invite friends you can/need to add a reason why you want to play the game. This reason can be selected from a series of icons (for example coffee, lunch, car etc.), but you can also define your own reasons.
During development, we thought it would be nice to keep high scores. The high scores are actually timed in milliseconds. It is kind of a weird game, since the loser with the slowest times is on top of the list and the winner is on the bottom. We also decided to add badges: bronze, silver and gold. This is determined by a win/lose ratio. When you select friends to play with, you can see if it is going to be a tough game, based on the color of the badges.
An app with a database connection and users needs a back-end to control the data. So we have build a user back-end, to have access to user data. We do not store a lot of data, only data that is needed to run the game. We are not in the data selling business, nor do we want to be. Data is basically used to connect users to other users and to retrieve lost passwords.
We use BETA testing a lot and invite as much people as possible to test the app. Eventually, we ended up with around 100 users to test the app during development. This testing is essential to see how people use your app, what they like and what they don’t like. As simple as the game is, almost everybody liked it and kept using it. A lot of small improvements / additions / changes were made during these test rounds.
The final app and screenshots
Apps are submitted to the appstore and playstore. Apple is always time consuming and Google/Android takes only a couple of hours.
Since it is one of the busiest times for submitting an app, we think it will be in the new year before it’s available.
First we are doing a soft-launch, to see how things develop without much marketing effort. We are very curious about the viral/share aspect part.
14-01-2016 Approval from Apple.
Finally after two rejections the Apple version is approved, the first rejection was based on an error we made in the in-app purchase definition, the second rejection was sort of a misunderstanding with Apple concerning the absence of a restore purchase button. Apple requires one when you have in-app purchases unless you have control of this from your own database. This is what we do, when you login your in-app is checked. We have added a restore button to keep Apple happy.
So now the -GO- app is in the wild. We will keep you posted about the process in this blog. In the meantime, download -GO- here.