Designing and Developing Custom Mobile Applications

42
Best Practices for Developing and Deploying Mobile Apps in an Enterprise Environment Presenters: William Dunn President Dunn Solutions Group Kenneth Yeung Consulting Manager Application Development Dunn Solutions Group Iat Ieong Consultiant Application Development Dunn Solutions Group

Transcript of Designing and Developing Custom Mobile Applications

Page 1: Designing and Developing Custom Mobile Applications

Best Practices for Developing and Deploying

Mobile Apps in an Enterprise Environment

Presenters:

William Dunn

President

Dunn Solutions Group

Kenneth Yeung

Consulting Manager – Application Development

Dunn Solutions Group

Iat Ieong

Consultiant – Application Development

Dunn Solutions Group

Page 2: Designing and Developing Custom Mobile Applications

Introduction

Value of Mobile Application Development

Challenges with Mobile App Development

Solution

Demo

Q/A

Agenda

Page 3: Designing and Developing Custom Mobile Applications

Full-service IT consulting firm

Founded in 1988

Offices

Chicago

Minneapolis

Raleigh

Bangalore, India

Dunn Solutions Group Overview

Chicago Minneapolis Raleigh Bangalore

Page 4: Designing and Developing Custom Mobile Applications

Practice Areas

Business Intelligence

DI + EIM/Quality

Budgeting & Planning

End-to-End BI

Data Warehouse

Dashboards

Map Intelligence

Managed Services

Predictive Analytics

Training

Open-Enrollment

On-Site + Custom

Jumpstart/Mentoring

Packaged Solutions

Legal Dashboard

Visible Visitors

Application Development

Web Design

E-Commerce

Custom App Dev

Mobile App Dev

Portals

Page 6: Designing and Developing Custom Mobile Applications

Introduction

Value of Mobile Application Development

Challenges with Mobile App Development

Solution

Demo

Q/A

Agenda

Page 8: Designing and Developing Custom Mobile Applications

Business Value of Mobile Apps

Enable Workers to be productive no matter where

they are

Delays cost money

Decision can be made in the “field”

Being able to close a deal right away captures more opportunity

Every one has a smart device

Computer in your pocket

Always Connected?

Location-Based Awareness

Productive even with an intermittent connection

Page 9: Designing and Developing Custom Mobile Applications

Enterprise Mobile Application Case Study

Company: Large medical device company

Problem: They let hospitals keep their devices on

consignment and bill as used. Monthly manual

inventory process for Field Sales Reps was time

consuming and prone to errors

Solution: Field Sales Reps use custom mobile iPad

application. iPad app downloads datasets from the

company database and stores locally on iPad, to

ensure data access.

Process: Reps update inventory quantities and collect

digitized authorization signature. App pushes data back

into database for analysis and immediate order

fulfillment.

Results:

• Inventory manual process eliminated

• Reduction of tracking and input errors

• Inventory delivered more quickly

• Digitized signature eliminates paperwork

Page 10: Designing and Developing Custom Mobile Applications

What is the #1 Consumer App?

Page 11: Designing and Developing Custom Mobile Applications

Differences between Consumer and Enterprise Apps

Consumer Apps

Angry Birds

Enterprise Apps

Order Entry / Inventory / Business Process

Page 12: Designing and Developing Custom Mobile Applications

Enterprise Mobile Apps Need to Deal With

Multiple Mobile Platforms

Security

Backend Integration

Page 13: Designing and Developing Custom Mobile Applications

Bring Your Own Device To Work (BYOD)

In the past, companies used to purchase the mobile

devices for their workers.

Today, more companies are allowing workers to bring

their choice of mobile device to work

Accommodating worker tech preference is part of

creating flexibility work environment.

Make remote work situations more feasible

BYOD make it easier for workers to work with

information during more hours and at more locations.

Therefore, workers are more productive, helps the

company bottom line

Page 14: Designing and Developing Custom Mobile Applications

Mobilizing the Enterprise Is Complex

Page 15: Designing and Developing Custom Mobile Applications

Challenges Supporting Multiple Mobile Platforms

Enterprise Mobile Apps now need to support a range

of mobile devices

Support for multiple and major mobile smartphone and tablet

devices.

Platforms

Windows

iOS

Android

Other?

Page 16: Designing and Developing Custom Mobile Applications

When to go “native”?

Objective C++ (iOS)

Java (Android)

C# (Windows)

HTML5 / Javascript

Page 17: Designing and Developing Custom Mobile Applications

Use native programming languages when..

Very customized user experience

Games

Visualizations

Augmented Reality

Need to access proprietary or specialize hardware

Speed / Performance of application is critical

Page 18: Designing and Developing Custom Mobile Applications

Why should we use HTML5, CSS, and Javascript?

HTML5 support multimedia without plugin

It is “understood” by all computers and devices

A generic approach to develop mobile apps that work

across all platforms without the cost and complexity

of creating and maintaining apps for multiple

platforms

Leverage existing web development resources to

build enterprise mobile apps. Hence, minimize

additional investments

Page 19: Designing and Developing Custom Mobile Applications

Best Practices in Mobile Development

Design Considerations

Make your text readable -- don’t force your users to double-tap the

phone just to ensure they can read the basics.

One column of information rather than several. It should fits nicely

on a smartphone screen.

Minimal clicking to get to important information is essential.

Prioritizing how information appears should be done by

determining the pages most visited on your website and placing

that content at the top.

Page 20: Designing and Developing Custom Mobile Applications

Performance Considerations

Performance

Computing power available on mobile device still lags behind

desktop.

The most recent device is still about one half of a the computer

resources (CPU, RAM) of a low end desktop computer

Only limited bandwidth available to mobile devices

Only retrieve the data that the application needs, and when it

needs it.

Use light weight data format like JSON instead of more verbose

format such as XML in order to make the best use of limited

bandwidth

Use push-notification for providing data update as oppose to

periodic polling, where periodic polling is more CPU intensive, as

a result draining the battery as a mush faster rate.

Page 21: Designing and Developing Custom Mobile Applications

User Interface

Usability

Limited screen real estate

• Avoid use of small font size to cram more information on a screen.

• Scrolling in mobile app can be difficult, so limit the need to scroll

Make use of the Summary / Detail / Edit UI paradigm

Make use of high contrast and sufficiently bright colors, so that the

application can be used in low light or sunlight conditions

Ensure the UI elements are sized appropriately

Page 22: Designing and Developing Custom Mobile Applications

Leverage Open Standards for Data Connectivity

Data Access

Rather than attempting to provide support for database client

connectivity, the current paradigm for data access from mobile

app is based around web services.

In the design of a web service layer for a mobile app, logic around

authentication, authorization, validation, and business rules should

all be executed in server side.

Page 23: Designing and Developing Custom Mobile Applications

App Security

Security

SSL-secure connection in order to prevent the authentication

token from being captured via packet sniffing on a wireless

connection

If possible secure data by storing the confidential data on the

server side as oppose on the client device side/

Secure client side data storage for automatically encrypted disk

storage

Enable / Disable users to access Enterprise Mobile

Apps

Lost Phone

How many devices are in your mobile enterprise?

Page 24: Designing and Developing Custom Mobile Applications

Intermittent Data Access

Connectivity

Mobile devices will frequently switch between different types of

connections (3G, 4G, WiFi). Therefore, implement the app with

offline access with the concepts of data synchronization.

Implement some sort of caching mechanism. The caching

component can be design to periodically retrieve larger data sets.

Page 25: Designing and Developing Custom Mobile Applications

Backend Integration

Support a range of back-end systems

Mobilize a variety of back-end systems including databases,

legacy systems, applications, and web-services.

Difficult to hand code to each back-end system or

data-sources.

Buy vs. Build

Better ROI on increasing productivity

Page 26: Designing and Developing Custom Mobile Applications

Introduction

Value of Mobile Application Development

Challenges with Mobile App Development

Solution

Demo

Q/A

Agenda

Page 27: Designing and Developing Custom Mobile Applications

SAP Sybase Unwired Platform (SUP)

Page 28: Designing and Developing Custom Mobile Applications

Sybase Unwired Platform provides the “plumbing”

Page 29: Designing and Developing Custom Mobile Applications

Connect to Data

Page 30: Designing and Developing Custom Mobile Applications

Create Application

Page 31: Designing and Developing Custom Mobile Applications

Consume from Devices

Page 32: Designing and Developing Custom Mobile Applications

Control and Manage Devices

Page 33: Designing and Developing Custom Mobile Applications

Native Application Development

Page 34: Designing and Developing Custom Mobile Applications

Business Process Workflow Development

Page 35: Designing and Developing Custom Mobile Applications

Benefits

Page 36: Designing and Developing Custom Mobile Applications

Additional Benefits

Page 37: Designing and Developing Custom Mobile Applications

Introduction

Value of Mobile Application Development

Challenges with Mobile App Development

Solution

Demo

Q/A

Agenda

Page 39: Designing and Developing Custom Mobile Applications

Summary

Multiplatform Support

Mobile Objects

Security

Backend Integration

Page 40: Designing and Developing Custom Mobile Applications

Introduction

Value of Mobile Application Development

Challenges with Mobile App Development

Solution

Demo

Q/A

Agenda

Page 41: Designing and Developing Custom Mobile Applications

Dunn Solutions Group Mobility Services

Implementation and configuration services

Step-by-step

1.Review and capture business requirements for your

organization

2.Determine business case and ROI for implementation

3.Document and design complete solution

4.Build, test and deploy

Page 42: Designing and Developing Custom Mobile Applications

Questions & Answers

Bill Dunn

President

Dunn Solutions Group

[email protected]

Kenneth Yeung

Consulting Manager

Dunn Solutions Group

[email protected]