In this post, I share some lessons learned and pitfalls to avoid during the development of your Mobile App.
With a solid strategy in place, you are ready to move forward with planning and execution. Any experience you have managing other types of development (like Web or Desktop) will come in very handy, but don’t underestimate the specific challenges of creating a Mobile App. Below I share some lessons learned that can help you save time and money and be successful in this new endeavor.
Invest in UX design
As mentioned in Part 1 of this series, the use-case for Mobile Apps is very different than for desktop or web applications. Not only does the feature-set have to be useful for Mobile users, but also the interactions and usability of the App have to be consistent with what people require on-the-go. Using a Mobile App with your finger is very different than using a mouse. The gestures are very unique, and the expectation of the user is different than when working at their desk.
My main advice here is to have UX professionals (i.e. Interaction and Visual designers) design your application. Don’t let the desktop UI developer or back-end engineer “take a stab” at the UI. This is extremely important and can’t be emphasized enough. If you don’t have the expertise in-house, you can always hire an agency or some freelancers to help you out. They can not only provide the design but also create “Personas” to design, develop and test against. Very important part of the process.
If you decide to build a Web app, UX professionals can also provide you with a responsive design. Your application will be accessed in smartphones and tablets alike, so adapting your display and navigation characteristics based on the screen size goes a long way in wowing your users. Furthermore, users are becoming accustomed to this approach, so responsive design is no longer a “nice to have”. It is a “must have” in order to compete.
Plan for thorough testing
As a Product Manager, you know that testing and QA are extremely important. Throughout the Web era, we have learned that it’s important to test in all browsers because your application might not display correctly in all of them. With Mobile, the problem grows exponentially. There are multiple browsers, but also many different phone models and sizes to worry about. Even if you choose a specific platform and build a Native application, there are still many phones that use that platform, specially with the Android OS.
With so many variations, it’s important to have a solid QA plan for your Mobile App development. If you can’t have all your target phones/tablets in-house to test, it might be a good idea to hire a cloud service (like Perfecto Mobile) to do the testing for you. If you are a Vendor doing custom development for somebody else, make sure the SOW includes clear language on the specific phones/versions that your application will run on. If you omit this detail, your Client might keep coming back to you because you don’t support X or Y device. I’ve been there and it’s not pretty.
Your overall development plan should account for thorough testing in these categories:
This means making sure that the App works as expected based on your requirement document or user stories. Adding automation via unit testing is always a great way to go. But remember that automated testing is a complement, not a replacement, to a person doing QA.
With Functional testing, you know that your code matches the requirements. But how do you know if the way your team implemented the requirements matches the user’s needs? That’s where user testing fits in. It provides certainty that the way you solved a particular problem matches the way users think about it. I recommend doing this often and at various stages of development. If something is not working out, it’s much better (and cheaper) to catch it early during the development cycle. UX designers can help you create these tests. So it’s important to have this skillset at your disposal.
The goal of this phase is to make sure your App performs as expected. We live in a very fast paced world. A few seconds of lag might be enough to lose your user’s attention. The most important thing is to have measurable performance targets. Just saying “it needs to be faster” won’t get you very fast. You need to define what the current benchmark is and what is the goal you are aiming for.
Keep OS versions in mind
The Mobile world has been evolving faster than any other technology stack. OS manufacturers release frequent updates to stay on top of the competition. Overall, this is a great thing, but keep in mind that such a rapid evolution means you’ll need to evolve quickly as well. It is not rare for one of these updates to have a huge impact on your application, so you need to be ready with a quick fix.
I remember working on a Mobile App project targeting Android’s Gingerbread when the next version, Honeycomb, was announced. Our client decided they’d rather jump on the new version and asked us to “tweak” our design to be compatible with Honeycomb. The challenge was that Honeycomb introduced a completely new UI paradigm, so basically we had to throw away our current design and go back to the drawing board. Again, this is not a bad thing, but the moral of the story is that you might design and develop your Mobile App for a specific platform and by the time you release, the platform might change, giving your app a “dated” feel or limited functionality. That’s the price we pay for working with cutting edge technology.
How will you monetize your investment?
Some people create Mobile Apps as stand-alone sources of revenue. Others, as an extension of an existing ecosystem. Others just as a form of neutralizing the competition by becoming a “me-too” offering. Regardless of your strategy, you’ll need to think about how you’ll sell/distribute your Mobile App online. Mobile stores provide an unprecedented channel for distributing your software, and they offer a few different monetization models for you to chose from. Going this route is great, but consider that the App Store will keep a big portion of your revenue (e.g. Apple keeps 30% of every purchase). Whatever model you choose, just make sure you are accounting for these hits.
There are several models for revenue generation. Here are the most common ones, but because this technology is in it’s infancy, I’m sure we are just seeing the tip of the iceberg.
Your users can download your App free of charge. Your motives might be to create brand awareness, word of mouth or just to get your name our there.
The App itself is free, but you have to pay to get additional functionality.
The App is free but it includes ads. Advertisers pay you per click or per impression. This is a good model for independent studios or small companies. But if you have an established brand, having ads will probably make your app look cheap.
Users buy your App from one of the App stores. Unlike Ad-based and Subscription-based Apps, you only get revenue once per user. With the average price of each App likely to be no more than a few dollars, this approach works well if you expect to sell to a large audience. Your pricing strategy and volume projection should be outlined in your business model.
The App might be free, but the users have to subscribe to your offering in order to get content or access to your service. This approach is usually not stand-alone and requires a server infrastructure for you to provide the content. This is the most common approach for SaaS providers.
All of these models are valid, but as you can imagine, you’ll have different development and infrastructure needs on your end in order to support each one. Once again, the key is to be consistent with your strategy. For example, if you are an enterprise vendor, your clients might be put off by a $0.99 App. For that audience, it might be better to make their enterprise credentials usable via your Mobile App to create a seamless experience. Regardless, the sky is the limit, as long as you stay consistent with your strategy and provide an approach that is suitable for your target market.
Plan for the certification process
If you plan to sell your Mobile App through an online store such as the Apple App Store, Android Store or Windows Store, it’s important that you become familiar with their App certification process. By understanding the process and development guidelines, you’ll save yourself rework and ensure your App is accepted on the first try. Spend time in each of the platforms developer’s centers (i.e. iOS Developer Program) to get specific information about their requirements. Keep in mind that the certification process takes time, especially if you are asked to do any modifications. This certification time should be accounted for in your overall development and release schedule.
The Bottom Line
Yes, software is software, but as you can see, there are a lot of little key watchouts when building a Mobile App. The Mobile ecosystem is vibrant, exciting and ever-changing. The time to start thinking about Mobile is now, but don’t go into it blindly. Keep in mind the tips on these posts, and you’ll conquer Mobile in no time. Good luck!