Mobile Application Development

Similar documents
MOBILIZING ORACLE APPLICATIONS ERP. An Approach for Building Scalable Mobility Solutions. A RapidValue Solutions Whitepaper

RapidValue Enabling Mobility. How to Choose the Right Architecture For Your Mobile Application

Developing and deploying mobile apps

Cross-Platform Tools

Building native mobile apps for Digital Factory

Mobile App Testing Guide. Basics of Mobile App Testing

Statement of Direction

Introduction to IBM Worklight Mobile Platform

Development of mobile applications for multiple platforms

Mobile App Infrastructure for Cross-Platform Deployment (N11-38)

Implementing Mobile Thin client Architecture For Enterprise Application

The Suitability of Native Application for University E-Learning Compared to Web-Based Application

How To Develop A Mobile Application On An Android Device

SYST35300 Hybrid Mobile Application Development

Take full advantage of IBM s IDEs for end- to- end mobile development

Middleware- Driven Mobile Applications

Enterprise Mobile Solutions

HYBRID APPLICATION DEVELOPMENT IN PHONEGAP USING UI TOOLKITS

Enterprise Mobile Application Development: Native or Hybrid?

A Beginners Guide To Responsive, Mobile & Native Websites 2013 Enhance.ie.All Rights Reserved.

... Introduction Acknowledgments... 19

How to Choose Right Mobile Development Platform BROWSER, HYBRID, OR NATIVE

Dave Haseman, Ross. Hightower. Mobile Development for SAP* ^>. Galileo Press. Bonn. Boston

MENDIX FOR MOBILE APP DEVELOPMENT WHITE PAPER

Responsive Web Design. vs. Mobile Web App: What s Best for Your Enterprise? A WhitePaper by RapidValue Solutions

BELATRIX SOFTWARE. Why you should be moving to mobile Cross Platform Development? Introduction

Mobility Introduction Android. Duration 16 Working days Start Date 1 st Oct 2013

Whitepaper. Trans. for Mobile

Developing Cross-platform Mobile and Web Apps

Mobile Application Platform

Navigating the Mobile App Development Landscape

Cross-Platform Development

Choosing a Mobile Application Development Approach

Technology Services...Ahead of Times. Enterprise Application on ipad

Smartphone Enterprise Application Integration

CHOOSING THE RIGHT HTML5 FRAMEWORK To Build Your Mobile Web Application

Choosing a Mobile Strategy for Your Business

Native vs. HTML5 Mobile App Development

ios SDK possibilities & limitations

CROSS PLATFORM DEVELOPMENT The HTML5 Way

Issues of Hybrid Mobile Application Development with PhoneGap: a Case Study of Insurance Mobile Application

Article. One for All Apps in HTML5

research: technical implemenation

Best practices building multi-platform apps. John Hasthorpe & Josh Venman

HTML5: Separating Fact and Fiction. #wipjam

separate the content technology display or delivery technology

Cross Platform Applications with IBM Worklight

Sybase Unwired Platform 2.0

POINT-TO-POINT vs. MEAP THE RIGHT APPROACH FOR AN INTEGRATED MOBILITY SOLUTION

Leveraging Partners and Open Source Technology in your Mobility Strategy. emids webinar Thursday, August 11, :00 pm 2:00 pm EDT

Dasharatham Bitla (Dash)

ADF Mobile Overview and Frequently Asked Questions

50 shades of Siebel mobile

MaaSter Microsoft Ecosystem Management with MaaS360. Chuck Brown Jimmy Tsang

TECHNOLOGIES MOBILE STRATEGY

Mobile Cross Platform Development really? Jonathan Marshall, IBM Mobile Technical Specialist IBM Corporation

Comparing Native Apps with HTML5:

Enterprise Mobile App Management Essentials. Presented by Ryan Hope and John Nielsen

Mobile Development Frameworks Overview. Understand the pros and cons of using different mobile development frameworks for mobile projects.

Republic Polytechnic School of Infocomm C308 Web Framework. Module Curriculum

Rhomobile cross-platfrom

the future of mobile web by startech.ro

Mobile Learning Basics + (Free) Mobile Learning Guide. Jason Haag and Marcus Birtwhistle

Native, web or hybrid mobile-app development

THE LINK OFFLINE DATA ARCHITECTURE

Automated testing for Mobility New age applications require New age Mobility solutions

Multi-Platform Mobile Application Development Analysis. Lisandro Delía Nicolás Galdámez Pablo Thomas Leonardo Corbalán Patricia Pesado

ORACLE MOBILE APPLICATION FRAMEWORK DATA SHEET

HTML5 : carrier grade

The Bootstrapper's Guide to the Mobile Web by Deltina Hay. Mobile App Strategy Worksheet. I. Target Market, App Category, Platforms

Dealing with the Dilemma: Mobile App Development Approach & Decisions

Optimizing your E-Business Suite for Mobile and Tablet

Experimental Comparison of Hybrid and Native Applications for Mobile Systems

True Web Application Management: Fixing the Gaps in EMM Solutions

Develop enterprise mobile applications with IBM Rational software

Designing for the Mobile Web Lesson 3: HTML5 Web Apps

ORACLE ADF MOBILE DATA SHEET

Copyright 2012, Oracle and/or its affiliates. All rights reserved.

Using Cloud Services for Building Next Generation Mobile Apps

Introduction to Oracle Mobile Application Framework Raghu Srinivasan, Director Development Mobile and Cloud Development Tools Oracle

ArcGIS Web Mapping. Sam Berg, esri

MITEL MiCOLLAB KEEPING PEOPLE CONNECTED AND PRODUCTIVE ANYTIME, ANYWHERE, ON ANY DEVICE KEY BENEFITS

Lecture 4 Cross-Platform Development. <lecturer, date>

Electronic Ticket and Check-in System for Indico Conferences

Evaluating Cross-Platform Development Approaches (WORA Tools ) for Mobile Applications

Responsive Web Design in Application Express

White Paper. Anywhere, Any Device File Access with IT in Control. Enterprise File Serving 2.0

Safe Harbor Statement


Transcription:

Web Engineering Mobile Application Development Copyright 2015 Slides from Federico M. Facca (2010), Nelia Lasierra (updates) 1

2

Where we are? # Date Title 1 5 th March Web Engineering Introduction and Overview 2 12 th March Requirements Engineering for Web Applications 3 19 th March Web Application Modeling 4 26 th March Web Application Architectures 5 16 th April ------ 6 23 rd April Developing Applications with WebML Testing and Usability 7 30 th April Web Technologies I 8 7 th May Web Application Security 9 21 th May Web Application Development Process 10 28 th May Web Technologies II 11 11 th June Project Management for Web Applications 12 18 th June Mobile Application Development 13 25 th June Final Exam 3

Overview Motivation Technical Solution Mobile Web Architectures Bootstrap Trends 4

Motivation 5

Why do we want to learn about WE at all? - 13 Feb 2014 - Next Up: Mobile Web Strategy is Key To succeed in this changing web environment, marketers and web professionals need to have a mobile web strategy. http://www.wired.com/2014/02/web-dead/ 6

Motivation The Mobile market grows rapidly worldwide Almost 1 mobile device per person http://singularityhub.com/2014/02/18/there-are-7-billion-mobile-devices-on-earth-almost-onefor-each-person/ By the end of 2018, the number of worldwide mobile users is expected to increase to over 6.2 billion. Roughly 84% of the world population will be using mobile technology by year-end 2018 http://www.radicati.com/wp/wp-content/uploads/2014/01/mobile-statistics-report-2014-2018- Executive-Summary.pdf Other interesting statistics http://www.smartinsights.com/mobile-marketing/mobile-marketing-analytics/mobilemarketing-statistics/ 7

Motivation Internet Usage (Mobile vs Personal Computers) Image taken from: http://searchenginewatch.com/sew/opinion/2353616/mobile-now-exceeds-pc-the-biggest-shift-since-the-internet-began 8

Why Mobile Web is so popular? Internet access "on the go" provides advantages to many, such as the ability to communicate by email with others and obtain information anywhere, the web, accessed from mobile devices Anytime and anywhere access Enables people to take advantage of Internet services even though usually they do not access Internet through a PC Make Internet access easy and cheap Brought new services on mobile phones [Slide from Federico Facca Web Engineering STI Innsbruck 2010] 9

Why Was Apple s iphone revolutionary? In short: it made Mobile Web real. But how? The device it s very well designed and offers new touch screen based ways to navigate the Internet But still this is not really the motivation why Mobile Web become real, the real reason is mostly the new marketing strategy adopted Created a Web2.0 market place for applications User can easily search for applications matching their needs, install them and updated them Forced mobile providers to provide cheap Internet connection with device Flat rate, 3GB cost around 15 euro per month. Before you could pay more than 100 euro for the same amount of data Everyone copied them, not only in term of device capability but also in term of marketing strategy [Slide from Federico Facca Web Engineering STI Innsbruck 2010] 10

Mobile application development: the basics 11

Mobile Applications vs Desktop Applications Less Computing Power Need to keep down power consumption Connection not 100% available Smaller display Different means of interactions Mobile services (GPS, SMS, ) A multitude of Operating Systems Event driven paradigm 12

Mobile Devices Constraints II Types of pages accessible Many sites that can be accessed on a desktop cannot on a mobile device. Many devices cannot access pages with a secured connection, Flash or other similar software, PDFs, or video sites, although recently this has been changing. Broken pages On many devices, a single page as viewed on a desktop is broken into segments, which are each treated as a separate page. Paired with the slow speed, navigation between these pages is slow. 13

Mobile Applications Architectures 14

Which mobile architecture is the best for your application? Choosing the right application solution is complex smart phones, tablets, etc The mobile marketplace is characterized by a variety of operating systems and device types that evolve at different rates. Mobile applications can be developed in 3 main ways: Native Apps Cross-Platform Apps Mobile Web Apps Information taken from: White Paper by RapidValue Solutions Nov 2012 15

Which mobile architecture is the best for your application? Native Apps Build the application in its native code to run on a specific device and operating system. The app is downloaded from an app store and resides on the device. Build the app using native frameworks: iphone SDK, Android SDK, Windows Phone SDK Underlying technology: iphone: Objective C, Android: Java, Windows Phone:.NET When? User experience vs Cost Apps requiring high-end user experience Large user base on one device (e.g. physicians with ipad) Offline usage Apps requiring extensive device and/or OS functions Information taken from: White Paper by RapidValue Solutions Nov 2012 16

Which mobile architecture is the best for your application? Cross-Platform Apps: Build the application once using a cross-platform framework and run it on multiple mobile platforms (after fine-tuning for each platform). It s also downloaded from an app store and resides on the device Build once, deploy on multiple platforms as native apps: RhoMobile, Titanium Appcelerator, PhoneGap, Worklight Underlying technology: RhoMobile: Ruby on Rails, Appcelerator: Javascript, HTML, PhoneGap: Javascript, HTML, Worklight: Javascript, HTML When? User experience vs Cost Simpler apps, offline Usage Multiple device types distributed across key users Works well for a number of enterprise applications that do not require heavy device functions Information taken from: White Paper by RapidValue Solutions Nov 2012 17

Which mobile architecture is the best for your application? Mobile Web Apps Build the application to run over the internet from a central server, from where it can be accessed by any device with a web browser. Built using web technologies: HTML5, Sencha, JQuery Mobile Underlying technology: Javascript, HTML When? Audience Reach vs Performance Generic user experience, performance depends on Internet connection User base across smart phone platforms Need to maintain single code base Moderate amount of device functions Information taken from: White Paper by RapidValue Solutions Nov 2012 18

Apps vs Mobile web apps The most appropriate choice really depends on your end goals. Mobile web app: Mobile web presence App: Specific purpose Advantages of Mobile web applications: broader accessibility, compatibility and cost-effectiveness. Immediacy Mobile Websites Are Instantly Available Compatibility Mobile Websites are Compatible Across Devices Upgradability Mobile Websites Can Be Updated Instantly Findability Mobile Websites Can be Found Easily Shareability Mobile Websites Can be Shared Easily by Publishers, and Between Users Reach Mobile Websites Have Broader Reach LifeCycle Mobile Websites Can t be Deleted A Mobile Website Can be an App! Time and Cost - Mobile Websites are Easier and Less Expensive Support and Sustainability Information taken from: http://www.hswsolutions.com/services/mobile-web-development/mobile-website-vs-apps/ 19

Reference Architecture for Mobile Web Applications Specialization of a three tier architecture 20

Reference Architecture for Mobile Web Applications 3 Layer architecture (logic) Some parts of data (data sources) and some parts of logic (services) are accessed via remote connection http://apparchguide.codeplex.com/ 21

Presentation Layer The presentation layer is responsible for all interactions with the user Common ways to present data to mobile users: HTML Native UI 22

Business-Logic Layer The business-logic layer is responsible for implementing the basic rules of the system according to the operating rules of the business This layer is in charge of accessing the data tier and for processing the data retrieved and sent to the presentation layer 23

Data Layer The main function of the data layer is to provide fast, reliable access to data needed to run a system Additionally, the data layer is responsible for maintaining information about the relationships between data 24

Design Challenges Authentication vs. Authorization How to simplify Mobile User access to Web APIs and Services Speed Traps How to avoid excessive number of request that may saturate the available bandwidth to the device (and cause higher connection prices) Large Data Set Handling How to handle large data set so as to reduce response time and bandwidth consumption User Interaction How to deal with constraints posed by mobile devices displays, connections to provide and effective interaction to users 25

Authentication vs. Authorization Definitions Authentication is any process by which a system verifies the identity of a user who wishes to access it [http://mtechit.com/concepts/authentication.html] Authorization is the process of giving someone permission to do or have something [http://hitachi-id.com/concepts/authorization.html] Security is an important concern over mobile connections where devices are used in more open environments Usual desktop solutions for authentication and authorization that requires complex interaction with remote services may constitute a complex overhead to mobile users Thus we need to adopt principles to simply, but still retain security of access to remote services through mobile devices Authentication from the API provider based on API Key stored on the devices can avoid user to provide their authorization details. 26

Speed Traps Connection in mobile environments is subject to different quality in different contexts Connection could be on wifi, 3G or 1G based signal and bandwidth Connection is a scarce resource Connection may not be always available Thus we need to adapt to connection quality and availability by Segmenting functionality and/or calls to prevent bandwidth issues Adopting polling techniques that adapts to the available bandwidth and connection Create subset of calls and functionality when on slower bandwidth Use notifications if possible Modify polling interval based on need Recovering from intermittent or lost connections 27

Large Data Set Handling Overview Data transmission is a costly resource In term of performances, bandwidth and a service cost Transmission of large chunk of data is more error prone than small chunk of data Quality of connection is not constant in a mobile environment Thus we need to minimize large data sets, by employing techniques such as: Ask for only those elements that you require (Filtering) Ask for only those items that you require (Paging) Cache what you can locally instead of requesting the same data (Caching) 28

User Interaction Besides issues related to connection aspects, adoption of mobile devices poses challenges for the User Interaction Asking for new information using synchronous call, due to bandwidth limitations may totally block user interactions with the application Re-requesting already accessed information may end up in making slower the interaction Thus we need to employ techniques that hides the limitations of mobile devices and mobile connections by Caching of information for future retrieval and navigation Execute web service parsing and display in background when possible to prevent UI blocking Use JIT and Information on Demand to maximize small layouts and minimize web service calls 29

Mobile Web App Frameworks 30

Mobile Web App Frameworks Bootstrap Free & open-source collection of tools for creating websites and web applications. Contains HTML, CSS, and JavaScript framework for developing responsive, mobile-first web sites. Responsive web design is about creating web sites which automatically adjust themselves to look good on all devices, from small phones to large desktops http://getbootstrap.com/ http://www.w3schools.com/bootstrap/bootstrap_get_started.asp 31

Mobile Web App Frameworks Bootstrap Bootstrap was developed by Mark Otto and Jacob Thornton at Twitter, and released as an open source product in August 2011 on GitHub. Bootstrap 3 is designed to be responsive to mobile devices Advantages: Easy to use knowledge of HTML and CSS Responsive features adjusts to phones, tablets, and desktops Mobile-first approach mobile-first styles are part of the core framework (Bootstrap 3) Browser compatibility Bootstrap is compatible with all modern browsers http://www.w3schools.com/bootstrap/bootstrap_get_started.asp 32

Mobile Web App Frameworks Bootstrap Why to use Bootstrap? http://www.sitepoint.com/11-reasons-to-use-twitter-bootstrap/ Tutorial http://www.w3schools.com/bootstrap/default.asp Example: http://www.w3schools.com/bootstrap/tryit.asp?filename=trybs_default&stacked=h http://getbootstrap.com/ GitHub: https://github.com/twbs/bootstrap http://www.w3schools.com/bootstrap/bootstrap_get_started.asp 33

Mobile App Development Trends Worldwide The global app economy was worth $68 billion in 2013 and is projected to grow to $143 billion in 2016 Tablets attract 83% of app developers but just 12% of developers target tablets as their primary development screen Information from: Developer Economics Q1 2014: State of the Developer Nation Source: http://www.visionmobile.com/product/developer-economics-q1-2014-state-developer-nation/ 34

Mobile App Development Trends Worldwide Android continues to dominate Developer Mindshare with 71% of developers that target mobile platforms, developing for Android Apple's ios comes as a distant second at 55% of global app Developer Mindshare. ios is strong in Europe and North America, but takes third position behind HTML5 in South Asia, South America and Middle East & Africa HTML5 is both an app deployment platform (on-browser) and a technology for creating native apps (off-browser). 37% of mobile developers use HTML5 as a platform, i.e. to develop mobile websites, or web-apps ios is the preferred platform for developers in North America and Western Europe while Android wins in every other region Source: http://www.visionmobile.com/product/developer-economics-q1-2014-state-developer-nation/ https://blog.newrelic.com/2014/06/13/mobile-app-development-trends-worldwide-need-know/ 35

Next Lecture # Date Title 1 5 th March Web Engineering Introduction and Overview 2 12 th March Requirements Engineering for Web Applications 3 19 th March Web Application Modeling 4 26 th March Web Application Architectures 5 16 th April ------ 6 23 rd April Developing Applications with WebML Testing and Usability 7 30 th April Web Technologies I 8 7 th May Web Application Security 9 21 th May Web Application Development Process 10 28 th May Web Technologies II 11 11 th June Project Management for Web Applications 12 18 th June Mobile Application Development 13 25 th June Final Exam 36

Questions? 37