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
Agenda
Introduction Value of Mobile Application Development Challenges with Mobile App Development Solution Demo Q/A
Dunn Solutions Group Overview
Chicago
Minneapolis
Raleigh
Full-service IT consulting firm Founded in 1988 Offices Chicago Minneapolis Raleigh Bangalore, India
Bangalore
Practice Areas
Application Development
Business Intelligence
Packaged Solutions
Custom App Dev
End-to-End BI
Legal Dashboard
Mobile App Dev
Data Warehouse
Visible Visitors
Portals
Dashboards
Web Design
DI + EIM/Quality
E-Commerce
Budgeting & Planning
Training Open-Enrollment
Map Intelligence On-Site + Custom Managed Services Jumpstart/Mentoring Predictive Analytics
Selected Clients
City of Chicago
Agenda
Introduction Value of Mobile Application Development Challenges with Mobile App Development Solution Demo Q/A
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
Agenda
Introduction Value of Mobile Application Development Challenges with Mobile App Development Solution Demo Q/A
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
Agenda
Introduction Value of Mobile Application Development Challenges with Mobile App Development Solution Demo Q/A
Demo
Summary
Multiplatform Support Mobile Objects Security Backend Integration
Agenda
Introduction Value of Mobile Application Development Challenges with Mobile App Development Solution Demo Q/A
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