32% of adults age 65+ go online (Source: Pew Internet Project telephone surveys, 2000-2007)
Mobile Application Development · Mobile Application Development 7 (Source: Pew Research Center,...
Transcript of Mobile Application Development · Mobile Application Development 7 (Source: Pew Research Center,...
Mobile Application
Development
Erik Ferrari iSolutions Manager
Chris Taylor Solutions Architect
Publishing
Agenda
State of the mobile
Digital and mobile convergence
Understanding the user
Software development disruption
Mobile strategy
Challenges
User expectations
Web development
Native development
Hybrid
Q&A
Mobile Application Development 2
Mobile Application Development 3
We Pick Up Our Smartphones 1,500 Times a Week,
Stare at Them 3 Hours a Day - Tecmark 2014
Mobile Application Development 4
Mobile Application Development 5
Mobile Application Development 6
(Source: Toluna, 2014)
69% of Australian Smartphone users say their phone is the first
thing they look at every day.
34% of adults own a tablet device.
(Source Pew Research, 2013)
Mobile Application Development 7
(Source: Pew Research Center,
2013)
63% of mobile owners use their phones to go
online.
(Source: Pew Research Center, 2014)
(Source: Pew Research Center,
2013)
34% of mobile owners go online mostly using their phones.
Mobile devices accounted for 55% of Internet usage in the
United States in January 2014.
Mobile Application Development 8
(Source: Nielsen, 2013)
Smartphone users spent 87% of their time using mobile
apps.
(Source: Nielsen, 2013)
Smartphone users spent 13% of their time using the
mobile web.
Mobile Application Development 9
Mobile Application Development 10
Mobile Application Development 11
Considerations for a mobile strategy
Mobile Application Development 12
Understand your users, user expectations, and usage
scenarios
Define your application goals and features
Budget and timeline
Mobile Application Development 13
Mobile is disrupting software
development.
Yesterday
14 Mobile Application Development
New School Expectations
Simplicity
Speed
User Experience (UX)
15 Mobile Application Development
16 Mobile Application Development
UI is harder than ever.
Testing is harder than ever.
Change is happening faster than ever.
17 Mobile Application Development
18 Mobile Application Development
19 Mobile Application Development
Continuous Delivery
At Amazon, new code is deployed at a rate of once
every 11.6 seconds (3000 times a day)
At Google, 50% of the code will be changed in any
given month.
Facebook updates their mobile app every 4 weeks
20 Mobile Application Development
Mobile Application Development 21
We need a strategy
Mobile Solution Strategies
3 Primary Strategies:
—Mobile Web
—Native Applications
—Hybrid Applications
22 Mobile Application Development
23 Mobile Application Development
How do you know which approach is
right for your app?
24 Mobile Application Development
40% Developers starting a
native app that should
have been built with
HTML5
31% Developers starting a
HTML5 app that should
have been built with
native
Source: Kendo UI Global Developer Survey, 2013
25 Mobile Application Development
“Do it wrong quickly”
“Fail fast, recover quickly”
Mobile Web
26 Mobile Application Development
Mobile Web Defined
Mobile web solutions are built with server-side technology that renders
HTML that is optimized for mobile devices.
27 Mobile Application Development
Two options
Separate sites (the m. strategy)
— m.smh.com.au
Responsive sites
28 Mobile Application Development
Responsive vs. Separate Mobile Site
Single site
Flexible layout,
images and media
queries with CSS
Complex code
Client interprets
code.
Multiple sites
Complete control
over HTML structure
and images
Complex admin
Server responsible
for redirecting to
mobile version
Mobile Application Development 31
Mobile Web
Pros
Cross-platform
Common web technologies =
lower cost
Centralized, immediate
updates
Reach / Unrestricted
distribution
SEO
Cons
No App Store
Device must be online /
connected
No native integration / limited
features
Mobile Application Development 32
Native Apps
Mobile Application Development 33
Mobile Application Development 34
Native apps are built for a specific platform using an SDK, a specific
language, and an IDE provided by the platform vendor.
Native apps are designed to target a specific platform.
Mobile Application Development 36
Native Apps
Access to contacts or address book
Accelerometer (motion detection)
Camera
Data storage – local / offline
Accessing network properties and conditions
Geolocation
Notifications / Push
…and more
Mobile Application Development 37
Platform Language IDE SDK App Store
iOS Objective C,
Swift
Xcode (Mac
OS X)
iOS SDK App Store
Windows
Phone
C#, VB.NET Visual Studio,
Blend
(Windows)
Windows
Phone SDK
Windows
Phone
Marketplace
Android Java Eclipse,
Android
Studio
(Windows or
Mac OS X)
Android SDK Google Play
Skills and Tools
Native Apps
Pros
Rich, integrated
experience
Performance
Access to device
hardware features
Monetization / App Store
Offline Capabilities
Cons
*Single platform / develop
app per platform
*Cost to maintain and
develop (learning curve)
App Store rules / policies
Device variation
Mobile Application Development 38
*(see next slide)
Mobile Application Development 39
*(MULTI-PLATFORM) NATIVE
Use a single language to develop
applications that targeting an
abstraction layer to access native
device APIs and SDKs across
platforms.
Common Examples: Xamarin, Appcelerator
Hybrid Applications
Mobile Application Development 40
Mobile Application Development 41
Hybrid apps run on the device inside a native container
that uses the browser engine for rendering and executing
HTML, JavaScript, and CSS.
The major mobile platforms support Hybrid Apps!
Mobile Application Development 42
Hybrid Apps
App Store!
Access to device capabilities — Contacts / Address book
— Accelerometer
— Camera
— Data storage
— Network properties and conditions
— Local file system
— Geolocation
— Notifications
How is this different than the mobile web option?
Mobile Application Development 43
HTML, JavaScript, and CSS
“packaged” with application
Open Source JavaScript layer gives
access to device APIs
Leverage web services for
integration
Use native “web view” on device
Mobile Application Development 44
“Our biggest mistake was relying too much on HTML 5 and not on native apps.”
-- Mark Zuckerberg
Is Hybrid just as good?
Hybrid Apps
Pros
Monetization / App Store
Cross Platform
Familiar Web Technologies
Access to Device Capabilities
Offline support (kind of)
Shared / Common Codebase
Cost to support / maintain
Cons
Performance
Achieving Native UI when
targeting cross-platform
Limited device API access
Debugging can be difficult
Mobile Application Development 45
Summary
Mobile Application Development 46
Mobile Application Development 47
Web based approach to
mobile app dev. / deploy
Pro
• Time to
market/releases
• Leverage skills
• Cross platform
• Lower cost
• Centralized
Con
• Potential performance
• User experience
• Not an app in store
Web
Native “shell” with
embedded HTML, CSS,
and JavaScript
Pro
•Cross platform
•Native experience
•Access to onboard
resources
•Lives in app stores
Con
•Potential performance
•Potentially multiple
codebases
Hybrid
Fully native mobile
application
Pro
• Performance
• Native experience
• Lives in app stores
Con
• Adds time / cost
• Potentially multiple
codebases
• Increased support
• Slower release cycle
Native
Mobile Application Development 48
Future of mobile apps?
Mobile Application Development 49
“Through 2014, JavaScript performance
will push HTML5 and the browser as a
mainstream application developer
environment. There will be long shift
to HTML5 from native apps as HTML5
becomes more capable. But native
apps won’t disappear, and will always
offer best experiences."
-Gartner, 2013
Mobile Application Development 50
Mobile Application Development 51
Understand your users and user expectations
Understand usage scenarios
Do you need device capabilities?
Know your application goals
Budget and timeline
There isn’t a one-size-fits-all solution… It’s based on the required
features and expectations of your users.
Know your requirements
What is your mobile strategy?
Mobile Application Development 52