Outsourcing mobile dev - how to think about your app

How much does it cost to build an app? How long does it take to build an app? Well, it depends on several factors. Apps can be built for as little as a couple of thousand to dollars, or as much as hundreds of thousands of dollars. It all depends on what you want your app to accomplish. We have a created a framework to help you think through your app in some very concrete terms, which can help determine the cost and time to required to build the app.

Requirements v01 MA 9Mar2014.png

We look at this framework as the building blocks for an app. Like with any structure, building it requires setting a strong foundation. This requires having a good grasp of the platform(s) on which you'd like the app to be developed, knowing your localization and internationalization strategy, not leaving security to be an after thought, and having a good sense of which APIs - both internal and external - your app needs to integrate with. Once the foundation has been set you can move to building the core of your application. This involves having at least a feature level grasp of what your application will do. Finally, to maximize the value delivered by your app, you need to understand and implement your apps reporting & administrative needs and how you plan to support the app once it hits production. Let's take a closer look at each of these areas.

The Foundations:

Platform: Knowing which platforms your app needs to be built on is of paramount importance. The wrong decision here can mean the difference between a great app, and one that delivers extremely poor performance and generates little or even negative interest. Some of the key considerations here include:

  • iOS vs. Android vs. Others: This might seem like a pretty simple decision at first, but based on the demographic and region of the world you are targeting, going iOS first or Android first, is not a given. We were helping scope an app targeted towards the lower income market in the emerging world for which a simple text message based service made more sense than an extensive app. On the other hand for some apps to gain maximum virality you might have to go cross-platform from the get-go.
  • Native vs. mobile web - A few years ago HTML5 was all the rage. Today developers have begun to recognize the limitations of HTML5, and the pendulum has swung the other way. The right decision here though is not whats in vogue, but what makes sense for your app - perhaps the limitations of HTML5 are not an impediment for your app.
  • Develop native vs. using a mobile application development platform (MADP) - We will cover this top in a more in-depth manner in a future post, but at a minimum you need to know what the advantages of developing using a MADP platform vs. developing a native app are and why your development team is recommending one over the other. The comparison is usually made between the cost advantages of MADPs vs. the performance advantages of native, however in reality the comparison is rarely that straight forward.

Localization: This aspect of app development is usually not given much thought, and perhaps is as simple as starting off as an English-only app that needs to be deployed in the iTunes app store. However, what if you were an international airline carrier with passengers from all over the world? Suddenly, a seemingly simple decision requires at least some analysis to know which languages your apps needs to support and which countries app stores the app needs to be made available in.

Security: Like with localization, security is too often an after thought. Some very popular apps have taken security lightly and have seen it come back to bite them. Recently the Starbucks app, the most used mobile payments app in the US, was caught up in an embarrassing security breach when it was revealed that it was storing its customers' username, email address, and password in clear text on their mobile phone. Our recommendation is to not take security for granted from the get-go. Do not assume that your app developer will build your app to meet best practice security requirements. Be explicit about the security requirements you expect - particularly as it relates to encryption, authentication, and authentication information retrieval policies. You at least owe this much to your prospective users.

APIs: Today APIs are available for a variety of different popular external B2C applications in particular Facebook, Twitter, LinkedIn, etc., as well as B2B applications such as Salesforce. At a minimum, we recommend that project owners know which applications they need to access through their app and the feature(s) they expect to be able to provide to the end-user by enabling said access. "I'd like my application to connect to LinkedIn" is usually not very informative. "I'd like my application to connect to LinkedIn to be able to auto populate x, y, and z user profile fields" is a lot more useful.

The Core:

Features: Most of the better development teams today either completely or partially adhere to the agile development philosophy. In agile development, the primary unit of work at the team level moves away from a discussion of requirements to a discussion of user stories. These user stories are generally developed in conjunction with the development team and are too granular to invest too much time in up front. Our recommendation here is for you as the project owner to think one level up - at the level of features. 

Screen Shot 2014-03-09 at 3.54.39 PM.png

So what is the difference between a feature and a user story? Let's take the example of a recent that app we helped facilitate the development of that helps you find things to do based on your mood and your location. The ability to determine your location is a feature. However, your location can be determined based on your current coordinates, some future coordinates, or the neighborhood that you live or work in - each of these comprises a different user story. Knowing what can and cannot be done at the user-story level generally requires the guidance of the development team, and is best left to be determined in conjunction with the team.

The Accelerators:

Reporting: Why is reporting important? Shouldn't I be able to capture stats via the number of downloads and the rating that my app has received directly from the app store? That is correct, but that is not really enough information to determine what features within your app are being used, or in what conditions your app crashes, or how long it has been since a specific user has logged into your app, etc. Usually developing your app is just the first step towards attaining a greater goal, and it is impossible to predict whether or not you are making headway towards that greater goal without some deeper insight into how your users are using an app. We highly recommend thinking about what user activities and experiences you'd like to keep track of and accounting for those capabilities when developing your app. Again, like with security, don't take for granted that your development team has a good sense of what those capabilities need to be - it's your app, and you need to take ownership of it. These days, integrating reporting capabilities - even advanced ones - into your app usually doesn't require a ton of additional development effort, but it does require identifying and integrating with the right reporting tools made available by external providers (e.g., Flurry, App Annie, Google Analytics). Knowing which reporting tool to integrate with to deliver which capability is something you should defer to the development team on, but knowing which reporting capability is required in the first place is your responsibility as the project owner.

Admin: There are very few apps that require no administrative capabilities. Below are some common examples of admin capabilities that apps require:

  • Roles administration: Not all users are created equal. Some users might be considered super users and require special privileges associated to a role that they perform on your app - for example adding new stores or restaurants to a curated recommendation app. 
  • Content administration: Your app might be dealing with content submission from your users and you might want to feature or highlight certain pieces of content more than others. This might require content curation capabilities that need to be provided to you as a superuser, but not to every user.
  • Security administration: You might want to be able to change the security policies related to your app, for example the password strength requirements or how often passwords are set to expire. You might want to lock down certain users from your app until certain verification steps are complete. 

When working with an experienced development team, one of the first things they are likely to do is build user personas that are related to different user stories. This should help define the specific actions that you'd like different types of users, including admin users, to be able to perform. However, at a minimum we suggest giving some though to what constitutes an admin user and what features the admin user should be able to control.

Support: Apps don't upgrade themselves, and just because an app works close to perfectly in the beginning, it doesn't mean it will continue to do so into eternity. Apps can break for a variety of reasons ranging from OS upgrades, to API changes, to experiencing a heavier load than they have been tested against. All of these problems can generally be fixed, but not if you don't have the right support mechanism in place to help you. Most teams that develop an app might give you a 2-week or one month warranty window where they will support the app for break-fix type issues, but often you might need support for a longer than a month on app. Additionally, it is critical to know the different between break-fix and a new change. Adding a new capability to an app is not a break-fix issue, in technical terms it is considered a change request, and - depending on the complexity of the app - a change request can be more complex and expensive than developing the app itself. 

In summary, there are lots of things to consider when you go down the path of developing an app. Maybe your app is a use and discard marketing app for which many of the above considerations are an overkill, but even if that is the case it makes more sense to start with a more holistic framework like this and eliminate what you don't need, vs. start something bare and then realize two months into the project that there were several aspects of the app that had not been thought through. Spending and extra week or two researching some of the capabilities that your app needs to support is not a waste of time when you consider that not having those capabilities can easily cost you an extra couple of months or, in the worst case, your reputation.

5 innovative enterprise-sanctioned B2C mobile apps

It's hard to argue with the statement that enterprises are not as innovative as startups - in fact our very first blog piece was about why NCR couldn't have thought of Square Wallet. However, every once in a while enterprises do innovate, and in rare cases they even inspire startups. Below is a list of 5 apps that have managed to do just that.

Ikea 2014 catalog: This app turns the typical catalog app available on iTunes on its head. It uses augmented reality (AR) to superimpose catalog items into the room that you are viewing through the app. The app essentially enables you to do a virtual preview of furniture in a given room, without having to buy the furniture or move the furniture around. The app is also an example where an enterprise-sanctioned app provided inspiration to a startup

Audi eKurzinfoWhen was the last time you opened the drivers manual that came with your car? Well, with this app you won't ever have to. Again using AR (and built by the same team that built the Ikea catalog app), the app enables you to learn more about a particular control in your vehicle with just a few taps on your phone. Have trouble knowing which compartment is for the coolant, engine oil, or break fluid? No problem! Just point the camera towards it and the app provides you with the information you need.

Nike+ Fuel Band: Yes, we know its not the app by itself that makes the Nike+ Fuel Band magical, but the overall product. To those of you that have lived under a rock for the last few years, the app works in conjunction with the Nike+ Fuel Band, and allows you to track everything from how long you sleep, to how intensely you perform physical activities. Set at the intersection of both the quantified self and wearable tech movements, the product has the potential to change how Nike views itself as a company - transforming from a sports accessories company to a tech company.

Iron Man 3 - JARVIS: A Second Screen Experience: Every entertainment major in the US is looking to build a second screen experience for everything from popular TV shows to sporting events, but few get it right. Marvel got it right with Iron Man 3. Per one of the reviewers, the app makes you feel like you are sitting next to Tony Stark on his couch and you have the remote for his TV. Using the voice of Paul Bettany (the voice of JARVIS) adds to the realism. In the not too distant future studios might look at licensing out actor voices for apps like Siri, in much the same way as they do with skins and wallpapers today.

TurboTax SnapTax: From the insanely fun to the insanely boring! The reality is that taxes are a part of life, and since you have no choice but to do them, then you might as well get them out of the way as quickly as possible. This app allows you to do just that. Take a picture of your W-2, answer a few simple questions, e-file securely from your phone or tablet, and viola you don't have to worry about Uncle Sam for a whole year. OK, maybe its a bit more complicated than that in reality, but by all accounts it is a step up from scanning your W2 and filing it through a web browser. 

Top 10 Retail Apps on Thanksgiving Eve (iTunes)

This being thanksgiving weekend in the US we decided to take a break from our usual heavy posts and look at the top 10 retails apps heading into Black Friday and Cyber Monday. The apps are rated based on their popularity on iTunes, and the rankings have been obtained from AppAnnie.

iTunes Rank* (Lifestyle) App Name Publisher App Type iTunes Rating
1 Black Friday 2013 Ads App - BlackFriday.fm Sazze, Inc. Coupons 4.6 (4,582)
2 Apple Store Apple mCommerce 3.5 (51,632)
3 RetailMeNot Coupons RetailMeNot, Inc. Coupons 4.5 (171)
4 Cartwheel by Target Target Coupons 3.5 (14)
5 Groupon Groupon, Inc. Daily Deals 4.2 (348,989)
6 Amazon App Amazon Mobile LLC mCommerce 3.7 (107,186)
7 eBay eBay Inc. mCommerce 3.9 (207,887)
8 Black Friday FatWallet, Inc. Coupons 2.3 (2,633)
10 Walmart Walmart mCommerce 2.8 (47,483)
12 glasses.com for iPhone 1 800 CONTACTS, Inc. mCommerce 4 (1,079)

Happy Turkey Day, and avoid the lines and/or coupon management hell by using some of these apps!

Lean startup in the enterprise - the era of collaborative engagement (part 3/6)

This is the third entry in our six part series on the era of collaborative engagement that businesses are stepping into. The second entry focused on this being the era of B2C rather than B2B. In this piece we will begin to look at the implications of this shift, particularly as it pertains to how digital products in this new consumer-facing era are conceptualized and developed.

Lean startup:

In an environment where the primary concern is to optimize existing operations, we are generally dealing with a whole lot of knowns, and are building systems and processes to optimize those knowns. On the other hand, when you are developing new consumer facing products and services, the knowns - in particular consumer preferences and user behavior - are a lot less concrete, and what you need to build is not always clear up front. Hypothesis-driven experimentation, as prescribed by the lean startup approach, provides the best mechanism for tackling this problem. 

In his landmark book, The Lean Startup, Eric Ries provides the example of how Intuit uses hypothesis driven validation to build new products and features. Eric cites the example of SnapTax, software developed by Intuit, that initially started with the hypothesis that customers would prefer scanning their W2 to automatically feed the content into their tax returns instead of manually entering the information. However, when they began to test the hypothesis they quickly discovered that scanning could be at least as cumbersome as entering the information manually, and that what customers really wanted was the ability to take a picture of their W2 from their cell phones and have the information automatically populate their returns.

It's not about software:

What's critical to note though is that success of hypothesis driven testing has less to do with developing software than knowing what experiments to run and how to interpret the data collected from those experiments. Consider the example of Dropbox. To test the hypothesis that people were craving a simple to use storage solution that would enable users to synch files across their various devices, Dropbox created a video (see below) to test this hypothesis. Following the release of the video, Dropbox's beta sign ups shot up from a few thousand to almost 75K overnight, which immediately validated the core hypothesis surrounding the product. Yes, in Dropbox's case they did write code to actually develop the product in parallel to releasing this video, however technically this same hypothesis could have been tested without writing a single line or product code.


A different approach to managing IT-centric projects:

What the lean startup approach does is add a new stage to how IT-centric projects are managed and success measured. In more traditional IT-centric projects project generally evolve through three phases: 

  • requirements gathering
  • build
  • operate

When deploying consumer-facing products with more unknowns than knows, the requirements gathering stage changes to what can be thought of as the "search" stage. In this stage, like startups, enterprise project teams should focus on hypothesis driven testing to find the right product/product features to build or service/service options to provide. With this change, the success criteria and metrics used to quantify each stage start to look something like this:

Success Metrics.png

Our observation: 

Off late, we have spent a tremendous amount of time and energy researching consumer-facing mobile applications deployed by large companies, and the data we have uncovered is clearly pointing to very limited focus by companies on the search phase. For some perspective, consider these stats for Pepsico.

  • # of apps in Google Play across all brands: 25
  • total max global downloads on Google Play: 1.86M
  • total consumers engaged (assuming all unique consumers, and 50% of engaged users are on iOS vs. Android): 3.72M  

For a company with over 25 millions likes on Facebook, and many times that in terms of global consumers, less than 5M downloads across 51 apps (iOS & Android), for an average of less than 75K downloads per app, is a very low number. What's more interesting to note is that what we see with PepsiCo is not an anomaly, brand after brand from companies across verticals show the same trend. 

In conclusion: 

In our view getting the search phase right is absolutely critical when deploying new products and services. Adding the search phase to the traditional project management approach is the critical first step towards reversing this trend.

Enterprise Sponsored Consumer Apps - Development Options

Over the years, the word outsourcing has developed a very negative connotation. However, the reality is that in many scenarios companies do have to consider outsourcing product development. In this blog we examine the various development options available to companies when building consumer facing mobile products. You can use this as a guide to help you think through options that you should consider when developing a new product.

Consumer facing apps within an enterprise are generally sponsored by one of three entities - product or digital, sales and marketing, or customer service. In the table below we look at the type of apps produced by each of these entities, and some examples for each type of app.


Sponsoring Entity Description Examples
Product  Core product or service being offered is  digital  Bloomberg for iPadPayPal HereNike+
Sales and Marketing  Application helps drive marketing  campaigns, or maximize sales Iron Man 3 - The Official Game ,Ikea CatalogCoca-Cola Freestyle
Customer Service  Application helps improve customer service  and experience SQ Mobile, Hilton HHonors

I next combined this with the hiring internally vs. outsourcing development framework that I put forth all the way back in our second blog post

Screen Shot 2013-09-29 at 3.51.27 PM.png

The key idea put forth there was that unless you are an information technology company and building your core product, outsourcing development should always be on the table. Based on this I looked at the app examples above, and at the options one should have considered when developing these apps.

Example Company Type Product Type Optimal Strategy
Bloomberg for iPad Finance/Tech Core Develop In--house
PayPal Here Finance/Tech Core Develop In-house
Nike+ Fashion/Apparel & Accesories Core It depends
Iron Man 3 - The Official Game Media & Entertainment/Various Non-Core Outsource
Ikea Catalog Retail/Furniture Non-Core Outsource
Coca-Cola Freestyle CPG/Food & Beverage Non-Core Outsource
SQ Mobile Transportation/Airline Core It depends
Hilton HHonors Accommodation/Hotel & Lodging Core It depends

However, outsourcing is a very broad term, and there are a plethora options to consider when looking to outsource. Below are the primary and secondary options available for the examples mentioned above in scenarios where outsourcing should have been in play.

Example Full Service SI*/Consulting Full Service
Boutique Consulting/Industry Boutique Consulting/Mobile Licensed
Iron Man 3      
Ikea Catalog      
Coca-Cola Freestyle      
SQ Mobile      
Hilton HHonors      
* = Systems Integrator;  - Primary Option;  ✔ = Secondary Option

Lets consider the rationale for each of the selections above: 

  •  Nike+: Here the product is part of a core product or service that company is providing, hence if the company has the ability to develop it in-house then the company should. That said, the development of the app itself could be outsourced to a team that specializes in mobile product development. Alternately, a full service agency can be used, however the company might or might not require the additional services that a full service agency offers, and hence might end up paying a higher margin than is required.
  • Iron Man 3 - The Official Game: The general industry norm here is to license out game development to external entities, which is what Marvel did here, and it remains the recommended strategy. Outside of this, engaging with a company that specializes in game development for media companies can also be a potential option. 
  • Ikea Catalog: A catalog is probably something that the company releases on a periodic (quarterly, semi-annual or annual) basis, and hence the company should have standard templates and forms that it can use to develop the digital collateral internally, however in the case of this particular app, Ikea was rolling out an augmented reality feature. They could have considered a full-service marketing agency for this, but given the degree of specialization required, a mobile development team that specializes in augmented reality should have been the primary option. 
  • Coca-Cola Freestyle: This app was primarily built to support the discovery of Coke's new freestyle machines. Releasing this app should have been part of a wider product marketing campaign, and hence should have been managed by the full service agency responsible for the campaign. This full-service agency would then have the option of developing the application internally, or outsourcing it to a specialized mobile product development team.
  •  SQ Mobile and HIlton HHonors: In both these case the apps have some very deep integration into the back end systems, including hotel and airline reservation systems, real-time flight scheduling systems, CRM systems, and ERP systems. This type of work is best handled internally or by a full-service Systems Integrator (SI), or a boutique consulting firm that specializes in that particular industry. The development of the front end of the mobile app itself could very well have then been outsourced to a mobile product development team to maximize the UX/UI and development expertise offered by the specialized mobile product development team.

In conclusion, while the decision to build internally vs. to outsource is an important one, it is equally as important to consider the options available when outsourcing and to choose the option that makes most sense for a given scenario. 


Enterprise Mobile Apps

Over the last few months, we have researched the use of mobile by enterprises and spoken with leaders within the enterprise about the areas that they are looking to leverage mobile in within their businesses. Below are some of the categories in which have seen larger companies build or commission apps:

Gaming: Consumer facing companies are looking at games as a way of engaging their audience. Many of the apps built in this segment can be considered "use and discard" apps (i.e., they are used as part of a specific marketing campaign to promote a product or a service and then discontinued). A typical example of this is a media brand licensing or developing a game in conjunction with the launch of a movie or the start of a new season of a TV show. 

Gamification: Here, a brand tries to combine online with offline experience to drive consumer behavior. A very simple example of this includes the Starbucks application which, among other things, allows their patrons to visualize their star rewards earned and incentivizes them to buy more products to earn rewards. Some of the best apps here overlap with apps in the mobile health and fitness space (a separate category below) that reward people for achieving specific fitness goals (e.g., the Nike+ app that allows users to track and achieve fitness goals and is tied to the Nike+ fuel band).

Instructional: These apps work in conjunction with a product that consumers have purchased. The most basic versions of these apps are along the lines of digital "how to" manuals. The trend is that the development of these types of apps is becoming a mandatory check point, similar to the production of a PDF instruction guide prior to launch. However, more interesting applications in this category combine the physical world with the the digital world through augmented reality. For example, Audi's eKurzinfo app allows owners to experience the full range of functionality their car has to offer with the help of augmented reality.

Catalogs: These apps are particularly useful to field sales teams. Consider, for example, the Medtronic app used by their sales teams in field sales calls. Prior to the launch of this app, Medtronic sales reps routinely carried with them about 25 pounds of product literature. Again, the trend here is towards this becoming a mandatory check list item for any company that sells a large number of product SKU's.

Mobile commerce (mCommerce): These are generally direct to consumer apps whereby a consumer can place orders for a product through the application. Companies are approach to mCommerce in one of two ways - through native mobile apps or through mobile optimized web apps. Like with mobile portals (see below), we are not sure if companies will continue to build native applications or simply move towards making their web sites responsive, but as of right now there are some great examples of native mobile mCommerce apps out there. 

Productivity: Most of the best personal productivity apps (e.g., Evernote, Clear, Mailbox, etc.) are products created by startups, but there are also some great organizational productivity apps built by enterprises. Consider the app created by the global construction firm Bechtel that helps its engineers fill out and report safety incidents while on a job site. We had some early conversations with an transportation company to help them build an app that will enable their technical operations personnel to perform hands free inspections of their fleet. 

Mobile health (mHealth): Here we are primarily concerned with apps that require some level of regulatory approval because they:

  • serve as an accessory to a regulated medical device, viz. the Mobile MIM software that displays images on iPhones, iPads and iPods originating from PET scans, MRI's, x-rays, ultra-sounds etc.
  • transform a mobile device into a medical device viz. Kinsa health's smart thermometer 

While the examples cited above are of apps or products created by startups, we believe that as the regulations around mHealth become clear, this category has the potential to be truly game changing. 

Mobile portals: These are essentially mobile versions of companies web portals. It is unclear what the future holds in as far as this category of apps is concerned. Does building responsive web sites eliminate the need for building native mobile portals? Or, do companies continue to build native mobile portal separately from their web portals? A great example of the latter is hospitals that have done a pretty good job of creating native mobile portals to help their patients navigate services offered, as well as navigate their physical facilities.

Health and Fitness:  This is a very broad category of apps and it includes apps that help users manage (rather than monitor, which tends to be in the mHealth category) every aspect of their health, from allergies, to quitting smoking, to motivating kids to brush their teeth. Fitness apps help people with everything from reaching their weight goals, to tracking their sleep patterns, to getting them ready for their next marathon.

Travel: Again, this is another extremely broad category of apps. It includes apps created by every major US and international carrier to help users with flight reservations and check-ins, as well as digital versions of travel and restaurant guides, and also mobile bus and subway maps. This is a category that we think will only get better as wearable tech and augmented reality systems improve. 

In conclusion, we believe that larger companies have only begun to scratch the surface of mobile. As technology improves, and knowledge about what can be achieved through mobile increases within the enterprise, we will see an explosion in mobile development both within and for the enterprise.