Blog CSHARK

IT Ocean blog

Blog subscription

How To Easily Develop An Augmented Reality Application? Part 1

How To Easily Develop An Augmented Reality Application? Part 1

The easiest answer – don’t try to fit reality into a virtual concept. Instead, paste objects into the displayed image of the real world, so it can feel as real as the reality right next to it. What methodologies can you use? What risks should you avoid or contain? What platform to choose and what are the matters you should remember about?

Augmented reality (AR) and virtual reality (VR) technologies have opened the doors to other directions of development in the IT sector. What is even more important, they can be used in almost any kind of industry to complement standard procedures and give our customers or employees a real feel of the product. Today we would like to focus on the AR development process and its challenges.

What methodologies to choose when developing an AR project?

AR itself, unlike VR which creates a whole new reality, enhances our reality with artificial objects and events. For that reason it is important to remember about the specifics of AR while preparing for the project.

Before the start (as with any IT project) it is important to choose a project methodology to work in. There are quite a few of these, some more modern than others.

Starting off, there is the classic approach where a Project Manager gives feedback to the developers working independently on separate parts of the project.

A Waterfall method. This approach requires certain tasks to be done before the start of the next ones. Go step by step through the phases of conception, initiation, analysis, design, construction, testing, deployment and maintenance.

The Agile methodology has been the most popular one in recent years. It is more flexible than the previous ones as it is based on short sprints which allow the development team to adjust tasks more often. It is very useful when the project requirements change during the development process. There is no strictly defined time for the sprint. Meaning, you can work for a week or two weeks and then talk about results, tweaks, new tasks, etc. This approach lets you better control the work and process pipeline.

Many companies now choose to work in Agile methodology and adapt it to their needs. Most of the projects have many variables and expand during development. Testing can also lead to constant influx of changes to the functionalities that the product will offer. It is one of the reasons why choosing an adaptive method is usually the best choice.

What are the important matters that you should focus on in the development process?

The thing to keep in mind, from the start till the end, is that AR should ‘fit in’ the reality. It basically means that the design should look convincing and match the real view which it is being implemented on. In VR, everything can look completely out of this world, while in AR, you will probably want to make it feel more real.

Risk assessment of an AR project

In AR, as in most advanced technologies, there are many important factors that should be considered while doing a risk assessment. There’s both a quantitative and a qualitative approach in determining the project risk.

You have to remember that there are various kinds of risks arising from various directions at different stages of development.

They can be as follows:

  • Customer-related risks

Good communication is the first thing to implement within any company but it’s also the first thing to fail. Before the very start of the project, it is good to know how the end product should look like. Explaining the vision to the Client, discussing any uncertainties and stating reservations, if there are any, it is most helpful. Take the time to communicate well and find a common language, not only with the Client, but also within the development team.

It is a common thing to base actions on misinterpretation of the customer’s needs, so making sure that both sides are on the same page when discussing the details is always good.

What can also happen is that the customer might have unreasonable demands and their ideas might not match the technology. It’s not good to rush things as it can lead to many mistakes and poor quality of the code. Remember to evaluate realistic deadlines with the Client and be prepared to reject a project if the demands are unreasonable. ** Estimating the budget for a project can be really tricky**. Mastering this, is something that is gained through experience and years of practice. It might be best to divide the project into smaller parts and assign a value to each one of them.

  • Technical risks

The core thing in development is the quality of the code and the algorithm, hence it’s good to focus on that.

The choice of the platform can also lead to new risks in development, so getting to know the available options is rather useful. GUI (Graphical User Interface) is very important for the users interaction with the app. A pleasant experience is always a step forward towards success.

Remember about testing, find a strategy that suits the project and make sure that testing is being done at every step of the development process.

Performance is another thing to keep an eye on, especially making sure that the app is stable and doesn’t crash on various devices. Again, testing will help to avoid that.

The maintenance. The users need some attention; they should be able to get support (online, via phone), so that they feel important. Don’t forget that they are the best source of feedback. Listen to people and update the app when needed.

  • Business environment risks

The gaming industry is a fast-paced environment. Make sure to check the competitors, read into their offers and see what their prospects are. Think of any issues that might emerge in the User Interface as it’s often the most important factor while developing AR apps.

Being first with the product is rather important, so focus on management. Good management can lead to success, bad can only mean failure. It’s all about handling timelines, resources, budget and other areas.

There could be some difficulties that are not directly connected to the app, but will influence its functionality. For example, an Internet connection. Check the app on different Internet connection speeds, so as to be sure it works.

Resources may vary at times, it’s good to have competent people, time and money in advance to make the project work. Not every developer will be right for the job. Money is always a difficult matter so get investors if needed.

Last but not least, remember about the platform, which one to choose and why. Each one of them has various functionalities and works on different operating systems.

This is the end of part 1. Stay tuned for part 2, where we'll be talking about different platforms, functionalities and Vuforia!