I am not going to try to convince you that enterprise mobility is expected to be hot in 2013 and beyond, but if you are attending this webinar, it is because you see enterprise mobility as an opportunity for your organization.1/ Either for your company internal workforce to be more productive and get real-time access to enterprise system data for fast and objective decision-making processes2/ Or for getting your customers engaged with your company, wherever they are2/ Build your company competitive advantage or company business transformation with mobile-specific business processesBut at the same time, they are risks that decision makers and IT managers need to be aware of and have different options to minimize these risks.In an technology environment that is un-mature and changing, I propose today in this webinar to go through a checklist to be successful in your mobile enterprise application projects.
First main trend is the Bring-Your-Own-Device trend. Employees using their personal mobile devices for business purposes.. The trend to limit mobile CAPEX investments by IT makes BYOD a lasting trend in the future.Even though as an IT manager you say :”There will not be BYOD policy in my company”, which will be difficult to go against, you will need to make sure that your enterprise mobile applications can run on safely on different mobile devices with different forms and capabilities because it is mostly the case that your company will support tablets and smartphones, for at least 2 mobile device vendors.And we come to the second main chaotic enterprise mobility trend: Platform fragmentation
As an IT manager you need to look at mobile Operating System Market Share in your countries !!!!!!The WW smartphone OS market is highly fragmented and has dramatically changed over the past few years. RIM market share has plunged while Android for instance has plummeted.Even fragmentation can exist within the same operating system and this is the main problem of Android.Android: versions: 2.1 to 4.2 (10 different versions)4 different sizes (small, normal, large, extra large). For each one, you have 4 different densities (low, medium, high, extra high)This platform fragmentation in term of OS, form factors, processing…is a key issue when succeeding in entreprise mobile app projects, and obviously knowing exactly where mobile enterprise apps will be deployed on is essential.But before deployment, you have the development phase with technologies, languages and tools and here too, multiplicity but also proprietary and non-standard technologies and languages make everything complex.
You have a pretty long list of technologies to develop native applications, these technologies can not be reused from one platform to another, except for HTML5 technology which is a cross-platform development language. Moreover, these development standards are client-oriented only. To build a mobile enterprise application ,server-side development with integration capabilities (Enterprise backend systems, databases, cloud…) is absolutely required.
We see 9 keys to unlock the real value of mobile enterprise applications, from the business process definitions to the implementation phase. These 9 keys should help to define a strategy that will not lock you in technology, business or implementation pitfalls.
Let’s start with the most important question in mobile enterprise application projectsand this is not the technology, not the User Interface, not the development tools.First question to address is “What business processes to mobilize” and how to leverage the fact that internal workers, partners or customers are now mobile, always connected and take business-impacting decisions via a intelligent device that has a GPS, camera, 3G/4G broadband internet access or is a mobile wallet.By utilising mobile technologies, businesses can re-design processes, make them simpler, friendlier and easy use. An Mobile Enterprise Application is not a web/desktop application adapted to a smaller screen. To have the equivalence of desktop applications on a mobile device (like a CRM application for instance), this is hard work to display the right business logic and the right data. Usually several mobile apps are needed, each achieving a part of total business processes of a desktop app.The second question is how to deliver benefits from innovation in technologies, such as GPS, camera, location services and more. The most innovative mobile apps are becoming transaction-oriented and leverage key mobile technologies and end user behavior.Adapt to ever change customer demands, and addressing them closer to the customer “just think about a presentation a product catalogue on an iPad , which is connected to real-time ERP system, without the need to keep latest version, printing etc.” ...Obviously types of users, if they are internal users, external users is a key input for a mobile enterprise application project and has impact on user experience requirements, management infrastructure, security... These mobile business processes require to be innovative to have them adopted by their users, and be a business differentiator for the enterprise. You can even think of integrating other types of business processes like Machine-to-Machine communicationsMobile enterprise projects have an objective to reduce the total cost of doing businesses and improving the bottom line.They require adaptability as they may evolve with user experience, device capabilities or business transformation. They will change over the time and will be optimized .
The second main topic to address is how to connect to the Enterprise with multiple systems ?The connection to enterprise IT systems is most often, under-estimated and bottleneck in a mobile project compared to client-side or User Interface development. It usually represents a high effort and cost in the overall project because it often requires expensive, specialized resources both on the technical and on business side.. In a recent report, MGI Research assessed it as a 70 % add-on on the mobile project cost.There are two ways to approach it:1/ The Custom, point-to-point, non standard data integration that leads to an unmanageable and non-enterprise grade solution
2/ Or the best way, standard, future proof SOA-based data and application integration solution for legacy, on-premise, hosted or cloud-based environments. They are very few solutions that can cover the full scale of requirements.Enterprises should invest time and effort in it becausethis is key for application functionality, for performance, scalability, time-to-market and security.It is very important that enterprises define backend system integration points and technologies and choose a solution that is future proof, standard, scalable (which is key for transaction-based mobile applications) and support multiple application architectures like cloud, legacy and on-premise.There are some technologies based on web services/XML, JSON and multi-platform integration layers that should be considered.
The third main point is to know on which mobile operating systems and forms to deploy your mobile enterprise applications.This has an effect on the business logic of the application, on the user interface requirements but mostly on the native capabilities of the device and its operating system that can be leveraged.Secondly, what mobile features (whatever hardware and software –related) can you use and leverage, and what technology to use. Then, how to catch up with new functionalities that will be implemented over the time. Native functions are added over and over at a pace that standard technologies/HTML5 can hardly manage to catch up. Finally, how to manage platform differences and get the best of each platform capabilities without sacrifying productivity and user experience.
Mobile architecture is one of the most controversial topic discussed today between supporters of HTML5 pretending HTML5 is the most productive, feature rich architecture for multi-platform enterprise applications, and supporters of the native approach, saying that native apps have superior performance, user experience, better native integration.The rest would support the hybrid approach taking the best of the two worlds focusing HTML5 technology for User Interface or native container that HTML 5 code can interface with to access native APIs.
Basically, the right architecture will depend on the application type, content type, level of native integration, offline support, performance objectives and security requirements.For Basic, content-based apps : HTML5 architecture is mostly suitable knowing its limitations (performance)More complex apps, transaction-based apps with strong device integration capabilities would mostly be native or hybrid with parts of the UI or business logic wrapped in a native container.In term of tools and solutions, an important criteria for enterprises is the flexibility to choose the right architecture for their changing needs.
The fifth question that comes now is whichstrategy and tools to choose for developing your mobile enterprise applications, for best time-to-market and quality. Different languages and tools are provided by OS manufacturers or 3rd party technology providers, they can be adapted to client-side business logic (like Objective-C for iOS or J2SE for Android), server-side business logic or the type of application architectures that are targeted.To choose the right languages and tools is important in term of agility, reusability and functionalities and is not necessary correlated to the mobile architecture you are looking for.Many development tools are based on Eclipse or Visual Studio that are already used by many developers but development strategy in term of languages and skills has a huge impact on quality, productivity and cost, not only on the development phase but also on the application upgrade and maintenance phases. For example, If you choose a low-level development language, what you will earn in flexibility, you might loose in productivity or quality.
I would like to give an example of developing a native application with a native development language.A typical project would start with a client side development with one stream per targeted platform, then multiple server-side development streams using for example PHP, AJAX or Ruby.Then you would add as many integration development streams as required for point-to-point integration.Obviously you would need to develop also the communication layers and test, deploy and maintain all these.The whole process is quite heavy, risky in term of quality and not adapted to fast time-to-market environment.
Let’s take now a web or hybrid application developed with web technologies.A typical project would also start with a client side development using HTML5 for example, with this time one development stream for all the platforms , then multiple server-side development streams for server-side logic.Then you would add as many integration development streams as required for point-to-point integration.In the same way, you would need to test, deploy and maintain all these.The whole process is less heavy and risky but still not optimized .
Finally, last example is developing hybrid or native applications using an end-to-end development platform covering client-side, server-side and integration development.You would have only one development stream this time and the whole process here would be optimized for best quality, time-to-market and high flexibility.
Let s now address the user interface aspect.First, we see many times that the developer is also responsible for UI design and this is a mistake. Every mobile application project must have a designer thathas expertise in user experience, mobile usability and OS capabilities.We see 3 different phases here: The requirement phase with input from the end-users, Mockup creation (you can use interesting tools like Balsamick or other free tools) , and UI design which looks at the colors, pictures, event/action management.An important point is that mobile enterprises applications do NOT need the most fancy UI like for games or other B2C applications because other parameters are counting like performance, efficiency, business-oriented user experience
Security is also an important aspect and has different layers:First, at Device-level by providingSecure communication between mobile device and EnterpriseEnterprise data protectionIdentification, Authentication and access right management to enterprise systemsPolicy managementSecondly, at Application-level by providingProvisioning, access management, sandboxing, policy managementSolutions/technologies2 different solution types that will merge over the time:*Mobile Device Management (MDM) (including https, authentication/encryption, policy management/enforcement, remote lock or Wipe out…) *Mobile Application Management (MAM)
Deployment is all about distributing the right application to the right devices. It can be made very simply, manually by the IT department with USB connection or SD card but this solution is not scalable and is time and cost-consuming OR It can be pushed automatically towards the mobile devices when they connect to the network in a secure way, for a B2E application or via public app store for a B2C application.For B2E segment, there is a main trend to have a private app store where users will discover enterprise-validated applications to them and will be able to download them remotely (OTA) or via a URL link.For B2C segment, public app stores are the solution which need to be compliant with OS vendor rules.These solutions make easier the app update process which is often forgotten in the process or difficult to achieve with lock-in development solutions.The usage of private / public app stores with the association of MDM solutions enables a better control and management for getting application usage to optimize the applications and user experience. In some private app store solution, you can push updates based on policies that you define.
The last key to consider is how you will implement your mobile enterprise application project:Are you considering working from scratch ? Or extending your existing desktop-based application (can be client/server based or web based) ?Do you consider working with your own resources or using third party resources ?Two considerations to look at:1/ Globally, there is a shortage of development skills which therefore become expensive2/ the development platform market is very fragmented and immature Here too, there are some balance to find and strong choices which must part of a long –term strategy
So how all this process would look like ?I give you some screenshots of projects done with Magic mobile solution and obviously we would be happy to help you in any mobile enterprise application project you may consider.
Enterprise-grade application platform: Not only platform for development but also for scalable, enterprise-grade deployment tackling security, performance, robustness, management…Instant app publishing: thanks to metadata paradigmCloud + On-premise deployment models
Magic mobile webinar_Jan2013
9 Keys to Successful Enterprise Mobility Projects1
Worldwide Smartphone OS Market Share Source: StatCounter4
9 Keys to Success Business Connection to Platform & Native Processes Enterprise Systems Feature Support Development Mobile Architecture User Interface Strategy and Tools Deployment and Project Security Monitoring Implementation66
Business Processes Innovation TCO Reduction Adaptability Simple business logic7
Connection to Enterprise Systems Enterprise IT Systems Cloud DMZ CRM system ERP system Legacy system HR system Spaghetti!!!8 Smartphones (BYOD, corporate) Tablets (BYOD, corporate)
Connection to Enterprise Systems Enterprise IT systems Cloud DMZ CRM system ERP system Legacy system HR system Integration LayerSmartphones (BYOD, corporate) Tablets (BYOD, corporate)
Platform and Native Feature Support Define your targeted mobile platforms Define native mobile functionalities to leverage and how Hardware, Services, User Interface forms How to catch up with new platform capabilities? How to manage platform’s different capabilities and technologies?10
Architecture Definitions Enterprise IT Systems Server Business Logic HTML rendering Communication Logic engine + client business logic Native App Mobile Browser Native Container 10110011000010110 1011001100001010 <html> <head>xxxxx <html> 1010000001111000 <script> YXCVBN <head>xxxxx 0101010100001011 … </head> 1100001010101010 … <script>YXCVBN 1010010101001010 … </script> 0111001011110010 UI elements </script> </body> 1100000001111010 </body> </html> </html> Device API’s Device API’s Native App Web/HTML 5 App Hybrid App13
Development Strategy and Tools Different tools and languages Agility, reusability, functionalities Impact of productivity, quality and cost14
Native Development Process for Native Apps Client-side 2. Server-side 3. Integration1. (one dev per platform) (a few devs) (point-to-point) AJAX, PHP, Ruby, … Test, deploy, + Server communication, authentication,… + Business logic, session mgt, device mgt, security… 4. maintain
Web Development Process for Web/Hybrid Client-side 2. Server-side 3. Integration1. (cross-platform) (a few devs) (point-to-point) AJAX, PHP, Ruby, … Test, deploy, + server communication, authentication,… + Business logic, session mgt, device mgt, security… 4. maintain
Middleware Development Process for Hybrid/Native Apps One single development for multi-platform client, server and integration Model / metadata Mobile App Development Integration and Deployment Platform Client-side Server-side Integration-side17
User Interface Requires mobile UI and design expertise … 3 phases: Requirements per screen Wireframing/mockups UI design Need a good UI, not the most fancy one 18
Security Secure Enterprise Access (SSL) Device Security Manager Mobile Application Manager Enterprise systems (MDM solution) (MAM/App Store solution) Internet Connection Mobile devices Device/Application Control Device Access Control (Trusted configuration and (Identification/Authentication, device/app provisioning) wipe out..) Data Encryption Secure Enterprise Access (SSL)19
Deployment and Monitoring Decide on distribute channels: OTA, Web, USB/SD card, etc. Update management policy, versioning Capture app usage to improve user experienceSolutions/technologies Private App stores / MDM Instant update management Monitoring console, analytics
Project Implementation From Scratch? Extension of existing Considerations: app or via 3rd party? • Shortage and expensive development skills • Immature, high development tool/platform fragmentation 21
Magic Mobile CapabilitiesMulti- All major mobile OS – iOS, Android, BlackBerry, WindowsPlatform Mobile (and Desktop) in one development effortEnterprise Develop secure enterprise applications, integrated with yourIntegration in-house enterprise system (CRM, ERP, Finance, etc.) Deploy native applications, with native Look&Feel and useNative any mobile device capability (camera, GPS, local storage,Client etc.)Any Form Develop solutions for smartphones and tablets with anyFactor interface (touch or keyboard), size and screen density Develop native, HTML5 web or mixed (native container withHybrid HTML5 front-end) applications