Introduction

The most awaited battle between Google and Apple has finally started. The war of augmented reality SDKs. By now, you must have heard the term, ‘Google’s ARCore is the answer to Apple’s ARKit’, or some version of it, quite a lot. Is it? We are here to explore just that.

In this article, I am going to start with Augmented Reality, briefly explaining what it is and then move onto comparing Google’s ARCore and Apple’s ARKit with as much detail as possible, sidelining some key differences, similarities, and a general summary of both SDKs as Augmented Reality platforms for mobile devices.

What is Augmented Reality?

The word Augment means ‘to add’. So, augmented reality, on a very fundamental level, means to add something to reality itself. What is that “something”? Virtual images. By using an ‘AR application’ and some AR supported device, you can put virtual images or scenes on top of real world moments. This superimposed version of reality is called AUGMENTED REALITY and you view it through the screen of some device.

The AR application I mentioned above, obviously needs an underlying technology to bring it to life, and that is where our Augmented Reality SDKs, ARCore and ARKit, come to light. Moving on to ARCore first.

Let me explain that with an example picture.

Playing Pokemon Go

What Is Google’s ARCore?

ARCore is Google’s Augmented Reality SDK for building AR apps on Android devices. It was developed by building up on the data from Tango, Google’s first AR experiment. Read a detailed sketch-up on Google’s ARCore if you don’t already know what it is. Here are some main features of Google’s ARCore.

Motion tracking: With the help of your android device, ARCore tracks key points in the environment to establish and maintain positioning of objects.

Environmental understanding: ARCore understands the space around you by analyzing whether something is on the floor, a table, a chair or a wall.

Light estimation: Through this feature, ARCore adjusts the lighting of objects with reference to the environment they are placed in.

Using these three key features, ARCore processes and understands the environment and allows users to overlay life like virtual objects onto the real world.

That briefly sums up what the ARCore SDK is.

ARCore is specifically designed for Android devices and currently just available on a handful of Google recommended devices. However, there is a soon-to-be-released stable version that will make ARCore available to a million Android devices.

What Is Apple’s ARKit?

ARKit is Apple’s augmented reality platform for mobile devices. Apple recently integrated it as part of the iOS 11 release. You can check out the gritty details on ARKit for all, What is Apple’s ARKit.

Just like Google’s ARCore, ARKit also has three main features, Motion tracking, Plane estimation and lighting estimation, which are fairly similar, but a small difference lies in the way they perform these functions.

Google uses a process called COM, concurrent odometry and mapping to understand and map the world while Apple’s ARKit uses VIO, visual inertial odometry, to do the same thing.

At this point, you might be thinking that Apple revealed their ARKit first and yes it is available on more devices than Google’s ARCore BUT if you, for a second, think this makes ARKit the better “AR platform” of the two, you could not be more wrong. There are many factors at play here. Let’s compare…

Comparing ARCore VS ARKit

Device Availability

ARKit is available now, to millions of iOS devices, while Google’s ARCore is restricted to a handful of few Google recommended devices. Why did Google do that?

Well, Samsumng’s S8 devices and Google’s Pixel phones are already calibrated in terms of camera performance and IMUs to work with Daydream, Google’s VR headset. Making ARCore available on these phones is Google’s way of leveraging on the Daydream sensor integration data combined with a ‘Tango-lite’ SDK.

Ease of use

This one is for you developers out there. To develop AR apps, you will first need to download these augmented reality SDKs. For ARCore just download the ARCore app file and get the specific ARCore SDK for your choice of development environment, preferably Android studio, Unreal or Unity.

However, when it comes to ARKit, it is a bit of a pickle. You need to download quite a few things to get started. And since it’s Apple, you can only use a Mac device to code in.

Hardware/Software integrations

Apple’s hardware is without a doubt better than what Google has to offer. Google with its Pixel phone and Samsung’s galaxy phone is not far behind but close.

On the other hand, Google is slightly better on the software side. How?

ARCore’s mapping feature is better than ARKit’s mapping. Both, ARCore and ARKit, use sparse maps to generate world maps and understand spaces. ARCore can handle larger maps and recovers faster in generating a new map or updating it.

“GOOLGE EXPECTED TO HAVE DYNAMIC VIRTUAL SHADOWS AND REFLECTIONS, MAKING VIRTUAL CONTENT MORE REAL”

ARCore and ARKit: Two tech giants fighting for the AR throne

ARCore is a Tango adaptation. Remember? It was built on the data and insights generated from the Tango Project. That makes ARCore more mature than ARKit. How?

ARCore is well tested. All the previous tests and diagnostics and findings collected in the Tango phase are what created ARCore. That is two years of R&D. It wouldn’t be wrong to say, ARCore is Tango without the depth camera hardware piece. ARKit in comparison to ARCore has spent less time in development inside Apple.

Apart from missing on the 3D depth data, ARCore has a giant list of features set handed over by Tango which will most definitely integrate into the stable version of ARCore.

So there is a slim chance that ARCore will surpass ARKit when it comes to software integration and quality.

On the other hand, when you talk about the hardware Apple has to offer, Google can’t beat that. Even with ARCore released for a million Android devices, Apple’s iPhone 8 surpasses them all. There is a chance by the time Google catches up with the “widely available” tagline, there will have been more technologies developed and competition created.

It is still too early to tell who will win the war between ARCore and ARKit but both the contenders will be neck and neck in this battle between the best AR platform.

That leaves us to the question.

Should You develop in ARCore or ARKit?

Simple, If you have an S8 or a Pixel, then go for ARCore. If you have an iOS 11 iPhone and a supported Mac, than go for ARKit. Don’t bother shifting over from either sides, just to try these AR SDKs. The thing is, at this moment, ARCore and ARKit are both in their early stages. They will mature and incorporate new features and functionalities over time. As a developer, it’ll benefit you more if you focus on building great AR apps, because sooner than later, there will come AR apps that will raise user expectations and creating a mediocre AR app won’t be enough.

ARCore and ARKit will be a constant learning curve for the developers community and the people using AR apps. So at this point, focusing on which platform to build AR apps is less important than focusing on what AR apps to build. Once you are a confidant developer, make your transition to ARCore or ARKit then.