process re-engineering and custom workflow mobilization • Reduce paper glut by going all digital • Improve rounds of efficiency • Dispatch work and change orders remotely
process re-engineering and custom workflow mobilization • Reduce paper glut by going all digital • Improve rounds of efficiency • Dispatch work and change orders remotely • Gain access to real-time data as it happens in the field
solutions for a broad range of business processes and workflows WHAT IS SPARK? Sales / CRM Field Service Logistics & Routing Remote Data Collection Asset Management Inspections Examples include:
of criteria • List screens - Sorting and filtering - Fixed or auto paging - Grouping by categories - Row icons - Distance and bearing • Node screens - Auto drill-down of master/detail
of criteria • List screens - Sorting and filtering - Fixed or auto paging - Grouping by categories - Row icons - Distance and bearing • Node screens - Auto drill-down of master/detail • View detail screens - Insert, edit, and delete - Required fields
of criteria • List screens - Sorting and filtering - Fixed or auto paging - Grouping by categories - Row icons - Distance and bearing • Node screens - Auto drill-down of master/detail • View detail screens - Insert, edit, and delete - Required fields • Task screens - Multi-step workflows • Mapping screens - Google Maps with navigation
history for fast navigation • Custom UI widgets - Header/footer plugins - Android components - HTML rendered views - Embedded URLs and Javascript • SVG images and icons
history for fast navigation • Custom UI widgets - Header/footer plugins - Android components - HTML rendered views - Embedded URLs and Javascript • SVG images and icons • Charting
list Definable content icons Content determines features like mapping and compass… or inserts and deletes List mode buttons - details - delete - distance Swipe header to hide item
(business) model • Object-oriented — each schema file represents a business “entity” - Describes data attributes - Identifies business tasks - Controls UI elements
(business) model • Object-oriented — each schema file represents a business “entity” - Describes data attributes - Identifies business tasks - Controls UI elements • Schemas can be stored locally on the device or dynamically downloaded by a server at runtime
elements - List — describes the structure for a list of records Content Schema Entity “A” LIST VIEW TASK Entity “B” LIST VIEW TASK Entity “C” LIST VIEW TASK
elements - List — describes the structure for a list of records - View — details the display of a single record Content Schema Entity “A” LIST VIEW TASK Entity “B” LIST VIEW TASK Entity “C” LIST VIEW TASK
elements - List — describes the structure for a list of records - View — details the display of a single record - Task — identifies a business process and the fields it uses Content Schema Entity “A” LIST VIEW TASK Entity “B” LIST VIEW TASK Entity “C” LIST VIEW TASK
spend 90% of their effort • Perform all data access and business logic processing for the app • Plain old Java — no expertise needed in Android or Servlets
spend 90% of their effort • Perform all data access and business logic processing for the app • Plain old Java — no expertise needed in Android or Servlets • Handlers can be client-only, server-only, or hybrid on both tiers
inject actions and fulfill content requests during app lifecycle • Simple content delivery - List of records — ArrayList of HashMaps - View a record — HashMap of key/value pairs
inject actions and fulfill content requests during app lifecycle • Simple content delivery - List of records — ArrayList of HashMaps - View a record — HashMap of key/value pairs • Optional use of Java Persistence API (JPA) for database content
the server and/or the mobile device - Obtain XML content schemas from a web server and/or the mobile device • Automatic conversion between Java and JSON for network
the server and/or the mobile device - Obtain XML content schemas from a web server and/or the mobile device • Automatic conversion between Java and JSON for network • Off-network caching of data and business processes for later synchronization with the server when reconnected
Mobile tier Content Handlers Content Schemas Service Requests SOA Layer API’s using REST/HTTPS and JSON UI Layer Configuration Android API’s Custom Code
Application Server The same core Spark bootstrapping app is used for all installs, but content schemas “morph” the app (similar to a web browser) network messages Databases Internet content handlers Public API’s and mashups can create content variety Mobile Device content handlers
know and use (not Objective-C, Ruby, or Javascript) • Open Source with unmatched extensibility backed by Google and the Open Handset Alliance • 80% of mobile devices run Android with numerous hardware vendors offering inexpensive tablets ideal for enterprise use
applications, not consumers • Corporate IT prefer single platform standards using company tablets assigned to employees (not personal devices) • Security, training, volume purchasing, and device maintenance all benefit from use of single platform OS and hardware
is very difficult • HTML5 apps generally suffer from poor performance - Facebook and LinkedIn converted their problematic HTML apps to native - Offline functionality limited with HTML5
is very difficult • HTML5 apps generally suffer from poor performance - Facebook and LinkedIn converted their problematic HTML apps to native - Offline functionality limited with HTML5 • Users expect native look-and-feel
is very difficult • HTML5 apps generally suffer from poor performance - Facebook and LinkedIn converted their problematic HTML apps to native - Offline functionality limited with HTML5 • Users expect native look-and-feel • Security is higher with sandboxed native apps
• Create data model • Design app navigation flow • Design app security • Design app screens • Design UI interaction • Design networking protocol • Design preferences and settings • Design for app sleep/wake • Design server endpoints • Design mobile-to-server messaging • Learn Android • Research mobile best practices • Code UI • Code business processes • Test • Debug • Recode - Repeat, repeat, repeat... • Create data model • Code data/UI model in XML • Code business processes • Test • Debug • Recode - That was easy...
• Create data model • Design app navigation flow • Design app security • Design app screens • Design UI interaction • Design networking protocol • Design preferences and settings • Design for app sleep/wake • Design server endpoints • Design mobile-to-server messaging • Learn Android • Research mobile best practices • Code UI • Code business processes • Test • Debug • Recode - Repeat, repeat, repeat... • Create data model • Code data/UI model in XML • Code business processes • Test • Debug • Recode - That was easy...
locations and status - Analytics and metrics of app usage and business processes run by user - Automatic logging of app events, failures and issues encountered
locations and status - Analytics and metrics of app usage and business processes run by user - Automatic logging of app events, failures and issues encountered - Remote device management — app updates, device resets, force logon, etc.
locations and status - Analytics and metrics of app usage and business processes run by user - Automatic logging of app events, failures and issues encountered - Remote device management — app updates, device resets, force logon, etc. - Push notifications and messaging
locations and status - Analytics and metrics of app usage and business processes run by user - Automatic logging of app events, failures and issues encountered - Remote device management — app updates, device resets, force logon, etc. - Push notifications and messaging • Open source — free for on-site deployment or optional cloud access
logic UI Java Lua and Javascript Ruby Javascript Proprietary 4GL C# Any Java servlet container None Proprietary server Node.js J2EE Proprietary server Client and server side Client side only Client side only Client side only Server side only Client and server side Native Android Generic cross platform Generic cross platform Generic cross platform Generic cross platform Cross platform
Notification Analytics Price - Spark - SparkDash - Visualization - Development - Management - Apps Cloud - Rhodes - RhoStudio - RhoElements - RhoHub - RhoConnect - RhoGallery - Titanium - Alloy - Marketplace - Cloud Services - Analytics - Connectors - Akula - iFactr - Data Sync Requires license: - Visual Studio - Xamarian Included Yes, optional purchase Yes, optional purchase Yes, optional purchase No, requires 3rd party purchase No, requires 3rd party purchase Included Yes, optional purchase No, requires 3rd party purchase No, requires 3rd party purchase No, requires 3rd party purchase No, requires 3rd party purchase Included No, requires 3rd party purchase No, requires 3rd party purchase Yes, optional purchase No, requires 3rd party purchase No, requires 3rd party purchase
using XML and plain Java programs • Server-centric or mobile-centric application logic • Remote app deployment and management • Designed for both tablets and smart phones
using XML and plain Java programs • Server-centric or mobile-centric application logic • Remote app deployment and management • Designed for both tablets and smart phones • Ideal for corporate developers to mobilize company workflows