Three people play a vital role in the app development process – the designer/developer, who transforms a concept into reality, the QA (Quality Assurance) engineer or analyst who tests the app in order to ensure proper functioning and a bug-free experience, and the app marketer who is on a mission to promote the app.

We contacted some of the experts in their own fields and asked them a few questions on how they do their job, alongside other tricks of the trade.

App developers/designers

These are the people who actually “cook” the app. They’re presented with a rough concept by someone (not necessarily a developer), and they create the recipe themselves.

Spider: How do you materialise the concept given by the client into a full-fledged app?

Zeeshan Hasan, VP of Products at Bramerz: We identify the problem or the core objective we wish to achieve from the app. Then we move to wireframes and sketch a storyboard, defining how the features would work and behave. Every tiny detail is defined in the wireframes.

Usman Sharif, Android Developer at Wemo Technologies: We get requirements from clients in a textual form or sometimes wireframes. These requirements are put into design phase, and then in the development phase where we implement every aspect of the application.

Uzair Sajid, Apps Architect at Bramerz: We identify what the client wants to achieve and then suggest the best possible ways to do that. We strive to adapt ourselves to the client's perspective and understand things from his point of view.

Spider: The choice of programming language has huge impact on development and maintenance. So what languages do you use and what are your preferred tools for app development?

Zeeshan: For Android, it’s Java; and for iOS, it’s Objective-C (native languages). Native language gives more power and better quality. My favourite tools for app design and development include Xcode, Photoshop, and Illustrator.

Usman: I am an Android developer, so I use Java and C for building apps; sometimes we go native for some intensive development. I use Eclipse for app development.

Uzair: We work on platform-specific technologies which include Objective-C for iOS, Java (ADT) for Android, and C# for Windows Phone and Windows 8. For building new features, I use a mix of tools like Adobe Fireworks, PowerPoint 2013 and Visio 2013.

Spider: An important concept in app development is ‘device-centric’ and ‘application centric’ approach. The former is building an app specifically for a device, and the latter is developing an app that’s the same for a variety of devices. Which one is better?

Zeeshan: If you are developing a utility application then platform-centric approach is the best. But if you are building games, your focus should be to help a user enjoy the experience that’s built in a game; hence 'application centric approach' is better in this case.

Usman: Device-centric approach means adapting to the Device's UI. This approach makes it easy for the user to understand the application. Application-centric approach will give the same look and feel for every device. This can be a serious problem as it may not fit the underlying design of the device.

Uzair: My personal preference is to tailor the user experience for the platform he is on. Users choose their platforms because they like its aspects over the other, so we need to respect and honour their choice by making device-centric apps.

Spider: What are some of the major mistakes most developers make?

Zeeshan: Forgetting about the objectives, making things complex and not keeping end users and platform in mind are the biggest mistakes while designing an app. To avoid it, follow the platform guidelines, keep it simple, usable and don't forget about the goals you wish to achieve.

Usman: Many designers make mistakes while porting an app from one platform to another, for instance iOS to Android. They try to keep the same design rather than adapting the native experience of Android.

Uzair: To me, the biggest mistake is to believe in the "One size fits all" mantra in terms of overall app design. Sure a single design would mean fewer resources spent during the production phase, but this can cause a lot of problems in development.

Spider: How long does it usually take to learn coding for Android and iOS platforms? Can web-based tutorials and tools help non-programmers in building an app?

Zeeshan: If you are a programmer you can quickly switch to Android or iOS in 3-4 months. Non-programmers can start with PhoneGap and build an app using HTML & JS.

Usman: If you know Java, then learning Android development learning is just a week's effort. For iOS, it takes 10-20 days more. Tutorials can help a non-programmer build an app, but a really simple one, as many concepts need advance programming skills.

Uzair: If you are already familiar with programming, then it is generally easier to get started with Android. iOS might be little daunting at first. For starters, there are a number of tools available online which can help you create an app without writing a single line of code.

Uzair ended the conversation saying, “The local app industry in Pakistan is still nascent, and while we have shown tremendous progress, there is still a lot of room to grow. I believe influential media outlets and publications like Spider can do a lot to mobilise and gather everyone because our government isn't helping the industry move forward like it should."

QA Experts

If developers cook the app, Software Quality Assurance Engineers/Analysts are the ones who taste it before it’s served. But it isn’t as easy as it sounds!

Spider: What are the challenges you face in mobile app testing?

Annie Zaka, SQAE at Virtism: It often gets difficult to test the same app on a variety of devices. We also need to keep server-related issues in mind. Finally, the requirements must be made clear beforehand; changing of functional requirements results in rework, i.e. documenting and testing new scenarios.

Amna Riaz, SQAE at GameView Studios: It is a big challenge for the QA team to test the impacts (on your app) of a newer version of a mobile OS, on previous version's implementation.

Muhammad Ahsan, SQA and Support Engineer at Invocode: The major challenge in mobile app testing is the variety of mobile devices with different technical capabilities, features and restrictions.

Spider: There are different ways of testing mobile apps. What is your approach towards this?

Annie: We perform black box testing; running the app on devices and testing it. Smoke testing (which is used to check if all basic functionalities are working) is performed on a new build. If the app passes this, then detailed testing (according to scenarios called test cases) is performed. We use Zoho for bug reporting and requirements.

Amna: First of all we perform smoke testing on the build and then move towards detailed testing covering all possible scenarios that a user may face.

Ahsan: Mobile application testing is performed on both software and hardware. Test cases are derived from test scenarios, and are identified in the test design specification.

Spider: What are some important aspects of app testing, and what are the most annoying bugs?

Annie: There shouldn't be any type of crashes in the app. Functionality-wise, it should be smooth. UI related issues are the most common suspects to be found.

Amna: Our main focus is on functionality-related issues; then cosmetic issues are given attention. We need to check negative scenarios as well.

Ahsan: The important aspects include UI, and memory and battery consumption. And I believe all bugs/defects are annoying.

App Marketing

Once a freshly baked app comes out of the closet, the third most essential aspect kicks in, and that’s marketing of the app.

Spider: Does marketing campaign really play a part in the success of an app?

Muhammad Muaz Bin Shahbaz, Business Manager for Olaround, at Bramerz: Yes! The online campaigns serve as a major source of continuous growth pattern.

Spider: How do you spread the word about your app?

Muaz: Since we’re working with brands, we lock exclusive deals with our partners and run an entire online campaign around it. Once a user gets discount (which is the purpose of the app), they spread the word themselves. Other than that, TVCs and radio ads end up serving the purpose every time.

Spider: Can SEO increase the number of download?

Muaz: SEO is the way to go. You can get an average of 7-12 per cent increase in number of downloads with the help of good SEO and SEM.

Spider: What are some of the inspirational app marketing campaigns?

Muaz: L'Oréal’s colour capture app and IKEA Catalog app had some of the best marketing campaigns.

Spider: How to reach the top of an app store?

Muaz: Our app (Olaround) made it to top five on the App Store soon after its launch. It’s about presenting something new and unique. Believe us, we have a recipe.

Opinion

Editorial

Military option
Updated 21 Nov, 2024

Military option

While restoring peace is essential, addressing Balochistan’s socioeconomic deprivation is equally important.
HIV/AIDS disaster
21 Nov, 2024

HIV/AIDS disaster

A TORTUROUS sense of déjà vu is attached to the latest health fiasco at Multan’s Nishtar Hospital. The largest...
Dubious pardon
21 Nov, 2024

Dubious pardon

IT is disturbing how a crime as grave as custodial death has culminated in an out-of-court ‘settlement’. The...
Islamabad protest
Updated 20 Nov, 2024

Islamabad protest

As Nov 24 draws nearer, both the PTI and the Islamabad administration must remain wary and keep within the limits of reason and the law.
PIA uncertainty
20 Nov, 2024

PIA uncertainty

THE failed attempt to privatise the national flag carrier late last month has led to a fierce debate around the...
T20 disappointment
20 Nov, 2024

T20 disappointment

AFTER experiencing the historic high of the One-day International series triumph against Australia, Pakistan came...