How to Evaluate a Next Generation Mobile Platform appcelerator.com
Introduction Enterprises know that mobility presents an unprecedented opportunity to transform businesses and build towards competitive advantage. However, the path to become a mobile first enterprise is unclear and confusing. Enterprises are struggling with basic questions about mobility while also wrestling with the following challenges: Mobile Lifecycle Management There are multiple, disjointed pockets of mobile development occurring throughout our organization, resulting in inconsistency, silos of information and limited reusability. How can we enable collaboration and share lessons learned across mobile projects? Mobile Client How do we deliver innovative mobile user experiences across the different devices that our customers and employees are using? How do we find qualified developers to resource these mobile initiatives? The tasks of building and managing mobile applications can be confusing and complex. A mobile app uses all the past elements of computing, and combines them with rapidly evolving ecosystems of operating systems, devices, carriers, and developers. To that, add the growing specter of cloud-connected services most often referred to as a mobile server or a mobile backend-as-a-service (MBaaS), the intricacy of social connections and differing data types for each type of social network. The complexity of mobile applications, and the unpredictability of it all, calls for a new type of platform. This paper will explore the above challenges and provide a checklist that executives, IT Departments and Line of Businesses (LOBs) alike should use to evaluate their mobile application platform. Carefully reviewing these top mobile criteria will enable a company to transform itself into a next-generation, mobile-first enterprise. Mobile Services Is our current web architecture suited for mobile? Mobile apps need to consume data from multiple sources, but many of these data sources were designed for desktop web apps, not mobile apps. Mobile Ecosystem Now that we have multiple mobile apps, we must evaluate and manage multiple vendors to address the various needs across the mobile application lifecycle. Will the vendors we are working with be able to keep up with the rapidly evolving mobile landscape? 2012 APPCELERATOR, INC. ALL RIGHTS RESERVED 2
Next Generation Mobile Platform Checklist CATEGORY REQUIREMENT APPCELERATOR OTHER SOLUTIONS Mobile Lifecycle Management Mobile Client Mobile Services Mobile Ecosystem Support for all phases of the mobile app lifecycle (build, connect, test, manage, analyze) Social collaboration integration and workflow support Multi-platform support from a single code base (ios, Android, Windows) Native, Hybrid and Mobile Web support Access to all device APIs MBaaS Support for pre-built APIs MBaaS Support for custom services Flexible MBaaS deployment options (Public, Virtual Private, Private) MBaaS services support and consumption for any mobile client Large development community of developers using platform Open, industry standard development language (e.g., JavaScript, HTML) Open source approach to platform Community marketplace that extends platform via modules and apps System Integrator partner support ISV partner support # of applications built and deployed based on mobile platform # of enterprise customers who have built / deployed apps based on platform 100,000's 10,000's 1,000's 2012 APPCELERATOR, INC. ALL RIGHTS RESERVED 3
Challenge #1: Mobile Lifecycle Management There are multiple, disjointed pockets of mobile development occurring throughout our organization, resulting in inconsistency, silos of information and limited reusability. How can we enable collaboration and share lessons learned across mobile projects? Mobile's first order pain was: how do I build one mobile application? As organizations mature, they find themselves having to learn about, evaluate and deal with multiple vendors to address the various needs across the mobile application lifecycle. Mobile is much more than just building an app and requires integrated management capabilities across the full mobile application lifecycle. As enterprises move from a single mobile application project to managing multiple mobile app projects throughout the lifecycle, the benefits for centralization of this application lifecycle process increase dramatically. Given that multiple resources and stakeholders will be likely involved in this lifecycle, the degree in which the enterprise can enforce standardization of the process and technology, the better management of risk, time and cost of delivery they will have. Furthermore, if both internal and external resources are developing or revising the application, it will be easier to move those projects between those differing groups of developers if the processes and technology are standardized. Without some standardization of the mobile application lifecycle, development occurs in silos across the enterprise creating islands of information that are disconnected and inaccessible. This results in a lack of valuable analysis that results in poor decision-making and inefficiencies. Developers, business analysts, QA and LOB heads all need to collaborate efficiently, share insights and leverage them across stages and applications. Without a single, open, and scalable mobile application platform, there will be silos of 2012 APPCELERATOR, INC. ALL RIGHTS RESERVED 4
mobile application development across the enterprise. In such a fragmented environment, there are a wide variety of tools being used by different departments in each phase of the lifecycle today. A next generation platform should enable a single 360-degree view of each app as it passes though the lifecycle. This platform should integrate a best of breed approach and drive standardization across the enterprise. The result will enable linking or correlating critical information from each phase to make better decisions (e.g., linking defects to tests so if a defect is identified and fixed, then known tests can efficiently be rerun to close the defect versus the entire test plan). There are powerful social concepts that have become mainstream ways of interacting with people and information (e.g., news feeds, commenting on relevant issues, publishing updates, etc.). A next generation mobile application development platform should incorporate these established social practices into the daily workflow of the application built upon it. These social best practices should also influence how information enters and is shared within the platform. Finally, a next generation mobile platform should enable social collaboration with all stakeholders and resources from business analysts to developers to Quality Assurance (QA) to LOB owners. Collaboration to solve problems through similar conversation threads becomes central to integrating social in the lifecycle (e.g., sharing a defect and getting a community to engage in how to solve it). KEY MOBILE APPLICATION PLATFORM VENDOR EVALUATION CHECKLIST QUESTIONS: Mobile Lifecycle Management Do you support all phases of the mobile application lifecycle: Develop? Test? Deploy? Manage? Analyze? Have you integrated social concepts into the daily workflow of your platform? 2012 APPCELERATOR, INC. ALL RIGHTS RESERVED 5
Challenge #2: Mobile Client How do we deliver innovative mobile user experiences across the different devices that our customers and employees are using? How do we find qualified developers to resource these mobile initiatives? Enterprises aspire to deliver the best, native user experiences within their mobile applications. However, hiring teams of scarce developers with ios and Java skills is difficult and expensive. Developers (internal or outsourced) should be able to develop the entire mobile application, from front-end client to back-end connections and business logic, in a unified mobile development environment based on open technologies like JavaScript. This nextgeneration platform should therefore leverage the enterprise s existing investment in web developers with JavaScript skills. With the use of the same environment and language to build, apps can move between teams and in/out of production and development seamlessly. Ideally the services and development platform are from a single vendor, can use common logic and languages, and don t require the developer to learn multiple methodologies or programming languages. The application's functions and the audience for that app will drive the choice of architecture (native or mobile web) and operating system; the platform should not limit you. End users, whether they are employees or customers, expect compelling, native experiences across many different operating systems and device classes (tablet, smartphone, smart TV). The mobile app platform should support the ability to build those device- and device-class-specific apps, from a single code base, with significant code re-use across all device classes and operating systems. KEY MOBILE APPLICATION PLATFORM VENDOR EVALUATION CHECKLIST QUESTIONS: Do you offer multi-platform support (ios, Android, Windows)? Mobile Client Can you build Native, Hybrid, and Mobile Web Apps in a single platform? Do you provide access to all device APIs? 2012 APPCELERATOR, INC. ALL RIGHTS RESERVED 6
Challenge #3: Mobile Services Is our current web architecture suited for mobile? Mobile apps need to consume data from multiple sources, but many of these data sources were designed for desktop web apps, not mobile apps. Your mobile back-end should provide and enable the creation of mobile-optimized APIs that can leverage data from multiple sources (e.g., enterprise, social cloud, and SaaS clouds) that seamlessly integrate with data from any cloud. A next generation mobile application development platform should offer an integrated mobile backend-as-a-service (MBaaS) for the most commonly required functions, like push notifications, check-ins, user and password administration, and photo storage. By giving developers the option of tightly integrated services and/or connecting to existing services which that developer or enterprise may already use, the widest number of use cases for any app are covered. Many developers fail to realize the importance and benefits of having an MBaaS set of pre-built services in the cloud that can easily be built into the mobile application. The extra work of building an MBaaS from scratch can become 2-3x the time and cost of the client mobile app! Developers (internal or outsourced) should be able to develop the entire application, from front-end client to back-end and business logic, in a single environment. Ideally, that environment should use standard languages like JavaScript. With the use of the same environment and language to build, development teams need not concern themselves with server infrastructure or different programing languages. This use of a single environment for both front client side development and server side services development is critical to mobile. KEY MOBILE APPLICATION PLATFORM VENDOR EVALUATION CHECKLIST QUESTIONS: Do you offer a set of pre-built MBaaS APIs? Does your platform offer the ability to easily create and deploy custom cloud services? Mobile Services Do you offer MBaaS services that can be consumed by any mobile client regardless of the technology used? Are automatic scalability and availability an integral part of your platform? What flexible deployment options do you offer: public cloud, virtual private cloud, or on-premise private cloud? 2012 APPCELERATOR, INC. ALL RIGHTS RESERVED 7
Programming Language Popularity Challenge #4: Mobile Ecosystem Now that we have multiple mobile apps, we must evaluate and manage multiple vendors to address the various needs across the mobile application lifecycle. Will the vendors we are working with be able to keep up with the rapidly evolving mobile landscape? We don t want to be limited by our vendors abilities to prioritize and deliver updates in pace with our requirements. The speed of mobile is unprecedented in technology; the speed of innovation and the speed of adoption are faster than the majority of enterprises can handle. Five years ago there was no iphone, three years ago a tablet computer was a punch line to a bad joke Now 90% of enterprises we talked to have ios devices inhouse, and according to a 2012 Gartner survey, 80% of them are adopting ipads. The only way a next generation mobile application platform can keep pace with this rate of change is with the contribution of a massive, engaged ecosystem that can add to and enhance the platform and its reach. Proprietary development languages and environments that require specific training will offer significantly smaller numbers of available developers and force the enterprise to train/retrain web and application developers in order to utilize them to fulfill mobile app requirements. Those platforms that use web-based standard development languages (JavaScript, HTML) will find a huge advantage when it comes to the number of developers, and the enterprise will have to train/re-train fewer in order for them to be productive. Esoteric, standards-based languages should also be avoided, as creating a compelling application on a three-to-four-inch screen is difficult enough; a platform shouldn t force a new language as well. An open source approach is needed to rapidly enhance, fix and secure the platform. With the number of operating systems the enterprise will support across their mobile application portfolio and the differing feature sets of the supporting devices, a large open source community is the best method to make sure those capabilities are supported within that next generation mobile application platform in a reasonable timeframe. 2012 APPCELERATOR, INC. ALL RIGHTS RESERVED 8
Vendors who take a closed, build-everythingthemselves approach will not be able to innovate quickly enough for the rapidly evolving needs of the mobile enterprise. It will be impossible to build all of the required connections, all of the required functions, and all of the necessary technologies to support the emerging needs of innovative mobile applications. An open, modular platform should be able to provide support for extensions to new connections and functions and an ecosystem of SI's, ISVs and developers should be able to share these extensions in an open and accessible marketplace. A mobile app is fundamentally different from traditional enterprise software. The number of operating systems it has to support, the complexity of social connections to the app, the speed in which new functions become available, faster release cycles and the lack of control the enterprise will have over the data will force the enterprise to address mobile differently. KEY MOBILE APPLICATION PLATFORM VENDOR EVALUATION CHECKLIST QUESTIONS: How many available developers are using your platform? Does your platform use a web-standard development language (JavaScript, HTML)? Do you take an open source approach? Or do you have a closed, build-it-yourself approach? Mobile Ecosystem Do you have a community marketplace that offers modules and apps to extend the power of your technology? How many System Integrator partners do you have? How many ISV partners do you have? How many live apps have been published with your technology? How many enterprise customers do you have? 2012 APPCELERATOR, INC. ALL RIGHTS RESERVED 9
Conclusion Mobile application development represents a massive opportunity for enterprises to transform nearly every aspect of their customer and employee communications. However, significant hurdles must be cleared before the enterprise can realize these benefits. Mobile lifecycle management, client platform, an MBaaS and ecosystem all must be weighed when considering mobile application development platforms. Next generation mobile platforms must embrace the cloud, social networking, and open standards in order to remain relevant for enterprises that want to own their mobile strategy. Your competition and your employees have already embraced the technology. How will you take advantage of it? Mobilize your business, mobilize your life. Appcelerator is the #1 Mobile Cloud Platform Appcelerator is the leading enterprise-grade, cross-device mobile development solution on the market today, with over 350,000 mobile developers worldwide and 50,000+ cloud-connected applications used on 75 million devices every day. The company s flagship offering, Appcelerator Titanium, is the only platform to enable fully native, cross-device development from a single codebase for ios, Android, Blackberry, and HTML5 mobile web apps. Appcelerator s Cloud Services enable easy integration of compelling features such as push notifications, user logins, and photo uploads. Appcelerator s customers include NBC, Zipcar, ebay, PayPal, and LEGOLAND. These companies develop their mobile applications on Appcelerator products so they can decrease time-to-market and development costs, increase customer adoption and revenues, and enjoy greater flexibility and control. Download Titanium for free at www.appcelerator.com. 2012 APPCELERATOR, INC. ALL RIGHTS RESERVED 10