simon bates, manifesto digital - mobile application development: past, present and future?
DESCRIPTION
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/TRANSCRIPT
Mobile Application
Development Past, present and future?
Simon Bates
About me
Mobile Application Development
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
Manifesto Digital
Mobile Application Development
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 Apps
Mobile Application Development
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
Some Stats
Mobile Application Development
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
Past
Mobile Application Development
First cellular mobile phone call in public made on 3rd April 1973 by Martin Cooper.
Where did it all begin?
Past
Mobile Application Development
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
Past
Mobile Application Development
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.
Past
Mobile Application Development
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
Past
Mobile Application Development
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
Past
Mobile Application Development
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
Past
Mobile Application Development
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).
Past
Mobile Application Development
• 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 %
Symbian
Past
Mobile Application Development
• Development taken over by Accenture June 2011
• 11th February 2011 – Nokia replacing with WP8
• 808 Pureview last Symbian phone – February 2012
Symbian
Present
Mobile Application Development
• Derived from NeXTSTEP (early 80s)
• Main programming language is Objective C
• Development uses xCode IDE, which as an in-built iOS simulator
iOS
Present
Mobile Application Development
• Less fragmentation • New feature usually
available very quickly • usually use new features
immediately • OpenGL as standard • Navigation is non-
prescriptive
iOS - Pros
Present
Mobile Application Development
• More closed • Need a Mac to develop • App store review guidelines
not always easy to understand
• App signing process non-trivial
• Need Apple certificate to install to own device
iOS - Cons
Present
Mobile Application Development
• Based on Linux kernel • First launched in 2007 • API is Java • ByteCode converted to
Dalvik VM Bytecode • Can write native code in C
Android
Present
Mobile Application Development
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
Present
Mobile Application Development
• 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
Android - Pros
Present
Mobile Application Development
• 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
Android - Cons
Present
Mobile Application Development
• 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
Windows Phone 8
Present
Mobile Application Development
• Visual studio 2012 IDE • Background Transfer
service • Needs to be reviewed
for inclusion in store – similar restrictions to iOS
• Low take up
Windows Phone 8
Present
Mobile Application Development
• 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)
BlackBerry 10
Present
Mobile Application Development
• WebWorks for HTML5 and JS apps
• Can also use Adobe AIR or Java
• Blackberry runtime for Android apps
• Publishing requires approval – 10 business days
BlackBerry 10
Present
Mobile Application Development
• 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
Multiple phone web-based application frameworks
Present
Mobile Application Development
• 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.)
PhoneGap
Present
Mobile Application Development
• 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…)
Titanium Mobile
Future
Mobile Application Development
Wearable Technology
Future
Mobile Application Development
Wearable Technology
http://www.youtube.com/watch?v=JSnB06um5r4
Future
Mobile Application Development
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
Future
Mobile Application Development
Wearable Technology – Galaxy Gear
• Big! • Not well received • Requires Android 4.3 • Controlled by Gear Manager
app on phone • Can take photo or video
Future
Mobile Application Development
Future
Mobile Application Development
Nike+ Fuelband
• ‘Gamifies’ fitness • Integrates with Nike+ online community • Tracks physical activity & calories burned
Future
Mobile Application Development
Wearable tech – The ‘also rans’
• The Bluetooth cocktail dress • Bluetooth earrings • USB Tie • iPod lederhosen
Future
Mobile Application Development
The connected car • Predicted to triple
as a market in next 5 years
• Ford, Google and Apple all vying for platform dominance
Future
Mobile Application Development
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
Questions?
Mobile Application Development
@simongbates @manifestovstech manifesto.co.uk [email protected]