Kim Ostrovsky, Head of mobile department at Enterra
On July 11th 2008 Apple corporation announced the launch of AppStore application marketplace – a successor of iTunes Store. iPhone and iPod users became able to setup the approved third-party applications through store.
The same year in October Google corporation launched its Android Market for Android-based mobile devices.
Several months later in April 2009 RIM announced AppWorld for BlackBerry, and in October 2010 Microsoft entered the race with its Windows Phone Marketplace for Windows Phone 7 based devices.
During 3 years of their existence the mobile devices market had changed drastically. Users’ loyalty to certain brands was replaced to loyalty to a certain platform and applications for the platform.
The availability of third-party applications made the mobile device serve as a versatile tool for a lot of tasks – “a magic box” allowing you to leisure reading or gaming, receive news or buy tickets to the cinema.
You need to check the watermelon freshness by tapping sounds? – it’s easy! Need a flashlight in a dark basement – okey! Want to know about a new bar on the opposite side of the square – executed! Navigation, voice control, information access, augmented reality, NFC-marks – this all is real, and can lay right in your pocket! So the wish of people to buy such a “magic box” is quite understandable.
Businesses now have one more place to attract clients, it’s especially important for internet-distributing companies (e.g. distributing media content or services). A good example of mobile apps market expansion is including Afisha application (developed by Enterra) into the factory-default preinstalled content of Android-based LG phones. We also helped Mail.ru corporation to join the market with its Mail.ru Agent for MacOS, and Rambler corporation with “Rambler News” application.
Presence in application stores became a must for game developers and media content providers, as the presence in internet years before. The steep increase of audience of mobile apps users lead to attracted attention from all the spheres of business. If a company used internet only as a supplementary means of marketing, now it starts to expand to app markets, moving a part of the website functionality together with interactive features and promo content to the mobile application.
Food catering, presentation of the new bank or enterprise, hotel room booking, assortment catalog, real estate for sale – all kinds of companies are now eager to enter the users’ mobile devices.
There are many reasons for it, including:
- setting up a new channel for distributing information to clients
- wish to be up-to-pace with competitors
- increasing the quantity of clients
- self-proclamation and promotion
- running a new branch of business within a mobile app, selling the content or copyright
- pleasing the clients and increasing their loyalty
In my daily practice of mobile development supervision I always run across these reasons.
These are the goals of businessmen in their searching for an contractor. Realizing that the price of this all is quite high, and knowing what is needed to get into the application store, I want to share my experience and give some advice to the companies wishing to create the mobile app.
All the further text relates only to the case of using the site as a supplementary info source and deciding to create a mobile app (for one or more platforms) by outsourcing it to the development company.
Setting up a new channel for distributing information to clients
This is probably the most obvious, because it’s necessary to use all the available means to transfer the information about the services to the customer. But you should understand that your information is already in the customers’ mobile devices through your website and their mobile browsers. If you decided to create an application, you should strictly define the difference between the site and the app and determine why the user should use the app instead of visiting the site.
After this approach it may turn out that the functionality of the app is similar to that of the mobile website, and the possibility to push-notify the customer is expensive and non-resultative. In this case you should consider creating a mobile website first. Moreover, the Safari browser in iOS allows to shortcut a website to the applications list therefore giving an instant access to the site. Then it’s very good to inform the customers about the mobile website launch on the main site. This approach allows you to probe the functionality and get the users’ feedback, therefore making a decision about what do you actually need in your future app.
Wish to be up-to-pace with competitors
Sometimes when talking to a client I find out that the competing company has just released an app, and the primary wish of my client is to be on the par and even outperform the competitor, and to take as little time for it as possible. In this case you should realize that the development takes a certain time, and there’s always a server preparation stage before it. Also a wish to be “better-than-they-all” requires a hard work on design and concept, therefore consuming a large amount of time.
If you are still eager to compete, I strongly advise you to estimate the importance of the deadline before starting to time-press your contractor. It may easily turn out that the time is not so deadly as it seemed before, and allowing some more time will result in greatly improving the quality/functionality. Maybe it’s even wise to postpone the app release till the release of the next version of the platform to employ the latest technologies and outperform the competitors.
Also it may occur that the competitor’s app didn’t fulfill the expectations, and you’re going to repeat his mistakes, investing even more money to speed up the release. This may occur because of bad implementation or the users just didn’t like it.
It’s strongly recommended to look through the competitors’ apps and analyze them, determine the advantages and drawbacks, read and understand the reviews and feedback. Sometimes it’s enough to understand the main drawbacks and stumbling points.
Increasing the quantity of clients
You should always keep in mind that the structure of the application store greatly differs from that of search engine. People usually don’t search new applications for, e.g., food catering. Instead of this they try to find the app from their favorite restaurant. Of course, there are some ways of promotion in the application stores, e.g. top-lists etc. But these lists offer games, books, audio-video and info apps, not the business ones like presentations or catalogs.
Self-proclamation and promotion
This is the simplest one. If you have an idea and enough money to make it true, then why not?
Running a new branch of business within a mobile app, selling the content or copyright
This means the idea to run your own internet business based on existing ideas or to implement your own know-how.
In case of existing idea you should understand that the existence of similar services will increase the development cost, even if the contractor has the experience in this area. This happens because contractor transfers all the rights for the source code to the customer, so the source code fragments cannot be re-used. contractor will need to radically change the functionality to make it competitive, and it also increases the cost. Moreover, the more similar applications on the market, the more time and effort you need to attract clients, therefore the cost increases even more.
In case of original know-how there are also some stumbling points. First – the idea must be completed and integer. Maybe it doesn’t need to be platform-specific, but the logics must be integer and transparent. Second – its originality should be checked once more. Third – you should thoroughly check the possibility to realize it (the platform may have not enough capabilities), it’s wise to call for specialized professional research performed by specializing companies.
In both cases you should thoroughly keep the fact that the budget income from the application must cover all the expenses for its development and promotion.
Pleasing the clients and increasing their loyalty
The wish to improve the collaboration with the clients is obvious. Nobody but you know perfectly what do they want. In this case there are many ways to please them – offer a tool for bonus cards management, create a game with a brand character, launch an interactive catalog with an order form…
If you doubt about the clients’ needs – launch a voting/polling on your site to find it out. Pollings can also estimate the quantity and activity of your audience, therefore giving you more information about the actual need for mobile app development.
If your clients will really appreciate your app, they are very likely to share it with their friends.
I really hope that all I said above will help you to understand the specifics of mobile app development planning. As for the companies which already started the development campaign, I’d like to give some more advice and highlight some most common stumbling points.
Explain the project goals to the contractor
It would be very good to explain the project goals to the contractor before the development starts. This greatly influences the estimation of the project. Also it’s possible that on hearing your goals the contractor will offer the alternate way based on contractor’s previous experience. It would be a signal for you: they are interested in your project, they are eager to spend time for your problems, they are looking at you as at the possible business partner.
Explain your vision of the project
The goals of the project are the base of your requirements. The requirements may be expressed as a list of features, or as a description of user-to-application interaction. It would be appreciated if you mention some example applications which you like for the approach/implementation.
The vision can be expressed by yourself, derived from the discussion of the goals, or ordered from the third-party. If there’s no vision, you can get an estimation of somewhat average solution, not your personal one. It may occur too expensive (because unneeded features will be included) or underestimated.
Moreover, if the discussion of the goals with the contractor increases the trust level and improves the collaboration, lack of the vision can be treated as disorganizing and will lead to quick estimation in order to see your reaction.
Set up the time borders and range the priorities
After the estimation it may turn out that the expected time is not enough. You’ll be offered to range the priorities and to divide the development into phases. There are several reasons for this:
- developer has no experience in such projects
- developer has an extensive experience and judges the time in the most real way
- developer has not enough resources
- the difference in time comes from the different vision of the tasks
In most cases you choose from several contractors, and it’s best to ask them for a detailed estimation graph and comments for it. If 3 of 4 companies say that it’s impossible to complete the task in a certain time, and the 4th company promises to even shorten the time limit,- it’s obvious that the 4th company doesn’t have enough experience to estimate the time costs correctly. Of course, I may be wrong, and the 4th company may be a high-class professional team, but it’s best to ask 3 other companies why do they consider this time to be too short, and then ask the 4th company about their vision of development cycle.
The same refers to the situation when only one of the 4 companies states very long time required for development. Maybe their experience allows them to look deeper and to see the problems invisible for others. Ask them to comment their vision of development cycle, and then ask the corresponding questions to other developers.
The detailed estimation allows to understand whether the costs correspond to the time limits, and whether the functionality meets your vision.
Pay special attention to the technical task
One of the main steps of contract preparation is writing a SOW (Scope Of Work) – a brief list of requirements to the application. For small and medium projects SOW is enough to start the development. For large-scale projects after the contract signing there’s a preparation of technical task.
SOW and technical task are a formalization of developer’s and customer’s vision in terms of the developed applications. It’s an opportunity to get sure that the vision is the same, the borders are set and the wishes are known. But these documents are strictly technical and may not fully reflect the business processes inside the app. So it’s best to read the documentation thoroughly, ask about all the terms and require comments for acquiring your wishes.
In some cases the estimation changes after preparing the SOW, mostly to the larger side. Maybe you came out of your own task borders. Maybe it turned out that the cheaper technologies cannot be used, and the more expensive ones are required. Maybe the contractor offered something more expensive, but more progressive or easier to deploy. The decision of continuing/cancelling the work is up to you and your trust to the contractor. But I strongly recommend to discuss all the changes. If the increase of cost is really required and useful, the contractor will always be able to explain in adequately.
Figure out the design
Depending on the application, the design is:
- the composition of standard elements on the screen and the preparation of the basic minimum (icons, welcome screen, color range etc.)
- adding your own elements/controls
- preparation of full screens set within the separate design phase
The standard elements/controls and the typical interface development approaches are described in the manual of the platform. The manual suggests that any application may be implemented with the standard elements. If you’d like to enhance the vision with the screens drafts, reading the manual will allow to understand the capabilities of the platform and to check out whether they conform to the application requirements (or you’ll need to develop your own elements).
The first approach is enough for the info apps based on data, so that the main function is providing the access to the data for the user, when all comes to user-friendliness.
The second approach means that you need to insert a couple of beautiful counters into the app, make lists with the variable-width cells, and change the default behaviour of the controls. The last is the most important because the default parameters often don’t meet your requirements. In this case the designer creates personal customized elements and controls. Of course, this will be more expensive than the development with standard elements.
If you create a promo app or otherwise wish to customize the design, it’s better to find a good designer first, who will prepare all the drafts and will eager to implement them throughout the whole development workflow. The drafts list in this case is the same important as the technical task. This is because mobile app screens design differs from web design, requires more effort and more money. You may start without drafts, but in this case you should notify the contractor that the design will be supplied later. Then you’ll need additional resources or re-estimation of the whole project after the design is ready.
You can hire a third-party designer, use your own design staff, or outsource the design to the contractor. Anyway you should make sure that the designer is familiar with the manual and will not invent the invented, drawing custom elements instead of using the same standard ones. Ask the designer to show you his portfolio and then decide.
Prepare the data
Frequently the app needs to be integrated with a database, where the app information is stored and processed. In this case you need a specification for the data exchange, and the implementation of this specification on the server. Usually such specification is outsourced to the contractor. All the works on the server can be performed by contractor or by your own staff. The API specification is quite a formal document and it’s quite easy to implement the required functionality if you maintain the database by yourself. Otherwise you’ll need to provide the contractor an access to your servers and pay for the work.
The data base may be new (created specially for the app) or before-existing. Filling the database with data is usually up to the customer. It must be considered when planning the timeline, because the app cannot be launched if the database is not ready.
If the database already exists, you should remember that if application requires changing the database structure (adding fields, categories etc.), all this work will also refer to the customer. Obviously, the new database will require the new interface, and the development of a new interface is an extra task, not included into the app integration workflow.
Define the person responsible for the project
The necessity to distribute the responsibility is obvious, but you shouldn’t forget about distributing the time and giving enough credentials to the customer’s representative. If the time lapse is critical, I strongly advise to verify the timeline once more and to unload your representative’s time to the maximum extent for the periods of preparing SOW, technical tasking, project starting and final testing. These phases require immediate response to the arousing problems, otherwise the timeline may fail. The same risk goes from the lack of representative’s credentials to make decisions for the project or to attract the staff to solve the tasks; the time needed to verify everything may severely impact the timeline.
Зrepare for publishing the app in the application store
The publishing process consists of:
- loading the application to the store
- publishing the information
- moderating the app by the store’s administration and submitting it to the store
Each platform offers a detailed manual for apps publishing. Loading is a very typical process; usually the contractor performs it by himself.
The rules of informational maintenance are also stated in the manual. The informational materials include keywords list, screenshot, brief description, payment manual (if the application deals with content selling), feedback contacts and support address. Depending on the platform, category, age qualification and some other supplementary data may be required.
On some platforms the application is moderated by the store staff after submitting. It takes 1-4 weeks for Apple, the same for RIM, up to 1 week for Microsoft; only Google submits the apps instantly. Moderation includes code scanning for exclusion of errors or prohibited functions/content. The correspondence of supplied information may also be checked. If everything is ok, the application is submitted for store clients access. If errors or prohibited elements were found, the developer is informed. After correcting the errors and deleting the prohibited content the app needs to be re-submitted.
The submitting goes through the developer’s account. Usually your contractor already has such account. You may use this way, or submit the app from your company’s account. In first case the contractor will be listed as developer, and your company as the owner. If the contractor loses its account, you will need to re-submit the app from your account, thus losing all the ratings and reviews. In second case (your own account) doesn’t have this threat, but requires some additional expenses and time. The expenses are $99 per year for Apple and Microsoft, $25 (paid once) for Google, free for RIM. The time for registration can be up to 2-3 weeks.
In the end I want to say that the mobile apps market is growing steeply, and to be presented on it means to be up-to-date. All you need for a successful startup here is to always remember its goals and to choose the appropriate means to reach them.
I really hope that this article helped you to answer some of your questions and made a right inclination to the vision of your future mobile app development. Good luck for you and your projects!