Mobile Strategy

25
Mobile Strategy INTRODUCTION Few technologies have transformed human behavior as quickly as mobile. In fact, mobility is no longer just considered pervasive, it is now the first point of contact between individuals and organizations, with 91% of users keeping their mobile device within arm's reach 100% of the time. Organizations looking to fully embrace mobility are increasingly focused on developing mobile strategies to help engage, inform, and forge new opportunities with customers, partners, and employees. According to GSMA, Smartphones will account for two out of every three mobile connections globally by 2020. The study, "Smartphone forecasts and assumptions, 2007-2020" conducted by GSMA Intelligence, a research wing of the GSMA, predicts that the number of smartphone connections will grow three-fold over the next six years. Everyone knows that mobile is the wave of the future. The three biggest companies in technology are fighting over it right now. But unlike the web before it, mobile is making user experience matter. And it matters to the point where it could substantially change the shape of online commerce. It is a rare business that can safely ignore this for long. MOBILITY TRENDS:

description

Business and Technical considerations for

Transcript of Mobile Strategy

Mobile Strategy

INTRODUCTION

Few technologies have transformed human behavior as quickly as mobile. In fact, mobility is no

longer just considered pervasive, it is now the first point of contact between individuals and

organizations, with 91% of users keeping their mobile device within arm's reach 100% of the

time. Organizations looking to fully embrace mobility are increasingly focused on developing

mobile strategies to help engage, inform, and forge new opportunities with customers, partners,

and employees. According to GSMA, Smartphones will account for two out of every three

mobile connections globally by 2020. The study, "Smartphone forecasts and assumptions,

2007-2020" conducted by GSMA Intelligence, a research wing of the GSMA, predicts that the

number of smartphone connections will grow three-fold over the next six years.

Everyone knows that mobile is the wave of the future. The three biggest companies in technology are fighting over it right now. But unlike the web before it, mobile is making user experience matter. And it matters to the point where it could substantially change the shape of online commerce. It is a rare business that can safely ignore this for long.

MOBILITY TRENDS:

The graph indicates the growth of Global Mobile OS trend. Clearly, android is leading others by

leaps and bounds followed by IOS.

Windows phone is a late entrant but is picking up considerably and expected to be a significant

player given the advantage they have with their existing customer base. It is growing swiftly in

Europe. They are number two in Brazil and Italy (where they have surpassed IOS). IDC

expects the market share of Windows phone to increase to 6.4% by 2018.

The landscape in India

According to GlobalWebIndex, the internet population in India grew 230% in the last five years

(it is the fourth fastest-growing market globally), and with 130m netizens it is the third largest

internet population overall.

Despite its fast-growing and already huge online universe, only 17% of the country’s overall

population are online. The IAMAI recently reported that much of India’s internet user-base are

located in urban areas (29m live in Delhi, Kolkata, Chennai and Mumbai) but there are around

845m rural Indians living in areas where getting online is not so easy.

Mobile technology in India is becoming increasingly affordable; with around 257m (according to

IDC) feature phones and smartphones in use among the population. The share of feature

phones dropped to 78 percent in the last quarter of 2013 from 90 percent in the first quarter of

2013. As per latest reports, sales of feature phones declined 25 percent in the third quarter of

2014 because the difference in price between feature phones and low-cost Android

smartphones is reducing further. As per Morgan Stanley, the mobile subscriptions are likely to

touch 520 million by 1018.

India’s entry-level segment will soon forget feature phones and enjoy the smartphone

experience, thanks to the efforts of Google and Mozilla.

Smartphone Market

The Smart Phone market in India appears clogged with a number of local and global players

jostling for position. Samsung currently leads the smartphone (16%) race in India ahead of

Micromax (14%). Other players like Lava (10%), Karbonn (8%), Motorola (5%) and steadily

eating into the market share of Samsung. Nokia (10%) is steady with marginal growth.

In partnership with local phone-makers Micromax, Karbonn, and Spice, Google unveiled the

Spice Android One Dream UNO Mi-498, Karbonn Sparkle V Red, and Micromax Canvas A1,

with prices starting from as little as INR6,399.

Google revealed recently that it has signed up more phone-makers for upcoming launches,

such as Asus, Xolo, HTC, and Lenovo. There are many other low cost players foraying into the

space.

FireFox race

The low-cost smartphone race in India is getting hotter. A handful of handsets makers are rolling

out low-cost phones with top-of-the-line features. Alcatel Onetouch has partnered with Mozilla to

launch its new Fire C 2G loaded with FireFox OS. It is priced at a neat INR1,990 (US$32).

Alcatel has also made a deal with Flipcart for exclusive sale of the Fire C 2G.

Alcatel is the third handset maker after Intex and Spice to bring a Firefox OS-based phone to

India. A month ago, Intex Cloud FX was announced for INR1,999 (US$32) and Spice Fire One

Mi FX1 for INR2,299 (US$37). Both handset makers tied up with Indian telco Aircel to bundle

free 1GB data for the first three months

All three Firefox OS-based phones sold from online portals are targeted at the urban

consumers. Like Google partnering with local manufacturers for its Android One, Mozilla too is

tying-up with handset makers to reach out to the right consumers with affordable smartphones.

In the end, both are trying to bridge the gap – smartphone experience on a low-cost device.

The last mile connectivity issue is rapidly being addressed by biggies like Microsoft, Facebook

and Google aligned with ‘Digital India’ initiative from Government of India. In fact, Microsoft

plans to use "white space" - the unused spectrum between two TV channels - to provide free

connectivity to large sections of the Indian population. Facebook plans using drones while

Google plans for 500 million internet users by 2017 (Apart from bring ‘Google Fibre’ for

broadband connectivity). NOFN (‘National Optical Fibre Network ‘ - BBNL initiatives) is expected

to cover 2,50,000 villages in 2 years. With these initiatives the internet penetration is likely to

expand into rural markets by leaps and bounds and hence the low cost devices are further

expected to catch-up.

M- Commerce in India

According to the MasterCard Mobile Payments Readiness Index (MPRI), India ranked 21st

among 34 countries with the score of 31.4 on a scale of 100. Singapore Leads with 46% and

world average is at about 33%. The index also points out that only 14 per cent of Indian

consumers are familiar with both P2P and m-commerce transactions, and 10 per cent are

familiar with POS transactions. However, with mobile phone penetration of over 80 per cent,

India has a huge potential for mobile banking.

MOBILE ADOPTION

Due to the exponential nature of developments in the mobile space, there are too many chaos on various fronts – business adoption, technology developments, monetization etc. There are multiple operating systems (IOS, Android, Windows, Symbian, FireOS) on which steep developments are taking-up to support features that are conceived on the go. The different endpoints that run combination of operating systems further add to the chaos by their own variability in size, shape (form factors) and different front-end capabilities like battery backup, network bandwidth, available memory, CPU speed etc. Due to wide distribution in customer endpoints based on these, it becomes imperative for the enterprises to devise a strategy of embracing the mobile space with respect to supporting these endpoints in an effective and phased manner. Typical challenges faced by the enterprises are:

Which are the operating systems to be supported and on what priority?

How do we ensure as unique a user experience across different devices as practically possible?

How to we take care of the future upgrades (which are inevitable as the technologies themselves are maturing) across so many different code bases that are required to be built?

In view of the steep learning curve for each of the platforms, are there ways to make generalizations in implementations so that the ‘repeated implementation’ is minimized?

How do we test and ensure that the product complies with all the endpoints with reasonable acceptance, at least?

At the next level, the nature of mobile architecture itself poses additional challenges with the advent of BYOD (Bring Your Own Device). The endpoint could be a customer endpoint or an employee endpoint. It looks that eventually it becomes inevitable that the enterprises allow the access of both these types of endpoints into their backend. Or put in other words, endpoints would have the enterprise applications running with their own personal (some of them business) applications running on them. Strategies like MAM are available to create a sandbox kind of environment to run enterprise applications separately. However enterprises do not have the control over the same and it becomes subject of individual preference at the user level. With the proliferation of low-cost yet robust application platform at the endpoints, the organizations are required to align themselves to supporting the new paradigms of mobile like MDM, EMM, MAM, BYOD, BYOE.

Technology Challenges – Problems of fragmentation

Mobile technology is too fragmented. Given the high cost of building a quality user experience, enterprises have to trade platform coverage and user experience off against each other, at least

initially. Over time, one will be able to evolve to provide a quality experience across a large number of platforms. But to get there efficiently one will need to be intentional in how one selects the mobile implementation strategy. The confusion is compounded with the proliferation of different mobile operating systems, rapid development of web and middleware technologies (like javascript, HTML5) and cloud services. Challenge is to how apps should evolve for the most likely evolutionary paths.

MobileAdoption Approaches

There are various possible approaches for mobile development. On one extreme, one can

adopt a complete native approach and build an application for each OS separately. But the

learning curve for each technology can be steep and can throw significant challenges in both

development effort and time to market factors. On the other end of the spectrum, option is to

build a “mobile web” which works with all the devices seamlessly. However, the experience can

be very elementary. (See Appendix A for detailed discussion on adoption strategy from a

business perspective).

Varying intermediate hybrid approaches that can reduce the development effort are possible

and need detailed consideration. There are plethora of intermediate technologies and tools to

adopt to reduce the time and development complexity.

MOBILE MIDDLEWARE TECHNOLOGIES

There are various middleware technologies for mobile development at various levels. They offer

different approaches in simplifying the mobile adoption challenges. They can be classed as:

a) Mobile Enterprise Application Platform (MEAP)

At the highest level there are well developed Mobile Enterprise Application Platform (MEAP)

solutions that allow us to code once and deploy applications across various platforms. MEAPS

provide a comprehensive, long-term approach for deploying mobility. However, the cost of

MEAP can be prohibitive unless an enterprise is required to support multiple types of

applications to be built and supported on multiple platforms and have the need to integrate

different backend systems. Prominent examples of these type are: IBM Worklight, Veriyo, TCS

Hy5, Oracle’s ADF, Motorola’s Rhomobile, Kony, Verivo Akula, Feedhenry, Antenna

Software(PegaSystems), appMobi.

b) Development frameworks (Some are a freeware)

There are a plethora of middleware frameworks that support hybrid model of app development

that cater to different technologies from Javascript, CSS, HTML5 or proprietary languages in

some cases. The common functionality (that is OS independent) of the application can be

written using the middleware and any device specific features (such as camera, compass,

geolocation etc) can be addressed with code for each OS separately thus alienating the need to

code repeatedly for each target platform. Frameworks provide a great cost saving advantage by

developing one application that runs over multiple platforms such as iPhone, Android,

Blackberry, Windows and others thereby allowing a single source development approach to

deploy to various device endpoints. Some of the most popular frameworks are briefly discussed

below.

PhoneGap

Adobe's (formerly Nitobi's) PhoneGap - widely recognized as a game-changer for mobile app

development - is an open source mobile development framework for building powerful cross-

platform mobile applications. It allows development of mobile app just once with web standards

(HTML5, CSS3, JavaScript). With PhoneGap, one can get access to powerful native features --

like accelerometer, camera, compass, contacts, file, geolocation, media, network, notifications

(alert, sound, vibration), and storage -- and seamlessly deploy to multiple platforms. PhoneGap

currently supports a wide array of platforms, e.g. Apple iOS, Google Android, HP webOS,

Microsoft Windows Mobile, Nokia Symbian OS, RIM BlackBerry, and Samsung Bada.

Appcelerator Titanium

Appcelerator Titanium is another choice for building cross-platform mobile apps. One can

develop native iPhone/iPad, Android, and mobile web (and soon BlackBerry) apps with full

access to each device's API. Applications built with Titanium support all of the iPhone, iPad and

Android UI, including table views, scroll views, native buttons, switches, tabs, popovers and

more.

Sencha Touch

Sencha Touch is an HTML5 mobile framework. It aids the development of web application with

HTML, JavaScript and CSS. One can use Sencha Touch to create web applications that look and

feel like mobile apps or can compile them into native apps that ship with either a PhoneGap native

wrapper or Sencha's own native wrapper. Sencha is focusing future efforts on the PhoneGap native

wrapper over it's own and provides several device related classes that integrate with the PhoneGap

APIs and sometimes provides simulations of these APIs when PhoneGap is not loaded. Sencha also

lets users to create apps for Google Chrome.

Telerik

The Telerik Platform is a modular platform for web, hybrid, and native development that

integrates a rich set of UI tools with cloud services. This end-to-end development and project

management solution provides tools and services for all stages of application lifecycle for

hybrid, native, or web apps, both mobile and desktop. The Telerik Platform integrates

AppPrototyper, AppBuilder, Backend Services, Analytics, Mobile Testing, AppManager, and

AppFeedback modules to provide integrated suite.

The Telerik Platform provides both an integrated cloud environment for development and a wide

range of SDKs for development in preferred environment. When using a third-party

development environment, one can download a number of SDKs, frameworks, and UI controls

to consume the Telerik Platform services and create user interfaces for web, hybrid, or native

apps.

Xamarin

Provides a build, test and moniter platform for iOS, Android, Windows and Mac with a single,

shared C# codebase. Xamarin provides a API (including the support) and more than 20000

.NET libraries for windows platform. Xamarin provides a cloud based test devices with a

framework called ‘Calabash’ for automation.

Rhomobile

Motorola's RhoMobile offers a suite of polished tools -- Rhodes framework, RhoSync server,

RhoHub Development as a Service (DaaS), and RhoGallery app store -- to quickly build and

deploy powerful native mobile applications for all smartphones: iPhone, Android, Windows

Mobile, BlackBerry, Symbian and tablet devices such as iPad & Samsung Galaxy Tab. These

native device apps work with synchronized local data and take advantage of device capabilities

such as GPS, PIM contacts, camera, native mapping, push, alerts and calendar. It is built with

MVC architecture based on HTML5 and Ruby for controllers and is released under the MIT

licence.

Cloud Based Providers

There are also many cloud based Mbaas (Mobile Backend As A Service) providers. The most

prominent ones are listed below.

Anypresense (http://www.anypresence.com/): Supports IOS, Android, HTML5 and plethora of

backend application extensions.

Appcelerator Titanium Cloud Services (http://www.appcelerator.com/): Javascript based

development platform for native and cross-platform applications. Has 20 pre-built cloud

services.

Feedhenry (Acquired lately by RedHat) (http://www.feedhenry.com/): One can develop HTML5,

hydbrid and Web applications using opentoolkit approach. (supported toolkits - native SDKs,

hybrid Apache Cordova, HTML5 and Appcelerator Titanum as well as frameworks like Xamarin,

Sencha, Backbone.js, Angular.js. and Ember.js)

iKnode, (http://iknode.com/) Rest API based Web and mobile service.

Kii (http://en.kii.com/) Platform for Mobile and Internet Of Things

Kinvey (http://www.kinvey.com/) Kinvey enables developers to build mobile apps for any mobile

OS platforms – iOS, Android, Windows, Blackberry, HTML5 and uses various backend cloud

service to provide end-to-end solutions.

Kony (http://www.kony.com/) Allows one to use open source (Javascript/phonegap) or Native

tools (IOS, Android) and connect with the backend with the REST API.

Parse (https://www.parse.com/) Facebook backed Web and Mobile Development SDK for IOS

and Andriod.

Appery.io (http://appery.io/) UI based development platform for cloud for IOS, Andriod,

Windows, HTML5 based on javascript.

Knack (http://Knackhq.com/) Mobile optimized web apps for IOS and Andriod.

Codiqa (http://codiqa.com/), Jquery based mobile app development framework for cross-

platform HMLT5 based apps and websites.

Conduit (http://www.conduit.com/) DIY Mobile and Web platform for IOS, Android, Amazon

kindle, HTML5.

Apigee (http://apigee.com/about/). Provides BaaS API for common features of mobile apps.

These APIs include user and data management, social networking, events and newsfeeds,

geolocation, and push notifications. API BaaS is also available in open source as Apache

Usergrid. SDKs are available for IOS, Android, and Javascript.

Other Frameworks:

Other than the available mobile middleware technologies, there are also a number of UI and

JavaScript frameworks which tend to make life of app development easy. Some of these can be

integrated and used alongside other middleware frameworks (Not in MEAPs) to further ease the

complexity of app development.

EMRACING MOBILE – Considerations

Business Considerations

Mobile is going to stay and transform the way business is conducted. For evolving strategy to align the business processes that provide maximum benefit following considerations have to be made.

1. Business Domain

The business domain of the enterprise largely dictates the mobile adoption strategy. For

example, a media company which largely hosts the news content can well be developed with a

‘mobile web’ approach where as a gaming company on the other hand must go native.

Intermediate approaches of hybrid need be considered for many services with relatively simple

to complex workflows that have mix of device independent features and native features.

2. Business Case

A comprehensive business case for the mobile has to be construed that forms the base for

further decision making. The business drivers, the business model and business benefits

(tangible/non-tangible) have to be evolved that will govern the short-term as well as long-term

adoption and further feed the requirements for the mobile evolution appropriately. Target

segment (B2B, B2C or B2E), revenue model(s), enterprise domain influence the choice of

mobile adoption strategy.

3. Features of the mobile app

If it is a simple branding kind of application, it may be good to just develop a mobile web

versus developing a sophisticated data intensive application. If it is a gaming application,

the choice is obviously native.

4. BYOD Considerations

Users increasingly expect to be able to do virtually everything on a mobile device that they can

do on a laptop (if not more). Although controlling—or even knowing—exactly how mobile apps

use, store, and transmit data is increasingly difficult, integration with enterprise systems is a

step that most mobile initiatives will have to take sooner or later. This calls for elevated security

concerns.

5. Cloud factorization

As more and more deployments are moving towards cloud and SaaS based models, the

enterprise back end architectures are getting aligned with these initiatives though the security

considerations still need to be addressed. This space is steadily maturing with the development

of approaches like BYOE (Bring Your Own Encryption),Security as a Service etc. The

implications of ‘moving to cloud’ need to be kept in mind while devising a mobile strategy.

6. Technology Competences

As discussed previously there are plethora of middleware technologies that one can select

based on the overall mobile strategy (mobile problem for the enterprise), type of the service

model (B2E, B2C, B2B), available skills and the kind of app (requirements) itself. The

availability of skilled resources in a particular technology area can influence the technology

selection of the architecture to be selected.

Technology considerations

Given the variability with respect to environments, endpoints configurations and hence the need

to support multiple platforms, the various architectures for app development present several

trade offs for us to consider. Apps with a native architecture will usually offer the greatest

functionality for a particular device, but will be limited to use on just that device or environment,

limiting its reach. At the other end of the spectrum is mobile-web architecture, which can be

used on any device with a web-browser, but won’t be able to access many of the new nifty

features on today’s and tomorrow’s gadgets. The recent introduction into the market of

breakthroughs in HTML5 allows some features to work with a web architecture, but not enough

to compete with native in functionality. Wrapper and hybrid architectures seek to balance the

benefits and drawbacks of native and web by combining native and web into a single app.

Wrapper and hybrid apps still do not offer the same levels of performance, security, or interface

richness that a native infrastructure can, but can often offer greater functionality than mobile-

web architectures. See ‘Appendix B’ for comparison of the Development model (Native vs

Hybrid vs MobileWeb).

WHAT NEXT? The choice and path to Mobile Adoption is not straight forward. It would depend on case to case

basis depending on what is required of the mobile apps. Following questions need to be

answered before decision is made on the technology selection.

1. What are the business drivers for the mobile adoption?

Whether the enterprise is actively seeking to directly monetize the app as a new service, trying

to create additional revenue sources for the existing offerings, offering value added services for

the existing customer base for enhanced goodwill (free of cost?) etc

2. What is the distribution of end-user device OS?

Here emphasis should also be given on the future market trends. Android being a market leader

definitely calls for adoption.

3. Mobile Requirements

The requirements of the apps to be developed greatly govern the overall adoption approach for

the mobile together with the other factors. As discussed previously, the mobile approach and

technology selection is greatly influenced by the type of applications to be built with the wide

range from a simple news based application to a complicated gaming. Following list is of high

level architectural requirements that any mobile development initiative would consider at the

minimal.

Ubiquity.

Ease of Development (Minimal Code Base, Minimal maintenance)

Learning Curve (Technologies selected should not have a steep learning curve)

Development Support (For any middleware used)

Ease of publishing/distribution

Performance (UI)

Security Aspects (No local data storage)

Support for Bluetooth (for easy distribution)

Integration of Analytics – Ease and value

4. What are the security requirements for the app being planned?

Depending on the business requirements, security constraints would be required to be

supported or catered to.

Based on the answers for these questions, development model/s have to be decided. A broad-

level decision has to be made as to short list a set of technologies and frameworks for further

consideration. Other than the major platforms and frameworks already discussed in the

previous section, there are a plethora of development tools and frameworks available for

evaluation (see Appendix D). Detailed architectural evaluation with respect to the construed

requirements has to be carried out to arrive at the platform /tools to be used.:

And finally, if one were to adopt a particular middleware, a set of preliminary questions have to be answered to shortlist the possible candidates for further evaluation.

Questions for platform provider

1. Which target systems does the platform support?

2. Architectural suitability of the platform with the app requirements.

3. Any technology dependency on other third-party frameworks / libraries?

4. Security features security paradigms supported

5. Ease of integration with other available frameworks/freewares.

6. Ease of building UI across multiple target systems

7. Architectural flexibility for future product enhancements.

8. Platform coverage of core features supported.[TBD].

9. What services and maintenance options do you want to offer for your clients?

10. Technology maturity of the platform.

11. Testing ease and automation

12. Availability, channels and SLAs for support.

13. Ease of Debugging/publishing.

14. Licensing requirements: Freeware/Developer licence/Subscription based.

15. Financially stability of the company.

Choosing a middleware needs careful considerations. Because, mobile being a recent

phenomenon, even the platform vendors themselves still have a lot of ground to cover. The

most advanced among them still fall short of the expectations. It may be good idea to do small

prototypes with the shortlisted framework/s to de-risk any major technology issues and hidden

limitations.

APPENDIX A: Possible approaches

The question to be answered for the mobile approach: which is more important, experience or

platform coverage?

While experience may be a prime goal, there are up to four or five distinct mobile platforms that

need to be considered: iOS, Android, BlackBerry, Windows Phone 7, Firefox OS and Mobile

Web. If more than two platforms matter, delivering a high-fidelity experience across all of those

would be an expensive and lengthy operation. Considering the fact that mobile technology is

here to stay, managing code base across many platforms and providing product upgrades is

also a significant challenge. That's not to say that a great experience across all platforms that

matter is not worth aiming for. Rather than trying to get there immediately, one can treat this as

a goal.

A first move will involve some degree of trade-off between platform coverage and the fidelity of the experience. The nature of app, business, users and the market-place should guide us as to what the trade-off should be. Given all these constraints, choices range across a number of options between supporting a single platform with an ultra-high-fidelity experience and supporting all platforms with a bare bones experience.

For convenience we can name the two extremes the Depth-wise strategy and the Width-wise-

strategy.

Depth-wise strategy The Depth-wise strategy is to focus on a small set of features and just

one platform, but with a very polished and immersive user experience. Follow this strategy

when experience is key to the app or product. Often, the app would substantially be the product.

Width-wise- strategy: The Width-wise- strategy is to focus on building a lower fidelity app across many, if not all, of the mobile platforms. This app would provide a consistent feature set and experience across all platforms. This strategy is most suitable when already we have a large user base and the app would be a new channel to access the existing product. Evaluate a framework that could cater to ‘code once-deploy everywhere’ model.

Due to the existing user base, what's most important is to get the new channel in front of as many users as possible. Clearly, platform coverage is king. However, as this is mobile, experience is still very important. Instead of providing a degraded experience, provide a simplified experience with a minimal feature set.

APPENDIX B; Native, Hybrid, MobileWeb

Trade-off between Native-Hybrid-MobileWeb architectures

APPENDIX C: Comparison of Major Frameworks

Comparison of Phonegap and Titanium

PhoneGap uses HTML5, Javascript and CSS3 for creating application UI and

functionality while Titanium uses just pure Javascript for creating both UI and

functionality.

PhoneGap enables using an extensive array of Javascript libraries available in the

market including JQuery, JavascriptMVC, graphing and charting libraries, etc.

Titanium translates Javascript to native code at run-time using a translator embedded in

the package for each platform while PhoneGap uses WebView component to run the

application.

For data storage, PhoneGap supports localstorage, IndexedDB, and WebSQL. Titanium

supportes SQLite embedded database.

It is said that Titanium provides better performance than PhoneGap which infer that

Titanium translator provide better performance than the Webview.

Titanium provide native look and feel. While PhoneGap provides consistent UI across all

platforms. There are also some UI components for PhoneGap the provide native look

and feel but they have to be integrated for each platform separately (example Telerik,

Kondo etc).

Debugging PhoneGap applications is easier than Titanium because they depend on the

standard Webkit which can be debugged using web developer tools.

PhoneGap supports iOS, Android, Windows Mobile, Blackberry and Symbian while

Titanium supports iOS and Android only.

Difference between Phonegap and Sencha Touch

The learning curve of Sencha Touch is very steep, inherited from Ext JS. One needs to

invest a lot of time learning Ext JS architecture and components.

Architecture: Sencha Touch enforces an object-oriented approach. This is an advantage

over PhoneGap. PhoneGap as a container and an interface for native features does not

enforce any. Of course, a similar appraoch can be done with PhoneGap using open source

frameworks available on the web.

Extensibility: PhoneGap supports an extensive array of plugins that are umatched in any

other framework. It's fairly easy to write new ones as well.

Creating layouts with Sencha Touch components is a bit difficult than PhoneGap. One

must stick with their layouts, panels, etc.

Sencha Touch depends radically on Javascript for creating UI. So, if one needs to

customize or add UI components, then she needs to do it in JS

Sencha Touch provides a lot of ready made components. If the app does not have

requirement of fancy look, then Sencha Touch is a good fit

Sencha is not free and one needs to purchase the license, while PhoneGap can do the job

open-source way with the standard stack.

APPENDIX D – Summary of Third Party Frameworks

Following is a short summary of partial list of some of the other third party app frameworks (partial list)

with a short overview. Detailed evaluation need to be done based on the requirements.

ADOBE AIR

The Adobe AIR runtime enables developers to package the same code into native apps for iPhone, iPad, Kindle Fire,

Nook Tablet, and other Android devices, reaching the mobile app stores for over 500 million devices. One can use

the same code to package the applications to for Windows and MacOS desktops as well as IOS and android devices.

Languages: Action Script, HTML, JavaScript, CSS

Architecture; Native, Web (PhoneGap Build)

OS Supported: Android, BlackBerry, iOS, Windows

ANTENNA

Antenna Software helps enterprises build, run, and manage mobile apps with PegaAMP, which is the platform that

handles the complex aspects of mobile like security, integration, and management. AMPchroma is a fully integrated

cloud based mobility suite for the development of native and hybrid apps, websites, storefront on cloud.

Languages: HTML5, JavaScript, CSS

Architecture; Native, Hybrid, Mixed Mode, Web

OS Supported: Android, BlackBerry, iOS, Windows

APPCELERATOR

Appcelerator’s Titanium platform is a mobile application platform built on an open-source application development

kit that combines the multi-platform development, a modular-based architecture and ready-built cloud connections.

Titanium is a combination of open source technologies that offers a commercial subscription for enterprise grade

version of Titanium as well as usage based services for its cloud platform. One can create rich native iOS, Android,

hybrid, and mobile web apps from a single JavaScript-based SDK.

Languages: JavaScript-based platform with an integrated Eclipse-based IDE

Architecture; Native, Hybrid, Web

OS Supported: Android, BlackBerry, iOS, Windows

APPFURNACE (CALVIUM)

AppFurnace is a set of online tools that helps to create all kinds of apps by a non-programmer (using

APPFURNACE) or an experienced developer (using APPDEV). One can produce simple interfaces, location-aware

apps and extend beyond in-built functionality with JavaScript and publish for iPhone & Android. App in

AppFurnace is a blend of mobile HTML5, PhoneGap and extra native code .

Languages: HTML5, JavaScript, CSS

Architecture: Hybrid

OS Supported: Android, iOS

APPLICATION CRAFT

Application Craft makes mobile, tablet and desktop app creation easy with cloud-based mobile development

platform. The platform helps developers of all skill levels to build full-featured web and native apps once and deploy

across multiple platforms including iPhone, iPad, Android, Facebook, and the various browsers. One can choose a

cloud based platform or AC Enterprise, which can be installed anywhere.

Languages: HTML5, JavaScript, CSS

Architecture: Native, Web, Hybrid

OS Supported: Android, blackberry, iOS, Windows

APPMOBI

AppMobi has created an ecosystem to support cross platform mobile app development and deployment using

HTML5. AppMobi’s technology allows mobile app developers to support HTML5 and native app platforms with

just one code base, and to deploy and service their apps on multiple platforms, including the Open Web.

Languages: HTML5, JavaScript, CSS

Architecture: Web, Hybrid

OS Supported: Android, iOS, Windows, OpenWeb

BrightCove

Brightcove’s App Cloud is a complete platform enabling developers and business people to work together at every

stage of app development and growth. Build apps with HTML5 and JavaScript and deliver cross-platform apps that

access native APIs and are distributed through the Apple and Android app stores without having to learn platform-

specific languages. Brightcove has a Videocloud that caters for complete Video management.

Languages: HTML5, JavaScript, CSS

Architecture: Native, Web, Hybrid

OS Supported: Android, iOS

Canappi

Canappi enables one to build cross-platform mobile applications by combining Model Driven Engineering,

Metamodel Oriented Programming, with the scalability of cloud computing. Canappi is supposedly built with the

goal to simplify the software development process.

Languages: Canappi’s mdsl programming language

Architecture: Native, Hybrid

OS Supported: Android, iOS

CodeName One

Allows to create mobile/tablet apps in Java for all platforms. Codename One is a set of tools for mobile application

development that derive its architecture from Java. The Codename One Designer allows developers to create mobile

applications using drag and drop visual tools featuring live preview of changes within the tool and on devices. It is

cloud based and also has a version of private cloud server that can be hosted by the enterprise. Supports popular

IDEs including IntelliJ and Eclipse.

Languages: Java

Architecture: Native

OS Supported: Android, Blackberry, iOS, Windows

Convertigo

Convertigo, allows to embrace mobility with a single, adaptable method of integration. Convertigo offers a core

technology platform that can instantly extract and process data from any enterprise data source or application. It also

supports Eclipse based build tools that can be used to build hybrid (based on apache cardova using HTML5) or

native applications on various platforms. Convertigo can also connect to mainframe legacy applications. The

solution is both cloud supported as well as hosted.

This means we can offer mobile enablement of any existing legacy Web or Mainframe application.

Languages: HTML5, JavaScript, CSS

Architecture: Native, Web

OS Supported: Android, Blackberry, iOS

CORONA SDK

Corona Labs’ product Corona SDK, allows app development by empowering developers to create cross-platform

applications, games and eBooks for iOS, Androi, Kindle Fire and NOOK.

Languages: Lua

Architecture: Native, hybrid, Web

OS Supported: Android, iOS

Dojo

Dojo Mobile is a HTML5 mobile JavaScript framework that enables rapid development of mobile web applications

with a native look and feel on webkit-enabled mobile devices such as iPhone, iPod Touch, iPad, Android and RIM

smartphones and tablets. Dojo is built on a MVC framework and has a library of UI components and data-binding

components. Dojo Mobile comes with default themes for iOS, Android and Blackberry out of the box for the core

mobile widgets, so one can match the native look and feel that users are already accustomed to working with.

Languages: HTML5, JavaScript, CSS

Architecture: hybrid, Web

OS Supported: Android, Blackberry, iOS, Windows

DRAGON RAD

The DragonRAD cross-platform SDK allows one to build enterprise mobile applications in a single development

environment and simultaneously deploy to BlackBerry, Android, and Windows Mobile device. Using the

DragonRAD cross-platform SDK, one can build enterprise applications in a drag & drop environment with single

code base. DragonRAD is provided by Seregon Solutions Inc., a provider of mobile enterprise application platform

software.

Languages: Lua

Architecture: Native, but can deploy single app across multiple platforms.

OS Supported: Android, Blackberry, iOS, Windows

Feedhenry

FeedHenry’s Mobile Application Platform-as-a-Service supports the development, integration, deployment and

management of secure mobile apps that can be deployed to multiple smartphones and tablets.

Using HTML5, JavaScript, CSS and the FeedHenry AppStudio toolkits and templates, developers can build native,

HTML5 and hybrid apps and deploy these instantly to multiple smartphones and tablets.

Languages: HTML5, JavaScript, CSS

Architecture: Native, hybrid, Web

OS Supported: Android, Blackberry, iOS, Windows

GeneXus

GeneXus is the tool for automatically creating, developing and maintaining multi-platform applications. Works with

cloud platforms and supports all popular databases.

Languages: Knowledge Representation and Declarative Modeling for development, then code is automatically

generated for each platform.

Architecture: Native, but can deploy single app across multiple platforms.

OS Supported: Android, Blackberry, iOS, Windows

GIDEROS

Gideros helps to build apps and games on iPhone, iPad and Android, with a Flash-like programming interface using

a multi-platform development environment and IDE. Gideros Studio is a full-featured mobile application

development with a focus on graphical application and game programming.

Languages: LUA, HTML5, JavaScript, CSS

Architecture: Native

OS Supported: Android, iOS

IBMWorklight

IBM Worklight provides an open, comprehensive and advanced mobile application platform for smartphones and

tablets to develop, run and manage HTML5, hybrid and native applications.

IBM worklight platform ships with a comprehensive development environment, mobile-optimized middleware, and

an integrated management, and analytics console, supported by a variety of security mechanisms.

Languages: HTML5, JavaScript, CSS

Architecture: Native, hybrid, Web

OS Supported: Android, BlackbBerry, iOS, window

July Systems

July Systems is a cloud-based platform gives businesses the ability to leverage mobility. MX Platform delivers set of

out of the box modules that enable creation of mobile applications and a cloud based run-time environment for

operational efficiency.

Languages: Java, HTML, Groovy, FreeMarker, Java Script

Architecture: Native, Hybrid, Web

OS Supported: Android, BlackBerry, iOS, Windows

JQUERY MOBILE

jQuery Mobile is a touch-optimized Web Framework for Smartphones & Tablets. It is a HTML5-based user

interface system for all popular mobile device platforms, built on the jQuery and jQuery UI foundation. It is

supposedly lightweight and has a flexible, easily themeable design.

Languages: HTML5, JavaScript, CSS

Architecture: hybrid, Web

OS Supported: Android, Blackberry, iOS, Windows

Kony:

Kony delivers a suite of customizable, pre-built apps and the KonyOn Platform, which gives businesses base to

build apps once and deploy everywhere. They also deliver a comprehensive mobile application management (MAM)

solution for provisioning, deploying, managing and analyzing the apps.

Languages: HTML5, JavaScript, CSS

Architecture: Native, Hybrid, Web, Mixed mode

OS Supported: Android, BlackBerry, iOS, Windows

Marmalade:

The Marmalade SDK is versatile. The core of marmalade is a C++ SDK that targets multiple operating systems. But

for developers preferring other alternatives, they have custom stacks for Lua, HTML and Objective C; The core

platform is meant for gaming.

Languages: C, C++

Architecture: Native, Hybrid

OS Supported: Android, BlackBerry, iOS, Windows

MOBILEFRAME:

It is a code-free enterprise mobility platform that allows businesses to create, deploy and administer custom mobile

applications based on pre-built industry templates. Custom application development is also supported with native or

HTML based approaches using the application development platfrom. The platform also supports MDM features.

Languages: Graphical Drag and Drop, also supports C, C++, C#, Asp.NET, HTML, JavaScripts

Architecture: Native, Hybrid

OS Supported: Android, BlackBerry, iOS, Windows

MOSYNCH:

The open-source MoSync Software Development Kit (SDK) is a cross-platform mobile application development

environment to develop apps for all major mobile platforms from a single code base. The SDK enables mobile

developers to build and compile apps for up to nine different platforms at once, using C/C++ or HTML5/JavaScript,

or a combination of both to create hybrid apps. Using a single set of APIs, one can get access to graphics,

communications, location, contacts, camera, sensors and many other native device features.

Languages: C, C++, Lua, HTML5, CSS, JavaScript

Architecture: Native, Hybrid, Web

OS Supported: Android, BlackBerry, iOS, Windows

MOTOROLA SOLUTIONS:

With RhoMobile Suite, comprised of RhoConnect, RhoStudio and RhoElements, device type, operating system and

screen size doesn't matter. RhoMobile applications simply work on whatever mobile devices are in use in enterprise.

RhoMobile applications are OS-agnostic, able to support enterprise- and consumer-class operating systems

including Windows, Apple iOS, Android and BlackBerry.

Languages: Ruby with HTML5

Architecture: Native, Hybrid

OS Supported: Android, BlackBerry, iOS, Windows

NME

NME is a free, open-source framework that enables development for iOS, Android, webOS, BlackBerry, Windows,

Mac, Linux and Flash Player from a single codebase. Unlike most cross-platform frameworks, NME applications

are not written in a low-level language (like C or C++) and does not require a virtual machine or runtime in order to

run on a target platform.

Languages: Haxe (similar to Actionscript and Java)

Architecture: Native

OS Supported: Android, BlackBerry, iOS, Windows

Qt

Qt is a cross-platform application and UI development framework that is ideal for small-screen mobile device

development and is the de-facto development framework for Symbian phones. Qt is a full development framework

with tools designed to streamline the creation of applications and user interfaces for desktop, embedded and mobile

platforms..

Languages: C++

Architecture: Native, Hybrid

OS Supported: Symbian, Nokia

Resco.net

Resco Mobile CRM Studio is a developer platform integrated with Microsoft Visual Studio. Experienced .NET

developer can leverage the familiar development environment and C# programming language to perform required

customization or change. The main advantage of the Studio is the cross-platform development — the developer

works with only one mobile project. When needed, the mobile project is re-compiled for targeted mobile platform

(iPad, iPad2, Android).

Languages: C#

Architecture: Native

OS Supported: Android, iOS, Windows

SAP

Allows to build and deploy mobile apps that keep the workforce and customers connected and engaged – with the

SAP Mobile Platform that can help custom-developed apps for any device.

Languages:HTML5, Javascript, CSS

Architecture: Native, Hybrid, Web

OS Supported: Android, BlackBerry, iOS, Windows

Sencha

With more than two million developers worldwide, Sencha is one of the leading provider of open-source web

application frameworks and tools to major enterprises and independent developers.

Sencha Complete framework gives developers access to the technology, tools, and support for developing multi-

platform web apps based on HTML5. Combining Sencha Ext JS and Sencha Touch — the industry's leading

JavaScript frameworks — with Sencha Architect and other developer tools, Sencha Complete provides multi-

platform, multi-device business app development platform.

Languages: HTML5, Javascript and CSS

Architecture: hybrid, Web

OS Supported: Android, BlackBerry, iOS, Windows

Service2Media

Service2Media App Lifecycle Platform offers a rich library of capabilities pre-optimized to suit multiple

environments. The App Lifecycle Platform proposition is based on the core M2Active Platform Technology.

M2Active Tooling ‘on the desk’ consists of the M2Active Integrated Development Environment (IDE) and the

M2Active Software Development Kit (SDK).

Languages: HTML, Lua, JavaScript

Architecture: Native, Hybrid, Web

OS Supported: Android, BlackBerry, iOS, Windows

tiggzi

Cloud based drag and drop development tool that supports building applications using either HTML5, JQuerymobile

or native application with apache phonegap with a visual editor. One can also build Window8 Apps for tablets and

desktops.

Languages: HTML5, JQuery

Architecture: Native, Hybrid, Web

OS Supported: Android, iOS, Windows, Blackberry

TotalCross

TotalCross is a mobile development platform for PDA and smartphones. Using the Java language it makes possible

to develop portable applications to deploy in a wide range of market smartphones without any adaptation in the

source code (“write once run anywhere” concept).

The TotalCross SDK includes etwork connectivity management support, component editing with masks,

applications without graphical interface, line and bar graphs, preemptive threads, SSL support and native

implementation of the most used encryption algorithms, an unlimited sized anti-aliases fonts and support for screen

rotation on devices like the Tungsten TX, Qtec, iPhone etc.

Languages: Java

Architecture: Native

OS Supported: Android, iOS, Windows, BlackBerry.

Verivo

Verivo Software provides an enterprise mobility platform that allows one to centrally build, deploy, manage and

update mobile apps simultaneously across multiple devices. With Verivo’s AppStudio, one can drag-and-drop

features into integrated development environment (IDE) and can build mobile apps that integrate data from different

systems and sources. It has a J2EE based framework with client and server layers.

Languages: HTML5, CSS, JavaScript

Architecture: Native, hybrid

OS Supported: Android, BlackBerry, iOS, Windows.