Post on 19-Jan-2017
transcript
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
Introduction
Value of Mobile Application Development
Challenges with Mobile App Development
Solution
Demo
Q/A
Agenda
Full-service IT consulting firm
Founded in 1988
Offices
Chicago
Minneapolis
Raleigh
Bangalore, India
Dunn Solutions Group Overview
Chicago Minneapolis Raleigh Bangalore
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
Selected Clients
City of Chicago
Introduction
Value of Mobile Application Development
Challenges with Mobile App Development
Solution
Demo
Q/A
Agenda
Mobile App Usage vs. Web Consumption
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
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
What is the #1 Consumer App?
Differences between Consumer and Enterprise Apps
Consumer Apps
Angry Birds
Enterprise Apps
Order Entry / Inventory / Business Process
Enterprise Mobile Apps Need to Deal With
Multiple Mobile Platforms
Security
Backend Integration
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
Mobilizing the Enterprise Is Complex
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?
When to go “native”?
Objective C++ (iOS)
Java (Android)
C# (Windows)
HTML5 / Javascript
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
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
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.
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.
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
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.
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?
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.
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
Introduction
Value of Mobile Application Development
Challenges with Mobile App Development
Solution
Demo
Q/A
Agenda
SAP Sybase Unwired Platform (SUP)
Sybase Unwired Platform provides the “plumbing”
Connect to Data
Create Application
Consume from Devices
Control and Manage Devices
Native Application Development
Business Process Workflow Development
Benefits
Additional Benefits
Introduction
Value of Mobile Application Development
Challenges with Mobile App Development
Solution
Demo
Q/A
Agenda
Demo
Summary
Multiplatform Support
Mobile Objects
Security
Backend Integration
Introduction
Value of Mobile Application Development
Challenges with Mobile App Development
Solution
Demo
Q/A
Agenda
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
Questions & Answers
Bill Dunn
President
Dunn Solutions Group
bill@dunnsolutions.com
Kenneth Yeung
Consulting Manager
Dunn Solutions Group
kyeung@dunnsolutions.com