field enablement roadshow - real world solutions - john pelak

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

Upload: bluemetalinc

Post on 21-Jun-2015

70 views

Category:

Technology


0 download

DESCRIPTION

John Pelak presents real world solutions at BlueMetal's Field Enablement Roadshow, September 2014

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?