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
2. An increasing number of both mobile
devices and potential applications are
forcing developers to overcome obstacles
through 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 to
one. On the one hand, development cement the customer relationship through
in this space is vibrant and full of mobile delivery of updates, offers, and
opportunities; a spectrum of new alerts. Newly available in the customer-
devices, from smartphones to tablets, is relationship arsenal: so-called disposable
redrawing 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 development
questions – including, what devices to As there are many application scenarios
target, how to create simple yet effective that developers face, there are an
applications, and how to secure the data equal number of elements that they
that 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 applications
on enterprise mobile application to be as useful as possible, they must
developers. This trend encompasses transparently synchronize data with back-
many facets. Increasingly, corporate end systems.
users are accessing enterprise data from
mobile devices which may be their own There are also many development
or may be deployed by their internal environments. Developers can also choose
IT department. That means developers from either native development tools
may not know what the target platform for each of the major mobile devices
is, 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 (including
Corporate users, from the boardroom mobile enterprise application platforms
down, increasingly demand that such as SAP AG’s Sybase Unwired
applications be as easily understood as the Platform, Kony Solutions Inc.’s KonyOne™
applications they use online or for their platform, or Antenna Software Inc.’s
personal computing needs. As a result, Antenna Mobility Platform™, or mobile
developers need to craft applications that consumer application platforms, including
are not only straightforward, but also lack PhoneGap™ and Appcelerator® Titanium).
a lot of menus and options that require
screen real estate that isn’t available on Developers have the unenviable task
most smartphones. of accommodating these scenarios
through the choice of their development
As if those parameters weren’t enough, environment. What kinds of mobile
there is the increasing demand development environments are available,
for organizations to interact with and what are their pros and cons? And
customers via online applications on which best practices give developers a
smartphones. Whether the industry is better chance to achieve success?
2
3. Addressing the Challenges of Enterprise
Mobile Development
When developers sit down to map their Security
goals for the application, they must
determine how they are going to address Every mobile device manufacturer
the aforementioned challenges. The understands the importance of
decision is based on the usage scenarios security, and offers accommodations
they’re trying to accommodate. Not for it. For developers, however, that
surprisingly, many of these challenges means each operating system has
overlap. That’s why developers must look its own custom architecture.
at each one in context.
Sometimes different mobile platforms
provide varying degrees of support for
Data Access securing data stored on the device. At the
Where is the enterprise data users need same time, not every mobile application
to access? Should it be accessed through needs the same level of security, and
a Web browser, or through a native users dislike multiple log-ins to access
application running on the device? In data on the device itself or back-end
some cases, the data might exist solely data. However, the responsibility for
in a back-end database. That requires protecting data falls squarely on the
connectivity, but the state of wireless application developers’ shoulders, so they
coverage is such that, beyond one’s own must incorporate encryption into the
office (or sometimes a well-covered application down to the file system level.
metropolitan area), you can never assume
a network connection. To address this, Encryption helps to ensure that data
developers have to determine whether cannot be pilfered from the device, even if
some data will be stored in the device’s it is lost. But at the same time, developers
native file system or accessed solely should also consider other options for
through a browser (in which instance the preserving and protecting data. These
device will most likely store no data). include programming backup capabilities
for ensuring data is archived on a periodic
For instance, do you want a salesperson basis, as well as creating remote “kill” or
to be able to download updated inventory “wipe” capabilities so that the disk can be
data onto a mobile device and head out erased if it goes online after it’s reported
into a territory with spotty connection lost by the authorized user.
strength? That requires a synchronization
capability to help ensure that once the User Experience
salesperson is back within range, they can
update again. This is especially important in cross-
platform scenarios where screen sizes
Most operating systems can may not only differ but offer the option of
accommodate the disappearance of portrait versus landscape. How is the screen
a network connection, as well as the real estate best used? What features should
handoff between a broadband wireless be available? Developers have to remember
connection, such as 3G or 4LTE, and that users on the go are usually looking for
a local Wi-Fi connection. But the specific information, and determine how
application must understand when a to make that information as easy to find
connection is dropped, so that it can as possible. They also have to differentiate
roll 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
5. Mobile Development Options
In order to address these challenges and Platform environment provides The MCAP category includes such tools
concerns for developers, tools vendors compatibility with common integrated as PhoneGap™, Appcelerator®, and
have crafted multiple development development environments (IDEs), such AppMobi®, and leans more toward the
environments, including both native tools as Eclipse, that enables developers to open-source world. They incorporate
and cross-platform tools. Native tools are leverage existing tools and expertise. three key technologies: HTML5, Cascading
designed 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 allows
tools give developers the flexibility to there may be stringent requirements for developers to create mobile applications
create an application that will run across admission into public app stores. Apple at a lower cost, but also requires them to
multiple 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 to
Native 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 it
or Microsoft® Windows® Phone 7. The Development Tools in a native wrapper format, basically
decision to use one or the other relies on These cross-platform tools generally fall embedding a browser screen within the
how deeply developers want to link the into two categories themselves: Mobile native application which then renders
application with the underlying operating Enterprise Application Platforms (MEAP) the HTML5/CSS/JavaScript page.
system, as capabilities in one operating or Mobile Consumer Application Platforms
system may not be available in another. Which application development strategy
(MCAP). The two sets of tools are not
In 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 MEAP
operating system and the associated based, with little or no data saved on the
vendors – including Antenna Software
development environment to create an mobile device? Does it require capabilities
Inc. and Kony Solutions Inc. – are also
application with those features. native to the operating system? Does
offering MCAP toolkits.
it require security features, or support
One advantage of using native In many ways, these two options resemble capabilities, that require a MEAP? Or
development tools: applications will run the choice between build-it-yourself or can it be created using an MCAP? Once
more smoothly on whichever mobile a full-fledged toolkit in other segments developers, in conjunction with line of
devices use that operating system, of the application development world. business representatives have answered
which 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 tools
platforms, in fact, it may be better to such as graphical user interfaces, version
develop native applications for that control, and workflow. They tend to have
majority of users. That lets developers more integration tools and gateways to
take advantage of platform functionality. third-party services (such as Facebook
The alternative is developing a cross- and Twitter), as well as better technical
platform application that serves everyone, support capabilities.
but has more limited functionality.
In addition, because MEAPs focus on
When developers want to target multiple the enterprise segment, they strive
markets, however, they must still to incorporate stronger security
employ application architecture best capabilities, taking into account that
practices and use of a common data the applications will be used to access
model to optimize the development back-end corporate information.
effort across multiple platforms. For
instance, SAP AG’s Sybase Unwired
5
6. Mobile Development Best Practices
No matter what the answer to the about such events as message arrival A key part of testing is the user
foregoing questions, some commonalities and power levels. In a cross-platform experience, which can help make
apply to development efforts. The environment, developers will need to add an application more successful by
best results come from applying the such features. maximizing acceptance and usage.
following best practices in the design With a short amount of time to develop
and deployment of mobile applications. API Management and limited screen real-estate within
Some of these, of course, relate to which they have to communicate
any application development effort, Developers should institute a strict policy usability, developers must devote time
but most take into account the regarding use of components across to researching the most effective text
vagaries 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 be
key to mobile application development, implemented differently, the functions
especially in a cross-platform and their underlying code are the same.
Application Analytics
environment where multiple efforts may Because mobile applications do not run on
be underway simultaneously. Even if Security an always-connected environment where
the development toolkits are different, IT can monitor clicks and other usage, it’s
developers should verify that they can By definition, mobile devices are crucial to incorporate analytics features
use common testing tools, project vulnerable. They upload and download that track how users interact with the
management 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 fashion
Developers should confirm that their team inherent security capabilities but also developers expected. Analytics can also
has the proper breadth and depth: breadth using other tools such as encryption for show which features aren’t used, so that
in the needs of application area being sensitive data. (Remember to balance this they can either be removed or made
targeted, and depth on the particular with power consumption). The ability to easier to access. Developers should also
platforms 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 as
Design preservation precludes the creation they’re being used out in the real world.
of an easy or even automatic backup
Developers should take into account mechanism so that users don’t have to
the most appropriate architecture for think about backing up stored data.
Feedback Mechanism
mobile applications. The best method is to The flip side of automated application
develop a layered application, where the
functionality remains consistent across
Testing and User Experience analytics is a feedback mechanism for
users. Don’t rely solely on automated
platforms (while still conforming to each Application testing (especially with capabilities, but develop a capability
platform’s look-and-feel), with modular real users) is often overlooked in – whether through e-mail, social
pieces plugged in underneath. Within development schedules, but the fact that networking or other means (even through
those modular pieces, retain identical mobile users tend to need information the application itself) – for users to report
business 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 technical
can help speed up application should be tested not only for usability, support issues, but also provide insight
development. At the same time, but for power consumption to verify for application updates. Consolidating
though, especially with cross-platform they’re not battery hogs. They should this feedback will show which features or
development, 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 connections
For instance, in native development, the to confirm that they accommodate
operating system can notify applications both online and offline usage.
6
7. Conclusion
Turning Challenges
into Opportunities
Sustainable application development
and delivery excellence requires the
implementation 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 Accenture
can help you achieve your mobile
application development goals, visit
www.accenture.com/mobility.
7