mobile app development oc
TRANSCRIPT
Chris Elsner
OVERCLOCKD
MOBILE APP DEVELOPMENT
CHRIS ELSNER 1
MOBILE APP DEVELOPMENT
This document provides some basic information on the process of creating a mobile application. This includes
an overview of the development cycle and estimated time required, drafting a specification document, step by
step guide for developing an app, a few additional resources, and references used to compile this information.
Table of Contents Time Requirements ............................................................................................................................................... 2
Creating Specification Document ......................................................................................................................... 3
Introduction ...................................................................................................................................................... 3
General Description .......................................................................................................................................... 3
Specific Requirements ...................................................................................................................................... 3
Risks / Concerns ................................................................................................................................................ 3
Appendix ........................................................................................................................................................... 3
Steps for Developing Mobile Application ............................................................................................................. 4
Defining Questions: .......................................................................................................................................... 4
Rough Sketch: ................................................................................................................................................... 4
Research: .......................................................................................................................................................... 4
Wireframes and Storyboard: ............................................................................................................................ 4
Define Back-End ................................................................................................................................................ 5
Test Prototype .................................................................................................................................................. 5
Build Backend of App ........................................................................................................................................ 5
Skin the App ...................................................................................................................................................... 5
Test Again ......................................................................................................................................................... 5
Refine ................................................................................................................................................................ 5
Cross Platform / Live test .................................................................................................................................. 5
Release! ............................................................................................................................................................ 5
Other resources: ................................................................................................................................................... 6
App Development Tools / Platforms: ............................................................................................................... 6
App Development Cost Calculators: ................................................................................................................. 6
References ............................................................................................................................................................ 6
CHRIS ELSNER 2
MOBILE APP DEVELOPMENT
Time Requirements
The above infographic was put together by Kinvey, AYTM, and Visual.ly. They surveyed 100 mobile designers
and averaged the results to come up with the 18 week time frame. It’s important to note that a prototype
could be developed quicker than 18 weeks, that plug and play technologies may considerably reduce time
constraints, but that complexity and manpower can make the process much longer.
The above chart implicitly assumes that the app is being created by an experienced and fully staffed
development team. Smaller or less experienced teams would likely take longer to complete the same tasks.
For example, using Kinvey’s cost calculator, a basic multiplatform app with some outside data/API integration
was estimated to take their team of five 141 person days compared with a DIY team of six taking 437 person
days. Naturally, their figures might be a bit inflated – but it still demonstrates a key factor to be considered.
Enterprise level business applications can take much longer to develop – around 1 year – because they are
typically more complex, are required to integrate with outside systems, have more robust user management
systems, and require additional security considerations.
Figure 1: http://www.kinvey.com/blog/2086/how-long-does-it-take-to-build-a-mobile-app
CHRIS ELSNER 3
MOBILE APP DEVELOPMENT
Creating Specification Document In order to get a bid for the development of a mobile application or figure out what will really be needed, a
good starting point is the creation of a Specification Document for the app. Below is a basic overview of some
of the topics which should be included. It may not be possible to provide in-depth details on specific
requirements and a possible follow-up step may be creating a separate technical requirements document in
conjunction with an application developer.
Introduction Needs to provide overview of goals of application, the scope of what it will do, any key definitions, which
technologies / platforms will be used, who will be responsible for graphical design, proposed timeline, and
budget for development. Should further include outline of the rest of the document.
General Description This section should include a more in depth overview of the application and what it will do. Including:
information about the specific functions the app will need to complete; user stories and characteristics (ex.
demographic group A will use the app to achieve Z outcome); any internal or external constraints that will need
to be addressed; underlying assumptions on how the app will work or dependencies on outside systems; and
proposed milestones to be achieved throughout the development process.
Specific Requirements Should outline specific software requirements in detail sufficient to enable developers to create the
application. This may include:
Specific platforms or devices that the app will run on,
Requisite APIs which will need to be integrated,
External data sources / services,
Specific technologies to be utilized,
Potential points of integration (ex. social media),
Desired data collection/reporting,
In app purchase functionality or financial interaction,
Geo-location requirements,
When/how push notifications will be utilized.
Risks / Concerns Outline any clearly identifiable risks to the app or development. This should include any known challenges that
will need to be overcome; competitors to keep an eye on; specific limitations of dependent systems or
structures; known unknowns; and/or uncertainties about technology being utilized.
Appendix Possible items to include: initial sketches of application layout / navigation; wireframes of app pages; flow chart
of app navigation; diagram of backend data/system structure; detailed development timeline; in depth user
case studies; and/or summary research of additional relevant topics.
CHRIS ELSNER 4
MOBILE APP DEVELOPMENT
Steps for Developing Mobile Application
Defining Questions: 1. What platforms will app run on?
a. iOS, Android, Windows Mobile, Blackberry
b. Android devices can vary depending on manufacturer
2. What is the application going to do?
3. What is its core appeal?
4. What business needs does the app address as opposed to customer needs?
5. What concrete problem is it going to solve or what is it going to make better?
6. What level of security is needed?
a. Apps often work on unsecured phones and/or unsecured networks (open wi-fi)
b. How do you segregate personal phone data and secure app data?
7. What are the clearly defined goals of the app?
8. What are the goals the organization wants to achieve through the app?
Rough Sketch: 1. Roughly sketch out your app for initial brainstorming.
2. What will the basic layout look like?
3. How will basic navigation work?
a. Will context for use create any limitations (ex. will the app need to work offline)?
4. What sort of push notification functionality will be needed? How will it be controlled?
a. Can include syncing so app can work in offline mode, then push activity when connected.
Research: 1. Are there other apps doing the same thing?
2. Other designs which can inspire / inform yours?
a. Compare with other top applications on each platform to get a sense of what’s possible
b. Look at online design sharing sites for inspiration (https://dribbble.com/)
3. What are the technical requirements?
a. Are goals technically feasible?
b. Are there any blockers (legal or technical) which will get in the way?
c. Can you get an expert opinion?
4. What features are essential to create a minimally viable product?
5. How will you market the app and/or monetize it?
a. Charge to download or include ads?
Wireframes and Storyboard: 1. Wireframe the app to create a basic mockup or prototype. Tools to help:
a. http://www.balsamiq.com/
b. http://www.moqups.com/
c. http://www.hotgloo.com/
2. Create storyboard of app to build roadmap of functionality:
a. How do the various screens components connect?
b. How do users navigate
CHRIS ELSNER 5
MOBILE APP DEVELOPMENT
Define Back-End 1. What is required for back-end structure?
2. Sketch out servers, APIs, and data diagrams (as reference for developer)
3. Revise wireframe/storyboard
4. How will connectivity issues be addressed?
a. Mobile app will use variety of networks at varying speeds
b. Will app require access to secure network/VPN?
Test Prototype 1. Have people try and use prototype app to identify:
a. Dead ends / broken links
b. Errors encountered
c. Unclear navigation
d. General understanding of layout
Build Backend of App 1. Developer will need to set up servers, DBs, APIs, and storage solution
2. Sign up for developer accounts in app marketplaces
3. Develop plan for how application will be managed going forward
a. How will new OS versions be accommodated?
b. How will admins manage app and data?
c. How will users manage app? What can they control?
Skin the App 1. Develop high resolution versions of previously iterated wireframes
2. Incorporate User Feedback from testing
Test Again 1. App should look and feel close to finished product, and therefore needs another round of testing.
2. Can test flow with some additional tools:
a. http://www.solidifyapp.com/
b. http://www.framerjs.com/
Refine 1. Collect feedback from latest testing round
2. Refine app based upon feedback
3. Change layout / back-end as necessary
Cross Platform / Live test 1. Make sure app is working as expected on multiple devices / platforms
2. Will vary from iOS to Android
Release! 1. Make apps publicly available in app store(s)
2. Start planning or implementing further revisions and future release timetable
CHRIS ELSNER 6
MOBILE APP DEVELOPMENT
Other resources:
App Development Tools / Platforms: http://appindex.com/blog/ten-best-cross-platform-development-mobile-enterprises/ - Top 10 list of
mobile cross-platform development tools, site also has many other app related resources.
http://www.appcelerator.com/titanium/ - Mobile application development environment based on
JavaScript.
App Development Cost Calculators: http://www.kinvey.com/app-cost-estimator - Provides many app options, outputs time and money
requirements.
https://www.otreva.com/calculator/
http://howmuchtomakeanapp.com/estimator
References
All Business Experts, 12 Step Guide to Mobile App Development
http://experts.allbusiness.com/12-step-guide-to-building-your-first-mobile-app/
App Maker Blog, How Long Does It Take To Make An App?
http://www.appmakr.com/blog/how-long-does-it-take-to-make-an-app/
Inside BlackBerry Business Blog, Top Five Unique Requirements of Mobile App Development
http://bizblog.blackberry.com/2014/07/top-requirements-app-dev
Kinvey, How Long Does it Take to Build a Mobile App?
http://www.kinvey.com/blog/2086/how-long-does-it-take-to-build-a-mobile-app
Mashable, 10 Things to Plan for When Developing a Mobile App
http://mashable.com/2012/02/24/mobile-app-planning/
Quora, How long does it take to design and develop iPhone app like Path, Airbnb, and Square?
http://www.quora.com/How-long-does-it-take-to-design-and-develop-a-well-designed-iPhone-app-like-Path-
Airbnb-and-Square
Readwrite, How Long Does It Take To Build a Native Mobile App?
http://readwrite.com/2013/01/09/how-long-does-it-take-to-build-a-native-mobile-app-infographic
Tech Target, Mobile apps development: Defining requirements is a whole new ballgame
http://searchsoftwarequality.techtarget.com/feature/Mobile-apps-development-Defining-requirements-is-a-
whole-new-ballgame