Top Banner
John Pelak Practice Director, Devices & Mobility BlueMetal Field Enablement: Real World Solutions A Look Inside
20

Field enablement roadshow - Real World Solutions - John Pelak

Jun 21, 2015

Download

Technology

BlueMetalInc

John Pelak presents real world solutions at BlueMetal's Field Enablement Roadshow, September 2014
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Field enablement roadshow - Real World Solutions - John Pelak

John PelakPractice Director, Devices & MobilityBlueMetal

Field Enablement:Real World SolutionsA Look Inside

Page 2: Field enablement roadshow - Real World Solutions - John Pelak

Field Enablement – What It Is

What it is:

The modernization of field force applications.

Delivering and collecting rich content within complex data and processing environments.

Page 3: Field enablement roadshow - Real World Solutions - John Pelak

Real World Solutions – A Look Inside• Architectures such as one illustrated here have been

successful enabling mobile field workers in several scenarios:

• Building Inspectors enforcing safety regulations on equipment used in public settings

• Fire Prevention Professionals testing water supply pressure and flow

• Healthcare Providers visiting patients and managing continuing education requirements

• Insurance Agents engaging customers in video chat + real-time collaboration

• Lab Scientists reviewing and verifying data in highly regulated settings

• Patent Attorneys trying cases and managing client billing

• Personal Trainers reviewing data captured during client workouts

• Technical Sales Reps providing secure demos of NDA-only products and services

• We’ll discuss the architecture of these solutions, and then drill into the details of each

iOS/OS X Applications

Cocoa Touch, Cocoa

Windows Applications

WinRT, .NET

Android Applications

KitKat, Jellybean,Ice Cream Sandwich…

Portable Class Library

Cloud Service

Page 4: Field enablement roadshow - Real World Solutions - John Pelak

Mobile Development – Unification on C#

• Mobile development projects can pose a daunting set of competing priorities for the team to balance:

• Device vendors want developers to code exclusively for their devices

• Device vendors begrudgingly support HTML5 standards

• http://caniuse.com for feature-by-feature details• Users want great app experiences• Project sponsors want to reach broadest array of

devices with least amount of code

• Xamarin provides a great solution for balancing these completing priorities by unifying mobile development on the C# programming language

• can use Visual Studio on Windows as development tool

• can use Xamarin Studio on OS X as development tool

• For many scenarios, this approach is optimal

iOS/OS X Applications

Cocoa Touch, Cocoa

Windows Applications

WinRT, .NET

Android Applications

KitKat, Jellybean,Ice Cream Sandwich…

Portable Class Library

Cloud ServiceC#

Page 5: Field enablement roadshow - Real World Solutions - John Pelak

Portable Class Libraries – Complier-Checked Sharing

• Portable Class Libraries facilitate sharing across mobile platforms

• Non-UI code can be reused across devices – compiler be used can ensure compatibility as shown:

• This facilitates development using design patterns such as M-V-VM or MVC

• Reusable frameworks for M-V-VM enable sharing Model and ViewModel code across platforms

iOS/OS X Applications

Cocoa Touch, Cocoa

Windows Applications

WinRT, .NET

Android Applications

KitKat, Jellybean,Ice Cream Sandwich…

Portable Class Library

Cloud Service

Page 6: Field enablement roadshow - Real World Solutions - John Pelak

Shared Components – Accelerating Development

• Xamarin provides an extensive catalog of components reusable across mobile platforms

• http://components.xamarin.com• at last count there were 217 components available –

can be filtered by platform, price, rating, etc.• These components can provide simple, tested, solutions for

common scenarios• authentication, analytics, cloud-storage, etc.

• There are also platform-specific components with Xamarin bindings available

iOS/OS X Applications

Cocoa Touch, Cocoa

Windows Applications

WinRT, .NET

Android Applications

KitKat, Jellybean,Ice Cream Sandwich…

Portable Class Library

Cloud Service

Page 7: Field enablement roadshow - Real World Solutions - John Pelak

Native Apps – No-Compromise User Experiences

• Xamarin can reach the native frameworks for popular mobile platforms:

• iOS, Android, Windows, OS X

• Thus, Xamarin can provide direct access to native platform features like:

• Android’s LocationManager, iOS’s Asset Library, etc.

• Native user interface gestures, idioms, and programming patterns are preserved

• They’re just mapped to C# language equivalents

• This enables Xamarin developers to deliver great user experiences and to have access to nearly all* device features* might need to build a Xamarin binding to wrap some

deeper features

iOS/OS X Applications

Cocoa Touch, Cocoa

Windows Applications

WinRT, .NET

Android Applications

KitKat, Jellybean,Ice Cream Sandwich…

Portable Class Library

Cloud Service

Page 8: Field enablement roadshow - Real World Solutions - John Pelak

Dependency Injection – Balancing Native/Shared

• Often, portable code will need to interact with platform-specific code

• How to avoid taking platform dependencies while maintaining shareable logic?

• Dependency Injection solves this problem by defining portable abstractions that are implemented for each platform

• Abstractions are defined in the Portable Class Library• Implementations are provided for each platform• IoC containers can be configured to connect interface

to implementation on each platform

• These techniques enable developers to strike the right balance between native code implementations and portable abstractions

iOS/OS X Applications

Cocoa Touch, Cocoa

Windows Applications

WinRT, .NET

Android Applications

KitKat, Jellybean,Ice Cream Sandwich…

Portable Class Library

Cloud Service

Page 9: Field enablement roadshow - Real World Solutions - John Pelak

Testing – Covering the Broadest Range of Users• Xamarin Test Cloud enables

automated app testing across devices and OS versions

• probably way more than you have access to

1

2

3

45

• Follow this cycle until stable1. Select App Type2. Upload Bundle

3. Select Devices/OSs4. Run Tests

5. Review Results

Xamarin Test Cloud

Page 10: Field enablement roadshow - Real World Solutions - John Pelak

Pre-Release Deployment – Getting App to Testers

for iOS apps for Android/Windows apps• TestFlight works well for getting iOS apps to

friendly community of testers• need proper distribution certificate + provisioning

profile first

• File sharing (or even email attachments) can be quite effective

• but note that attachments can be quite large and very binary

Page 11: Field enablement roadshow - Real World Solutions - John Pelak

Scenarios, Solutions, and Analysis

Page 12: Field enablement roadshow - Real World Solutions - John Pelak

Building Inspectors

• iOS UX

• Sharable Portable Class Library

• Implemented local sync of content from cloud-hosted ERP

SolutionScenario

• Need to enforce safety regulations on equipment used in public settings

• Strong requirements for offline/disconnected access, encrypted local storage, 2-way sync

Page 13: Field enablement roadshow - Real World Solutions - John Pelak

• Win8 UX

• Sharable Portable Class Library

• Implemented local sync of enterprise content

Fire Prevention Specialists

SolutionScenario

• Need to testing water supply pressure and flow to minimize exposure to fire loss

• Strong requirements for offline/disconnected access, encrypted local storage, 2-way sync

Page 14: Field enablement roadshow - Real World Solutions - John Pelak

Healthcare Providers

Solution• iOS UX

• Sharable Portable Class Library

• Any media playable in WKWebView can be viewed

Scenario

Analysis

• Need visiting patients and managing continuing education requirements

• Strong requirement for a no-compromise native user experience – especially around media playback

Excellent shared code

base

Page 15: Field enablement roadshow - Real World Solutions - John Pelak

Insurance Agents

Solution• iOS + Windows

UX

• Sharable Portable Class Library

• Video conferencing using AddLive, collab using SignalR

Scenario

Analysis

• Need to engage customers in video conference + realtime collaboration to increase agents reach

• Strong requirement for a branded, no-configuration solution (no external apps or account provisioning)

Excellent shared code

base

Page 16: Field enablement roadshow - Real World Solutions - John Pelak

Lab Scientists

Solution• iOS + Android

UX

• Wrapped existing service stack in RESTful interface

• Sharing code via Portable Class Library

Scenario

Analysis

• Need to review and verify experiment data in highly regulated settings

• Strong requirement for reuse of certified service stack

Excludes Ms of lines of

service code

Page 17: Field enablement roadshow - Real World Solutions - John Pelak

• Windows UX

• Sharable Portable Class Library reusable on iOS and/or Android

• Encrypted 2-way data sync via Zumero

Patent Attorneys

SolutionScenario

• Need trying cases and managing client billing

• Strong requirements for offline/disconnected access, encrypted local storage, 2-way sync

Page 18: Field enablement roadshow - Real World Solutions - John Pelak

Personal Trainers

Solution• iOS, Android,

and Win8 UX

• Shared Portable Class Library

• Dependency Injection for native implementation of shared abstractions

Scenario

Analysis

• Coaches review data captured during client workouts to help with holistic exercise management

• Strong requirements for native access to device capabilities for location + speech synthesis

Nice reuse across

platforms

Page 19: Field enablement roadshow - Real World Solutions - John Pelak

Technical Sales Reps

Solution• Win8 UX

• Ported Obj-C iOS code to sharable Portable Class Library

• Implemented local sync of Cloud Content

Scenario

• Need to providing secure demos of NDA-only products and services

• Strong requirements for offline/disconnected access, encrypted local storage, 2-way sync

Page 20: Field enablement roadshow - Real World Solutions - John Pelak

Questions?