5 ways to develop a killer ARKit app

1.) Use the entire display of each iOS device
2.) Place realistic objects in a contextually relevant way
3.) Be realistic about environmental constraints
4.) Create an experience that’s comfortable for the user
5.) Provide a contextual UI

Apple’s launch of iOS 11 introduces ARKit, a new augmented reality framework that enables developers to easily design unparalleled AR experiences for iPhone and iPad. The technology works by blending 3D digital objects and information with the physical environment. The launch of ARKit takes mobile apps beyond the screen, allowing them to interact with the real-world in entirely new ways. The launch of ARKit is liable to transform the way your customers and stakeholders interact with your software. If you’re considering developing an ARKit app, knowing where to start and how to deploy an augmented reality initiative can be an enormous challenge. Today we’re exploring 5 ways to develop an engaging ARKit experience. When designing and developing ARKit apps there are a multitude of factors you’ll need to consider, but focusing on developing an engaging experience should sit front and centre of your project plan. This sounds obvious, but the realities of developing an engaging and useful user experience are more complex than they might first appear. Developing for ARKit is a completely different process when compared to desktop and mobile software development. It requires a completely different set of skills and a different thinking style in order to produce optimal results.

Developing apps for ARKit
Apps can now harness the capabilities of augmented reality, using ARKit, to deliver highly engaging and immersive experiences. These experiences are capable of seamlessly blending realistic 3D virtual objects with the surrounding real-world environment, an innovation that unlocks enormous commercial opportunities for brands and businesses. Developing AR apps is completely different compared to designing mobile apps and web applications. It requires a completely different approach to UI design and a different style of thinking. When developing AR apps, the device’s camera is used to create a live, onscreen perspective of the physical world. Developing an AR app involves superimposing a realistic 3D model over the real-world camera view. This gives the user the impression that these virtual objects actually exist in the real-world. The user can reorient the iOS smartphone or tablet device and explore each 3D object from different angles and perspectives. What’s more, users can also interact with these objects using gestures, movement and voice control.

1.) Use the entire display of the device
When designing and developing apps for ARKit, use as much of the screen as possible to display the real world environment and the digital objects you intend to display. You need to consciously avoid cluttering the screen with UI elements and control that diminish the visibility of the AR experience itself. Developing for iPad Pro will provide tonnes of real-estate for an immersive AR experience, but when developing for iPhones you’ll have less space to play with, so make it count.

2.) Place realistic objects in a contextually relevant way
Designing an ARKit app takes time and careful consideration. When developing an ARKit app, your goal will not always be to place realistic virtual objects, but to purposefully create an experience that transcends normality. For example, if you’re a retailer, and your objective is to place highly realistic 3D objects into the real-world, make sure they’re positioned in a contextually appropriate manner. In order to do this, you’ll need to create realistic 3D assets that possess lifelike textures and utilise ARKit to position objects on real-world surfaces. You can also consider how the user can interact with each object in terms of scaling, lighting, shadows and how visuals can be updated as the position of the camera changes.

3.) Be realistic about environmental constraints
ARKit apps are optimised to operate well in certain situations. You need to consider that sometimes your users will try to use the application in an environment that isn’t conducive with optimal performance. These constraints will include the size of the room in which they’re using the ARKit app, whether the context is indoors or outdoors and whether the app is being used during daylight hours or at night. Other constraints would be the app struggling to detect flat planes such as tables and walls, if the environment is an unorthodox shape. When planning to develop your ARKit app you should try and foresee all of the potential environmental constraints that may inhibit performance. If there are obvious constraints, these should be made clear to the user to avoid disappointment. This requires clear communication in terms of how the app should be used and you can consider offering different features for different use case scenarios.

4.) Create an experience that’s comfortable for the user
Holding a device for prolonged periods of time can be uncomfortable for the user. When developing an ARKit app, you need to think carefully about how the user will hold the device and focus on developing an experience that isn’t uncomfortable from a user’s perspective. One practical way to approach this is to ensure that 3D objects are positioned at a distance that minimises the need for the user to move closer. Focus on onboarding your ARKit app user in a way that reduces movement at the start of the experience. AS the user becomes more familiar with the application, you can start to introduce and encourage movement around 3D objects. You’ll also need to consider the safety of the user as moving around too much within the ARKit experience can be potentially dangerous. You should discourage sudden or large movements and minimise the risk of a potential accident.

5.) Provide a contextual UI
When designing a UI for your ARKit app, it’s always best to provide hints and tips that are contextually relevant and minimise the need for text based overlays. For example, if your ARKit app enables the user to rotate 3D objects, it’s much easier to use an arrow or ‘rotation indicator’ that provides a far more intuitive experience than using a text based UI overlay. There will be occasions when you have no choice but to use text based hints and instructions, but where possible focus on using symbols and indicators. Another option is to provide text based instructions if the user doesn’t respond to contextual hints within a certain time period. For many users, they’ll be experiencing AR technologies via a mobile device for the first time. This might be an intimidating or off putting experience for some users. In order to create an experience that’s approachable and not intimidating, avoid using technical/developer jargon and make the language as friendly and easy to understand as possible. For example, instead of saying ‘excessive motion detected’, make your language more human by saying ‘you’re moving your device too quickly, slow down a little’.

Conclusion
Mobile AR, specifically ARKit and ARCore, represent a complete game changer for businesses who develop software. Now that Apple and Google are going head-to-head with competing AR software platforms, there will be enormous opportunities for brands and businesses seeking to develop highly engaging AR experiences for users. We’ve covered 5 ways to develop an engaging experience for ARKit and essentially the exact same rules apply when developing apps for Google ARCore. We’ve covered the basics in terms of utilising the entire display of the iOS device, placing objects in a contextually relevant manner, understanding environmental constraints, creating a comfortable UX and a contextual UI. There are still other elements to consider in terms of how to place 3D virtual objects within a realistic environment and how to utilise gestures when interacting with 3D objects which we’ll cover in a later blog. If you’re a brand or business seeking ARKit developers, we’d love to hear from you. We’re already developing ARKit and ARCore apps for some of the UK’s biggest companies. Contact Mozenix today to discuss your ARKit development project.