Date post: | 30-Dec-2015 |
Category: |
Documents |
Upload: | beryl-potter |
View: | 212 times |
Download: | 0 times |
Mobile Computing: a disruptive spreading trend Session 2: business models & technologies
Emiliano Del Fiume, Business Development Manager, Unisys
Trento, 12 dec 2012
HOW DO DEVELOPERSTAKE CONTROL OF THEIR DESTINY IN A CROSS-PLATFORM WORLD?
Agenda Session 1 Consumerization of IT What we do in mobility Organizations’ Point of View Let’s not reinvent the wheel… A practical way to approach the topic
Session 2 A new model to develop SW Native Apps vs Web Apps Developers’ tough choices Let’s put all togheter Recap
© 2012 Unisys Corporation. All rights reserved. 3
A new model to develop software Develop vs Aggregate: two approaches, two biz models
To get things done we can
Build all from scratch (this includes also buying snippets to integrate)
Aggregate services
Leveraging services is the new paradigm for tech and business reasons
- XaaS means: pay per use, scale-up, granularity, standardization- A service is like OO: functionality comes from a black-box, it’s not my problem
to let it work properly, any issue links to SLAs not to direct fix from my team- Services = plug-ins: if I need to change I can, quickly and transparently- I can mix complex stuff even if I do not have the specific skills- Dramatically reduced “time to market” and…- …I can experiment with low budget- Support iterative development: try aggregating then, if
needed, grab specific pieces inside my core app
© 2012 Unisys Corporation. All rights reserved. 4
Most of key things are already here:It’s a good idea to create something new just aggregating them…
http://www.wsindex.org/
http://www.programmableweb.com/apis/directory
http://www.service-repository.com/
A new model to develop software Develop vs Aggregate: two approaches, two biz models
Amazon Mechanical Turk
© 2012 Unisys Corporation. All rights reserved. 5
The XaaS model applies also to you, as a provider
We can (we should) replicate the model when we offer something, especially if we’re talking about mobile applications…
We have no chances to improve SLAs for our clients if we didn’t buy proper SLAs
We can gain offering different, even customized, levels of functionalities, availability, scalability, quantity (but not quality & UI: it has to be there always…)
Users are now accustomed to pay per use
Users are now accustomed to pay cheap prices ‘cause huge competition on Apps
WW we face tough economy issues therefore budgets shrink so “granularity” is appreciated by everyone!
Keep in mind the Store model to distribute your Apps: in some environments (ie: Apple) you cannot avoid it…
A new model to develop software Develop vs Aggregate: two approaches, two biz models
Many players build and offer free added-value services to drive people to buy something related to the compelling topic…
© 2012 Unisys Corporation. All rights reserved. 7
A new model to develop softwareWhat characteristics we should mind
Geolocalization is a key feature Intuitive, simple, gesture-based UIs Device integration (GPS, agenda, contacts…) Simplified application workflows (bear in mind if you modernize legacies) Single Page Application (SPA) approach rather than multi-page Do not tight data to device: cloud is something already in end-users’ minds Through stores you can multiply gains: do not be avid on price, look at potential
total sales (and remember users are accustomed to pay cheap prices and also business organizations are learning this lesson…)
Integration with social networks has two advantages: brings a huge number to potential “clients” to you is something people really really like. Really.
Be ready to leverage/support mobile payments keeping in mind Apple’s move (no support for NFC) splits the path…
Native Apps vs Web Apps
The never ending debate
© 2012 Unisys Corporation. All rights reserved. 9
Native Apps vs Web Apps: The never ending debateChoosing right kind of “App”
Scenario is varied…
Native apps Coded with a specific language
Hybrid appsRely on development frameworksleveraging Web techs & standards
Dedicated web appMobile web site tailored to a specific platform or form factor
Generic mobile appMobile web sites designed to match every web-enabled phone
© 2012 Unisys Corporation. All rights reserved. 10
Native Web App Hybrid
App Features
Graphics Native APIs HTML, Canvas, SVG HTML, Canvas, SVG
Performance Fast Slow Slow
Native look and feel Native Emulated Emulated
Distribution Appstore Web Appstore
Device Access
Camera Yes No Yes
Notifications Yes No Yes
Contacts, calendar Yes No Yes
Offline storage Secure file storage Shared SQL Secure file system, shared SQL
Geolocation Yes Yes Yes
Gestures
Swipe Yes Yes Yes
Pinch, spread Yes No Yes
Connectivity Online and offline Mostly online Online and offline
Development skills ObjectiveC, Java, .NET HTML5, CSS, Javascript HTML5, CSS, Javascript
Source: DeveloperForce (http://wiki.developerforce.com)
Native Apps vs Web Apps: The never ending debateChoosing right kind of “App”: Tradeoffs
© 2012 Unisys Corporation. All rights reserved. 11
Source: www.asymco.com
Native Apps vs Web Apps: The never ending debateLet’s not simplify the reality!
© 2012 Unisys Corporation. All rights reserved. 12
Few players are offering converging platforms to manage the entire “Mobile lifecycle” (build & distribute + manage devices)
SAP Antenna Software Syclo (now SAP)
Key players are converging to Web standards: mainly HTML5 + Javascript:
MS, IBM, Google, Facebook and others agree on overall approach
Strangely, Gartner doesn’t agree…
Proliferation of (Web) frameworks: they can be an alternative to the above or can integrate
MDM platforms will become “commodity” in thefuture (according to SAP and others)
Store model is helpful for small developers but large companies often doesn’t like it (see FT…)
Native Apps vs Web Apps: The never ending debateHow IT players act
Gartner Magic Quadrant for MADP
© 2012 Unisys Corporation. All rights reserved. 13
Source: Gartner, august 2012
HTML5 is already a standard de facto with interesting capabilities Native video playback New tags to support Semantic Web, Media, etc. Offline & Storage Bi-directional optimizied connectivity (through Websockets) Native drag & drop Device access (GPS, phone) 2D, 3D, Graphics & Effects Advanced CSS Proposed extensions allow management of peculiar devices’ characteristics
Javascript is not the JS we used to know: now it’s a real A-grade language with advanced features
Pros We can do real sophisticated things just with JS (including graphics) We can use JS also on server side (=simplify skill sets in project team)
Cons Legacy use of JS is not enough: developers have to update their skills
Native Apps vs Web Apps: The never ending debateWeb technologies and the skills…
© 2012 Unisys Corporation. All rights reserved. 14
With HTML5+Javascript+Json+XML+frameworks today we can achieve: Asyncronous programming model Loosely coupled layers Two-way optimized communications (with WebSockets) Data persistence Disconnected working even with Web App/Sites
Moreover: Security is already guaranteed by SSL Web services are well know to de-couple layers OpenID allows authentication through external authorities (FB) OAuth supports cross-domains authorization Round-trip avoidance was already possible with AJAX+Comet
It’s already possible to build complex applications for mobile using the above technologies and standards (ie: LinkedIn app for mobile is 95% based on HTML5)
Native Apps vs Web Apps: The never ending debateWeb technologies and the skills…
Use of Javascript on server side is becoming a common approach, mainly leveraging the Google V8 engine + framework
© 2012 Unisys Corporation. All rights reserved. 15
Native Apps vs Web Apps: The never ending debateHow to choose the best tech approach
If you want to choose the right approach for you, mind this questions: How many platforms do we want/need to support? How important is the user experience (and what do we mean with UX)? How important is performance? What language(s) our team know? What’s about our budget? Do we already have tech platforms in-house capable to support mobile
development (i.e.: SAP SUP)?
But note that Most of recent tools and major players support
HTML+Javascript: IBM Worklight, MS VisualStudio… For internal Apps maybe your company picks up one
standard therefore a multi-platform development could be just an excessive zeal…
The Developer’s tough choices…
© 2012 Unisys Corporation. All rights reserved. 17
The Developer’s tough choicesUser Interface: one for all, customized, standard…
Multiple OSes and multiplce devices can suggest to Create one UI for all Be consistent with standard OS UIs Create customized UIs to fit layouts, dimensions, etc.
© 2012 Unisys Corporation. All rights reserved. 18
The Developer’s tough choicesUser Interface: one for all, customized, standard…
Source: Microsoft’s free book “Developing Modern Mobile Web Apps”
© 2012 Unisys Corporation. All rights reserved. 19
The Developer’s tough choicesPerformances & UX
If you develop Web App or Hybrid App avoid the fatal error to think like for usual Web Applications for desktops!
Average payload for a modern page is 1MB: it’s too much for mobile devices Multipage approach is really boring for users and wastes bandwidth New development paradigms imposed by OSes (iOS, Windows 8) do not allow you to waste
time, to hang the device, etc. Users are virtually always connected, their devices not surely!!
Solutions
Websocket (replaces AJAX+Comet) and optimize a lot the channel avoiding HTTP headers Leverage CSS sprites Compress data (JSon vs XML) Do graphics on client, not images from server SPA model Leverage offline capabilities through local storage (user/session/DB) Preload data in async (during pauses) Rethink the application workflow: “mobilizing” rigidly the legacy application is too simplistic
© 2012 Unisys Corporation. All rights reserved. 20
The Developer’s tough choicesHow to mobilize the existing solutions
Mobile is not just about the device: don’t simplify! Virtual Desktops (just if you’re desperate! Doesn’t work to convince client to go to mobile!)
For specific functionalities, leverage products’ capabilities (i.e.: BI dashboards)
Rethink, in this order,
1. Process/procedure2. Application workflow3. User interaction
If you already have a Web Application you can reuse skills with
Web App (great reuse maybe 95%, some compromises) Hybrid App (better UX and performances, less reuse)
Proxy solutions (especially for terminal-based applications)
Scout specialized products according to your needs (i.e.: content delivery & management)
Have a look at “Stores”: likely your needs are not so unique! Your users already know.
The ecosystem of independent developers is huge: de-coupling layers you can let others to develop your app while you update your back-end
Openly look at external (cloud) services instead of re-writing functionalities.
Let’s put all togheter
Just an example…
Just an example…
OpenIDAmazon API(Rest WS)
Local Storage
JQuery Mobile
PhoneGap
Modernizr
Web App to Hybrid
Websocket
Let’s go beyond…
© 2012 Unisys Corporation. All rights reserved. 25
Final Recap
Mobile computing is not a matter of the device Cloud philosophy is key (quite mandatory) Social computing is a strong plus Maps are heavily used by users / Geolocalization is really useful Market is fragmented: 3 players doesn’t mean 3 devices You have freedom and flexibility to reuse existing skills, updating them Gaming & Mobile TV are the new frontier in mobile business Mobile payments are just around the corner: do not miss it! Users want ubiquity for their data (cloud, again) Security is not an obstacle, is just something to manage Mobile devices can help to improve security on legacy tasks Technologies, products & standards are already here: do not wait! In businesses, Windows 8 will play the major role Try Web Apps to modernize existing applications Go Hybrid until you need native Apps for clear reasons
Docs & slides for you:http://emiliano.delfiume.it/TR
Thank you
Q & A