ARKit is a development platform created by Apple to allow developers to use augmented reality on iOS devices. We can use ARKit to create virtual objects, images and even working user interfaces that look like they are right in front of you.
You’ve most likely seen furniture companies such as IKEA using augmented reality to allow potential customers to place virtual products in their own home to get a better idea of size and overall context in their living space.
But imagine seeing this technology as an educational tool to assist teachers or students. A way to try other types of products before you buy them. For artistic and creative endeavours. Or as a tool for good, such as Asad J. Malik’s holograms of Syrian refugees which were placed across the US to highlight the human plight of war.
We’d love to explore more possibilities and bring this technology to our clients, so we spent some time experimenting to see what we could build in a relatively short space of time.
With our wealth of experience in app development using React Native we wanted to create a simple demo showcasing augmented reality within a typical app.
The majority of the demo app was created using our own open source library Romulus. The other major part of the app was a library called react-native-arkit. This library gave us a bridge between the React Native part the app and the ARKit platform within iOS. The creators of this library were also behind the furniture app Homestory which you can read more about on Medium.
Dancing lessons in the office
We created a variety of examples that showcased a range of interactions, from the very straightforward right up to the more complex. Our favourite part of the app, and most likely the best demo within the app, was an animated 3D model that could be rendered when the camera was presented with a printed graphic.
When the demo is launched it looks for a photo that’s been preloaded into the app, in this case it was a photo of a dance floor. When the photo of the dance floor came into view of the phone camera, a fully animated figure would appear on top of the dance floor and begin to dance on it. I’m sure you would agree this is a very fun example.
You’ll see that in the example there are lots of yellow dots and other elements on the screen. The yellow dots represent surfaces that the phone has discovered. The bar at the bottom displays how well the augmented reality view is responding and refreshing.
We dug into this further and found that we could even manipulate basic values in real time, such as the size of the dancer. Dance moves aside, this example of rendering animated 3D objects using a physical image as reference is full of potential.
Of course, this is just one example produced in a short period of time experimenting with a new technology. We’d love to hear about your ideas and projects that use this fun and exciting tool so we can develop it some more.
That said, if you’re reading this because you’re a developer who’s new to ARKit, we’d recommend Obsidian Labs’ blog ‘How to make an ARKit app in 5 minutes using React Native‘ to help you get set up.
If you’d like to discuss your startup or project, get in touch with Simpleweb today.