App Development 101 for Marketers

So, you know you need to have a mobile app for your next campaign, but you don’t know where you should start. I asked Aleksey Cherfas, our top mobile app developer, to tell me what he thinks digital marketers need to know about app development, and he distilled his guidance around how to choose a platform, how to choose what type of technology to use, how do you determine what features to include in your mobile app, and how to drive continuous engagement.

One of the most important decisions in preparation for mobile development is to decide which platforms you will target. Do you go for the iPhone OS, because everybody seems to be so hyped about the iPhone and iPad; Android, because you heard it is a promising open source platform; or the BlackBerry, just because this is what your boss uses? Regardless of whether you decide to cover multiple platforms right away or focus on just one from the beginning, you should start with analyzing your prospective users and the marketplace. Determine if you plan your app to have a global reach or focus on local markets and seek out device usage in those markets before committing to any particular device. A safe bet would be to single out one device to start with and then gradually expand to others, focusing on those that are more relevant to your domain.

Once you decide on the platform, you have at least three choices in terms of the type of applications you can develop. You can go for developing a native app, which takes advantage of platform specific functionality and design, arguably making it easier to operate for your users, though condemning your development effort to be very complex and technologically involved.

On the other end of the difficulty spectrum in the world of mobile application development are Web apps. These applications are Web pages that are rendered inside a mobile browser and capitalize on the browser’s multitouch technology for navigational interaction. Some basic knowledge of HTML, CSS, and JavaScript is usually sufficient to build a simple and effective application. There are even frameworks that allow you to harness the power of JavaScript in mobile browsers without much effort. JQTouch, a jQuery plug-in for mobile development, is one such framework.

Your third option is a combination; kind of a half-native, half-Web app where you would create a native app that uses a browser engine for rendering your content as Web pages but requires you to develop your own navigation instead of using built-in mobile browser navigation controls. This option is a little more technologically involved than a simple Web app. Because you are using a browser engine for displaying your content, the effort is not quite as involved as with the native app.

At this point, it should be mentioned that there are several services that try to solve the multiplatform conundrum and complexity of native development, making your entrance to mobile app development a lot easier. These services will allow you to write your code once, in many cases using JavaScript and HTML, and they will take care of compiling applications into the native code for different devices. Some of the more prominent of them are Rhomobile, PhoneGap, and Titanium. If you plan to develop an app by yourself, do give high consideration to these services.

As you think about the design of your mobile applications, consider these options. You can either make your design very specific to the standards and conventions of each platform, or use your design from other domains (website, desktop software) and transplant it onto the mobile app. Even with the array of platforms out there, it’s possible to use blueprints that will nicely fit into different platforms without violating too many conventions for each platform. There’s no right answer when it comes to design. If you deviate from the standards, you should still stay within familiar metaphors so that the users don’t have to work too hard to learn how to use your app.

The main difference of mobile apps from your other domains is limited display area, so keep it very simple and to the point. Don’t try to incorporate every single feature into the first version of your app. Start with a simple feature of essential functionality and let the user feedback drive your future functionality and application design. One way to keep functionality to the minimum is a product requirements document (PRD). In its simplest form, PRD is a list of application requirements (features) with a brief explanation and some weights attached to each feature. The commonly used weights are “must have,” “good to have,” and “may have.” Keeping these weights in mind makes it easier to set development priorities and move unessential application features into the next releases. Again, keep it simple – think in terms of “must have” requirements for the first release.

Even after users install your app, you are still only one of many that occupy their home screen and will constantly need to compete for their attention. Updating your app often is one approach to keep users engaged and interested. Many successful apps release updates at least once a month. With each update they address bugs and performance issues, but most importantly they try to come up with a small new feature that will keep users interested and prompt them to re-download and open your app.

With so many options to choose from when developing for mobile platforms, your decision should be based on your requirements and resources. If you are to remember one takeaway from above, it’s: keep it simple.

Related reading

Vector set of user interface login and account registration form design. Isolated on blue background.