build mobile application

Upload: nhut-phan

Post on 01-Jun-2018

222 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/9/2019 build mobile application

    1/19

    BEST PRACTICES FOR BUILDING YOUR

    Mobile Applications

    A RapidValue Solutions Whitepaper

    Authors: Rajesh Padinjaremadam & Ron Guida

  • 8/9/2019 build mobile application

    2/19RapidValuBest Practices For Building Your Mobile 1

    The Mobile RoadmapWe are in the decade of mobility. Smart phones are driving Mobile Internet and App usage.

    Since the introduction of iPhone in !!"# smart phone penetration has been gro$ing

    signi%cantly. According to report released by &entith'ptimedia# smartphone penetration in

    the $orld(s top )* digital mar+ets is e,pected to double from -./ last year to an average of

    ")."/ in !).

    Build

    ASS0SS B1I23

    30P2'Y

    4ot only are smart phones getting more prevalent# consumers are spending more time on

    them. According to Flurry Analytics # about 5) minutes per day are spent on smart phones

    compared to "6 minutes on des+top internet. Businesses need to adapt to this changing

    consumer behavior and consider mobile as one of the +ey strategic channels for the future.

    3espite increasing prevalence of mobile teams and initiatives# the %eld is relatively young and

    best practices are hard to come by.

    7aving $or+ed on over )!! engagements and countless interactions $ith our customers

    over the past 8hree years# $e have put together a set of +ey considerations for navigating

    your mobile roadmap. 8hese considerations $ill help you identify opportunities and also

    avoid ma9or pitfalls $hile trying to implement mobility pro9ects. We have categori:ed these

    considerations into 8hree phases ; Assess# Build and 3eploy based on the activity timeline

    and a series of steps $ithin each phase.

  • 8/9/2019 build mobile application

    3/19

    A three-phase approach ensures your mobileproject is hihly e!!ecti"e

    ASS0SS

    8his phase ensures that an

  • 8/9/2019 build mobile application

    4/19

    #stablishin abusiness case prior to startinyour mobile initiati"e is critical to the projectsuccessIt is important to build a business case prior to investing in mobile. 8his helps in ensuring

    a systematic investment $ith measured

  • 8/9/2019 build mobile application

    5/19

    And so is identi!yin the riht technoloychoice$

    Mobile enabling technologies are evolving fast. It is important to select the right

    technology# from the perspective of end=user usability as $ell as long=term scalability.

    8ypical choice to be made is bet$een native apps and mobile $eb. 4ative apps can be built

    $ith 'S speci%c technologies li+e i'S# Android etc. or leveraging cross=mobile platforms li+e

    PhoneGap# Appcelerator and

  • 8/9/2019 build mobile application

    6/19

    %ic&-o!! the projectby settin up across-!unctional team

    Mobile engagements need a co=ordinated team assembled from cross=functional

    departments. Some of the roles that are needed for an e@ective mobile team are

    ?omplian

    ce J$here

    neededK

    1ser

    0,perienc

    e

    3esigner

    s

    1I

    Graphic

    3esigner

    s

    uality

    Assurance

    0ffectiveMobile

    Pro9ect team Sales LMar+etin

    g

    3evelopersBusiness

    ; 1ser 0,perience designers For designing the end=customer e,perience and navigation.

    ; 1I Graphic designers For graphics and branding.

    ; Mar+eting L Sales team 0specially for customer focused apps in order to ensure

    e@ective $ay to mar+et and sell the concept.

    ; Business team Provides scope for the pro9ect as $ell as user acceptance criteria.

    ; I8 development team 8eam that is primarily involved in the development of the

    engagement. 1sually this team may need multiple s+ills especially $hen developing

    applications for different platforms li+e I'S# Android# Blac+berry etc. If the application

    being developed uses cross platform tools li+e uired for each of those tools $ill also be re>uired.

    ; uality Assurance team It is highly recommended to have an independent testing

    team for device testing $hich provides both manual testing and automated testing

    support.

    ; ?ompliance team 8hese s+ills are needed $here the application needs to adapt to

    compliance re>uirements li+e 7IPAA.

    Build

  • 8/9/2019 build mobile application

    7/19

    'reatin a compellin user e(perience is thene(t step

    Example lipboard i!ad app

    8hough there many ne$s aggregation apps

    available today# one of the applications that createsa uni>ue e,perience is Flipboard. What di@erentiates

    Flipboard is the clean and simple 1I coupled $ith a

    reading e,perience uni>uely designed for the iPad.

    1sers have chosen this application over most other

    ne$s reader apps though Flipboard did not have the

    %rst mover advantage.

    1sers get to chance upon ne$ content in such an

    easy $ay thereby increasing the stic+iness of the

    application ma+ing users to bro$se more than $hatthey initially started to read.D

    Building the right user e,perience is the +ey to a successful mobile engagement.

    8raditional soft$are development did not give this aspect too much importance. Most

    developers still focus on functionalityD rather than end customer e,perience leading to

    functional but non=stic+y applications. 0,perience 0ngineeringD is the ne$ paradigm in themobile $orld.

    1sers in the mobile $orld have a lot more choice no$ and $ill pic+ the product that gives

    them the best overall e,perience. Building stic+iness and $o$ factor is very important.

    Mobile design should ta+e care of aspects li+e screen si:e# connectivity# band$idth#

    designing for a variety of devices and creating the best navigation e,perience.

    Mobile has some uni>ue features compared to des+top. For e,ample# smart mobiles have

    cameras# they can determine your position using GPS# detect motion# scan barcodes etc. 8hese

    features can be used innovatively to enhance user e,perience to increase customer stic+inessto your app. For e,ample# delivering the right coupon $hen a user $al+s into his favorite store

    $ill signi%cantly increase customer satisfaction.

    In short# mobile pro9ects should be driven by customer e,perience and 1 designs rather

    than soft$are functionality alone.

    Build

  • 8/9/2019 build mobile application

    8/19

    )uild your projects in an iterati"e *ay todeli"er incremental+ measurable "alue

    Mobile development is best accomplished using an iterative development approach. 8his

    approach is $hat $e call a Self=Funded ModelD and typically uses an eight to ten $ee+s

    iteration cycle. 8he bene%ts of the %rst iteration partly fund the cost of development of the

    follo$ing iterations and if the app is successful can even fund the full costs by the third or forth

    iteration.

    ollo"in# are the $e% steps to this model:

    ; Split overall scope into small chun+s of functionality.

    ; Identify >uic+ $ins.

    ; Group functionality into multiple iterations prioriti:ing on >uic+ $ins.

    ; 2aunch the %rst version of the app.

    ; 8a+e customer feedbac+ and launch ne$ functionality in si, to eight $ee+s iterations.

    Main ad&anta#es of this model are:

    ; Bene%ts=focused development approach rather than features.

    ; Better customer satisfaction due to constant feedbac+ and delivery of functionality.

    ; Increased Ne,ibility to customer needs or changing re>uirements.

    ; 0arly iterations e,pose and mitigate ris+s.

    ; Management can ma+e tactical changes to the product.

    Build

  • 8/9/2019 build mobile application

    9/19

    Example A 'ar#e Accessories Retailer in (S

    uent release brought ne$ features and incremental bene%ts. Si, months after the

    launch of the %rst version# the app is currently in its fourth version.

    30SIG4# B1I23 L 80S8 JF'< 0A?7 P7AS0K

    Build =

  • 8/9/2019 build mobile application

    10/19

    And do not under-estimate ,nteration e!!ortMost mobile engagements need integration $ith cloud

    applications or enterprise legacy applications for them

    to $or+ smoothly. Moreover# integrations are not one

    big bang to be done at the end of the pro9ect. 2eaving

    integration decisions to the end# results in a lot of

    re$or+ and this can be as high as

    6!/ of the overall e@ort.

    In order to avoid this# Integration design should be

    ta+en up in parallel to mobile application design and

    should be given a higher priority. Also all APIs needed

    for Integration should be developed earlier to the

    mobile component development that

    needs it. 8herefore# e@ective pro9ect planning $ith dependencies

    is re>uired.

    Example Inte#ration "ithin Mobile )ommerce application

    For one of our customers# a 1S based retail chain# $e are currently building an innovative and

    uni>ue m=commerce application that helps provide the $o$ factor to customers and increase

    usage. 8his application(s 1I can be controlled from the bac+end by an admin and can be

    changed fre>uently to +eep the novelty factor. In order to ensure that this application $or+s to

    meet the dynamic re>uirements # it had to be integrated for various functions li+e product

    management# inventory management# user management# shipping# ta,# order management#

    payment integration# Faceboo+ and 8$itter.D

    Build

  • 8/9/2019 build mobile application

    11/19

    Plan appropriate amount o! testin e!!ortMobile testing can ta+e considerable amount of time

    even though the development timeframe may be

    short. 8his is because of the uni>ue nature of mobile

    and fragmentation of devices.

    For starters# testing should be not only planned on simulators

    but also on physical devices. Also# there may be multiple

    devices from various manufacturers for operating

    systems such as Android and Windo$s Mobile. 0ach

    device may have a di@erent screen si:e and

    features.Your application may not $or+ as intended on

    all devices. 8herefore# the application should be

    thoroughly tested for any issues and defect=%,es before

    implementing it.

    Moreover# in=house testing teams might not have all the devices and hence tools li+e3eviceAny$here or

    Perfecto Mobile can be used for remote testing on actual devices.

    Mobile testing may also need in=%eld testing for applications that use GPS# maps etc. 8his

    means that someone has to travel to a fe$ locations and test the application# especially

    features li+e serving coupons or deals $hen user is near a shopping area.

    In=%eld testing is also needed for testing under various net$or+ conditions li+e G -G

    and net$or+ s$itching.

    Since most mobile pro9ects tend to be iterative in nature# automated testing can help in

    reducing overall testing e@ort. Some of the automated testing tools that can be considered are

    See8est# 8estPlant# ualityassurance service and ensures that the product that is launched in the mar+et is bug free.

    8his lab also certi%es the app for various devices.

    Build

  • 8/9/2019 build mobile application

    12/19

    eployment o! nati"e mobile apps !orconsumers *ill re.uire you to understandApp Stores and appro"alprocesses

    4ative apps are typically distributed to end=

    users through an App Store process. Mobile $eb

    applications do not need to go through an

    approval process.

    Some of the +ey store=fronts are Apple App=

    Store# Google Android Mar+et# Windo$s

    Mar+etplace# Blac+Berry App World and

    Ama:on Appstore. In addition# there are a

    number of other App Stores that can be used

    for distribution.

    Some of the app=stores re>uire an approval process for the apps to be made available to

    public. Where an approval is re>uired# it is important to pay attention to the approval

    process.

    Apple Store has a manual revie$ and approval process# $hile Google Store does not have

    an approval process. It is imperative to understand the approval guidelines and timelines

    involved# to ensure that you have a launch process as planned.

    Examples

    ; Apple guidelines indicate that apps $hich do not have signi%cant native features may

    be re9ected. It is therefore advisable to have only those applications that have

    signi%cant native components to be built as native apps. Apps that have only lin+s to

    videos etc. may be better built using 78M2 or mobile $eb frame=$or+.

    ; 8ypically# Apple approval timeline ranges from one $ee+ to three $ee+s# therefore at

    least t$o $ee+s timeline need to be planned to ensure that apps are ready to be

    launched JFor e,ample = If you $ant to sho$=case an app in an event# you need tocomplete the app development and testing at least t$o $ee+s in advanceK.

    4ote You can al$ays reach out to Apple for an e,pedited approval $ith a valid reason.

    *eplo

  • 8/9/2019 build mobile application

    13/19

    While enterprise apps *ould re.uire you tobe!amiliar *ith enterprise distribution methods

    'ne of the +ey challenges associated $ith an enterprise app is to deliver the app to allrelevant

    employees. 'ne of the $ays of distributing an application intended for the employees of an

    enterprise is to distribute the app on App Store# but re>uiring credentials# so that only

    employees can access $ith the right login. 7o$ever# this may not be considered safe for appsinvolving information re>uiring high security.

    An alternative mode of distribution $ithout going through the App Stores is an enterprise

    mode of distribution in case of Apple. Apple provides an enterprise mode of distribution to

    distribute applications to employees of an enterprise. In this case# an app is hosted on the

    server and an email or SMS $ith the $ebpage lin+ is sent to the target device.

    Another option to deploy applications $ithin enterprises is to use a Mobile 3evice Management

    soft$are li+e &enprise or AirWatch. Most leading M3M providers provide an ability to setup

    enterprise app=stores $hich can then be used to distribute apps to enterprise users.

    Examples

    ; For an in=store catalog application that $e deployed for a retailer# $e used an

    approach of getting the app on the App Store $ith authentication. 8he app $as also

    made available to users in the public domain# but $ith different content.

    ; For a sales catalog app deployed for a medical device manufacturer# the approach $asto go through enterprise distribution mode# as the app content $as more sensitive# as

    $ell as there $as no information that $as relevant for general public.

    *eplo

  • 8/9/2019 build mobile application

    14/19

    And o! course+ enterprise mobile securitycannot be le!t open

    Mobile 3evice security should be a +ey consideration $hile

    deploying enterprise mobile apps# especially the ones accessing

    corporate documents or corporate data. Security has been

    important in the laptop $orld as $ell# but in mobile $orld#security assumes paramount importance 9ust because the device

    is mobileD# $ith a higher possibility of losing the device.

    Some of the leading Mobile 3evice Management players li+e &enprise#

    Sybase Afaria and AirWatch handle mobile security aspects as $ell.

    7o$ever# a careful mapping of your enterprise security

    re>uirements $ill have to be completed to ensure that the right

    solution is implemented# that suits your needs.

    Examples

    ; ?I' at a large %nancial organi:ation $ants to ensure that the enterprise data that is

    accessed on users mobile phone is secure# and is $iped off if the device is lost.

    ; I8 organi:ation $ants to ensure that the apps that are installed on the employees

    device can be controlled and managed centrally.

    ; 0nsure that users abide by pass$ord policies to ensure that the pass$ord cannot be

    bro+en.

    *eplo

  • 8/9/2019 build mobile application

    15/19

    Trainin should not be inored !or enterprisemobile apps

    Mobile and tablet apps are normally much more intuitive and user=friendly than

    traditional $eb=based applications and hence re>uire less user training.

    7o$ever# for an enterprise app# it is prudent to budget cost and e@ort for training to ensure

    that you obtain ma,imum results. 0specially for apps re>uiring data entry Je.g. by service

    technicians or sales people in the %eldK# planned training sessions $ould eliminate any

    potential for errors and ma,imi:e overall returns.

    Examples

    ; While deploying an in=store sales catalog system for a retailer#

  • 8/9/2019 build mobile application

    16/19

    Plan !or onoin maintenance & uprades

    In most cases# mobile and tablet apps re>uire

    constant updates due to multiple reasons ;

    ; ?onstant changes to technology ; ne$ releasesof

    'perating Systems and ne$ features

    ; 1ser feedbac+ ; As mobile is an area that is

    evolving >uic+ly# ne$ features as $ell as

    different $ays to use and navigate the apps

    are al$ays brought in by the users. 'f course#

    the best mobile app is built b% listenin#

    to %our customers continuousl%+ and

    impro&in# on a re#ular basis, Most of the

    mobile apps ecosystems have built=inmechanisms for feedbac+# and this provides a

    great source for improvement opportunities.

    It is al$ays useful to plan and budget for on=going maintenance and upgrade costs in advanceas part of

    your planning e,ercise# as that $ill ensure a better

  • 8/9/2019 build mobile application

    17/19#nablin Mobility

    And last but not least+ measure the appe!!ecti"eness

    As they say# you cannot manage $hat you cannot

    measure( ; 8his is true for mobile apps as $ell. As this is

    an emerging %eld# measurement of user behavior is the

    +ey to obtaining relevant insights. 7aving the right dataon user behavior also puts you in a position to moneti:e

    your apps# by providing relevant information to your

    advertisers.

    'nce the app starts getting used# it is important to

    monitor +ey data parameters generated by the app.

    Oaluable information on the app usage including time

    spent on speci%c pages and advertisements can be

    obtained and charted# if the app has been designed $ith

    this in mind. A lot of valuable information to %netune the

    app# can be obtained by closely monitoring this data.

    Examples

    ; In one of the end=to=end iPad based maga:ine publishing solutions that $e built for a

    leading health care publisher# $e built an analytics module that $as able to trac+ a lot

    of good information# li+e the total time spent by the user per maga:ine issue# time

    spent on each page# time spent on each ad etc. 8he client $as able to use this

    information to e@ectively sell advertisement space and $as also

    able to identify the sections of the maga:ine that generated ma,imum interest.

    *eplo

  • 8/9/2019 build mobile application

    18/19#nablin Mobility

    Best Practices For Building Your Mobile Applications)R RapidValue

  • 8/9/2019 build mobile application

    19/19

    About RapidVau!