A soup to nuts presentation I did at Gartner Catalyst on how we implemented a successful IT mobile strategy with technologies like Cordova, Meteor, Axway, AirWatch and more!
2. 2
Born Mobile™
• 30 years of driving the evolution of wireless
communications
• Making wireless more personal, affordable and
accessible
• World’s largest fabless semiconductor company*
• $26.5 billion in revenue FY2014
• S&P 100/ S&P 500/ Fortune 500
*Qualcomm Technologies, Inc.
3. 3
Who’s Lou?
• 20+ years software engineering experience
• Solutions Architect for several IT mobile initiatives at
Qualcomm
• Full stack developer with Java, JavaScript, Node.js,
MongoDB
• Community evangelist for Meteor Meet-up San Diego
• M.S. Software Engineering, University of Michigan
*Qualcomm Technologies, Inc.
5. 5
Mobile Development Landscape
Which type of Mobile App?
Advanced UI interactions
Fastest performance
App store distribution
Native
Web developer skills
Access to native platform
App store distribution
Perpetual Authentication
Hybrid
Web developer skills
Instant updates
Unrestricted distribution
HTML5
full
capability
partial
capability
multiple
platforms
single
platform
6. 6
Mobile Development Landscape
What frameworks are available to me?
Functionality
Interoperability
Web distribution
Mobile
Site
Mobile
Web App
App store distribution
Hybrid
App
Cross-
compiled
App
Native
App
7. 7
Qualcomm Mobile Landscape
Android phones most popular at Qualcomm
66.7
57
29.7
32
3.5
7 4
Global AppStore
Global email
Android iOS WinPhone BB
• Android dominates, iOS a close second, others very low usage
• Over 60+ applications available for Qualcomm employees
• Airwatch by VMWare used as our MDM solution for managing access
and applications
8. 8
Qualcomm Mobile App Store
Accessible from mobile browsers and integrated with our MDM solution
10. 10
Qualcomm Mobile Qpeople
Launched June 2013
• Browse Qualcomm people, lists and room
directory
• Ability to favorite people
• Designed for mobile-web first, wrapped with
PhoneGap for phase 2
• Written with SenchaTouch, Node.js, MongoDB
and SASS
• Utilizes several IT data services
• Over 1500 unique users a month
11. 11
Request-Response Web Application Architecture
Single Page Apps still make AJAX calls for data
Source: http://nerds.airbnb.com/isomorphic-javascript-future-web-apps/
Mobile Web
Application
REST
API
Server
Java
Grails
PHP
Ruby
12. 12
Cloud (Connected)/Client Architecture
#7 Gartner Strategic Technology Trend in 2015 realized by Meteor
Client-side
JavaScript
Server-side
JavaScript
(Node.js)
Laptop
Mobile
IoT
Cloud
Services
http://www.gartner.com/newsroom/id/2867917
13. 13
Qualcomm Mobile Approvals Hub
Launched December 2014
• One stop shop to view, approve or reject
requests from multiple IT systems
• Written with Meteor wrapped with
PhoneGap
• Push notifications for Android and iOS
• Perpetual authentication
• Over 400 unique users a month
• 7500+ requests approved since launch
14. 14
Mobile Approvals Hub Success Criteria
Changing the paradigm from email to mobile
• Must be fast with no backend latency from the integrated IT systems (some
taking upwards to 30 seconds to process)
• Automatic application updates without users needing to manually install new
versions
• Real-time push notifications when there are new requests (versus e-mail)
• Multiple approvers on the same request must receive immediate updates if
request is acted on
15. 15
Mobile Approvals Hub Architecture
Benefit #1: Near edge cache for extremely fast user experience
Business Unit Owned
Adapters
AMQP (Messaging)
Approval SystemsServices Façade
Mobile
Application
Mobile Approvals Hub
Asynchronous
Request/Reply
Synchronous
Request/Reply
Notification
Event
event eventeventrequest request
reply reply
MongoDB
Integration
/list
/action
Database
Updates
Push Notify
REST API
Meteor App
Web Sockets
Benefit #2: MongoDB = flexible schema; resilient to data changes
REST API
16. 16
Meteor Keeping Everyone in the Know
Benefit #3: Asynchronous data updates with “reactive” UI
Meteor
Server
Database
Updated
Client 1 Request X
Auto
Updated
Client 3 Client nClient 2 Request X
Approved
Request X
Auto
Updated
Request X
Auto
Updated
MongoDB
18. 18
Meteor is Simple to Implement
Benefit #5: Doesn’t require an army of developers
// On the server
1. Requests = new Meteor.Collection("requests");
2. Meteor.publish("requests", function(limit) {
3. var userToken = sessionUserAndToken(this.userId, this.connection.id);
4. var user = userToken.user;
5.
6. return Requests.find( { $and: [
7. {uid: user.uid},
8. {status: {$nin: [‘approved’, ‘failed’, ‘cancelled’, ‘completed’]}},
9. ]}, {sort: { ‘timestamp’: 1, ‘requestedFor’: 1}, ‘limit’: limit});
10.}
// On the client
1. Meteor.subscribe(“requests”, Session.get(‘listLimit’), function() {
2. // Callback function (e.g., process counts)
3. }
19. 19
Meteor Automatic Application Updates
Benefit #6: Update App without Mobile App Updates
Meteor
Server
Code
Redeployed
Client 1 Auto
Updated
Client 3 Client nClient 2 Auto
Updated
Auto
Updated
Auto
Updated
21. 21
Mobile Authentication & Security
• Siteminder Edge allows Mobile Web applications to securely callback into the
Intranet managed in a walled off domain
• Axway OAuth solution provides perpetual, token-based authentication unique
to application
• AirWatch MDM solution provides security from multiple threat vectors, device
management, monitoring and mobile application management
22. 22
Meteor and OAuth 2.0
Benefit #7: Meteor stores OAuth tokens on the server not the client
Meteor
Server
Authenticate
Client Forms
Based
Auth
MongoDB
Axway
Server
Authenticate
LDAP
Save Token
24. 24
Mobile Authentication & Security
• Use x86 enhanced emulators for Android
testing (e.g. Genymotion)
• Don’t just depend on browsers and emulators;
test often on device or with automated tools
(e.g. Perfecto)
• Virtualize services and data for functional
testing (e.g. CA Lisa)
• Perform interrupt testing and network drop or
low-latency testing
26. 26
Employee App Store
App Store Deployment
Our custom App Store integrated with AirWatch MDM Solution
InstallApproval Hub
This app will approve just
about anything. Just give it a
try and you will see how
productive you’re going to be.
MDM Platform
Brows
e
Submit New App
Name
Icon
Screenshots
Brows
e
Upload
Admin
MDM
Binaries
Metadata
Yes
No
MDM
User
?
28. 28
Mobile Recommendations
3 things to take-away from today’s session
• Choose the right tool for the job:
− Responsive design for web content on multiple device sizes (desktop, mobile, etc.)
− Hybrid apps for a home screen icon, perpetual authentication, push notifications, etc.
− Native apps for the most demanding applications (e.g. gaming, graphics, etc.)
• For mobile hybrid development, strongly consider using Meteor for real-time
updates to your mobile clients and seamless app version updates
• Consider using OAuth tokens for perpetual authentication and Meteor can
safely store these tokens on the server rather than the client