Profit Apps Technology

The ultimate guide to building apps in 2017

Profit Apps Blog

This article is, more than anything, about user experience. Whether it’s an app, a website or something in between, your mobile platform of choice represents an unprecedented opportunity for you to connect to your customers no matter where they are.

Connection follows us everywhere we go and permeates every second of our day.

However, earning your time and engagement with the millions of mobile users in the market today, means creating an experience that will add true value to the their lives. I’ve long believed that in order to extract value from your consumers you need to create value first. Engagement is often earned as any good marketer can attest.

The best way to do that in my experience is creating a utility that helps them more effectively solve a particular problem.

So to that end, I’m going to explore some of the questions that you as a decision maker will need to ask when deciding in which mobile platform to invest.

But before we get into it, let’s take a look at the mobile application landscape of today.

The lay of the land

The mobile app ecosystem has seen phenomenal growth over the past few years — and it’s little wonder why.

Apps present an amazing revenue opportunity for any business.

Apple reported that its App Store generated over US$20-billion in revenue for their publishers last year alone, which was up more than 40% over the one preceding it. An app like Candy Crush for instance, has over 7.7-million active users that collectively bring in over US$850 000 every day from downloads and in-app purchases.

While some have speculated that the days of the mobile app gold rush are behind us, the trend seen above is clear; The market is showing now signs of slowing down.

Currently there are over 4.2-million apps in both the iOS and Android app stores combined. That’s a lot of apps, and also a lot of competition.

But what exactly is an app?

The answer to this question isn’t quite as straightforward as one might imagine. There is an astounding variety in the different types of applications available on today’s app store but principally, they are built in one of three distinctive ways.

Native applications

A native application is a program that has been developed for use on a particular platform or device. Because native apps are written for that specific platform, they can interact with and take advantage of operating system features, device hardware and other software that is typically installed there. Hence they are native to that particular OS, having been purpose built for it.

What are some of the key benefits of developing a native mobile app?

As mentioned, you have access to that device’s specific hardware and, therefore, can build your application to use these components to full effect. Tapping into the GPS for location based services. Accessing the phone’s camera or media library to upload photos and videos. Using the built in accelerometers for positional and orientation awareness and even the fingerprint scanner for improved security. The list goes on.

Another obvious benefit is improved communication and content discovery through the use of real-time push notifications, even when the application is not in use.

Drastically enhanced user experience is made possible due to knowing the exact device parameters and limitations and by making use of the close integration with handset’s processing capability to ensure quicker response times and better animations.

A native app is a program that has been developed for use on a particular platform or device

And finally, relatively improved security due to the fact that your application lives within a contained ecosystem and is not vulnerable to all the potential points of access from the web.

These are only a few of the major benefits, but are by no means the only ones.

You also have the advantage of the app store as a distribution medium and can always count on Apple or Google to maintain the quality of the marketplace. There are set standards for in app purchases and paid downloads. Greater visibility on device compatibility for your chosen OS, and so on.

It’s clear that native apps are pretty powerful. It seems like a no brainer when needing to find the best mobile solution for your business. Right? Well, not exactly.

The problems with native apps

There are some significant drawbacks when going the native route.

For one thing, having to develop an app for a particular OS means that it will only be accessible to people using that OS. Which severely limits the reach of your application.

iOS only accounts for 8% of Vodacom’s user base, a recent study showed. One can presume that this is indicative of the rest of the South African mobile landscape. That’s a lot of people you’re leaving out in the cold when developing an application only for iOS.

Of course you could just build an Android version of that same app, covering a much larger user base, but the cost of building multiple versions of the same app in different languages for different environments can become very costly. Not that building for even one of the major OS markets is cheap to begin with.

Also, due to the relative scarcity of developers that are proficient in the languages in which these native apps are built, they tend to come at a hefty price tag. That’s if you can find them in the first place.

Connection follows us everywhere we go and permeates every second of our day

And then finally there is the question of discoverability. With the masses of apps teaming in the app stores today, it can be quite difficult to stand out in the crowd admits all the competition. But to be fair, this isn’t made easier on any other platform either.

So now suddenly it sounds like a terrible idea to go native! Granted, these are indeed huge tradeoffs, but ultimately you still stand to gain so much if your app takes off. The decision you need to make is whether it would be worth the risk.

Here are some questions that might help you in making that decision:

  • Will an app bring anything new to my business?

    If you are planning on creating an app that mimics the functionality, features or content that is currently available on your website – don’t. Gone are the days of creating an app for the sake of it. It needs to add a new dimension to your business and provide users with something entirely unique that they can’t find anywhere else with your existing offering.

  • What is the single purpose of the app?

    Your app should do one thing and do it well. Other features can be included but the primary feature must be excessively clear. If you can’t explain what your app does in a single sentence, you best rethink your strategy.

  • Is this being done by anyone else?

    Counter-intuitively, the answer to this question should actually be yes. If not, odds are there is some insurmountable technical or logistical complexity that has prohibited this idea of yours of being implemented elsewhere. You could perhaps have stumbled upon the next Uber, but this is less likely. You would be much better off finding something that you know has worked before and localising it or adapting it to another niche or market.

Web Applications

Sometimes the more cost effective and, in many cases, efficient alternative is sticking to web. In fact, a mobile optimized web presence should always be your first port of call. This is not a step you can skip to go straight to an app. If you have a company website, personal blog, ecommerce platform, or anything else for that matter, you need to make sure that site is an equal if not greater experience to what you offer users on desktop.

Google for a while now has actually been penalizing websites that are not mobile optimized. So if you haven’t taken steps to service your mobile audience in any way, you need to start here before even considering an app. There are a couple of ways to go about this.

You can chose to go dedicated mobi or responsive web. Dedicated meaning that you build an entirely different site just for mobile devices. The benefits being that you can tailor the user experience specifically to this screen size, highlighting for instance specific features or content that you know your mobile fairing audience would want quick access to on the go. The device detection plugin on your site would know whether the site is being accessed from a mobile phone and serve the correct template. This makes a lot of sense in many ways but you do need to essentially build two different sites. Which means maintaining two different code bases, etc.

On the other hand, you can also take the responsive route, which is to say, building the site in a way that it can conform to any size viewport seamlessly. It does this by shifting around, resizing, replacing and cascading certain elements on the page to make it work within any size window.

This is the common practice of the day. The key to designing responsive sites is what is commonly referred to as a “mobile first” approach. So, instead of having to create a separate platform with mobile focussed features, your primary platform needs to be built with mobile as the central focus. You then need to think how that can be applied to your desktop environment, rather than the other way around.

Mobile browsing has overtaken that of desktop in recent years. This is not an insignificant shift. That means more than half of the time when somebody views your website or interacts with your business online, they are looking at it through a small screen.

This obviously depends on the type of site you run, but generally speaking this is the case, and that number is growing all the time.

Web apps quick wins

These sites tend to be easier to launch, scale and maintain as they consist of a common code base which can be updated from a central location and pushed instantly to all users across the system.

  • Mobile websites are compatible with any older mobile device, so if you need to consider, for instance, a feature phone market who aren’t able to run apps on their devices, sticking to the web is your only option.
  • Skills required to build for the web are more readily available and therefore more affordable compared to app developers.

That’s not to say that there aren’t some fairly heavy compromises.

The problems with web apps

For one thing you’re essentially coding blind for the vast majority of devices that you are not able to test your new solution on. There is a massive variety of devices on the market, the older ones especially not having much standardization among them. Incompatibility with some devices can cause crippling bugs and drive up support overheads across the board.

This relatively limited control leads to compromised UX in many cases as you have to cater to the lowest common denominator.

You also need to deal with slow loading times as most every page or widget will need to load once accessing it. And then of course there is the limited access to built in device hardware and existing OS software features.

Interestingly, these issues are becoming less of a problem with frontend languages like HTML5, Javascript, etc. allowing you to create beautiful app like interfaces with animated features as well as companies like google who are now providing the tools that developers need to overcome many of the integration limitations through building progressive web apps, as can be seen on the video below.

Hybrid Applications

There is a middle ground to all of this. And that is to develop a hybrid mobile application.

What are they?

Hybrid development combines the best (or worst) of both the native and HTML5 worlds. We define hybrid as a web app, primarily built using HTML5 and JavaScript, that is then wrapped inside a thin native container that provides access to native platform features. So basically you are developing what will be, for all intents and purposes, a mobile website, and then adapting those sites to the native OS in question.

There are many frameworks out there to make this process quite simple. Allowing you to port your existing code into a native OS of your choice. Anybody can do it with comparatively less training than would be required when building these apps from scratch in their native languages.

You’d be surprised how many of your favorite apps are built in this way. There are varying levels of depth to which this can be implemented. Some apps simply load a web page within an iframe window using the built in device web browser. Others are integrated to such an extent that the application would not be able to function without of the use of the platform features.

Hybrid apps quick wins

As with mobile web apps, you have the benefit of a single code base across the various platforms that can be developed and maintained centrally with minor adjustments required for each respective platform.

  • Unlike mobile web apps however, you still have access to various hardware and software capabilities of the device or OS of your choice.
  • Cheaper origination cost are made possible by virtue of developing your app in a more prevalent web-based language, which also means greater access to resources.
  • Faster initial speed to market is possible as well as the benefits of the App Store as a distribution channel.

A word of caution about hybrid apps. The developer community is still fairly divided when it comes to the effectiveness of these types of applications. One camp swearing that this is the future and that soon all apps will be developed in this way. Others saying that the compromises that you need to make to device compatibility, loading speeds, user experience etc are insurmountable.

Obviously things like mobile games that require heavy processing and snappy reactions would never be an option here. But there are those in the hybrid sect that have claimed that apps like Instagram, Facebook and even Uber are hybrid applications. Though I find this to be unlikely and have seen little evidence to support these claims. I do know that Facebook had once run on a hybrid framework but has since gone back to a native version, which is quite telling in it’s own way.

For the most part though these apps look pretty much the same on the surface whether native or hybrid. It’s the performance that makes all the difference. Most development agencies that claim to be able to build you an app at low cost and in a relatively short amount of time, are most likely using this method without you being any the wiser. While in many cases hybrid development might be a perfectly reasonable option, It nevertheless, has some implications that are worth understanding, and you, as the client, should know what you are getting yourself into.

So given all of this, which is the right solution for your business? As should be clear by now, there are significant tradeoffs to each approach, which means there is no one right answer to this question. It really depends what you want to get out of your app and how to most effectively do that given each method’s specific constraints.

  • For building solutions on a budget that you need to get out to market in the least amount of time, and can achieve it’s purpose platform agnostically — go with mobile
  • If your solution needs access to device features to function but it doesn’t require heavy processing and particularly complex UI — hybrid is your best bet.
  • But if you want unrivaled user experience and your solution depends on fast response times, heavy processing, deep integration with device features — native apps are still king.

Future Applications

Soon enough there will be whole new reason to consider building native applications. With the advent of virtual and augmented reality, marketers, brands and business owners need to start thinking how they will adapt to this extremely disruptive force that will have a immence impact on nearly every facet of our customer’s everyday lives.

Already, AR has become a bit of a buzzword in marketing circles but until recently these sort of applications have served very little practical purpose. They are mostly still gimmicks that add a bit of flair to your activation or marketing campaign. Something to draw the attention of the award judges. Most of them have consisted of basic graphics that are overlaid onto the real world by use of your mobile device. Bringing an image of a dinosaur to life when pointing your phone at a page for instance.

With the recent popularity of the game Pokemon Go, marketers are beginning to realize that there are much better ways of making use of this new technology, even if still mostly for the use of gamification. You can send your users to collect game tokens at predefined locations that will contribute to discounts or rewards for your products for instance.

AR for the most part still suffers from some significant technical challenges. For one thing, your mobile device, through its current hardware, has no way of sensing three dimensional space, causing these digital apparitions to float arbitrarily on the screen, detracting from the desired effect. But with technologies like Google’s Project Tango slowly making its way into new devices, allowing your phone to measure relative depth and distance by creating a scan of it’s surroundings, you will be capable of creating lifelike 3D renders that occupy a space as if they are really there.

Imagine customer service reps sitting on your couch in the living room or virtually trying out a new piece of furniture in your bedroom before making a purchase. It can also overlay information on real world objects giving you more context about anything you look at.

There are already a handful of devices that has adopted this new hardware and soon enough it will be so ubiquitous that you can’t imagine buying a phone without it, just like you couldn’t now think of buying one without a built in GPS.

Mobile VR

Then there is mobile VR.

Instead of overlaying these digital creations on the real world you can totally immerse yourself into a completely different world. All by using no more than the phone in your pocket. The above image is of Google’s Daydream View, an inexpensive VR headset like the Samsung Gear VR that works by simply popping in your phone and strapping it to your face.

This eliminates the need for costly hardware, cumbersome set up processes or needing to be anchored to a specific place when wanting to use it.

qInstead of overlaying these digital creations on the real world you can totally immerse yourself into a completely different world

As phones graphical rendering capabilities become more powerful these immersive worlds will become ever more realistic until you could hardly tell the difference between it and reality.

Suddenly, taking your class through a virtual field trip to the North Pole becomes possible. Or walking around in a virtual showroom or art gallery without having to leave your house. The one big thing that has been holding mobile VR back from being as good as its heavy duty counterparts in the Oculus Rift or HTC Vive is the ability to track your position in space. Which is quite essential to the VR experience — not least because of the motion sickness that sets in when there is a disparity of apparent motion between the visual and vestibular stimuli.

If you integrate these spatial tracking sensors, like that of Project Tango, into the hardware it will mitigate this problem completely, making it the best way to enjoy VR and potentially opening the doors to the masses. It also allows for what is known as mixed reality.

Mixed Reality

Mixed reality is the seamless merging of the real and virtual worlds. Microsoft calls these holograms and that is essentially what they are. It will allow us to conduct any action that would previously have required the use of a screen; watching the news, checking the weather or shopping for shoes — all by materializing these interfaces into thin air at will. What’s more, these displays manifest in a way that adheres to the physical space that you occupy rather than the other way around.

The above footage was captured with the mysterious Magic Leap prototype. There has been some contention recently as to whether Magic Leap can actually deliver on these promises but one thing is for sure, this sort of thing one way or another, will soon become a reality.

And we need to make sure that we’re ready for it.

Digital creators will seriously need to start thinking about interfaces beyond the bounds of traditional screens. Happy Meals with virtual characters in the box or Jamie Oliver teaching you a recipe in the kitchen when buying that new cooking appliance for instance. The implications for (insert industry here) is tremendous.


Then there are the bots.

Chatbots are in the throes of a boom in popularity at the moment, and it’s easy to understand why. While one might argue that these sort of services aren’t exactly the most effective at the moment, they’re quickly getting a whole lot better. With the further introduction of machine learning, chatbots will likely become the primary method of handling most of your customer communications, ordering, booking, information gathering and even payments.

Even now though, you can replace many tedious forms, FAQs and support ticketing systems with chatbots. Simple bots for checking the weather exist, restaurants have started using them for reservations and cinemas for booking tickets. To put this into context, imagine using a bot to ask your users specific questions for a signup or registration process, guiding them through conversation, rather than having to subject them to three pages of entering details. This will soon be extended to voice input services like Apple Siri and Amazon Alexa completely negating the need for a screen altogether.

Here is how one airline is using chatbots today to reduce call center traffic and the size of queues in airports.


Let’s get back to the present for a moment.

Some of you might be a bit overwhelmed with the myriad of platforms, technologies and applications that were covered here. There are many things to consider when thinking about which type of app you need to build. What that means for your business and bottom line.

But the easiest way of know which option is right for you is to know what would be right for your users.

Roy Williams once said that “The first step in exceeding your customer’s expectations is to know those expectations”.

It is therefore imperative that you understand how, where and when your users will be interacting with your business online. Knowing that will enable you, perhaps not to make the right decisions, but to start asking the right questions.

And when you have the answers to those, your path should be clear.