36
Android Industrial Mobility Industrial Mobility Pietro F. Maggi @pfmaggi

Android Industrial Mobility - Droidcon Italy - Turin 9-10 April 2015

Embed Size (px)

Citation preview

Android Industrial MobilityIndustrial Mobility

Pietro F. Maggi@pfmaggi

<Intro/>

@PFMAGGIExtrovert coder with 15 years of experience (“pain”) from 8-bit MCU to HTML5 web apps. I spent too much time architecting solutions for Enterprise Mobility before it was trendy.

ranting at http://pietromaggi.com

Stop me... if you can!

From Symbol to Zebra through Motorola

What isIndustrial Mobility?Industrial Mobility?

Enterprise Mobility

Industrial Mobility

<History/>

Once upon a time

DOS based character devices

Symbol PDT3100:

8MHz 80c80 type (NEC V25)

Applications:

In store (Inventory, Re-Order, etc), In warehouse (Picking, Order preparation) outside the 4 wall (route accounting).

Consumer OS

PalmOS v3.5(33MHz Motorola DragonBall/VZ)

PocketPC 2000, 20002, Windows Mobile 2003, 2005, 6.0, 6.1 (206MHz Intel StrongArm)

Plus custom drivers and libraries (WiFi, Barcodes, deployment, etc)

Current days

• Windows Embedded HandHeld 6.5.3

• Windows Embedded Compact 7

2015 & wearables

• Wearables for picking since 1990s

<FUTURE/>

So Many Choices•Windows CE is still an option (supported till

2020)

So Many Choices•Windows CE is still an option (supported till 2020)

•iOS for Industrial Mobility?

So Many Choices•Windows CE is still an option (supported till 2020)

•iOS for Industrial Mobility?

•WE8.1H by Microsoft is now available

•Windows 10?

•Android?

Importance of Consumer SuccessIMPACT ON THE ENTERPRISEIMPACT ON THE ENTERPRISE

Why Android Now?

•more than 80% of WW consumer market share(source: Gartner)

•Java most popular programming language(source: Tiobe)

•ISV’s gravitate to develop for largest installed base(source: VisionMobile)

•OSS Leveraging(e.g. AoSP now used as base for “other OSes”, e.g. Amazon, Xiaomi in their platforms)

Todays Rugged Android

<Practicesclass=”best”/>class=”best”/>

Easy Deployment•User is not in charge!

•Devices are tools for a job, needs to be ready out of the box

•Think about deploying thousand of devices, already setup, depending on which shop they show up.

•If you can use it, an MDM can save the day!

More Power to the Devs!•Configure the device

•Reboot the device

•Time sync

•Device lockdown

•DataCapture

•Battery Management

Battery•Same API provides more info on industrial devices

public class BatteryInfo extends Activity { private TextView contentTxt; private BroadcastReceiver mBatInfoReceiver = new BroadcastReceiver(){ @Override public void onReceive(Context arg0, Intent intent) { int level = intent.getIntExtra("level", 0); String Extras = intent.getExtras().toString(); contentTxt.setText(Extras); } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_battery_info); contentTxt = (TextView) this.findViewById(R.id.BatteryInfo); this.registerReceiver(this.mBatInfoReceiver, new IntentFilter(Intent.ACTION_BATTERY_CHANGED)); }}

Profile APIs

Profile APIs

• Application Mgr Profile – Silent APK install, Enable / Disable Apps, listing, and Settings info via Profile Manager

• App White listing Profile – Defined list of allowed applications via Profile Manager • Barcode Profile – Set / modify barcode symbologies / options and get barcode data via Profile

Manager• Certificate Management Profile - Install and management of certificates via Profile Manager• Clock Profile - Setting the Date, Time and Time Zone via Profile Manager• GPRS Profile - Configuring GPRS APN settings via Profile Manager• Persist Manager Profile – Ability to persist settings within a XML profile via Profile Mgr• Power Manager Profile – Power management operations: reboot, sleep, reboot for OS update via

Profile Mgr• Touch Mgr Profile – Ability to set the display’s touch panel sensitivity via Profile Manager• UI Mgr Profile - Enable / Disable Enterprise Reset and Clipboard via Profile Manager• USB Mgr Profile – Enable / Disable USB module, ADB, and device storage via Profile Manager• Wi-Fi Profile - Band and Channel selection, 802.11d / country configuration, and Disable / Enable• Wireless Profile – Ability to Enable / Disable Bluetooth module via Profile Manager

Profile APIs

Easy Support

•Logging solution behaviour

•Remote Analysis and management

•HotFix deployment

RxLogger•Diagnostic tool for Android

•High level CSV log format with additional “drill down” logs

•Pluggable interface

•Allows for 3rd party development and seamless add-ons

•Flexible configuration

•Configurable through user interface or config xml file for ease of use in single or mass deployments

•Remote log retrieval

•Capability to push logs to a remote FTP server

Log output

Resource CSV

Snapshot - log output

TCP dump

CROSSPLATFORM?

Based around web technologies- RhoMobile (full web app, JavaScript & Ruby)- PhoneGap (frontend only, JavaScript)

Bringing a different dev.environment to the table:- Xamarin (C#)- Titanium (JavaScript)

<GOTCHAS/>

Mapping is a comodity Routing is not!

•Robust, reliable, ‘free-to-use’ GPS routing – effective in all mapped locations including those with little or no mobile coverageFast, multi-stop routing optimisation, utilising Motorola Solutions processor capabilities Through SDK customisation, the mobile internet becomes a method of enabling business compliance – For example, monioring Current Location, ETAs and facilitating Job DispatchValidated and compliant with a Motorola Solutions mobile computers running Android/Windows Embedded Handheld OS

Example: CoPilot Professional and Sygic Fleet Navigation

GMS and Google ID

Not always the right solution in an Enterprise:

- Devices could be shared between employee- Need to work in an intranet environment

Where to find more info?

https://developer.motorolasolutions.com/community/android

THANK YOU!

@pfmaggi