Note: Page numbers followed by ‘f’ and ‘t’ denote figures and tables, respectively.
A/B testing, 54
access management, 67
action, system of interaction and, 3
Agile planning, 23
airline customer (example), 2
ALM (Application Lifecycle Management), 24–25
Android, 55
AngularJS mobile app architecture, 58, 59f
API/invocation analytics, 64
API keys, 126
API management, 66
discovery/documentation, 66
management, 66
API protocols
enterprise mobile applications, 80–81
API/reverse proxy, 64
app icons, 37
Apple App Store, 68
Apple iOS, 60
Apple Pay, 62
Application Lifecycle Management (ALM), 24–25
application logic/API implementation, 64
application programming interface (API), 19
app stores
as additional asynchronous deployment step, 121
private, using, 126
device components
enterprise SDKs, 62
management agent, 62
offline capabilities, 62
vendor frameworks, 62
enterprise network components, 68
four-tier mobile cloud solution architecture, 61, 62f
high-level, for cloud-hosted mobile app, 60–61, 61f
provider cloud service components
API management, 66
data services, 66
enterprise transformation and connectivity, 67–68
mobile business applications, 65–66
mobile device management (MDM), 65
security services, 67
public network components
content delivery networks (CDN), 63
DNS server, 63
edge services, 63
Firewall, 63
Load Balancer, 63
mobile provider network, 63
authentication/authorization mechanisms, 64, 82–83
crowd-sourced testing, 104–105
devices, 103
emulators, 103
image recognition, 107
mobile test automation techniques, 105
preproduction vs. postrelease, 101–103
programmatic instrumentation, 105–106
random generated mobile tests, 106
service virtualization, for mobile code isolation, 105
simulators, 103
strengths, 101
automation
deployment pipeline, 21–23, 22f
DevOps and, 118
backend services simulation, mobile DevOps and, 123–124, 124f
B2C space, mobile app development and, 56
B2E/B2B, mobile app development and, 56
beta testing, 54
Boston Technology Corporation, 76
bring-your-own-device (BYOD) practice, 60, 75–76, 87, 103
build and deployment pipeline, defined, 115
business analytics and reporting, 66
business factors, mobile app development and, 1, 56
business process innovation, 1–2
drivers, 3
“Hail Cab” (example), 3
methodology, 3
Business Process Management, 78
Business-to-Consumer (B2C) effort, 11
Business-to-Employee (B2E) effort, 11
BYOD. See bring-your-own-device (BYOD) practice
caches, 66
campaign management, 31, 65–66
CastIron, 17
certificates, 126
cloud-based and on-premise backends mobile apps, mixture of, 77
cloud computing
four-tier mobile cloud solution architecture, 61, 62f
high-level architecture for cloud-hosted mobile app, 60–61, 61f
mobile app development and, 58–61, 61f
cloud deployment
hybrid, 72
private, 72
public, 72
cloud-hosted third party services, 3
cloud services
PaaS, 72
provider, components
API management, 66
data services, 66
enterprise transformation and connectivity, 67–68
mobile business applications, 65–66
mobile device management (MDM), 65
security services, 67
code/coding, 3
code signing, 121
competitive analysis, 46
connectivity, enterprise, 67–68
consume-ability, mobile apps, 5
content delivery networks (CDN), 63
contextual inquiry, 45
continuous delivery, defined, 114
continuous integration, 121–122
continuous monitoring, defined, 115
continuous testing, defined, 114
Core Data, 62
cost
of quality, 100
vs. revenue, mobile app development and, 57
crash data capture and analysis, 108–109
crowd-sourced testing, 104–105
CSS, 55
customer experience (CX), 31
Customer Relationship Management (CRM), 78
dashboarding, DevOps and, 117
data and application protection, 67
data loss prevention, enterprise mobile applications and, 93
DataPower, 17
DataPower XG45 Security Gateway (IBM), 84–86, 85t, 86f, 87f
data protection, 76
data services, 66
caches, 66
file repositories, 66
mobile app data/NoSQL, 66
data store and synchronization, enterprise mobile applications and, 92
data visualization, mobile app development and, 57
deployment
IBM DevOps solution and, 116
hybrid, 72
private, 72
public, 72
mobile app build and delivery pipeline, 121–122, 122f
pipeline automation, 21–23, 22f
for enterprise mobile, 42
IBM way, 42 (See also IBM design framework)
design thinking framework, 44–45
importance of, 37
Information architecture, 38
interaction, 38
principles/guidelines
leverage and extend, 42
manage and upgrade, 42
research, 38
scope, in mobile app development, 37
visual, 38
design research, 38
design thinking framework, 44–45
explore, 44
prototypes, 44
understand, 44
desktops, 1
detection, system of interaction and, 3
device analytics, 65
devices, test, 103
DevOps, 11–12, 60, 99, 113–126. See also mobile DevOps
best practices
automation, 118
dashboarding, 117
planning and tracking, 116–117
testing, 118
version control systems, 117
challenges
app stores and additional asynchronous deployment step, 121
fragmented platforms, 119
mobile applications front a complex enterprise back office, 119–120, 120f
security, code signing, and keystores, 121
testing, 121
as enterprise capability, 12 (See also enterprise mobile development lifecycle)
essential view of (mobile developer perspective), 12–13, 13f
IBM DevOps solution, 115
development and testing, 116
monitor and optimize, 116
plan and measurement, 115
release and deployment, 116
mobile, best practices
backend services simulation, 123–124, 124f
continuous integration/delivery and automate builds and deployments, 121–122, 122f
deployed application and backend server performance monitoring, 124–126, 125f
governance of provisioning profiles, certificates, and API keys, centralization of, 126
private app store use, 126
real user feedback conversion to enhancements, 126
testing each build, 122–123, 123f
overview, 113
diagramming, 45
DNS server, 63
documentation, API management, 66
downloading, design principles and, 39, 39f
e-commerce, 77
edge services, 63
Employee Self-Service Portal, 78
emulators, 103
engaging systems. See also systems of interaction
enterprise app distribution, 65
enterprise applications, 68
enterprise backend system, 75–76
mobile app connecting with, 76–77
enterprise connectivity, architectural choices for secured, 95–98, 96f, 98f
enterprise data, 68
Enterprise Document Management, 78
Enterprise Information Systems, 78
enterprise mobile applications. See also mobile apps
IBM DataPower XG45 Security Gateway, 84–86, 85t, 86f, 87f
IBM Worklight security integration framework, 90–91, 90f, 91f
IT services and data, connecting with, 76–77
data loss prevention, 93
Geo-fencing, 93
IBM MaaS360 (example product), 94–95
mobile device management, 93–94
remote wipe, 93
usage reporting and analytics, 94
mobile devices security and, 86–87, 88f
malware, 89
phishing, 90
overview, 75
secured data store and synchronization, 92
secured enterprise connectivity, architectural choices for, 95–98, 96f, 98f
security integration, 81–84, 83f
enterprise mobile development, 7–8
enterprise mobile development lifecycle, 9–34
essential view of (mobile developer perspective), 12–13, 13f
overview, 9
Sprint 1 (“Hello World”—initial operating capability and prototype), 14–18
Sprint 2 (“Hello DevOps!”—improve developer productivity), 19–23
Sprint 3 (“software delivery is a team sport!”), 23–27
Sprint 4 (“ruggedized for appstore”), 27–29
Sprint 5 (“optimizing enterprise DevOps”), 29–34
enterprise network, components, 68
Enterprise Resource Planning (ERP), 78
Enterprise Service Bus, 17
enterprise transformation and connectivity, 67–68
enterprise user directory, 68
enrichment, system of interaction and, 3
estimated time of arrival (ETA), 3
ethnography, 45
evaluation
A/B testing, 54
beta testing, 54
surveys, 53
user testing interviews, 54
everyday use of app, design principles and, 40, 41f
experience journey map, 48, 50f
exploration
experience journey map, 48, 50f
need statements, 47
design thinking and, 44
extending, app, 42
eXtensible Markup Language (XML), 9, 76, 81, 95
Facebook, 59
feedback, conversion to enhancements, 126
file repositories, 66
force.com, 77
form factors, mobile apps, 4
formula, for systems of interaction designing, 2–3
four-tier mobile cloud solution architecture, 61, 62f
fragmentation, mobile apps, 119
frequency of usage, mobile app development and, 57
FURPS+, 28
Geo-fencing, 93
getting started experience, design principles and, 39–40, 40f, 41f
goals, design principles and, 39–40, 40f
Google Android, 60
Google Wallet, 62
“Hail Cab” (example), 3
hi-fidelity prototyping, 50, 53f
high-level architecture, for cloud-hosted mobile app, 60–61, 61f
Hills, 43
human-technology interaction, forms of, 2
hybrid cloud deployment, 72
hybrid development, 55
hybrid mobile apps, 58
implementation of, 6
IaaS. See Infrastructure as a Service (IaaS) cloud service
IBM Cloudant®, 92
IBM Cloud Orchestrator, 23
IBM Custom Information Control System (CICS), 78
IBM DataPower XG45 Security Gateway, 84–86, 85t, 86f, 87f
IBM design framework, 42
Hills, 43
playbacks, 43
sponsor users, 43
explore, 44
prototypes, 44
understand, 44
IBM Design Language, 39
IBM DevOps solution, 115
development and testing, 116
monitor and optimize, 116
plan and measurement, 115
release and deployment, 116
IBM Information Management System (IMS), 78
IBM® InfoSphere Optim Test Data Management, 27
IBM MaaS360 (example product), 94–95
IBM MobileFirst Platform Application Center, 22, 22f, 33–34
IBM MobileFirst Platform Developer Mobile Browser Simulator, 18, 18f
IBM MobileFirst Reference Architecture, 28
IBM Mobile Quality Assurance service, 107–108, 110
IBM Rational Test Workbench, 105
IBM’s WebSphere Portal, 79
IBM® UrbanCode Deploy, 21–22, 22f
IBM® UrbanCode Release, 23
IBM WebSphere Cast Iron Hypervisor Edition, 97
IBM WebSphere Cast Iron Studio, 97–98, 98f
IBM Worklight security integration framework, 83, 83f, 90–91, 90f, 91f, 96, 96f
identity and access management, 67
iFrame, 58
image recognition automated mobile tests, 107
implementation technology, choice of, 5–6
hybrid, 6
web applications, 6
Information architecture, 38
Infrastructure as a Service (IaaS) cloud service, 71–73
innovation, in business process, 1–2
drivers, 3
integration. See also continuous integration
IT backend systems and mobile apps, 78–80
organizational boundaries, mobile app development and, 58
interaction characteristics, mobile apps, 2–3
interaction design, 38
Internet, 1
interviews
stakeholder, 46
user, 45
user testing, 54
iOS 7, 76
iPhone, 55
native implementation for, 5
IT backend systems, for enterprise mobile applications, 78–80
IT services and data, connecting with, 76–77
Java EE, 55
Java Message Service (JMS), 80
JavaScript Object Notation (JSON), 60, 76, 96
JSON Based Remote Procedure Call (JSON-RPC), 81
“killer app,” of 21st century, 2
laptops, 1
lifecycle. See enterprise mobile development lifecycle
Lightweight Directory Access Protocol (LDAP) server, 84
Lightweight Third Party Authentication (LTPA), 84
load performance testing, 109
Local Area Networks, 76
location services, 64
loss and theft, mobile devices, 87–89
Low, George M., 9
low-fidelity prototyping, 50
MaaS360 (IBM’s, as example product), 94–95
malware, 89
management, app, 42
management agents, 62
manual mobile app testing, 107–108
advantages, 18
vs. automated testing, 100–101
MBaaS (Mobile Backend as a Service), 82
MDM. See mobile device management (MDM)
MEAP (Mobile Enterprise Application Platform), 82
Microsoft, 55
Microsoft Windows® Phone, 60
mobile app data, 66
mobile app lifecycle, stages of, 58–59
mobile app operational analytics, 64
mobile apps, 55, 61–62. See also enterprise mobile applications
automated testing (See automated mobile app testing)
consume-ability, 5
form factors, 4
gestures, 4
hybrid, 6
web applications, 6
interaction characteristics, 2–3
omni-channel, 2
airline customer (example), 2
“Hail Cab” (example), 3
user interaction
technology, 4
agile methods, 60
approach, factors for choosing
B2C or B2E/B2B, 56
business factors, 56
cost vs. revenue, 57
data visualization, 57
existing skills, 57
frequency of usage, 57
good enough not to notice, 57
multi-channel business context, 57
organizational boundaries, integration across, 58
target audience, 57
architectural components (See also architecture, mobile app)
enterprise network components, 68
mobile device components, 61–62
provider cloud service components, 63–68
public network components, 63
deployment considerations, 71–74
design scope in, 37 (See also design/designing)
mobile app lifecycle, stages of, 58–59
mobile banking as case study and, 68–71, 70f
reasons for, 1
strategy, 58
mobile app security, 65
application logic/API implementation, 64
location services, 64
mobile app operational analytics, 64
mobile app security, 65
mobile data sync, 64
push notifications, 64
Mobile Backend as a Service (MBaaS), 82
mobile banking (case study), 68–71, 70f
mobile business applications, 65
business analytics and reporting, 66
proximity services and analytics, 65
workflow/rules, 66
mobile client resource metrics, 109–110
mobile code isolation, service virtualization and, 105
mobile data sync, 64
mobile development lifecycle. See enterprise mobile development lifecycle
mobile device components
enterprise SDKs, 62
management agent, 62
offline capabilities, 62
vendor frameworks, 62
mobile device management (MDM), 65
device analytics, 65
enterprise app distribution, 65
enterprise mobile applications and, 93–94
mobile device security, 65
mobile devices
security considerations, enterprise mobile applications and, 65, 86–87, 88f
malware, 89
phishing, 90
use of, 1
mobile DevOps. See also DevOps
best practices
backend services simulation, 123–124, 124f
continuous integration/delivery and automate builds and deployments, 121–122, 122f
deployed application and backend server performance monitoring, 124–126, 125f
governance of provisioning profiles, certificates, and API keys, centralization of, 126
private app store use, 126
real user feedback conversion to enhancements, 126
testing each build, 122–123, 123f
challenges
app stores and additional asynchronous deployment step, 121
fragmented platforms, 119
mobile applications front a complex enterprise back office, 119–120, 120f
security, code signing, and keystores, 121
testing, 121
Mobile Enterprise Application Platform (MEAP), 82
MobileFirst Platform Developer Edition, 15, 19
API/invocation analytics, 64
API/reverse proxy, 64
authentication/authorization, 64
policy enforcement, 64
mobile provider network, 63
Mobile Quality Assurance (MQA), IBM’s, 19–20, 23, 32, 32f–33f
mobile test automation techniques, 105
mobile web, 55
monitoring
continuous, defined, 115
deployed application and backend server performance, 124–126, 125f
IBM DevOps solution and, 116
Moore, Geoffrey, 119
multi-channel business context, mobile app development and, 57
multi-tier architecture, 7
native mobile app implementations, 5–6
iPhone, 5
need statements, 47
nonkeyboard input methods, 5
offline capabilities, 62
On Demand services, 97
Open Data Protocol (OData), 81
open source software (OSS), 28
optimization, IBM DevOps solution and, 116
PaaS. See Platform as a Service (PaaS) cloud service
perceive, system of interaction and, 3
performance testing, 109
load and stress, 109
personal computers (PCs), 1
phishing, 90
PKI. See Public Key Infrastructure (PKI)
planning
IBM DevOps solution and, 115
Platform as a Service (PaaS) cloud service, 72, 73–74
playbacks, 43
policy enforcement service, 64
postrelease phase vs. preproduction, 101–103
preproduction phase vs. postrelease, 101–103
private app store, using, 126
private cloud deployment, 72
programmatic instrumentation, mobile app, 105–106
progressive discovery approach, 4
prototypes/prototyping
hi-fidelity prototyping, 50, 53f
low-fidelity prototyping, 50
design thinking and, 44
provider cloud service, components
API management, 66
data services, 66
enterprise transformation and connectivity, 67–68
mobile business applications, 65–66
mobile device management (MDM), 65
security services, 67
provisioning profiles, 126
proximity services and analytics, 65
public cloud deployment, 72
Public Key Infrastructure (PKI), 82
public network, components
content delivery networks (CDN), 63
DNS server, 63
edge services, 63
Firewall, 63
Load Balancer, 63
mobile provider network, 63
push notifications, 64
quality. See also testing
cost of, 100
focus on, 100
user sentiment as measure of, 110
quality assurance (QA), 19–20, 19f, 20f, 32, 32f–33f
random generated (monkey) mobile tests, 106
rapid prototyping, 14–17, 15f, 16f
Rational Application Developer (RAD) IDE, 15
Rational Quality Manager (RQM), 26
Rational Software Architect (RSA)/Design Manager, 16
relational database, 78
release planning
defined, 115
IBM DevOps solution and, 116
remote wipe, 93
Representational State Transfer (ReST or REST) protocol, 81
Representational State Transfer (ReSTful) services, 76
research, design, 38
responsive design approach, 4
responsive web design, 79
revenue vs. cost, mobile app development and, 57
reviews, positive, 37
salesforce.com, 77
SDKs. See Software Development Kits (SDKs)
security, 121
security integration, enterprise mobile applications, 81–84, 83f
security intelligence, 67
security services, 67
data and application protection, 67
identity and access management, 67
security intelligence, 67
service virtualization, mobile code isolation and, 105
Simple Object Access Protocol (SOAP), 80–81
simulators, 103
skills, mobile app development and, 57
SOAP (Simple Object Access Protocol), 80–81
Software-as-a-Service (SaaS), 97, 107
Software Development Kits (SDKs), 14, 62, 81, 82, 95
sponsor users, 43
Sprint 1 (“Hello World”–-initial operating capability and prototype), 14–18
enterprise services and data (integration), 17, 17f
manual testing, 18
simulate/preview (testing), 18, 18f
turning primary user story into basic UI (design), 14
UI mock-ups and rapid prototyping (design), 14–17, 15f
Sprint 2 (“Hello DevOps!”–-improve developer productivity), 19–23
code-centric and unit testing, 20–21
deployment pipeline automation, 21–23, 22f
productivity with wizards and mobile platform portability, 19
quality assurance and testing “in the wild,” 19–20, 19f, 20f
Sprint 3 (“software delivery is a team sport!”), 23–27
agile planning, 23
application lifecycle management (ALM) imperatives, 24–25, 25f
manual, automating user interface tests improvement, and test data management, 26–27, 26f
work items (defects, enhancement requests), 23, 24f
Sprint 4 (“ruggedized for appstore”), 27–29
application quality feedback and analytics, 28–29, 29f
“FURPS” and virtualization, 27–28
scanning and certification, 28
Sprint 5 (“optimizing enterprise DevOps”), 29–34
application versions, updates, and more, 33–34, 35f
customer experience (CX) and campaign management, 31
enterprise developer integration, 29–30, 30f, 31f
mobile quality assurance, 32, 32f
stakeholder interviews, 46
stress performance testing, 109
surveys
advantages, 53
design evaluation, 53
disadvantages, 53
Swift programming language, 5, 55
synchronization, data
enterprise mobile applications and, 92
System of Engagements (SOE), 77, 119
System of Records (SOR). See enterprise backend system
systems of interaction, 1–2. See also mobile apps
airline customer (example), 2
challenges
form factors and user input technology, 4
mobile application build and delivery, 6–7
testing, 6
usability and user interaction design, 4–5
characteristics, 3
“Hail Cab” (example), 3
tablets, 1
target audience, mobile app development and, 57
A/B, 54
automated mobile app
crowd-sourced testing, 104–105
devices, 103
emulators, 103
image recognition, 107
mobile test automation techniques, 105
programmatic instrumentation, 105–106
random generated mobile tests, 106
service virtualization, for mobile code isolation, 105
simulators, 103
beta, 54
continuous, defined, 114
crash data capture and analysis, 108–109
DevOps and, 118
IBM DevOps solution and, 116
load and stress performance testing, 109
mobile app, 121, 122–123, 123f
mobile apps development and, 7
mobile client resource metrics, 109–110
performance, 109
preproduction vs. postrelease, 101–103, 102f
cost of, 100
focus on, 100
user sentiment as measure of, 110
simulate/preview, 18
thoroughbred cloud-based mobile apps, 77
traditional corporate IT mobile apps, 77
transaction-based systems, 60
transformation, enterprise, 67–68
Twitter, 59
UIs. See user interfaces (UIs)
UML, 9
understanding
competitive analysis, 46
contextual inquiry, 45
ethnography, 45
stakeholder interviews, 46
user interviews, 45
design thinking and, 44
upgrading, app, 42
usability
mobile app development and, 57
usage frequency, mobile app development and, 57
user-centered design, need for, 4–5
user feedback, conversion to enhancements, 126
user interaction, mobile apps
technology, 4
user interfaces (UIs), 14, 37, 38
user interviews, 45
user sentiment, as measure of quality, 110
user testing interviews, 54
vendor frameworks, 62
version control systems, DevOps, 117
service, mobile code isolation and, 105
Virtual Private Network (VPN), 76, 77
visual design, 38
web applications
implementation, 6
mobile app downloading and, 39, 39f
web-based information, access to, 1
WebSphere Cast Iron Live, 96–97
WebSphere DataPower appliances, 84
WebSphere DataPower Cast Iron Appliance XH40, 97
Wi-Fi, 63
Wikipedia, 28
workflow/rules engine, 66
Worklight Adapters, 96
Worklight security integration framework (IBM), 83, 83f, 90–91, 90f, 91f
WSDL, 9
WYSIWG approach, 15
XML. See eXtensible Markup Language (XML)
Xtify, 31