Offer the right functionality depending on situation and environment in the broadest sense.
Examples:
Relevant apps for frost only when it’s freezing.
iBeacons in store to offer products.
Offers retailers Big Data about the public.
Some Enterprise Apps only usable on premise.
Personal advertisements.
Recognize customer emotions in call center.
Near Field Communication (NFC).
Mobile Payment Platform on iPhone 6?
Google Wallet?
Use Biometrics to authenticate.
Think of any device as a potential sensor.
Think about how to make the dialogue with the consumer more intelligent.
At home: smart energy meter, cameras, lights, smart smoke detector, washing machine.
Smart vending machine.
Surroundables: Things surrounding you like your car
Enchantables: Ordinary things like the coffee machine or umbrella
Augmentables: See-through things like glasses
Wearables: Garment, Ornaments, things you wear
Swallowables: Things you can swallow
Biohackables: Things injected or added into your body.
With social data, you can predict the wants and needs of your customers.
Employees are social workers.
Social Media offers the tools to interact with customers and to collaborate with colleagues.
Services no longer coming solely from on premise servers.
SaaS solutions and cloud services are part of the new IT landscape.
The cloud should be the default scenario, only then to be “softened” by pragmatic considerations around integration, security, legislation and manageability.
Many benefits like cost reduction, time-to-market, scalability, flexibility and usage-based pricing.
Still, there are many uncertainties as well, caused by topics such as performance, security and privacy, legislation, integration challenges and governance.
More and more devices and sensors are online, producing Big Data.
Cloud is more and more the preferred platform to provide (cheap) storage for this.
Analytics in real time to offer customers the best experience.
Bring Your Own Device (BYOD), Choose Your Own Device (CYOD), consumer market
Multiple platforms (iOS, Android, Windows)
Multiple OS versions: iOS 6, iOS 7, iOS 8
Multiple form factors: smartphones, tablets, PC, TV, Wearables
Screen resolutions
Limited capabilities of devices (memory, resources, permissions, battery) / older devices
Fragmentation in features: NFC
Impact on development and test environment.
Is NFC the next payment method?
Google Wallet and Google Bank?
What about smart watches or Google glasses?
What are the possibilities of iBeacons?
What will the Internet of Things bring us?
How can we apply voice control?
Data on mobile devices out of the office.
Devices lost or stolen.
Hybrid identity at on-premise and in the cloud.
Big Data everywhere.
Apps
Network cannot be trusted.
What data is accessible when the device is in the wrong hands (also in case the device itself is still unlocked).
Services
Consider the services known and accessible.
User of service cannot be trusted.
Integration with back office services on premise and in the cloud.
Support offline functionality when needed.
Robust handling of failing communication.
Different deployment procedures for the different App Stores.
User experience is critical.
Increasing demands for user experience, performance, security, availability.
Mobile presence is relevant (regular updates).
Touch vs Click.
Social media integration.
Mobile development resources are difficult to find in the market.
Mobile Access Layer (REST, API First approach).
Security (device, server, application, network, data (stored, communication)
Data qualifications
Risk (Exposure chance and impact)
Older devices more vunerable
Client Security
Sandbox
Memory (platform API’s, keep sensitive data in memory as short as possible)
Local Storage (encryption (expensive!), store on server)
Obfuscation
Platform abilities restriction
Component signing
Security Audit Log
Functional security (clear profile after wrong login)
MDM policies and certificate enrollments
Secure communication
TLS
TLS/SSL Certificate Pinning
Session Layer Encryption
Network Security (WiFi, 2G, 3G, 4G, Bluetooth)
Enterprise Security
Mobile Access Layer
Authentication
Authorization
Etc.
MDM/MAM
MDM: provisioning, enforce device policies
Data protection: enforce encryption; device selective wipe, locate; lock risky features such as cameras , Bluetooth, SD card readers
MAM: prevent or allow use of apps
Mobile Device Security: blocks malware and malicious web sites
Model-View-ViewModel pattern most suitable for high code sharing.
Dependency Injection pattern ideal to realize extendable architecture.
3 Key Platforms (iOS, Android, Windows) and 3 Application Architectures (native, hybrid and mobile web).
Native Applications: best user experience and performance, distributed via app stores
Hybrid Applications: cross-platform app running in a container on all supported platforms, distributed via app stores
Mobile Web Applications: web application with responsive design to support many devices, runs in browser, hosted on web server, direct deployment
More info: http://www.nl.capgemini.com/bronnen/mobile-development-think-to-the-future-today
Native Development: multiple development environments, results in higher development costs, expertise may be hard to get
Using the tools and development frameworks native to the platform an organization is using. It means that the code is optimized for the platform and normally enables the client to use
rich tooling assets that make advanced techniques and animation possible. This ensures that users get greater freedom in how they perceive and use it.
Multiplatform Native Development: one development environment, shared .NET codebase with Microsoft (Windows platforms) and Xamarin (iOS and Android platforms) technology
A multiplatform mobile architecture offers the possibility to create mobile applications for multiple mobile platforms and at the same time offer the flexibility to use all native functionality of the mobile operating systems to realize an optimal user experience. Combined with a powerful development environment and a comprehensive programming language it offers an excellent way to develop and maintain rich mobile applications.
Core of application is shared, while navigation differs between platforms.
More info: http://www.slideshare.net/eschaick/multiplatform-app-architecture
Multiplatform Framework Development: one development environment, eg. PhoneGap (supported by IBM Worklight, SAP Mobile Platform) or Kony, shared HTML5/CSS/JavaScript codebase
‘Write once, deploy everywhere’ is the promise here, and it is one of the more popular frameworks due to its oven-ready offering. For example, it could be one UI design tool, one programming language (like JAVA), and a set of ready-to-use middleware to connect to back-end ERP systems. Another key selling point of a cross-platform strategy is that it helps to avoid technology ‘lock in’ by only providing an application for one or a few mobile platforms.
Mobile Web Development: one development environment with shared HTML5/CSS/JavaScript codebase, UI frameworks for responsive design
The key difference here is that mobile web applications are not packaged as an App for Android or an App for IOS. Instead, they are accessible via a URL in the browser bar. As you would expect, they are optimized for Mobile screen resolutions and feature detection means the Mobile Web Development can ‘see’ what platform and device it’s on and adjust itself accordingly.
Development type determined based on requirements.
DevOps helps in handling the Agile vs Quality paradox.
Organization => Mobile Office
Process => Scrum, CM, AgilePeople => Skills, Training
Architecture => Reference architecture
Technology => Tools, Frameworks, Reusable Building Blocks
Reuse knowledge and components across projects and customers.
+ Collaborative development
+ Stability through small changes instead of avoid changes
+ Automation is needed for testing, cm, release management, infrastructure provisioning, deployment, other delivery steps (“Automate everything”)
+ Development and test in the cloud
Innovative mobile use stories
don’t redo mobile web as-is, mobile first.
Define scope and requirements using sketches and mockups.
Use personas and scenarios to identify relevant contextual value
Collect user feedback in target groups using prototypes.
Test cloud:
DeviceAnywhere (http://www.keynote.com/solutions/testing/mobile-testing)
Perfecto Mobile (http://www.perfectomobile.com/articles/deployment-options#public)
Network emulation:
iTrinegy (http://www.itrinegy.com/index.php/products/network-emulators/)
GL Communications Network Lab (http://www.gl.com/telecom-test-solutions/communications-networking-2G-3G-4G-lab.html/)