Hybrid MobileDevelopment:A Cost-Effective Strategy forBuilding Cross-PlatformSmartphone Apps
Smartphone sales totaled more than 480million last year, surpassing sales of PCs,according to figures from research firmCa...
Native technologies: Objective-C for the iPhones iOS; Java for Android; .NET for WindowsWeb technologies: JavaScript, HTML...
The company could also develop an app that would be pushed from an appstore to the mobile devices. This latter approach wo...
The customer-management app referred to earlier could be written in thenative code of the smartphone, fully using the devi...
“This approach allows for better development and product flexibility,”Burgert says. “Also, by using web technologies in po...
Globant Hybrid Mobile Development White Paper
Upcoming SlideShare
Loading in...5
×

Globant Hybrid Mobile Development White Paper

1,012

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,012
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
30
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Globant Hybrid Mobile Development White Paper"

  1. 1. Hybrid MobileDevelopment:A Cost-Effective Strategy forBuilding Cross-PlatformSmartphone Apps
  2. 2. Smartphone sales totaled more than 480million last year, surpassing sales of PCs,according to figures from research firmCanalsys. The personal computer as we’veknown it is not headed for extinction, butclearly the smartphone could become thedominant device for communicating andusing the web.Consider this other data: In 2010, Amazons Jeff Bezos commented thatcustomers had ordered “more than $1 billion of products using a mobiledevice.” Today, nearly 90 percent of the world’s population subscribes to amobile service; that’s about 6 billion users, according to the InternationalTelecommunications Union. Granted, not all of those subscribers are usingsmartphones, but the number reflects an essential truth: People want amobile connection.The question, then, is not “Should we develop mobile applications” butrather “How should we develop mobile applications?”The diversity of mobile platforms and the variety of development tools make How?a complex question. A business has to decide first which device or devices todevelop for. Currently the most common smartphones are Android-based modelsand iPhones, with 48 percent and 43 percent of the US market, respectively,according to the latest Nielsen survey. IDC predicts that three years from now,Android will command half the smartphone market, followed by Windows phones(20 percent) and then iPhones (16%).Many software providers will want to sell apps to users of all three platforms. Andas a result of IT consumerization – with employees bringing their personal devicesto work – organizations will have to build business applications that run on allthree platforms as well; that is, that run on the most popular models.Cross-platform development will be standard practice. Thats great for users, butpresents a variety of complex challenges for software creators.The developer choices begin with the two types of app delivery mechanisms: Webdelivery (URL or web apps) and app-store delivery (Google Play or iTunes, orenterprise app stores).The most important consideration is choosing the programming or markuplanguage for writing the app, which typically would be:
  3. 3. Native technologies: Objective-C for the iPhones iOS; Java for Android; .NET for WindowsWeb technologies: JavaScript, HTML 5, CSS3Hybrid technologies: Using both native and web technologies in the same app A software publisher will typically want to establish a consistent look-and-feel and user experience (UX) across different devices. While this is relatively simple with a web app, it is a considerable challenge when porting between different mobile environments. The developer who wants to follow a cross-platform strategy has to contend with the different user interface guidelines for Android phones and iPhones and Windows phones. In order to create a consistent UX, these guidelines dictate how developers must handle all the elements of the interface, from icons to buttons to input screens. This reality of multiple platforms “pushes publishers of apps to consider strategies for cross-platform mobile development, making sure that they can scale their development teams in a cost-effective way,” says Andrew Burgert, general manager, mobile, for Globant, a software company that has designed products for Android and iOS devices. Globants clients have included JP Morgan Chase, Cars.com, LinkedIn, and Salesforce.com. But a strategy that involves having dedicated teams building mobile apps for each platform becomes unwieldy and expensive. Plus, it sacrifices the ability to share and re-use components between the platforms. Finding sufficient numbers of qualified programmers and designers to staff these separate teams can also be a hindrance. Some mobile software developers, including Globant, have instead adopted the hybrid paradigm. “We believe the hybrid approach, although not applicable for all apps, is the key to achieve a cost-effective multiplatform mobile strategy,” Burgert says.The Hybrid Process Consider a typical business scenario. A company wants to develop an app to help its salesforce manage customers. The company could build a web or URL app and give the sales team a link to the app, which they could access from most mobile devices.
  4. 4. The company could also develop an app that would be pushed from an appstore to the mobile devices. This latter approach would allow for softwarethat provides a more robust user experience, but it might not be necessaryor worth the expense in this case. (An app that consumes more phonecapabilities and resources, such as an action game, however, would be bestdelivered as an app store app.)If the company chooses to deliver the customer-management app as a URLor web app, it will have to build it using web technologies, which usuallymeans JavaScript and HTML 5. These technologies allow within a browserthe sorts of graphics and transitions and user experience provided by an appstore app.As Globants Burgert points out, the developers building this app can achievea high level of user satisfaction with this approach, even with standardprocesses that allow the user to bookmark the app on their devices homescreen with an icon, which then launches the browser and links to the URLapp.After building the URL app, the developers can also choose to wrap it in aWebView in order to ship the app to an app store for downloading. “If createdappropriately, the UX would be extremely similar, and the development teamcould make use of native features of the smartphone if needed,” Burgertsays.This is an example of hybrid development, in which both native and webtechnologies are employed. HTML and JavaScript would be interpreted in theWebView without the user noticing.With an app that exists on a smartphone, developers can implement featuresthat would not be possible if the app was accessed through a browser. Theapp can take advantage of photos or contacts or other files stored on thephone, and also tap into native features of the device. The developers canmake native API calls, or use JavaScript and a connecting framework, suchas PhoneGap, to link the JavaScript code to the phones native capabilities.This hybrid strategy, based on open source standards, allows the publisherto reuse web components that come from other areas of the organization, orcreate components that can be used throughout.As Burgert explains, there are two ways to develop using this hybridapproach: * Build user interface code into the app * Have the app pull UI code from a server, similar to a regular browserWith the first option, the user experience tends to be smoother; the userdoes not have to wait for the app to pull the user interface code into thephone. Furthermore, there is room for offline capabilities if an Internetconnection is not available.With the second option, the user has to wait while the app interprets andrenders the front-end code from the server. In this case, no Internetconnection means no app. From a developer standpoint, though, thisapproach does make it easy to update or improve the user interface asneeded. This could be an appealing capability to enterprises in particular.
  5. 5. The customer-management app referred to earlier could be written in thenative code of the smartphone, fully using the devices potential, andperform very well on that platform. But if the development team has to portthe app to another device – from Android to iPhone, for example – the teamwill very likely have to be augmented with people who have the necessaryknowledge and skills, or a new team brought in. The launch timeline for theported app will most likely have to be extended.The Business CaseTo analyze the cost side of the development equation, lets consider amedium-size business that already has built a few iPhone apps. Forpurposes of this discussion, lets assume they have three iOS developers andan iOS architect. They are busy maintaining the released apps and workingon another one. Based on estimates in Table 1 below, this team of four iscosting the business about $500,000 annually. Role Headcount Yearly Hours Annual Cost iOS Architect 1 2,000 $200,000 iOS Developer 3 6,000 $300,000 Total 4 8,000 $500,000Now, as happens often today, the companys managers decide the iPhoneapps need to be ported to Android devices and then to Windows Phonedevices as well. The chief technical officer estimates that he will need toexpand staff considerably in order to have the manpower but, moreimportantly, to have the necessary Android and Windows Phone competency.In this scenario, he does not ask for additional staff to help with businessanalysis, interface design, or testing; in reality, these additional skills wouldmost likely be part of his request, but for simplicitys sake, this exampleincludes only actual development personnel.Despite the CTOs minimalist request, the CFO says only three new stafferscan be hired. The CTO can panic, or he can regroup and adopt an innovativeapproach. In this situation, a hybrid strategy would allow the developmentteam, only slightly enlarged, to build the app for the two new platformscost-effectively.For this hybrid plan of action, the CTO would need to build the team asfollows: * 1 JavaScript/HTML 5 architect * 3 JavaScript developers * 1 iOS engineer * 1 Android engineer * 1 Windows Phone engineerTable 2 breaks out the costs for this team, and demonstrates that for thescenario weve described and for similar situations, a hybrid developmentstrategy enables a company to build for multiple smartphone platforms in avery budget-friendly way.
  6. 6. “This approach allows for better development and product flexibility,”Burgert says. “Also, by using web technologies in portions of the app, the dev “According to the challenges Globantteam can have more automated testing options, and even A/B testing forbetter product management and feature decisions. There can also be was facing I can say that we provedsharing of components between a web development team and a mobile to have the right skills and ability asteam.” a company to produce a testingBurgert points out, however, that the hybrid strategy is not appropriate for working team in only two weeks asall types of mobile software. For example, when the app requires a high levelof performance, like a financial trading app, a game with complex graphics, well as providing all the necessaryor a very polished entertainment product. “When the app is very demanding resources for the project, such asin terms of user experience, then hybrid might not be appropriate,” he says. HHRR recruiting, IT infrastructure,“A racing game that uses the accelerator on the phone, or one that requires servers, communications, power, etc,a high degree of responsiveness, for that you need to go native. A hybrid apptends to perform similarly to a browser-based app.” within the time schedule required by Orbitz business”, expressedThe development team needs to perform an analysis that looks at the Alejandro Stornelli, Globant’sperformance requirements of the app, the user experience, and whether or Technical Director for Orbitznot code should reside on the smartphone or can be pulled from the serverwithout hindering operation. The cost analysis in Table 2 presents an account.exercise that any CTO needs to conduct before deciding which developmentstrategy is most financially acceptable.For his company, John Doe, technology director for Acme Corp.,summarizes the benefits of a hybrid strategy like this: "We see great valuein unifying our mobile initiatives across different platforms with a hybridapproach. It makes sense from a talent and business perspective, whileallowing us to push product out faster."JavaScript Architect 1 2,000 $200,000JavaScript Developer 3 6,000 $300,000 iOS Developer 1 2,000 $100,000 Android Developer 1 2,000 $100,000WinPhone Developer 1 2,000 $100,000 Total 7 14,000 $800,000 Compared to: Native Team 12 24,000 $1,500,000 Hybrid Team 7 14,000 $800,000 Savings 42% 42% 47%Features of Web, Native, and Hybrid StrategiesWeb: true multiplatform, rapid UI changes, online onlyNative: single platform, high-performance apps, full access to devicefeatures, offline capabilitiesHybrid: multiplatform, flexibility for native API call access, offlinecapabilities For more information visit www.globant.comGlobant US Globant Argentina Globant UK34 Hayden Rowe Ingeniero Butty 240 6th floor Sistemas UK LTDStreet Suite 122 Laminar Plaza Tower Central Point 45 Beech Street01748, Hopkinton, MA C1001AFB - Capital Federal London | EC2Y 8AD1-877-798-8104 +54 11 4109 17 00 +44 20 70 43 82 69Fax: +1 (774) 759 3019 Fax: +54 11 4109 18 00 Fax: +44 20 79 45 61 26

×