Published On: February 27, 2015
Last Updated: March 16th, 2021
With so many misunderstandings surrounding mobile development, it is not surprising to see startups getting lost in wasting valuable money and time, which they really cannot afford. These misconceptions turn out to be a thin line between success and failure. Hence, in order to help startups not become a victim of these myths, let us reveal the reality lying behind each one of them.
‘It is a complete waste of money and time to build native apps for every single platform.’
A mobile apps should be built natively for different platforms in order to beat the competition.’
Unfolding the truth
You might wonder that building a cross-platform app is a wiser decision. It is relatively much easier to build the code once and then push it across different platforms. This sounds logical, simple, and beneficial. Big shots like Facebook, Linkedin, Southwest Airlines, and many more thought the same way earlier. However, things were not as smooth as it looked.
They realized that building cross platform code had dramatic disadvantages when compared to the native code. Even Facebook Chairman & CEO, Mark Zuckerberg realized HTML5 to be their biggest blunder ever. In fact, at one stage Southwest Airlines application was considered the worst app in the App Store. Companies always strive for taking the easiest route, not realizing that the end-result would be no more than a crappy experience for the users.
Since they do not want to spend a lot of time and money, they rely cross platform toolkits, hybrid applications, and HTML5 to create solutions that accompany many drawbacks:
HTML5 issues are very difficult to resolve and you need to optimize each platform individually.
Hybrid applications have an abstraction layer with loopholes that leads to lot of errors and a complex communication layer between web view and the actual app.
When using cross platform toolkits, too much lines of custom code is required for each platform that makes native code to be written in a faster and easier way.
Better, spend time and money in writing separate code for different platforms such as iOS, Android, Windows, Blackberry, Firefox OS, Symbian, and others, rather than writing a common code once.
‘When creating mobile apps, the infrastructure is always ready to perform at the backend.’
‘To create a top-notch mobile experience, the infrastructure needs to be rebuild, upgraded, or changed.’
Unfolding the truth
Most companies do not use an appropriate infrastructure necessary to create the best performing mobile apps. Without a right kind of API implementation and design, the app will fail miserably in today’s highly competitive smartphone arena. Mobile traffic is certainly much higher than you can expect when compared to web traffic nowadays. Take banks for example. Initially, a customer would check his/her account maybe once a day or probably once a week.
Now with ease of smartphone apps, the same customer logs into the bank account possibly multiple times within a single day. An app should be capable of handling this kind of workload data smoothly. We have prepared a checklist of things considered while refactoring the API servers:
There has to be a unique API call associated with each individual screen. A tighter coupling between server and client is required enabling a captivating mobile experience.
Other than bandwidth, latency is also a major factor. The latency should be higher on every single API call if you do not want your apps to snap.
Through retry functionality, the client should be able to call server multiple times with the help of same API calls, if network connectivity is a big issue. However, two calls be avoided on same server.
Not all data sent together. Instead, go for pagination, showing data page wise and in terms of number of results.
A mobile app performs the best when minimum data sent back from servers. With a good API in place, the app allows clients to specify the maximum size of payload returned back from server that is ideally 4 KB.
The parameters should contain an API version number that could be very helpful when updating the server environment. Not all mobile OS update their background applications that lead to server hit by old clients. With a proper API version number, these old users will not have a breaking experience.
‘Building an app with an in-house team takes as much time as hiring a professional company.’
‘An in-house team takes 4 times more to build an app then outsourcing the same to a professional company.’
Unfolding the truth
It also means getting people with different set of skills to collaboratively come together and work in a cohesive environment. They are allotted different set of functionalities to have their full committed focus on one single thing. Another big advantage of hiring professional firms is they have hundreds of different mobile devices to test the app on varied carriers, chipsets, and factors.
When hiring in-house to accomplish the task, the company is certainly compromising on time factor, if saving on money. Why for startups, it is even more difficult to go through the initial phase? The answer is simple. They do not anticipate their hiring needs beforehand. What if, you hire a professional firm? This ensures that you have an experienced team of people in place with adequate mobile experience related to design, development, QA, and testing.
Moreover, you can expect your app be uploaded on Google Play or App Store lot more sooner than you might do yourself. The sooner it is available to users, the faster feedback you can expect resulting in you getting reading for the next phase early on. However, while choosing a firm, just take care of a few things:
Is the firm capable enough to provide regular feedbacks even if working on a tight project deadline or schedule, in order to make sure that everything is in accordance with your expectations?
Does the firm understand your goals and values completely or not?
Have apps been delivered successfully before, with given time and money constraints? If so, in which industries?
Once you have shortlisted the firm, how to make sure that you have a right one in place? Let us find out:
Is agile methodology model they follow with an iterative, communicative, and testing based application development?
Can they work collectively involving you when designing, developing, doing QA, or testing?
Do they learn from past mistakes and ensure not to repeat them again?
Do they follow a learning curve with every passing stage?
Are they honest and transparent enough to admit their mistakes?
‘Outsourcing a professional mobile application development firm means no work to do.’
‘You (aka client) have to show a complete involvement for quick and quality results.’
Unfolding the truth
In majority cases, it so happens, that you completely hand over the project to the firm telling them to think as you do to make decisions. You just hand over the entire project to them. However, it does not work that way. Your expectations change with time and the firm might continue doing work on a single track. This leads to a sheer waste of time. Hence, it is very important for you as a client to participate equally and give your inputs at every single stage for best output. Working side-by-side, results in faster and easier decision making avoiding work issues to interfere.
‘Working with a specific firm means you are stuck with them forever.’
‘It might seem costlier and riskier at first glance but hiring an external entity will definitely make things better.’
Unfolding the truth
Most of the companies resist outsourcing in the fear of maintaining a long-term relationship due to the cost factor. However, it is not a matter of big concern, as it really seems to be. Hiring an external firm does not come with the condition that you have to stick with them for life. You are fully independent to decide who is best to hire for every single mobile app project. There will be a seamless transition between you two when the firm understands your approach.