Apple’s ARKit has made building augmented reality apps extremely accessible for iOS app developers.

We wanted to learn more about how ARKit’s API worked and what it was capable of doing. Our team set out to build a simple yet fun game for the App Store. Here’s some insight into how we learn new technologies and what we do when experimenting with new ideas.

  1. ARKit Fundamentals
    We had to understand how ARKit worked. Our developers dove right into Apple’s documentation to get a baseline understanding of the principles behind augmented reality and ARKit’s implementation. Next, we turned to authors on Medium to read opinions about where the technology was going and scoured the internet to see how other developers were building AR apps. It’s always important to get a baseline understanding of the industry before using a new technology.
  2. Implementing and Compiling Sample Projects
    Once we had a basic understanding where the technology stood, it was time to implement some sample projects provided by Apple. We followed instructions to get a very basic AR app on our iPhones. This allowed us to interact with a real app and get a feel for how AR looked and ran in real-time. Watching online demos and reading about other people’s implementations is one thing but playing around with an actual app helped with understanding AR’s true capabilities.
  3. Brainstorming and Research
    We spent a lot of time on the App Store looking for AR apps and games to learn from. Our team used the information gathered to brainstorm creative ways to implement interfaces and interactions that were fun and addictive. We decided to take regular game concepts that were successful and turn them into AR games. Searching for terms like “paper toss” on the App Store returned many games with high ratings. Since we wanted out first AR app to be simple and easy to implement, we decide to create the an AR experience for tossing paper into a basket.
  4. Designing the Interface
    Creating an interface and user experience for AR apps is very different from regular apps. Users need to see the environment around which they are placing objects (a real time video feed from the camera) and be able to see digital elements on screen. The challenge is to provide an experience that doesn’t distract the user from the immersiveness of AR but also provides meaningful navigation and information. We used partially transparent elements to give users access to critical information and the navigation (back button, high score, etc.) that needed to be accessible throughout gameplay. Less critical information was stitched into the AR experience (every time a player scored a point, it animated over the basket).
  5. Iterating on Design
    We quickly realized that it’s very difficult to control AR backgrounds and experiences as users can use the app virtually anywhere. There’s a large variance of colors that show up on the video feed, so the navigation needed to be designed in a way that worked with a wide color gamut. Our team experimented with a variety of color, shading techniques, textures and element placement before finding one that worked.
  6. QA and Testing
    Testing AR apps is more difficult than conventional apps. You have to use the experience in different settings and make sure it works and looks good. You can’t simply have automated tests that run to make sure the app doesn’t crash. We spent hours watching focus groups play the game in different settings to make sure we got the experience right.

It took us about two weeks to learn ARKit and deploy an augmented reality game on the App Store. You can learn more about how we built Trash Toss AR here and play it on your iOS device by downloading it here!