You are on page 1of 35

Moblle App lannlng Culde

by CpumusMoblllLy
lf you're looklng Lo develop a moblle app for your organlzauon, Lhls gulde wlll walk you Lhrough whaL you
need Lo know ln order Lo make lL successful whlle avoldlng common plualls.
!"#$%&'()*$+$#, $' . %)*$+/ .""+$0.#$)1 .12 3/*'$#/ 2/4/+)"%/1# 5$6% +)0.#/2 $1 7.10)&4/68 9.1.2.: 7$'$# )&6 3/*'$#/ .#
333:!"#$%&'()*$+$#,:0)% #) ;/# ,)&6 %)*$+/ "6)</0# '#.6#/2 #)2.,=
1A8LL Cl CCn1Ln1S
!"#$%&'(#!%" ************************************************************************************************************************************************** +
,-% .-%'/& $01& #-!. 2'!&0*************************************************************************************************************************** +
-%, #% '.0 #-0 2'!&0**************************************************************************************************************************************** +
3$043/1""!"2 *************************************************************************************************************************************************** 5
,-6 1$0 6%' 7'!/&!"2 #-0 1338*********************************************************************************************************************** 5
,-% 1$0 6%' 7'!/&!"2 #-0 133 9%$8************************************************************************************************************** :
,-1# &0;!(0. 1$0 #-06 '.!"28************************************************************************************************************************* <
,-1# &%0. 6%'$ &$01= 133 &%8********************************************************************************************************************* >
,-1# !. 6%'$ 7'&20# 1"& ,-1# 1$0 6%'$ %$21"!?1#!%"1/ 3$!%$!#!0.8************************************************ @
!"4-%'.0 %$ %'#.%'$(0*************************************************************************************************************************************** A
,-1# &%0. 6%'$ 133 "00& #% &%8 B9'"(#!%"1/ $0C'!$0=0"#.D **************************************** EF
-!2-4/0;0/ $0C'!$0=0"#.******************************************************************************************************************************* EF
'.0$ .#%$!0.******************************************************************************************************************************************************* EE
"%"49'"(#!%"1/ $0C'!$0=0"#. ********************************************************************************************************** EG
1;1!/17!/!#6 1"& $%7'.#"0..************************************************************************************************************************* E+
!".#$'=0"#1#!%"*********************************************************************************************************************************************** E5
30$9%$=1"(0****************************************************************************************************************************************************** E:
0H#0".!7!/!#6****************************************************************************************************************************************************** E<
.(1/17!/!#6********************************************************************************************************************************************************* E>
.0('$!#6************************************************************************************************************************************************************** E@
3$!;1(6**************************************************************************************************************************************************************** EA
&1#1 !"#02$!#6************************************************************************************************************************************************** GF
.0$;!(017!/!#6**************************************************************************************************************************************************** GE
=1!"#1!"17!/!#6************************************************************************************************************************************************* GG
=!2$1#!%"*********************************************************************************************************************************************************** G+
/%(1/!?1#!%"****************************************************************************************************************************************************** G5
&1#1 ;1/!&1#!%"*********************************************************************************************************************************************** G:
&0;!(0 .'33%$#************************************************************************************************************************************************** G<
%99/!"0 .'33%$#************************************************************************************************************************************************ G>
1"1/6#!(.************************************************************************************************************************************************************ G@
#0.#!"2**************************************************************************************************************************************************************** GA
'.0$ !"#0$91(0 ********************************************************************************************************************************************* +F
9%"#********************************************************************************************************************************************************************* +F
(%/%$.****************************************************************************************************************************************************************** +F
/16%'#***************************************************************************************************************************************************************** +F
#630 %9 133 ***************************************************************************************************************************************************** +E
"1#!;0****************************************************************************************************************************************************************** +G
,07********************************************************************************************************************************************************************** +G
www. 0ptimus Nobility.com
2
-67$!&***************************************************************************************************************************************************************** +G
(%"(/'.!%" ***************************************************************************************************************************************************** ++
www. 0ptimus Nobility.com
S
ln18CuuC1lCn
This guiue will help you take youi mobile app iuea fiom concept to iequiiements that you can hanu to a
uevelopei.
It will help you communicate with uevelopeis anu ensuie that uevelopeis aien't guessing at potentially
impoitant uetails.
It will help you ieuuce the time spent tiying to figuie out what aie the obvious anu non-obvious neeus anu
communicate those neeus to uevelopeis.
,-% .-%'/& $01& #-!. 2'!&0
This guiue is piimaiily foi piouuct owneis at inuepenuent softwaie venuois taskeu with cieating laige oi
complex mobile apps.
It shoulu also pioviue value to anyone planning oi consiueiing a laige oi complex mobile app.
-%, #% '.0 #-0 2'!&0
As a piouuct ownei, you will neeu to be familiai with eveiything in the guiue.
Each section has a ueliveiable anu enough basic infoimation to unueistanu it at a high level anu ensuie that
you can hanu off the ueliveiable to the iight peison. Nany of the sections have iecommenueu iesouices that
aie theie to help you bettei unueistanu the ueliveiable shoulu you uesiie.
Some of the sections won't apply to youi app. Skip them.
The ueliveiable samples aie kept uelibeiately simple so that you can pioviue enough uiiection anu oveisight
without a lot of specialist knowleuge.
Some of the ueliveiables may iequiie specialist knowleuge that you will get fiom uepaitments like maiketing,
uevelopment anu legal.
If specialists on youi technical team insist on auuing a whole bunch of uetails that aien't set out in this guiue,
let them.
This guiue is meant to help communicate with youi uevelopment team. If you aie stiuggling with any pait of
the guiue, then communicate with youi uevelopment team. You uon't neeu to finish eveiything heie to stait a
uialog.
www. 0ptimus Nobility.com
4
8L-LAnnlnC
You have ueciueu to builu an app. You have uone some ieseaich anu maybe even tiieu valiuating youi
concepts.
Now you neeu to take youi iuea fiom napkin iequiiements to something that uevelopeis can actually uelivei
on.
,-6 1$0 6%' 7'!/&!"2 #-0 1338
Apps can be maue to geneiate money oi awaieness, to impiove business piocesses oi foi a myiiau of othei
ieasons.
Nake suie you aie cleai about the uesiieu outcomes, so the uevelopment team is able to keep these outcomes
in focus.
&0/!;0$17/0I +4: .=1$# 2%1/.
SNART stanus foi specific, measuiable, attainable, ielevant anu time-bounu.
Beie aie some examples.
1. At least 2S peicent of useis neeu to use the app an aveiage of once a uay.
2. At least six peicent of useis neeu to upgiaue to the piemium veision within a month aftei installing.
S. The mobile app neeus to geneiate enough au ievenue to covei 1u peicent of uevelopment costs
within thiee months of launch.
4. The numbei of house calls that oui fielu woikeis can make in a uay neeus to inciease by 1u peicent
one month aftei auopting the app.
S. The mobile app neeus to inciease the fiequency of engagement with oui web application by 2u
peicent within thiee months of iolling it out to customeis.
www. 0ptimus Nobility.com
!"#$%%"&'"' !")$*!#")
! Setting Smart Management Goals
S
,-% 1$0 6%' 7'!/&!"2 #-0 133 9%$8
If theie is no value in the app foi the enu-usei, then theie will be no value in it foi you.
Nake suie you know what pioblem you aie solving foi the enu usei.
Be piepaieu to answei uetaileu questions about the enu useis oi, if possible, to give the uevelopment team
uiiect access to them foi iequiiements gatheiing.
&0/!;0$17/0I '.0$ 30$.%"1.
0sei peisonas help uesigneis anu uevelopeis keep theii focus on the enu-usei of youi application.
Beie aie some examples:
JKLM .NO
>.6+ .+3.,' 6&'?/' #) ;/# ?$' 3)6@ 2)1/ .12 ?$'
.##/1#$)1 #) 2/#.$+ '&AA/6': B/ #/12' #) '#$0@ #)
#/0?1)+);$/' #?.# ?/ &12/6'#.12' .12 6/'$'#' 1/3
)1/' &1#$+ ?/ ;/#' 0)%A)6#.*+/ 3$#? #?/%:
C&/ $' 6/'")1'$*+/ A)6 2$'".#0?$1; 3)6@/6' )1D'$#/ .12
2)0&%/1#$1; .++ '$#/ 0.++': C?/ .+') 0)++/0#' .12 5$+/'
.++ "."/6D*.'/2 3)6@ A6)% #?/ )1D'$#/ 3)6@/6' .12
+);' /.0? 0.++ $1 . '"6/.2'?//#:
www. 0ptimus Nobility.com
!"#$%%"&'"' !")$*!#")
! Setting Smart Management Goals
! 21 tips for creating buyer personas
! 9 Questions You Need to Ask When Developing Buyer Personas
! The Quick Guide to Developing Customer Personas
6
,-1# &0;!(0. 1$0 #-06 '.!"28
Now that you know who youi customeis aie, it is time to figuie out what uevices they aie using.
Anu that means maiket ieseaich. But you uon't neeu expensive focus gioups when theie aie plenty of
iesouices that can get you goou infoimation at a fiaction of the piice.
Tiy the following:
! Looking at youi web analytics.
! Conuucting online suiveys.
! Asking customeis uiiectly.
! Checking fiee oi paiu statistics online.
&0/!;0$17/0I 3/1#9%$= $1"J!"2
Rank the platfoims in oiuei of impoitance incluuing the 0S veision. The iecommenueu iesouices below will
help you choose 0S veision.
Beie aie some examples:
! The app will suppoit i0S 4.u anu up fiist.
! The app will suppoit Anuioiu S.S anu up seconu.
! The app will Winuows Phone 7 anu up thiiu.
www. 0ptimus Nobility.com
!"#$%%"&'"' !")$*!#")
! StatCounter
! App Annie
! Global mobile statistics 2013
! The Mobile Consumer: A Global Snapshot
7
,-1# &%0. 6%'$ &$01= 133 &%8
Bon't woiiy about expense just yet. }ust stait thinking about eveiything you want in an app anu get otheis to
uo the same.
&0/!;0$17/0I 3$%&'(# 71(J/%2
Stait captuiing youi goou iueas in a piouuct backlog anu then piioiitize them. Encouiage otheis in youi
oiganization to shaie theii iueas anu incluue the best input. You can keep auuing iueas as you go, but it is
impoitant to stait captuiing them.
Youi uevelopment team may alieauy have a pioject management tool foi captuiing featuies in a piouuct
backlog. If that's the case then use that.
0theiwise, a spieausheet with minimally #PQMO anu &ORSLPTQPUV anu optionally %WVOL anu 7NRPVORR ;KMNO
will get you staiteu.
www. 0ptimus Nobility.com
!"#$%%"&'"' !")$*!#")
! Tips and Tricks for the beginner Product Owner
! Characteristics of a Mature Product Backlog
! Scrum's Product Backlog - Agile Requirements Management
8
,-1# !. 6%'$ 7'&20# 1"& ,-1# 1$0 6%'$ %$21"!?1#!%"1/ 3$!%$!#!0.8
With a limitless buuget, you can get eveiything that you want. But in the ieal woilu, you will neeu to make
compiomises.
Bevelop a cleai pictuie of what you want, then unueistanu youi oiganization piioiities, so that you know
what to saciifice to get unuei buuget oi to fall within a timeline.
&0/!;0$17/0I .(%30X 7'&20#X #!=0/!"0 $1"J!"2
With the backlog filling up, you neeu to think about the ielative impoitance of scope, buuget anu timeline anu
iank them so that you can ueciue what gets uone anu what can wait.
Also be cleai on what elements aie non-negotiable.
Beie is an example:
!&6 #$%/+$1/ $' '#6$0# .12 )&6 *&2;/# $' #$;?#8 ') 0)%"6)%$'/' 3$++ %)'#+, 1//2 #) */ %.2/ $1 '0)"/:
www. 0ptimus Nobility.com
!"#$%%"&'"' !")$*!#")
! The project triangle
9
!"4-%'.0 %$ %'#.%'$(0
Choosing whethei uevelopment happens in-house oi gets outsouiceu is impoitant to the pioject's success.
In veiy bioau stiokes, the uecision comes uown to the following:
! If theie is long-teim woik foi the pioject team, then hiiing staff to uo the pioject in-house
makes sense.
! If the pioject neeus to be uone as soon as possible oi iequiies a laige numbei of new
uevelopeis, then outsouicing the pioject makes sense.
Bowevei, both in-house anu outsouiceu piojects have a numbei of auvantages woith consiueiing anu
uisauvantages that can be mitigateu.
www. 0ptimus Nobility.com
!"#$%%"&'"' !")$*!#")
! Questions to ask when outsourcing technology services
! When Does lt Make Sense to Outsource Your Software Development?
1u
WPA1 uCLS ?Cu8 A nLLu 1C uC?
(lunC1lCnAL 8LCul8LMLn1S)
You aie captuiing iueas in youi piouuct backlog. Now it is time to tuin those iueas into high-level
iequiiements anu then stait uiilling uown into usei stoiies.
-!2-4/0;0/ $0C'!$0=0"#.
What basic set of features is needed to make a useful app? What are the current architecture, skills and
software licenses already in use at your company that drive architecture requirements?
These are your high-level requirements.
&0/!;0$17/0I -!2-4/0;0/ $0C'!$0=0"#.
Bigh-level iequiiements shoulun't take moie than a few sentences oi bullet points.
Beie aie some examples:
! Sales staff neeu to be able to make upuates while out of the office.
! Nanagement neeu to be able to check sales peifoimance fiom anywheie.
! BR neeus expense iepoits.
! The backenu shoulu iun on Azuie anu inteiface with oui existing Azuie systems.
www. 0ptimus Nobility.com
!"#$%%"&'"' !")$*!#")
! Agile Principle 4: Agile Requirements Are Barely Sumcient
! Agile Requirements Defnition and Management
11
'.0$ .#%$!0.
0sei stoiies facilitate communication between piouuct owneis anu the uevelopment team. They captuie the
essence of youi iequiiements in a way that lets uevelopeis choose the best appioach foi ueliveiing them.
0sei stoiies aie wiitten in the following foimat:
! As a (usei iole), I want (function) so that (benefit).
&0/!;0$17/0I '.0$ .#%$!0.
Youi piouuct backlog is going to be the souice of youi usei stoiies, but you only neeu to wiite usei stoiies foi
featuies that you expect to implement in the shoit teim.
This is how you shoulu go about cieating them:
1. Pick the biggest items in youi backlog anu wiite a usei stoiy foi them. Sometimes you will see these
laigei usei stoiies iefeiieu to as Epics.
2. Stait bieaking uown any ciitical big usei stoiies into smallei, moie uetaileu usei stoiies.
Wiite usei stoiies foi impoitant smallei items in youi backlog that you expect to implement.
The developers will be responsible for estimating user stories.
Once the developers have estimated the scope of each user story, you are then in a position to decide
what gets done and what gets postponed.
www. 0ptimus Nobility.com
!"#$%%"&'"' !")$*!#")
! lNvEST in Good Stories, and SMART Tasks
! 10 Tips for Writing Good User Stories
! Epics
12
nCn-lunC1lCnAL 8LCul8LMLn1S
Nobile uevices have a lot moie constiaints than web applications making the non-functional iequiiements
foi a mobile app even moie impoitant than foi a web application.
In many cases, you have to make compiomises as choosing to piioiitize one non-functional iequiiement
woiks to the uetiiment of anothei. It is woithwhile to iank youi non-functional iequiiements in oiuei of
impoitance so that conflicting iequiiements aie tieateu with the piopei weight while setting out an
acceptable seivice level iange.
Non-functional iequiiements can be sepaiateu into the following categoiies:
! Availability anu Robustness
! Instiumentation
! Peifoimance
! Extensibility
! Scalability
! Secuiity
! Piivacy
! Bata Integiity
! Seiviceability
! Naintainability
! Nigiation
! Localization
! Bata valiuation
! Bevice Suppoit
! 0ffline Suppoit
! Analytics
! Testing
www. 0ptimus Nobility.com
1S
1;1!/17!/!#6 1"& $%7'.#"0..
Bow ieliably shoulu useis be able to access the system.
Availability is paiticulaily impoitant foi apps with backenu systems as it will affect the aichitectuie anu costs.
&0/!;0$17/0I .0$;!(0 /0;0/ 12$00=0"#
If the app is iunning on youi existing backenu, you may be able to use youi existing SLA with minimal
mouification.
Beie aie some examples:
! The system must be accessible 247 with u.999 availability uuiing that time.
! The system must be accessible uuiing business houis fiom 7 AN PST to 9 PN PST with
u.99999 availability uuiing that time.
www. 0ptimus Nobility.com
!"#$%%"&'"' !")$*!#")
! SaaS SLAs: What you must have in an agreement
! Service contracts needed to protect mobile app users
14
!".#$'=0"#1#!%"
Bo you neeu any coue auueu to the system foi the puiposes of monitoiing anu measuiing the piouuct uuiing
piogiam execution. Instiumentation iequiiements will be the iesponsibility of youi CT0 oi whoevei is
iesponsible foi the long-teim smooth functioning of the app anu its ielateu systems.
Infoimation fiom instiumentation may be output to a log oi to a iange of piofiling tools.
&0/!;0$17/0I !".#$'=0"#1#!%" $0C'!$0=0"#.
Specify what usei stoiies neeu instiumentation anu wheie to output this infoimation.
Beie aie some examples:
! The Login, Auu to Cait anu Checkout usei stoiies shoulu be loggeu in visual Stuuio.
www. 0ptimus Nobility.com
1S
30$9%$=1"(0
Ninimally, you shoulu specify what kinu of initial scieen loau time anu iesponse time useis shoulu expect.
In most situations, initial loau time shoulu be unuei two seconus at the slowest.
Consumei-facing mobile apps shoulu at least have the illusion of being instantly iesponsive.
If a the app involves inteiaction with backenu systems, then specifying woikloaus is ielatively easy to
estimate without technical knowleuge.
Foi moie complex piojects, youi tech team may want to specify peifoimance metiics foi backenu systems
like thioughput, latency anu CP0 benchmaiks.
&0/!;0$17/0I 30$9%$=1"(0 $0C'!$0=0"#.
Beie aie some examples:
! The app shoulu loau in unuei 1.2 seconus unuei noimal ciicumstances anu be instantly
iesponsive.
! The backenu must suppoit 12u,uuu a uay.
! These useis will complete the Puichase woikflow (Bome -> Categoiy -> Piouuct Betail ->
Login (6u%) -> Auu to Cait -> Checkout) 4,8uu times.
www. 0ptimus Nobility.com
16
0H#0".!7!/!#6
What soit of futuie giowth oi changes uoes the application neeu to accommouate.
&0/!;0$17/0I 0H#0".!7!/!#6 $0C'!$0=0"#.
Beie aie some examples:
! The piouuct classes will neeu to be extenueu to incluue piouuct viueos.
! Nutiitional infoimation is expecteu to be auueu to inuiviuual menu items.
! The application will allow new foims to be cieateu using stanuaiu foim elements.
www. 0ptimus Nobility.com
!"#$%%"&'"' !")$*!#")
! Extensibility
17
.(1/17!/!#6
Bow will the system scale as usage giows.
&0/!;0$17/0I .(1/17!/!#6 $0C'!$0=0"#.
Beie aie some examples:
! The application will be hosteu on AWS, so we'll just thiow moie EC2 instances at any
pioblems.
! The application neeus to suppoit up to thiee auuitional seiveis in two locations to suppoit
anticipateu futuie loaus.
! The application is not expecteu to neeu scaling.
www. 0ptimus Nobility.com
!"#$%%"&'"' !")$*!#")
! Bon't panic! Beie's how to quickly scale youi mobile apps
18
.0('$!#6
Aie theie any secuiity iequiiements paiticulai to youi application.
Basic secuiity best piactices like not stoiing anu senuing unenciypteu passwoius ovei the web shoulu be a
given foi any app. That is unfoitunately not always the case in piactice, but we will assume that you aie
woiking with goou uevelopeis anu you uon't neeu to specify basic secuiity iequiiements.
Secuiity iequiiements may be uiiven by laws in financial, meuical anu othei highly-iegulateu inuustiies. Be
suie to specify these wheie they apply.
&0/!;0$17/0I .0('$!#6 $0C'!$0=0"#.
Beie aie some examples:
! The application must be S0X-compliant.
! The application will valiuate foims against possible coue injection.
www. 0ptimus Nobility.com
!"#$%%"&'"' !")$*!#")
! Mobile app security: Always keep the back door locked
! Mobile App Developers: Start with Security
19
3$!;1(6
What enu-usei uata will the application access. Bow will that uata be hanuleu.
&0/!;0$17/0I 3$!;1(6 $0C'!$0=0"#.
Beie aie some examples:
! The application will only ask foi the minimum infoimation iequiieu to iun.
! The application will ask foi name anu contact infoimation that will be saveu to oui CRN.
! The application will enciypt peisonal uata foi tiansmission ovei the web.
www. 0ptimus Nobility.com
2u
&1#1 !"#02$!#6
Bepenuing on whethei youi mobile app has a backenu component oi not, the following questions covei uata
integiity iequiiements foi mobile apps.
Shoulu the mobile app tiust uata fiom the backenu.
What measuies will be taken to ensuie that uata is accuiate anu ieliable thiough tiansfei, stoiage anu
ietiieval uespite haiuwaie failuies, softwaie bugs anu human eiioi.
Foi how long shoulu stoieu uata be ietaineu.
Data integrity requirements can be driven by laws in fnancial, medical and many other industries. Public
companies also may have legal obligations that will drive data integrity requirements.
&0/!;0$17/0I &1#1 !"#02$!#6 $0C'!$0=0"#.
Here are some examples:
! Financial data should be retained for seven years for SOX compliance.
www. 0ptimus Nobility.com
21
.0$;!(017!/!#6
Bow will the application be uistiibuteu anu upuateu.
Foi consumei-facing apps, this will typically be thiough app stoie uefault mechanisms. Theie aie uiffeient
platfoim-specific mechanisms in place foi inteinal company apps as well as platfoim-agnostic mechanisms
thiough mobile uevice management tools.
&0/!;0$17/0I .0$;!(017!/!#6 $0C'!$0=0"#.
Beie aie some examples:
! New veisions will be hanuleu thiough the uefault mechanisms in the Play Stoie foi Anuioiu
anu App Stoie foi i0S.
! New veisions will be hanuleu thiough the i0S Bevelopei Enteipiise Piogiam in-house
uistiibution mechanisms.
! New veisions will be uistiibuteu thiough the Winuows Phone Company Bub app.
! New veisions will be uistiibuteu thiough AiiWatch.

www. 0ptimus Nobility.com
!"#$%%"&'"' !")$*!#")
! Android: Open Distribution
! 5 Options for Distributing Your iOS App to a Limited Audience
! Company app distribution for Windows Phone
! 10 BYOD mobile device management suites you need to know
22
=1!"#1!"17!/!#6
What couing anu uevelopment stanuaius will be iequiieu to ensuie long teim maintainability of the softwaie.
Couing stanuaius can incluue the following:
! Aichitectuie
! Comments
! Coue ieview
Bevelopment stanuaius can incluue the following:
! Souice contiol system
! Issue tiackei
! Bocumentation
The issue tiackei anu souice contiol system will likely be whatevei youi technology uepaitment alieauy use.
&0/!;0$17/0I =1!"#1!"17!/!#6 $0C'!$0=0"#.
Beie aie some examples:
! Coue will be commenteu as pei inuustiy stanuaius.
! All methous will have heaueis.
! Coue will follow stanuaius set out by Anuioiu, Apple anu Winuows Phone.
! All coue will be checkeu into SvN.
! All tickets will be taggeu to Reumine issues foi tiaceability.
! The uesign anu coue will be continuously monitoieu foi mouulai anu maintainable
implementation.
www. 0ptimus Nobility.com
2S
=!2$1#!%"
Boes the application iequiie uata to be migiateu to allow foi mobile access. If so, what neeus to be migiateu.
Anu uo you have a piefeience to wheie the uata gets migiateu.
&0/!;0$17/0I =!2$1#!%" $0C'!$0=0"#.
! CSv uata neeus to be tiansfeiieu to a yet to be ueciueu uatabase.
! Legacy uata stoieu in 0iacle neeus to be tiansfeiieu to oui NSSQL piouuction enviionment.
www. 0ptimus Nobility.com
24
/%(1/!?1#!%"
Boes the application neeu to be stiuctuieu to suppoit multiple languages.
If so, which ones. Pay paiticulai attention to non-Latin alphabets.
&0/!;0$17/0I /%(1/!?1#!%" $0C'!$0=0"#.
Beie aie some examples:
! The application will be stiuctuieu to suppoit multiple Latin languages.
! The application will be stiuctuieu to suppoit Latin languages, Chinese, }apanese anu Koiean.
www. 0ptimus Nobility.com
!"#$%%"&'"' !")$*!#")
! Localization for Mobile Apps - a Refresher
2S
&1#1 ;1/!&1#!%"
What measuies will be taken to ensuie uata enteieu in to the application is valiu anu coiiect.
Wheie will that valiuation occui. The application. The seivei. 0i both.
Bow will invaliu uata be hanuleu.
&0/!;0$17/0I ;1/!&1#!%" $0C'!$0=0"#.
Beie aie some examples:
! The application anu seivei will check usei input foi valiuity.
! Input that is not valiu will ietuin a uesciiptive eiioi to the usei.
www. 0ptimus Nobility.com
26
&0;!(0 .'33%$#
What uevices will you suppoit.
Bow shoulu uevice compliance be ueteimineu. manually on emulatois. manually on one physical uevice.
automatically on many uevices thiough a uevice clouu.
The Recommenueu Resouices section incluues goou souices foi this infoimation. Youi web analytics aie also
a goou iesouice.
&0/!;0$17/0I &0;!(0 .'33%$# $0C'!$0=0"#.
! Anuioiu will suppoit veision 2.S.S anu up.
! Compliance will be checkeu on manually on the uevices in the uevice libiaiy.
www. 0ptimus Nobility.com
!"#$%%"&'"' !")$*!#")
! Android: Dashboards
! iOS version Stats
! Perfecto Mobile
! Keynote Device Anywhere
! SOASTA
27
%99/!"0 .'33%$#
Bow shoulu the application behave when it loses connectivity.
Shoulu it ietuin an eiioi. 0i save the uata anu sync it latei.
&0/!;0$17/0I %99/!"0 .'33%$# $0C'!$0=0"#.
Beie aie some examples:
! 0seis will be offline foi long peiious of time. Woikeis shoulu be able to auu new pictuies,
viueo anu text foi foui houis befoie having to sync systems.
! Piogiess shoulu be saveu locally when connectivity is lost. An eiioi message shoulu aleit the
usei that the connection has been lost, but theii piogiess has been saveu.
www. 0ptimus Nobility.com
!"#$%%"&'"' !")$*!#")
! How Can We Make Mobile Apps Suck Less OMine?
28
1"1/6#!(.
What mobile analytics options shoulu be installeu.
uoogle Analytics anu Fluiiy analytics aie two populai choices anu a goou place to stait if you uon't alieauy
have a choice.
&0/!;0$17/0I =%7!/0 1"1/6#!(. $0C'!$0=0"#.
Beie aie some examples:
! The application will use Fluiiy analytics.
www. 0ptimus Nobility.com
!"#$%%"&'"' !")$*!#")
! Google Analytics: Mobile Analytics
! Flurry
29
#0.#!"2
Theie aie a numbei of unique challenges when testing mobile apps. The laige numbei of uevices with a wiue
aiiay of scieen sizes makes it a challenge to auequately test all of suppoiteu uevices anu scieen sizes.
At the least expensive anu iobust enu, testing can be uone on emulatois anu whatevei uevices the testing
team happen to own. The most iobust, anu expensive, option is to use uevice clouus that let you automate
youi testing on any uevices that they have.
The option you choose will be a negotiation between youi uesiie to ielease a iobust app that uelights enu
useis anu youi buuget.
&0/!;0$17/0I #0.#!"2 $0C'!$0=0"#.
Beie aie some examples:
! The application will be testeu on emulatois anu any conveniently available physical uevices.
! The application will be testeu on all suppoiteu uevices on Peifecto Nobile.
www. 0ptimus Nobility.com
!"#$%%"&'"' !")$*!#")
! Android: Dashboards
! iOS version Stats
! Perfecto Mobile
! Keynote Device Anywhere
! SOASTA
Su
uSL8 ln1L8lACL
0nless you have youi own usei inteiface specialist, you won't be expecteu to come up with a complete usei
inteiface. But in oiuei to maintain bianu consistency, be piepaieu to give the following infoimation.
9%"#
! 9UVQ RQKSY: ie. Belvetica Neue, Belvetica, Aiial, sans-seiif.
! -OKZPV[ \UL]KQ: coloi, font stack anu size of heauings.
! /PVY \UL]KQ: coloi font anu size of links.
(%/%$.
The exact template foi colois that you use will uepenu on youi bianuing. The following will covei most coloi
iequiiements.
! 3LP]KL^: piimaiy bianuing coloi.
! .OSUVZKL^: seconuaiy bianuing coloi.
! 7KSY[LUNVZ: backgiounu coloi oi image outsiue the main content aiea.
! =KPV SUVQOVQ _KSY[LUNVZ: backgiounu coloi useu behinu text in main content aiea.
! 1MOLQ: coloi of any aleit notifications.
! .NSSORR VUQP`PSKQPUVR: coloi of any success notifications.
! "KaP[KQPUV: coloi of navigation bai anu fonts within the main navigation.
/16%'#
Typically specifying layouts isn't necessaiy paiticulaily foi native apps which will use native inteifaces that
covei the many of the common layout elements. Bowevei, you may want to specify the following.
! .]KLQTbUVOR KVZ #K_MOQR: uo you want a sepaiate layouts sepaiately optimizeu foi
smaitphones anu tablets.
! 7LKVZPV[: location anu foimat of bianu elements.
! "KaP[KQPUV: uo you want peisistent navigation.
! 3K[PV[: uo you want infinite sciolling of lists oi uo you want to sepaiate them into pages.
www. 0ptimus Nobility.com
S1
1?L Cl A
Theie aie thiee ways of builuing a mobile app:
! "KQPaO: applications built foi the specific opeiating system they aie opeiating in.
! ,O_: applications built in stanuaiu web languages that woik in all stanuaius-compliant
mobile web biowseis.
! -^_LPZ: applications built piimaiily using web technologies but with native elements.
Each appioach has uiffeient auvantages anu uisauvantages anu the best appioach uepenus on youi goals,
youi enu useis anu the iequiiements.
www. 0ptimus Nobility.com
S2
"1#!;0
Native applications aie built foi a specific opeiating system in that system's native language.
! P%.: 0bjective C
! 1VZLUPZ: }ava
! ,PVZUWR 3bUVO: C#.Net
+,-./0.123 '43.,-./0.123
! Full access to uevice featuies like cameia, uPS
anu stoiage.
! Suppoit native compounu touch gestuies like
uouble taps anu pinch.
! Best peifoimance.
! Native usei inteiface.
! Easiei uiscoveiy thanks to app stoie
uistiibution.
! Requiies sepaiate piogiamming language foi
each opeiating system.
! Noie expensive.
! Relies on high-uemanu piogiamming skills.
! Naintaining anu upuating the app is also moie
expensive.
,07
Web-baseu applications aie built using stanuaiu languages like BTNLS anu CSS S that aie compatible with all
mouein smaitphones.
+,-./0.123 '43.,-./0.123
! Less expensive to builu anu maintain.
! Relies on high-supply piogiamming skills.
! Ninimal access to uevice featuies.
! Limiteu offline stoiage.
! Less secuie.
! Can't match native peifoimance.
! Non-native usei inteiface.
! No app stoie uiscoveiy.
www. 0ptimus Nobility.com
SS
-67$!&
Bybiiu applications use the stanuaiu languages like BTNLS anu CSS S to maximize ieusability acioss all
platfoims with native coue to access uevice-specific featuies that aien't available to puiely web-baseu
solutions.
Advantages Disadvantages
! Neaily full access to uevice featuies.
! Relatively easy to maintain anu upuate.
! App stoie uiscoveiy.
! Less expensive than multi-platfoim native
uevelopment, but savings aien't neaily what
you woulu expect.
! Can't match native peifoimance.
! Non-native usei inteiface.
www. 0ptimus Nobility.com
S4
CCnCLuSlCn
The time anu thought iequiieu to piouuce all of these ueliveiables is an investment in the futuie success of
the app. It will help uevelopment go moie smoothly, saving time anu money, while ensuiing that the app
ueliveis the expecteu value.
The infoimation you have collecteu will help uiive the conveisation with uevelopeis. If you aie unceitain oi
stiuggling with ceitain uetails, then contact 0ptimusNobility foi a fiee one-houi consultation.
www. 0ptimus Nobility.com
SS