Examining the history, evolution and future roadmap for mobile application development. Covering some of the background and history of mobile application development, from the early days of WML browsers and the development of the Symbian mobile operating system, through to the industry-changing iOS platform
http://manifesto.co.uk/
2. About me
Simon Bates
• COO and co-founder, Manifesto
Digital.
• University of Manchester Institute
of Science and Technology Beng
Software Engineering.
• 17 years IT experience, working
mainly in Web-based technologies
and frameworks
• Wrote first Java application in 1997
Mobile Application Development
3. Manifesto Digital
We’re an award winning London
based digital agency that loves ideas
design and technology
We aim to make people’s lives better, easier, fairer,
more interesting or fun with great strategy, engaging
campaigns and rock solid technology.
Mobile Application Development
4. Mobile Apps
What is a Mobile
App?
A mobile application (or
mobile app) is a software
application designed to run
on smartphones, tablet
computers and other mobile
devices.
Source: Wikipedia
Mobile Application Development
5. Some Stats
1 million+ applications now
available in the Apple App
Store and Google Play.
• Global smartphone shipments predicted to hit 1
billion this year.
• 1/5th of Internet traffic now from mobile
• 20% of e-commerce traffic is now from mobile
Mobile Application Development
6. Past
Where did it
all begin?
First cellular mobile
phone call in public
made on 3rd April
1973 by Martin
Cooper.
Mobile Application Development
7. Past
Psion EPOC
• First devices launched
in early 90s
• Used in Psion’s SIBO
(sixteen bit operating
system) devices
• Used OPL (Open
Programming
Language)
• Formed the basis of
Symbian
Mobile Application Development
8. Past
Palm OS
• Launched in 1996
• Designed for touch
screen
• Apps developed in
C/C++
• Became Access Linux
platform
• Abandoned in favour of
webOS in 2009.
Mobile Application Development
9. Past
WML
•
•
•
•
•
WML 1.1 created in 1998
Provides HTML-like (XML) presentation templates
Light-weight
Appropriate for low-bandwidth connections
Poor take-up due to lack of openness and content
Mobile Application Development
10. Past
J2ME/JME
• Designed for embedded
system and mobile platforms
• JSR 68 superseded
PersonalJava
• Evolved into numerous
standards
• JSR 68 withdrawn in 2011
• Number of related standards
such as CLDC and MIDP
Mobile Application Development
11. Past
J2ME/JME
• CLDC contains minimum
sub-set of Java class libraries
• MIDP includes a GUI,
applications are called
MIDlets
• Mika VM - open source
implementation
• Not used in iOS, Blackberry
10, Android
Mobile Application Development
12. Past
Symbian
• Originated from Psion EPOC
• Acquired by Nokia in 2008
• In 2009, 250 million devices
running Symbian
• Open sourced in February
2010
• Fragmented into S60 (Nokia,
Samsung and LG), UIQ (Sony
Ericsson and Motorola) and
MOAP(S).
Mobile Application Development
13. Past
Symbian
• Apps may be incompatible
across different platforms
• Variety of deployment
techniques. No standard
‘market place’.
• Individual APIs for each
platform
• 2010: 37.6% market share
• 2012: 4.4 %
Mobile Application Development
14. Past
Symbian
• Development taken over by
Accenture June 2011
• 11th February 2011 – Nokia
replacing with WP8
• 808 Pureview last Symbian
phone – February 2012
Mobile Application Development
15. Present
iOS
• Derived from NeXTSTEP
(early 80s)
• Main programming
language is Objective C
• Development uses xCode
IDE, which as an in-built iOS
simulator
Mobile Application Development
16. Present
iOS - Pros
• Less fragmentation
• New feature usually
available very quickly
• usually use new features
immediately
• OpenGL as standard
• Navigation is nonprescriptive
Mobile Application Development
17. Present
iOS - Cons
• More closed
• Need a Mac to develop
• App store review guidelines
not always easy to
understand
• App signing process nontrivial
• Need Apple certificate to
install to own device
Mobile Application Development
18. Present
Android
Based on Linux kernel
First launched in 2007
API is Java
ByteCode converted to
Dalvik VM Bytecode
• Can write native code in C
•
•
•
•
Mobile Application Development
19. Present
Android - Pros
• Market Share (80%)
• Can develop on any
platform
• Eclipse-based IDE can be
used
• More open e.g. call history
available to all apps, sharing
content, notifications
between apps
Mobile Application Development
20. Present
Android - Pros
• Install apps from any source
e.g. Web, storage card etc
• Easy to write hooks and
overrides
• Apps can be self-signed
• One-time $25 to publish to
Google Play
Mobile Application Development
21. Present
Android - Cons
• Fragmentation
• Updates can come late due
to manufacturers with own
customisations
• Often big changes between
versions
• Often more manual than
iOS
• Graphics can be slower
Mobile Application Development
22. Present
Windows Phone 8
• Requires Windows 8
running to develop
• Can use XAML or
Direct3D or a mixture to
build UIs
• Can write C# or Visual
Basic apps on top of .Net
• Can use C++ for native
code
Mobile Application Development
23. Present
Windows Phone 8
• Visual studio 2012 IDE
• Background Transfer
service
• Needs to be reviewed
for inclusion in store –
similar restrictions to
iOS
• Low take up
Mobile Application Development
24. Present
BlackBerry 10
• API library in C
• Native API C/C++
• Provides its own
wrapper for OpenGL
• Unity & Marmalade
gaming engines
• Custom Eclipse IDE
• Active Frames (similar
to WP8 Live Tiles)
Mobile Application Development
25. Present
BlackBerry 10
• WebWorks for HTML5
and JS apps
• Can also use Adobe AIR
or Java
• Blackberry runtime for
Android apps
• Publishing requires
approval – 10 business
days
Mobile Application Development
26. Present
Multiple phone web-based application
frameworks
• Solve proliferation problem
• Allow ‘write once, run anywhere’
• Use common Web-based languages such as HTML5,
CSS and JavaScript
• [Limited] access to native phone functionality
• Usually slower than ‘pure’ native app
Mobile Application Development
27. Present
PhoneGap
OpenSource
Dontated to ASF and renamed Apache Cordova
Warning from PhoneGap about Apple rejection
Support for most major platforms (iOS, Android,
Blackberry, Windows Phone, Palm WebOS, Bada, and
Symbian)
• PhoneGap Build – cloud-based compilation service
• Support for native features (e.g. accelerometer,
camera, compass etc.)
•
•
•
•
Mobile Application Development
28. Present
Titanium Mobile
• Can get fast results - good for prototyping
• In common with PhoneGap, can have performance
issues
• Support for iOS, Android, BlackBerry, Windows
• Code forking required (e.g. if iOS then…)
Mobile Application Development
31. Future
Wearable Technology – Google Glass
•
•
•
•
•
•
•
Released to developers in 2013
Available to consumers in 2014
Fairly limited API
Works best when paired with a phone via Bluetooth
Runs Android OS
Can take photo & video
Touch & voice controlled
Mobile Application Development
32. Future
Wearable Technology – Galaxy Gear
Big!
Not well received
Requires Android 4.3
Controlled by Gear Manager
app on phone
• Can take photo or video
•
•
•
•
Mobile Application Development
34. Future
Nike+ Fuelband
• ‘Gamifies’ fitness
• Integrates with Nike+ online community
• Tracks physical activity & calories burned
Mobile Application Development
35. Future
Wearable tech – The ‘also rans’
•
•
•
•
The Bluetooth cocktail dress
Bluetooth earrings
USB Tie
iPod lederhosen
Mobile Application Development
36. Future
The connected car
• Predicted to triple
as a market in next
5 years
• Ford, Google and
Apple all vying for
platform
dominance
Mobile Application Development
37. Future
Second screen
• People are increasingly seeking a enriched experience
whilst watching television
• Viewers can interact with the main content via
smartphone or tablet
• Other applications could include providing additional
content
• Video games could provide additional interactions via
a second screen
• Increasing influence on other art forms such as live
music
Mobile Application Development