Undercover^^: Behind the Scenes

Once a famous poet said, a good story starts with numbers. To prove his point, I list the numbers of Undercover^^ here.

  • Undercover^^ has travelled across 6 countries on 3 continents before its birth.
  • Undercover^^ was developed by 1 young couple from their living room and supported by their family and friends speaking a total of 8 different languages.
  • We have already played Undercover^^ with people from 15 countries aged 12 to 70. 

1. Norway: where the story started 

The story started in Norway, when 8 friends spent a weekend under 1 roof in July 2014. It was a reunion before they would all get their PhD titles, from the same university in Denmark. In fact, I was the only one who had already got her PhD in biophysics and moved away from Denmark. 

In such a magnificent country as Norway, we did everything a tourist is supposed to do: hiking inthe nature, drinking water from a crystal clear brook, cruising and being constantly surprised by  the high living cost! ^^

But we also did something a normal tourist wouldn’t have done (as everybody generally claims). We played a Chinese game called “Who is the spy” almost everywhere (on a cruise, at our dining table after the World Cup final, hiking in the nature under the bright nordic summer sun and finally in the airport waiting area).

Probably neither you nor your non-Chinese speaking friends have ever heard of “Who is the spy”. I hadn’t either at the time. In fact, I learnt much later that the game was made popular in China by a TV program where superstars are invited to play it. In this game, there are two roles: civilian and undercover. But it is not a role-playing game, because you don’t know your role! There are two similar words in the game, one for civilians and one for the undercover. But it is not a word game either. Along with witty hosts like the ones in this TV program, it becomes a wonderful stage game which gives both the participants and the audience a lot of fun. By the way, if you understand Chinese, check out this hilarious video from the TV program. 

So was Undercover^^ born during this trip? Not quite. But I did have 2 important takeaways from this trip. One was that I love my fabulous friends, the other was that I love this game! 

2. Peru: Spy Penguin is ¡Chula! 

July rushed away and August came without notice. Only 10 days were left before the much anticipated trip with my family-in-law in Peru! There would be 7 of us, spending 9 days together exploring the once center of the great Inca civilization. We would be travelling by plane, by train, by bus, by boat and on foot to discover Lima, Cusco, Machu Picchu and lake Titikaka!

I always get overexcited before big trips. This time was no exception. With fond memories of the Chinese spy game we played in Norway, I made up my mind. I would automate the game on my iPhone and make a special family version for our trip! 

But there was a small problem, I didn’t know how to program apps (at all!)! Could I still make it within 10 days?… 

According to Mark Twain: “the secret of getting ahead is getting started”. I am also a person of action. I swiftly started looking around online for resources about app programming. Treehouse immediately caught my eyes with its neat interface and easy-to-follow video tutorials. With no prior object-oriented programming experience, I was able to follow Amit Bijlani to go through core concepts in the world of iOS development by creating a fun app within 2 days! Definitely recommend for all the iOS beginners! Thanks Amit! 

With these basic skills in hand, I decided to officially start the Undercover app. All of a sudden, I was facing a lot of hurdles and I had to jump them one by one, all by myself! How to dismiss the keyboard after typing? How to pass data between view controllers? How to set up and interact with CollectionView controllers? How to, how to, how to…? I don’t know, I don’t know! 

Luckily, I wasn’t alone! Through time, I discovered wonderful online tutorials on various blogs and youtube channels. 

Ray Wenderlich 
Vea Software 

The links listed above have helped me build the very 1st Undercover app, which was called “Spy Penguin” back then (For the record, I love penguins too). After several nights spent dreaming about iOS programming, Spy Penguin was born! 

As you can see, Spy Penguin only had the most essential features. You could specify the number of players and the number of infiltrators (undercovers and Mr. White). You had to remember your player number (sorry player 1, your name is not accepted yet) and your word after picking a penguin card. After each voting, you had to single-tap the penguin card corresponding to the player who had the most votes, in order to reveal his real identity! 

Spy Penguin was not really elegant nor powerful at this point. But it didn’t crash and it did have 300 French word pairs (generously provided by every member of this trip beforehand) installed for our trip in Peru!

Cool, isn’t it?! With a bit motivation and perseverance, coding can be learnt.^^ Check out the big smiles from the original Spy Penguin testing team at breathtaking Machu Picchu! 


3. the Netherlands: my sweat is sweet 

"No culture can live if it attempts to be exclusive."
 - Mahatma Gandhi 

For me, I believe it also holds for an app. If I had restricted the game language to Chinese, my French family would not have had so much fun playing it… And I wouldn’t have got myself into another three months of intense work to implement their sincere and kind-hearted suggestions. Don’t get me wrong because I am not complaining. ^^ Thanks to them, I officially and fully committed to make Spy Penguin a well-functional app on the App Store! 

My husband, an optical engineer who is very talented in art work, also voluntarily participated in our joint venture. He single handedly completed almost all the drawings you can see in the final Undercover^^ app. His most proud piece, the 24 home-designed badges, is lying in the “Hall of Fame” waiting for you to be unlocked! 

If you compare the current Undercover^^ to our original Spy Penguin, you can almost be sure that Undercover^^ is not a simple extension of Spy Penguin. 

You totally have a point! Undercover^^ was indeed built all fresh from scratch, once we were back home. We decided that our users should be able to add their own name and photo in the game. Our users should be notified when it is their turn to pick a card or make a description. Our users should be able to have their gaming statistics stored in their phone. Ah, and an easy-to-understand rule, appealing sound effects and a lot more languages should be available to them! 

Most of these features require to store relevant data permanently in the device until you decide to erase them. After reading an overwhelming amount of articles online, I decided to choose “Core Data” for this task. For those interested in programming, you can check out this wikipedia article to have a first taste of it.

Core data is really powerful and user-friendly once you know it better. But at that point as a newbie, the journey to Core Data was very bumpy. Several days passed and I hadn’t made much progress. The thoughts of giving up came across my mind several times, until I started to follow an old post from AppCoda on Core Data . The 2 posts on Core Data were as usual an excellent entry point for newbies and they were supported by a real project. I went through these 2 posts and things finally started to work! Booya! I was able to implement these concepts in my own project and now when I read about Core Data in the iOS developer library I understand so much more! 

The best way to learn a new programming language is to get your hand dirty. Ever after solving my issues on Core Data, I set out my journey on tackling something new each day. I never got bored nor too frustrated at the end of each day. I was satisfied and genuinely happy! 

When the main functionalities were almost all implemented and bugs were repeatedly fixed (thanks to the participation of our family and friends in the Netherlands, China and Thailand), we started to design the visual elements. 

Every app needs a cool home screen to fit its spirit, so did ours. We poured out our designing soul and our home screen got dressed in all the following ways. ^^

Voila! Everything evolves, no? Wait, don’t forget the app name! It went from “Spy Penguin” to “Catch the Undercover” and to the current “Undercover^^” to present the subtle Mr.white. 

4. Undercover^^: It is not at all a goodbye 

Of course, we also have changed and our life has changed as well. Now, especially when we hear from our users who just had fun playing the game, our day is lit up with the warmest sunshine. 

See you in a while!! We will continue updating the latest news of Undercover^^ and our
international team (not just 2 of us!). Have fun!