Your SlideShare is downloading. ×
Accenture: mobile application development challenges-best-practices
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Accenture: mobile application development challenges-best-practices

1,702
views

Published on

Developers have the unenviable task of accommodating multiple usage scenarios through the choice of their development environment. Multiple development environments are available to address the …

Developers have the unenviable task of accommodating multiple usage scenarios through the choice of their development environment. Multiple development environments are available to address the challenges of data access, security and user experience. Developers must decide which development environments give them a better chance for success.

The best results for developers engaged in enterprise mobile development come from applying best practices to the design and deployment of mobile applications. Some of the following best practices relate to any application development effort, but most take into account the vagaries of mobile development.

Mobile Development Best Practices focus on:

Methodology
Development Skills
Design
API Management
Security
Testing and User Experience
Application Analytics
Feedback Mechanism

Published in: Technology

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,702
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
82
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Mobile Application Development:Challenges and Best Practices
  • 2. An increasing number of both mobiledevices and potential applications areforcing developers to overcome obstaclesthrough the use of sound practices.The plight of a mobile application finance, transportation, retail or others,developer these days is a challenging organizations are looking for ways toone. On the one hand, development cement the customer relationship throughin this space is vibrant and full of mobile delivery of updates, offers, andopportunities; a spectrum of new alerts. Newly available in the customer-devices, from smartphones to tablets, is relationship arsenal: so-called disposableredrawing the boundaries of what users applications that are time-sensitive,can do. On the other hand, this new relating to specific events and promotions.landscape also brings new developmentquestions – including, what devices to As there are many application scenariostarget, how to create simple yet effective that developers face, there are anapplications, and how to secure the data equal number of elements that theythat is uploaded and downloaded. must consider in mobile application development, including data access,In particular, the so-called trend of the security, offline capabilities, and back-consumerization of IT weighs heavily end integration. For mobile applicationson enterprise mobile application to be as useful as possible, they mustdevelopers. This trend encompasses transparently synchronize data with back-many facets. Increasingly, corporate end systems.users are accessing enterprise data frommobile devices which may be their own There are also many developmentor may be deployed by their internal environments. Developers can also chooseIT department. That means developers from either native development toolsmay not know what the target platform for each of the major mobile devicesis, requiring either a cross-platform or and platforms (including Apple® iOS,multi-platform development effort. Android™, Microsoft® Windows® Mobile and Microsoft® Phone 7, Symbian®, RIM®But the consumerization of IT also BlackBerry®, Java®, Linux®, and Meego™)presumes an element of ease of use. or cross-platform environments (includingCorporate users, from the boardroom mobile enterprise application platformsdown, increasingly demand that such as SAP AG’s Sybase Unwiredapplications be as easily understood as the Platform, Kony Solutions Inc.’s KonyOne™applications they use online or for their platform, or Antenna Software Inc.’spersonal computing needs. As a result, Antenna Mobility Platform™, or mobiledevelopers need to craft applications that consumer application platforms, includingare not only straightforward, but also lack PhoneGap™ and Appcelerator® Titanium).a lot of menus and options that requirescreen real estate that isn’t available on Developers have the unenviable taskmost smartphones. of accommodating these scenarios through the choice of their developmentAs if those parameters weren’t enough, environment. What kinds of mobilethere is the increasing demand development environments are available,for organizations to interact with and what are their pros and cons? Andcustomers via online applications on which best practices give developers asmartphones. Whether the industry is better chance to achieve success?2
  • 3. Addressing the Challenges of EnterpriseMobile DevelopmentWhen developers sit down to map their Securitygoals for the application, they mustdetermine how they are going to address Every mobile device manufacturerthe aforementioned challenges. The understands the importance ofdecision is based on the usage scenarios security, and offers accommodationsthey’re trying to accommodate. Not for it. For developers, however, thatsurprisingly, many of these challenges means each operating system hasoverlap. That’s why developers must look its own custom architecture.at each one in context. Sometimes different mobile platforms provide varying degrees of support forData Access securing data stored on the device. At theWhere is the enterprise data users need same time, not every mobile applicationto access? Should it be accessed through needs the same level of security, anda Web browser, or through a native users dislike multiple log-ins to accessapplication running on the device? In data on the device itself or back-endsome cases, the data might exist solely data. However, the responsibility forin a back-end database. That requires protecting data falls squarely on theconnectivity, but the state of wireless application developers’ shoulders, so theycoverage is such that, beyond one’s own must incorporate encryption into theoffice (or sometimes a well-covered application down to the file system level.metropolitan area), you can never assumea network connection. To address this, Encryption helps to ensure that datadevelopers have to determine whether cannot be pilfered from the device, even ifsome data will be stored in the device’s it is lost. But at the same time, developersnative file system or accessed solely should also consider other options forthrough a browser (in which instance the preserving and protecting data. Thesedevice will most likely store no data). include programming backup capabilities for ensuring data is archived on a periodicFor instance, do you want a salesperson basis, as well as creating remote “kill” orto be able to download updated inventory “wipe” capabilities so that the disk can bedata onto a mobile device and head out erased if it goes online after it’s reportedinto a territory with spotty connection lost by the authorized user.strength? That requires a synchronizationcapability to help ensure that once the User Experiencesalesperson is back within range, they canupdate again. This is especially important in cross- platform scenarios where screen sizesMost operating systems can may not only differ but offer the option ofaccommodate the disappearance of portrait versus landscape. How is the screena network connection, as well as the real estate best used? What features shouldhandoff between a broadband wireless be available? Developers have to rememberconnection, such as 3G or 4LTE, and that users on the go are usually looking fora local Wi-Fi connection. But the specific information, and determine howapplication must understand when a to make that information as easy to findconnection is dropped, so that it can as possible. They also have to differentiateroll back to its last-known data. between internal and external users. A consumer application requires clarity and simplicity, and frequently offers a “gotta-have wow” factor. Applications for employees, in keeping with the precepts of consumerization, should also be clear and simple productivity tools. 3
  • 4. 4
  • 5. Mobile Development OptionsIn order to address these challenges and Platform environment provides The MCAP category includes such toolsconcerns for developers, tools vendors compatibility with common integrated as PhoneGap™, Appcelerator®, andhave crafted multiple development development environments (IDEs), such AppMobi®, and leans more toward theenvironments, including both native tools as Eclipse, that enables developers to open-source world. They incorporateand cross-platform tools. Native tools are leverage existing tools and expertise. three key technologies: HTML5, Cascadingdesigned solely for use with a particular Style Sheets (CSS), and JavaScript.operating system, while cross-platform One disadvantage of native applications: Using open-source capabilities allowstools give developers the flexibility to there may be stringent requirements for developers to create mobile applicationscreate an application that will run across admission into public app stores. Apple at a lower cost, but also requires them tomultiple mobile devices. Inc., for instance, requires that developers do a greater amount of work on their own, submit iPhone mobile digital device and do it with a command-line rather applications for testing within Apple toNative Development Tools facilitate such compatibility. than a graphical interface.These enable developers to create In order to incorporate a browser-applications that run on specific Cross-Platform based application using a cross-platforms, such as Apple® iOS, Android™, platform tool, developers can wrap itor Microsoft® Windows® Phone 7. The Development Tools in a native wrapper format, basicallydecision to use one or the other relies on These cross-platform tools generally fall embedding a browser screen within thehow deeply developers want to link the into two categories themselves: Mobile native application which then rendersapplication with the underlying operating Enterprise Application Platforms (MEAP) the HTML5/CSS/JavaScript page.system, as capabilities in one operating or Mobile Consumer Application Platformssystem may not be available in another. Which application development strategy (MCAP). The two sets of tools are notIn order to take advantage of specific developers choose really depends on the as differentiated as they were originally,capabilities, developers may target the application itself. Will it be browser- though, because some of the MEAPoperating system and the associated based, with little or no data saved on the vendors – including Antenna Softwaredevelopment environment to create an mobile device? Does it require capabilities Inc. and Kony Solutions Inc. – are alsoapplication with those features. native to the operating system? Does offering MCAP toolkits. it require security features, or supportOne advantage of using native In many ways, these two options resemble capabilities, that require a MEAP? Ordevelopment tools: applications will run the choice between build-it-yourself or can it be created using an MCAP? Oncemore smoothly on whichever mobile a full-fledged toolkit in other segments developers, in conjunction with line ofdevices use that operating system, of the application development world. business representatives have answeredwhich can represent a vast market. For instance, MEAPs tend to have more these questions, they’ll be ready to begin.If a company has standardized a vast full-fledged development environments,majority of users on one or two mobile with a wider variety of traditional toolsplatforms, in fact, it may be better to such as graphical user interfaces, versiondevelop native applications for that control, and workflow. They tend to havemajority of users. That lets developers more integration tools and gateways totake advantage of platform functionality. third-party services (such as FacebookThe alternative is developing a cross- and Twitter), as well as better technicalplatform application that serves everyone, support capabilities.but has more limited functionality. In addition, because MEAPs focus onWhen developers want to target multiple the enterprise segment, they strivemarkets, however, they must still to incorporate stronger securityemploy application architecture best capabilities, taking into account thatpractices and use of a common data the applications will be used to accessmodel to optimize the development back-end corporate information.effort across multiple platforms. Forinstance, SAP AG’s Sybase Unwired 5
  • 6. Mobile Development Best PracticesNo matter what the answer to the about such events as message arrival A key part of testing is the userforegoing questions, some commonalities and power levels. In a cross-platform experience, which can help makeapply to development efforts. The environment, developers will need to add an application more successful bybest results come from applying the such features. maximizing acceptance and usage.following best practices in the design With a short amount of time to developand deployment of mobile applications. API Management and limited screen real-estate withinSome of these, of course, relate to which they have to communicateany application development effort, Developers should institute a strict policy usability, developers must devote timebut most take into account the regarding use of components across to researching the most effective textvagaries of mobile development. platforms, which facilitates maintenance and graphics. For global developers, and extensibility across applications the challenge is enhanced by the need on different platforms. For instance,Methodology even though the web services library to create graphics that are globally recognizable as well as culturally sensitive.Determining the design methodology is on Android™ and Apple® iOS will bekey to mobile application development, implemented differently, the functionsespecially in a cross-platform and their underlying code are the same. Application Analyticsenvironment where multiple efforts may Because mobile applications do not run onbe underway simultaneously. Even if Security an always-connected environment wherethe development toolkits are different, IT can monitor clicks and other usage, it’sdevelopers should verify that they can By definition, mobile devices are crucial to incorporate analytics featuresuse common testing tools, project vulnerable. They upload and download that track how users interact with themanagement and reporting. data wirelessly, in potentially insecure application. This will not only help identify locations. They’re small and can be ongoing technical support issues, but misplaced. Think carefully about security,Development Skills not only incorporating the platform’s also reveal whether users are interacting with the application in the fashionDevelopers should confirm that their team inherent security capabilities but also developers expected. Analytics can alsohas the proper breadth and depth: breadth using other tools such as encryption for show which features aren’t used, so thatin the needs of application area being sensitive data. (Remember to balance this they can either be removed or madetargeted, and depth on the particular with power consumption). The ability to easier to access. Developers should alsoplatforms being used. remotely wipe data from a lost device incorporate capabilities such as crash logs is also crucial. On the reverse side, data to track what’s gone wrong on devices asDesign preservation precludes the creation they’re being used out in the real world. of an easy or even automatic backupDevelopers should take into account mechanism so that users don’t have tothe most appropriate architecture for think about backing up stored data. Feedback Mechanismmobile applications. The best method is to The flip side of automated applicationdevelop a layered application, where thefunctionality remains consistent across Testing and User Experience analytics is a feedback mechanism for users. Don’t rely solely on automatedplatforms (while still conforming to each Application testing (especially with capabilities, but develop a capabilityplatform’s look-and-feel), with modular real users) is often overlooked in – whether through e-mail, socialpieces plugged in underneath. Within development schedules, but the fact that networking or other means (even throughthose modular pieces, retain identical mobile users tend to need information the application itself) – for users to reportbusiness rules and application logic. on a time-sensitive basis means that bugs and offer insight into what they applications should be more reliable like and dislike about the application.Creating re-usable platform components than desktop applications. Applications This will not only help reduce technicalcan help speed up application should be tested not only for usability, support issues, but also provide insightdevelopment. At the same time, but for power consumption to verify for application updates. Consolidatingthough, especially with cross-platform they’re not battery hogs. They should this feedback will show which features ordevelopment, developers must determine be tested with multiple browsers capabilities the most users are demanding.which features they will need to add. and on multiple carrier connectionsFor instance, in native development, the to confirm that they accommodateoperating system can notify applications both online and offline usage.6
  • 7. ConclusionTurning Challengesinto OpportunitiesSustainable application developmentand delivery excellence requires theimplementation of five steps:1. Optimize development and testing efforts by accurately identifying which platforms to target, whether for internal or external deployment. This facilitates a better return on development and testing investment.2. Employ consistent and reliable development practices across all leading platforms. This facilitates consistency in look-and-feel of applications, reusability of code components, and more-easily programmed updates.3. Collaborate extensively. The application development team should incorporate coding, testing, graphical design, and user experience skills to help applications to fulfill users’ needs.4. Tailor distribution mechanisms appropriately. This involves creating capabilities for both initial downloads through managed application stores, periodic updates, and integrated device management for security purposes.5. Track emerging technologies and maturing standards. With mobile technology still advancing, developers should look for ways to make applications perform even more efficiently, whether in terms of speed or features.For more information on how Accenturecan help you achieve your mobileapplication development goals, visitwww.accenture.com/mobility. 7
  • 8. Contact Us About Accenture Srinivas Ramadath Accenture is a global management Mobility Software Services - Device consulting, technology services and & Platforms North America Sales Lead outsourcing company, with more than srinivas.ramadath@accenture.com 244,000 people serving clients in more than 120 countries. Combining unparalleled Maurice Collins experience, comprehensive capabilities Mobile Software Architect across all industries and business functions,For more information on maurice.collins@accenture.com and extensive research on the world’sAccenture Mobility Services Or visit: www.accenture.com/mobility most successful companies, Accenture collaborates with clients to help themplease scan the 2D barcode. become high-performance businesses and About Accenture governments. The company generated net revenues of US$25.5 billion for the fiscal Mobility Services year ended Aug. 31, 2011. Its home page Accenture is focused on enabling its clients is www.accenture.com. to achieve breakthrough growth throughout Rights to trademarks referenced herein, other than the rapidly changing mobile ecosystem. The Accenture trademarks, belong to their respective Accenture Mobility Services group offers owners. We disclaim proprietary interest in theInvolved in the industry five mobility services including consulting, marks and names of others.Accenture is a Board Observer of the software services—applications, softwareWholesale Applications Community services—devices and platforms, managed(WAC), an open global alliance services, and business integration services.formed from leading organizations These are designed to help organizationswithin the telecoms sector, uniting a embrace business to employee (B2E),fragmented applications marketplace. business to consumer (B2C), business to business (B2B) and machine to machine (M2M) business opportunities. Accenture offers mobility and embedded software services across a wide range of industries, devices and platforms, including Symbian, Microsoft® Windows® Mobile, Windows® Phone, Android™, Blackberry®, iPhone®, Java™, Linux, and MeeGo™.Copyright © 2012 AccentureAll rights reserved.Accenture, its logo, andHigh Performance Deliveredare trademarks of Accenture. 12-0097 / 11-4613 AM