Categories
Uncategorized

Why should Android developers start building AR apps before 2024?

ar-android-development

The phrase “augmented reality” or AR has long been on everyone’s lips and is used in many areas of life. AR is being actively implemented in mobile applications as well. A large part of the AR market is occupied by entertainment applications. Remember the PokemonGo fever of 2016? However, entertainment is not the only area with AR. Tourism, medicine, education, healthcare, retail, and other areas also actively use AR. According to studies, by the end of 2020, there were almost 600 million active users of mobile apps with AR. By 2024, a nearly three-fold growth (1.7 billion) is predicted, and the amount of revenue from such applications is estimated at $ 26 billion. The future is very close! 

That’s why in this article we’ll consider several popular tools for Android mobile app development with AR functionality, their pros and cons.

History of AR

It’s been quite a long time since the advent of AR technology and its implementation in smartphones. It was originally part of VR. In 1961, Philco Corporation (USA) developed the first Headsight virtual reality helmets. Like most inventions, they were first used for the needs of the Department of Defense. Then the technology evolved: there were various simulators, virtual helmets, and even goggles with gloves. Their distribution was not widespread, but these technologies interested NASA and the CIA. In 1990, Tom Codell coined the term “Augmented reality”. We can say that from that moment on, AR became separate from VR. In the ’90s, there were many interesting inventions: an exoskeleton, which allowed the military to virtually control cars, gaming platforms. In 1993, Sega developed the Genesis game console. However, this product did not become mass-market: users were recorded nausea and headaches during games.  The high cost of devices, scarce technical equipment, and side effects forced people to forget about VR and AR technologies in the mass segment for a while. In 1994, AR made its way into the arts for the first time with a theater production called Dancing in Cyberspace. In it, acrobats danced in virtual space. 

In 2000, in the popular game Quake, thanks to the virtual reality helmet, it became possible to chase monsters in the street. This may have inspired the future creators of the game Pokemon Go. Until the 2010s, attempts to bring AR to the masses were not very successful. 

In the 2010s, quite successful projects appeared: MARTA (an application from Volkswagen that gives step-by-step recommendations on car repair and maintenance) and Google Glass glasses. At the same time, the introduction of AR in mobile applications begins: Pokemon Go, IKEA Place, the integration of AR in various Google applications (Translate, Maps, etc.), the introduction of filters in Instagram, etc. Currently, there are more and more mobile applications with AR and their use is spreading not only in the field of entertainment.

What is AR and how it works on a smartphone

Essentially, AR is based on computer vision technology. It all starts with a device that has a camera on it. The camera scans an image of the real world. That’s why when you run most AR apps, you’re first asked to move the camera around in space for a while. Then the pre-installed AR engine analyzes this information and builds a virtual world based on it, in which it places an AR object or several objects (picture, 3D model, text, video) on the background of the original image. AR objects can be pre-stored in the phone memory or can be downloaded from the Internet in real-time. The application remembers the location of the objects, so the position of the objects does not change when the smartphone moves unless it is specifically provided by the application functionality. Objects are fixed in space with special markers – identifiers. There are 3 main methods for AR technology to work:

  • Natural markers. A virtual grid is superimposed on the surrounding world. On this grid, the AR engine identifies anchor points, which determine the exact location to which the virtual object will be attached in the future. Benefit: Real-world objects serve as natural markers. No need to create markers programmatically.
  • Artificial markers. The appearance of the AR object is tied to some specific marker created artificially, such as the place where the QR code was scanned. This technology works more reliably than with natural markers.
  • Spatial technology. In this case, the position of the AR object is attached to certain geographical coordinates. GPS/GLONASS, gyroscope, and compass data embedded in the smartphone are used.

Tools for AR in Android

AR tools comparison table
AR tools comparison table

Google ARCore

The first thing that comes to mind is Google’s ARCore. ARCore isn’t an SDK, but a platform for working with AR. So you have to additionally implement the graphical elements that the user interacts with. This means that we can’t do everything with ARCore alone, and we need to implement technologies to work with graphics.

There are several solutions for this. 

If you want to use Kotlin:

  • Until recently, you could use Google’s dedicated Sceneform SDK. But in 2020, Google moved Sceneform to the archive and withdrew further support for it. Currently, the Sceneform repository is maintained by enthusiasts and is available here. It must be said that the repository is updated quite frequently. However, there is still a risk of using technology that is not supported by Google.
  • Integrate OpenGL into the project. OpenGL is a library written in C++ specifically to work with graphical objects. Android provides an SDK to work with OpenGL to run on Kotlin and Java. This option is suitable if your developers know how to work with OpenGL or can figure it out quickly (which is a non-trivial task). 

If you want to use something that isn’t Kotlin:

  • Android NDK. If your developers know C++, they can use the Android NDK for development. However, they will also need to deal with graphics there. The OpenGL library already mentioned will be suitable for this task.
  • Unreal Engine. There is nothing better for dealing with graphics than game engines. Unfortunately, ARCore is no longer supported by the Unity SDK, but Unreal Engine developers can still develop applications.

Vuforia

Vuforia is developed by PTC. Another popular tool for developing AR applications is Vuforia. Vuforia can work with normal 2D and 3D objects as well as video and audio, unlike ARCore. You can create virtual buttons, change the background, and control occlusion. It’s a state where one object is slightly hidden by another.

Fun fact: using Vuforia, a developer can turn on ARCore under the hood. Furthermore, the official Vuforia documentation recommends that you do this. That is, while running the application, Vuforia will check to see if it is possible to use ARCore on the device and if so, it will do so. 

Unfortunately, bad news again for Kotlin fans. Vuforia can only be used in C or Unity. Also, the downside is that if you plan to publish your application for commercial purposes, you will have to buy a paid version of Vuforia (Vuforia prices). 

It works with Android 6 and up, and there is a list of recommended devices.

ARToolKit

ARToolKit is a completely free open-source library for working with AR. Its features are:

  • support for Unity3D and OpenSceneGraph graphics libraries
  • support for single and dual cameras simultaneously
  • GPS support
  • ability to create real-time applications
  • integration with smart glasses
  • multi-language support
  • automatic camera calibration

This library is completely free. However, the documentation leaves a lot to be desired. The official website does not respond to clicks on menu items. Apparently, ARToolKit supports Android development on Unity. Using this library is quite risky.

MAXST 

A popular solution from Korea. It has very detailed documentation. There is an SDK to work with 2D and 3D objects. Available in Java and Unity. In Java, you need to additionally implement the work with graphics. The official website states that the SDK works on Android from version 4.3, which is a huge plus for those who want to cover the maximum number of devices. The documentation is quite detailed. However, this SDK is payable if you plan to publish the app. The prices are here.

Wikitude 

Development by an Austrian company that was recently taken over by Qualcomm. Allows you to recognize and track 2D and 3D objects, images, scenes and work with geodata, there is integration with smart glasses. There is a Java SDK (you need to additionally implement the work with graphics), as well as Unity and Flutter. This solution is paid, but you can try the free version for 45 days.

Conclusion

Now there is a choice of frameworks to develop AR applications for Android. Of course, there are many more, but I have tried to collect the most popular ones. I hope this will help you with your choice. May Android be with you.

Fora Soft develops VR/AR applications. Have a look at our portfolio, look at Super Power FX, Anime Power FX, UniMerse. We are #453 of 3162 top mobile app developers’ 2022 list by TopDevelopers.

Want to have your own AR? Contact us, our technically-savvy sales team will be happy to answer all your questions.

Categories
Uncategorized

Anthony from Speakk, ‘You are so much more competent than other developers.’

We created Speakk, a chat and voice messenger for South Africa that doesn’t consume internet data. Here’s our interview with Anthony, Speakk CEO. He says why he chose Fora Soft over many other companies, how we overcame difficulties with the app, and how Fora solves issues.

Watch customer video testimonial on software development

Tell me about Speakk. What is it?

Speakk is an innovative app in South Africa. People chat and send messages and voicemails there. Similar to WhatsApp. However, users don’t pay for any of the mobile data used. Data is very expensive. Millions of South Africans walk around with smartphones but they can’t afford to use them just because of how expensive data is. That’s why we developed Speakk. For them to not pay for data used.

How it works is a simple chat app like WhatsApp. Sign up, send text messages, voice messages. We have ads, so every 8 messages or so you’ll see an ad popping up. So we pay for the data and we make money through advertisements.

How many users?

When we signed up, we got nearly 100k users over a month. Then we had a slight change in business plans. We built another app using that technology. This new app was for the educational market. We had great opportunities with COVID. Fortunate negatives, so to speak. There were many public schools in SAR where kids had no opportunity of communicating with teachers in lockdown. So we used our existing technology for that market as well. Fora Soft helped us do that.

Was Fora Soft your first choice?

No, it wasn’t. We considered many software development companies, both locally in SAR and overseas. What was very interesting for us, we gave a very simple brief to developers. We wanted to see how they understood the brief and base on that, what technologies they’d recommend and how it would cost.

Out of all the companies we’ve contacted, Fora was the only company to really grasp the challenge of what we’re doing and give us an accurate quote.

That’s why you ended up with us, right?

Yeah. Hundred percent. So, it was really because of the technical competence, we landed up being impressed by a number of other aspects working with them, but initially, you were much more technically competent than any of the other developers we’d spoken to. We had a look at your portfolio of existing work, which was not only quite wide and quite varied across different industries, but it did overlap somewhat in what we were doing as well. So, you had the experience in the space that we are in as well, which helped.

Can you please share your “before” and “after” working with us?

We don’t really have it before and after, because we’ve been partnering with Fora Soft from the beginning of this project. So really we worked with Fora Soft for the minimum viable product. We worked with them to create something that would be as light as possible but would still work. And that was the first version of the product that we created with Fora. We then evolved the product and we moved on to new products. The relationship has evolved as the products have evolved, but there wasn’t any before Fora Soft. They were really the beginning of the project for us. 

Are there any measurable figures that you could share with us that can be disclosed? Like we’ve talked about a number of users, maybe a number of crashes, revenue numbers?

Because our business has changed slightly, it’s difficult to share a lot of that, but we could say that there have been millions of messages sent in our app since we started. We accumulated that really quickly. We were a trending app on Google Play Store for quite a while. We had, at one stage, many thousands of downloads every single day. I can’t think of any other metrics that we could share. The app grew very quickly at the beginning.

Were there any difficulties while developing the program? If yes, able to overcome those difficulties with Fora Soft?

Yeah. Like any project, we had a number of difficulties. One of the big challenges we had to overcome was that the app uses this reverse billing technology, which has very, very specific technical requirements. It led to a number of issues at the beginning of the project which were unforeseen on our side and on the Fora Soft side. But it’s something that we did work with Fora Soft over a number of months to get through.

We ended up with a much more sustainable, robust product at the end that we are quite proud of. That version works better. 

I don’t know if you want me to talk about this, but the other issue we had is that we did have some issues with Fora Soft in terms of the initial specifications of some new projects that we worked on. There were some of the features that were underspecified that led to us underbudgeting the project. It had a number of ramifications for the business. Fora Soft was very apologetic about that. They rectified the billing we were on, on some kind of an agreement to help us through some of the budgetary constraints. Then going forward, we didn’t have that problem again. I think you realized where the error came from and you were very careful about that going forward.

Professionalism, determination, and communication are very important when it comes to any IT project. With us working with you and you working with us, could you rate us on the scale of 10 on those criteria and maybe add some other criteria that you deem necessary?

So in terms of professionalism, Fora Soft was very professional throughout.

We’ve dealt with many different people in the organization and everyone we’ve dealt with has been great, very professional. Obviously, in a long-term working relationship like we’ve had there, there have been one or two issues and those issues had been resolved very, very quickly. I’d say Fora has been incredibly professional in terms of communication as well. We were concerned that our company is based in South Africa. Fora is based in Russia. There would be language constraints and language issues in dealing with Fora. This didn’t prove to be a problem at all. We set up a Slack channel to communicate with our project manager when we’re in the middle of the big dev cycles,. We were speaking to those project managers throughout the day on a daily basis over Slack.

The communication was pretty much flawless.

When we did need to have a face-to-face meeting, we hopped on Skype and we were able to look each other in the eye and to speak a bit more casually. Communication hasn’t been an issue at all. You know, I think the only communication issues that were introduced every now and again was just due to some of the technical requirements that we had on our side that are very unique to the mobile environment that we are working in. I must say, just on that point, I was very impressed that South Africa has a very unique set of mobile users. We have people walking around with the latest and greatest smartphones. And we have people walking around with cell phones that are many, many years old.

Would you turn to Fora Soft with any other project or maybe recommend us to somebody else?

Yeah, yeah, definitely. And we have done other projects with Fora Soft and we have recommended Fora Soft to others as well. So not only would we do it, but we have done it already.