The document discusses mobile development strategies and the mobile ecosystem. It describes the large size of the mobile market and how mobile is the seventh mass media. It discusses different development strategies for mobile including native, web, and hybrid approaches. Native apps provide rich interfaces but have high costs and maintenance, while web apps have low costs but limited capabilities. Hybrid apps combine benefits of web and native. The document advocates that mobile web may be the most viable long-term platform due to fragmentation issues with native.
2. ABOUT ME...
{ I V A N O M A L A V O L T A }
S o f t w a r e A r c h i t e c t u r e & D e v e l o p m e n t
a p p l i e d t o
W i r e l e s s S e n s o r N e t w o r k s
M o b i l e A p p l i c a t i o n s
A u t o n o m o u s Q u a d r o t o r s
Ifyouthinkgoodarchitecture is expensive,
try badarchitecture.
...BrianFoote andJosephYoder
11. Mobile7
MOBILE IS THE 7TH MASSMEDIA
{ M A S S M E D I A ? ? ? }
it started at the same time as the Web
itcandoEVERYTHINGalltheothermediacan do
UNIQUE TRAIT
• Reading (and publishing)
• Play recordings
• Watch movies
• Listen to radio
• Watch TV (and streaming)
• Surf the Internet
12. Mobile7
UNIQUE BENEFITSOFMOBILE
{ M A S S M E D I A ? ? ? }
Apart from covering all the other media, mobile has five unique benefits
Wedon„t shareour phones with our friends
Informationis always available 24/7,even when idle
7 out of 10people sleep with their phones within reach
Universalclick-to-buy+ credit cards
Ability to create or consumecontent whenever themood
strikes
13. CONTEXT CONTEXTCONTEXT CONTEXT CONTEXT
CONTEXT CONTEXTCONTEXT CONTEXT CONTEXT
CONTEXT CONTEXTCONTEXT CONTEXT CONTEXT
CONTEXT CONTEXTCONTEXT CONTEXT CONTEXT
CONTEXT CONTEXTCONTEXT CONTEXT CONTEXT
CONTEXT CONTEXTCONTEXT CONTEXT CONTEXT
CONTEXT CONTEXTCONTEXT CONTEXT CONTEXT
CONTEXT CONTEXTCONTEXT CONTEXT CONTEXT
CONTEXT
{ M O B I L E U N I Q U E N E S S }
Mobile appshavethe amazingcapabilitytoadd
CONTEXT
toinformation,addingimmediate relevance
towhatwearedoing righthere, rightnow
14. THE MOBILEGOLDENRULE
{ M O B I L E U N I Q U E N E S S }
KILLER
If you canunlockthestateof mind of your usersand start thinkingin
their context, understandinghow amobile experience will add value to
their lives,you willhavetheever-elusive…
APP
15. Think of your app in its context
• Whois youruser? Businessman,teenager,mum…
• Whatishappening? Are theyhanging outwithfriends?
• Whenwill heinteract? @home?@work?waiting forthe bus?
• Where ishe? Public/privatespace,inside/outside,day/night
• Whywill heuse yourapp?How doyougive Context?
• How is heusing his mobiledevice? Is thedevice held in thehand?Portraitorlandscape?
HOW CAN WEAPPLY THE MOBILEGOLDEN RULE?
{ T H E M O B I L E G O L D E N R U L E }
18. Mobile Strategy =
howmuch it will costyoutodevelop yourapp?
Howmuch money?
How much effort?
How much time?
DEVELOPINGA MOBILESTRATEGY
{ D E V E L O P M E N T S T R A T E G I E S }
19. Mobile design and
development ISNOT CHEAP!
http://www.slideshare.net/fling/native-v-hybrid-v-web
BUSTING THE FIRSTMYTH
{ D E V E L O P M E N T S T R A T E G I E S }
20. Mobile design and
development ISNOT CHEAP!
http://www.slideshare.net/fling/native-v-hybrid-v-web
BUSTING THE FIRSTMYTH
{ D E V E L O P M E N T S T R A T E G I E S }
21. Remember, mobile is a newmedium
Don„t trytofollow “traditionalrules”sincemobile hasits ownpeculiarities:
• context,
• location, usermood
• device fragmentation
• uniqueUI rules
• ...
THE NEWRULES FORA MOBILESTRATEGY
{ D E V E L O P M E N T S T R A T E G I E S }
DIFFERENTRULES
22. Mobile isanever-evolving area
todayyouarealreadyoutdated
• Forget whatyouthinkyouknowaboutmobile
– It is mostlikely incorrect
• Don’ttry toemulateotherprojects
– Focus onwhatis rightforyouruser,notwhatis right forsomeone else„s user
RULE#1
{ T H E N E W R U L E S F O R A M O B I L E S T R A T E G Y }
Forget what you thinkyou know
23. • Don„ttrustanyreport,fact,or figurethat1-2yearsold
– It ismostlikely wrong
• Goto yourusers andaskthem questionsin person
– Don„ttrytosimply validateyourideas
• Record everything
– Yourownusers„worldswillhelpyouin focussingon theirneed
• Don„tforget toinnovate
– Trynewthings, bebold,anddon„tbeafraidtofail
RULE#2
{ T H E N E W R U L E S F O R A M O B I L E S T R A T E G Y }
Believe what you see, notwhat you read
24. • Avoidtalkingaboutconstraints atanearly-stagebrainstormingsession
– Refer back to Rule#1 and forget what youthink youknow
• Therewill alwaysbeconstraintsin mobile,acceptit!
• Focus onstrategy first, whattheuserneeds,andlaydownthefeatures
– Then,if theconstraints become an issue, fall back to the user goals
• Thereisalwaysanalternative
RULE#3
{ T H E N E W R U L E S F O R A M O B I L E S T R A T E G Y }
Constraints never come first
25. RULE#4
{ T H E N E W R U L E S F O R A M O B I L E S T R A T E G Y }
Focus on context, goals and needs
• Defining theusers„context is thefirst thing todo
– without it, youdon„t have a mobile strategy, youhaveonly a plan of action
• Uncovertheusers’ goals
– and then tryand understand how the users„ context alters their goals
• Withgoalsunderstood,figureoutthe tasksthe userswanttoperform
• Lookforwaysto filter content bycontext
– for example: location, media, and model
26. RULE#5
{ T H E N E W R U L E S F O R A M O B I L E S T R A T E G Y }
You can„t support everything
• Don„t try to support everything
– Start with the devices that best represent your core customer
• The most popular might not always be the best device for your project
• Check your server logs for the devices accessing your site
– These are the first devices to target
• Go to a mobile phones store and do a little market research to find out the
recommended devices for your target customer
27. RULE#6
{ T H E N E W R U L E S F O R A M O B I L E S T R A T E G Y }
Don„t convert, create
Great mobile products are created,neverported!
• Understand your userand his context
– Having an idea of howand when users will access your content will aid in
understanding howto bestcreatea tailored mobile experience
• Mobile is a uniquemedium
28. RULE#7
{ T H E N E W R U L E S F O R A M O B I L E S T R A T E G Y }
Keepit simple
People wantto use mobile devices in asimple way
• Simplicity fewer problems
• Easier to iterate and evolve yourapp
• Don„t tryto createa desktop softwareon a mobile!
– Adding feature after feature is aneasy trap to fall in
• Buildtheexperience aroundyour users„main need andnothingelse
29. NATIVE VSWEBVSHYBRIDAPPS
{ D E V E L O P M E N T S T R A T E G I E S }
There are no golden rules here…
It depends on a lot of factors, suchas
• Which type of app are you creating?
• When do you need it?
• What are your skills?
http://bit.ly/GWOaP1
30. A FIRST LOOT AT NATIVE VS WEB
{ D E V E L O P M E N T S T R A T E G I E S }
http://bit.ly/GWPgdm
31. NATIVE
{ D E V E L O P M E N T S T R A T E G I E S }
PRO
Lets you create apps with rich user interfaces and/or heavy graphics
CONS
• Development Time
• Development Cost
• Ongoing Maintenance
• No portability (apps cannot be used on other platforms)
http://bit.ly/GWOaP1
PRO
CONS
32. EXAMPLESOF NATIVE APP
{ D E V E L O P M E N T S T R A T E G I E S }
http://www.whatsapp.com/
http://www.ea.com/it/ipad/nfs
33. WEB
{ D E V E L O P M E N T S T R A T E G I E S }
PRO
• Offers fast development, simple maintenance, and full application portability
• Onemobile web app works onany platform
CONS
• Can„t handle heavy graphics
• Can„t access cameraormicrophone
http://bit.ly/GWOaP1
PRO
CONS
34. EXAMPLE OFMOBILEWEBAPP
{ D E V E L O P M E N T S T R A T E G I E S }
http://asidemag.com/
http://amazon.com/
35. HYBRID
{ D E V E L O P M E N T S T R A T E G I E S }
PRO
• Development speed of mobile webapps
• Deviceaccessand app store distribution of native apps
CONS
• Can„t handle heavy graphics
• Requires familiarity with a mobile framework
PRO
CONS
36. EXAMPLESOF HYBRIDAPP
{ D E V E L O P M E N T S T R A T E G I E S }
http://flipboard.com
http://linkedin.com
http://gmail.com
37. SUMMARY
{ N A T I V E V S W E B V S H Y B R I D }
DISTRIBUTION
App Store/Market
App Store/Market
Internet
#APPSTOREACH
MAJORPLATFORMS
4
1
1
APPMAINTENANCE
Difficult
Moderate
Low
DEVICEACCESS
Full(Camera, microphone,GPS,
gyroscope,fileupload,
accelerometer,etc.)
Full(Camera, microphone,GPS,
gyroscope,fileupload,
accelerometer,etc.)
Partial(GPS, gyroscope,
accelerometer,fileupload)
SKILLS/TOOLS
Objective-C,Java, C, C++,
C#, VB.net
HTML,CSS,Javascript
+ mobileapp development
framework
HTML,CSS,Javascript
Native
Hybrid
Web
38. MY VISION
{ D E V E L O P M E N T S T R A T E G I E S }
Mobile web seems to be the only long-termcommercially
viable content platform for mobile devices
39. FRAGMENTATION
{ M Y V I S I O N }
If you go native…
there are too many platforms to be supported
40. THE WEB
{ M Y V I S I O N }
The only medium for information and services that lasts from
over 15 years
The web is an advanced technology
• webGL
• Local storage management
• Positioning & mapping
• Real-time data
• Push
• …
41. DISTRIBUTION CONTROL
{ M Y V I S I O N }
Before..
Operators
Now
Device and Platform makers
Future
Developers
$$$
STOREA
STOREB
STOREC
STORED
42. CONSUMER EXPECTATIONS
{ M Y V I S I O N }
Users expect things to justwork
they don„t care about what platform they have
they simply expect that your app will be available for their
device
so… YOU HAVE TO BE CROSS-PLATFORM
43. WEBUBIQUITY
{ M Y V I S I O N }
The web is the only platform that
• works across devices
• apps share the same set of standards
• the same app can work also ona desktop
45. PhoneGapVSCordova
{ C o r d o v a }
Adobe/Nitobi donated thePhoneGap codebase to theApachefoundation
– wideraudienceandcontributors
– Transparentgovernance
• Betterdocumentation
– Easiercontributionsforcompanies
• ApacheLicensing
Therewasonlyone problem:
trademark ambiguity
CORDOVA
PhoneGapis a distribution
of Apache Cordova
http://www.phonegap.com
46. PHONEGAP
{ H Y B R I D D E V E L O P M E N T }
The UI layeris aweb browser view
– 100% width
– 100% height
Headless webbrowser
– NoURL bar
– Nochrome
– Nowindowdecorations
– Nozooming
– Notext selection
This isaweb
browser
instance
47. HOW DOES PHONEGAP WORK?
{ H Y B R I D D E V E L O P M E N T }
PhoneGap
Javascript
APIprovider
forAndroid
APIprovider
foriOS
APIprovider
forWindows Phone
APIprovider
forBlacberry
Phonegap
Mobile
app
48. FEATURESCOVERAGE
{ H Y B R I D D E V E L O P M E N T }
http://projects.apache.org/projects/cordova.html
49. RECURRENTAPP ARCHITECTURE
{ H Y B R I D D E V E L O P M E N T }
The app acts as a client for user interaction
The app communicates with an applicationserver to receive data
The application server handles business logic and communicates with a back-end data
repository
50. THE APP
{ H Y B R I D D E V E L O P M E N T }
It generally uses the single-pageapplication model
• the application logic is inside a single HTML page
• This page is never unloaded from memory
• Data will be displayed by updatingthe HTML DOM
• data is retrieved from the application server using Ajax
51. THE SERVER
{ H Y B R I D D E V E L O P M E N T }
It is a classical web server
– server-side scriptinglanguage such as Java, .NET, PHP, etc…
– communication can be based on:
• RESTful services (XML, JSON, etc.)
• SOAP
– It performs business logic, and generally gets or pushes data from a separate repository
52. THE DATA REPOSITORY
{ H Y B R I D D E V E L O P M E N T }
It may be:
– a standard DB (usually deployed in the same machine of the application server)
– an externalAPI
Both application server and back-end repository can be provided as a service BaaS
53. WHENPHONEGAP IS NOT ENOUGH...
{ H Y B R I D D E V E L O P M E N T }
Sometimes PhoneGap is not enough as is for our purposes
• unsupported feature
• heavyweight data processing is faster in native code
– ex. images manipulation
• background processing is better handled natively
– ex. Files sync
• complex business logic
you candevelop a PhoneGap plugin
54. Nowadays the mobile ecosystem is
• complicated
• fragmented
• a political nightmare
RUN
AWAY!!!
CONCLUSION
however...