Multi-Platform Application Development Strategies for ... · User Experience 2014 Tech Refresh ....

15
Multi-Platform Application Development Strategies for Disconnected Mobile Applications Gunnison Consulting Group, Inc March 29, 2012

Transcript of Multi-Platform Application Development Strategies for ... · User Experience 2014 Tech Refresh ....

Page 1: Multi-Platform Application Development Strategies for ... · User Experience 2014 Tech Refresh . Technical Approach Options Native Objective C (iOS) Java ... If an organization is

Multi-Platform Application Development Strategies for

Disconnected Mobile Applications

Gunnison Consulting Group, Inc

March 29, 2012

Page 2: Multi-Platform Application Development Strategies for ... · User Experience 2014 Tech Refresh . Technical Approach Options Native Objective C (iOS) Java ... If an organization is

Gunnison at Census

DSSD DSCMO ACSO

TMO EPCD CARRA

MapText ADI Agilex

Providing full lifecycle software engineering at Census since 1994.

Page 3: Multi-Platform Application Development Strategies for ... · User Experience 2014 Tech Refresh . Technical Approach Options Native Objective C (iOS) Java ... If an organization is

TMO in Context

Census

Enterprise

Architecture

New Mobile

Device

Technology

Ongoing

Current

Surveys

Market

Competition

External

Survey

Sponsors

TMO

R&D

Program

2020

Planning

Security

Resource

Constraints

Forces Influencing TMO R&D Activities

Page 4: Multi-Platform Application Development Strategies for ... · User Experience 2014 Tech Refresh . Technical Approach Options Native Objective C (iOS) Java ... If an organization is

The Near Term Goal

Blaise on Windows

Disconnected

Multi-Platform

User Experience 2014 Tech

Refresh

Page 5: Multi-Platform Application Development Strategies for ... · User Experience 2014 Tech Refresh . Technical Approach Options Native Objective C (iOS) Java ... If an organization is

Technical Approach Options

Native

Objective C (iOS)

Java (Android)

.NET (Windows)

C/C++

3rd Party Platforms

MEAP

MCAP

HTML5

Javascript

CSS

HTML

Virtualization

Citrix

GoToMyPC

Remote Desktop

Page 6: Multi-Platform Application Development Strategies for ... · User Experience 2014 Tech Refresh . Technical Approach Options Native Objective C (iOS) Java ... If an organization is

Mobile Enterprise Application Platforms (MEAP)

Page 7: Multi-Platform Application Development Strategies for ... · User Experience 2014 Tech Refresh . Technical Approach Options Native Objective C (iOS) Java ... If an organization is

Why this is hard…

• The technical challenges: – Battery Life – Memory Management (esp. on iOS) – .NET on ARM (Windows 8) – Thread Management (esp. in Android) – Consumer focus – Strong differences in platform-specific languages – Laptop vs. Tablet

• Gartner recommendations: • “Over analysis is a risk in an immature market.” • Rule of Three: “If an organization is targeting three or more device platforms, if they

have three or more applications, or if they have three or more back-end systems, then the multichannel or cross-platform tools typically yield better project results during the course of three to five years than native tools.”

• “Enterprises need to consider whether they can mitigate platform uncertainty by adopting a single platform strategy for 2011 to 2012.”

(Choosing Cross-Platform Tools for Native Mobile Applications, G00211990) (Magic Quadrant for Mobile Enterprise Application Platforms, G00211688) (Critical Capabilities for Mobile Enterprise Application Platforms, G00212257)

Page 8: Multi-Platform Application Development Strategies for ... · User Experience 2014 Tech Refresh . Technical Approach Options Native Objective C (iOS) Java ... If an organization is

The Promise of HTML5

Page 9: Multi-Platform Application Development Strategies for ... · User Experience 2014 Tech Refresh . Technical Approach Options Native Objective C (iOS) Java ... If an organization is

HTML5 and the Cloud

Image Source: http://smallbiztechnology.com/

Page 10: Multi-Platform Application Development Strategies for ... · User Experience 2014 Tech Refresh . Technical Approach Options Native Objective C (iOS) Java ... If an organization is

What about connectivity?

• Web Storage

• Application Cache

• Web SQL

• Indexed DB

Page 11: Multi-Platform Application Development Strategies for ... · User Experience 2014 Tech Refresh . Technical Approach Options Native Objective C (iOS) Java ... If an organization is

Native Code: How much design can be shared across platforms?

View

View Controllers

Model

C/C++ Libraries

Open GL Graphics Layer

Database Design

Page 12: Multi-Platform Application Development Strategies for ... · User Experience 2014 Tech Refresh . Technical Approach Options Native Objective C (iOS) Java ... If an organization is

UML + XML/XSD + O-O

iOS Native

Application

HTML5

Application

Android

Native

Application

Win Tablet

Application

Windows

Laptop:Blaise

Blaise

Survey

Specification

UML2

Survey

Data Model

XSD

Specification of

UML2 Survey

Data Model

Page 13: Multi-Platform Application Development Strategies for ... · User Experience 2014 Tech Refresh . Technical Approach Options Native Objective C (iOS) Java ... If an organization is

The Role of Agile SCRUM

Page 14: Multi-Platform Application Development Strategies for ... · User Experience 2014 Tech Refresh . Technical Approach Options Native Objective C (iOS) Java ... If an organization is

“Build 5 Ways” Rapid Prototyping

iOS S3 S2 S1

Android S1 S2

.NET S1

HTML5 S1

MEAP

Page 15: Multi-Platform Application Development Strategies for ... · User Experience 2014 Tech Refresh . Technical Approach Options Native Objective C (iOS) Java ... If an organization is