Professional Documents
Culture Documents
GUIDE TO MOBILITY
Best Practices for Enterprise Mobile Development Teams
CONTENTS
INTRODUCTION / 3
1. AGILE AND LEAN IN MOBILE DEVELOPMENT / 6
2. THE IDEAL MOBILE DEVELOPMENT TEAM / 12
3. DESIGNING FOR MOBILE FORM FACTORS / 19
4. SEVEN KEY PRINCIPLES OF MOBILE DEVELOPMENT / 27
5. ARTFUL TESTING WITH USER IN MIND / 36
6. MOBILE DATA INTEGRATION OPTIONS / 45
7. MANAGEMENT AND APPLICATION SECURITY / 55
8. MAKING MOBILE ANALYTICS WORK / 60
SUMMARY / 66
INTRODUCTION
An Enterprise Architects Guide to Mobility Telerik: a Progress Company, a pioneering Our hope is to make it easier for enterprise
is designed to provide a roadmap for enterprise provider of tools and technologies to address teams to smoothly transition from web to mobile
development teams taking their first steps the entire application development lifecycle, development by sharing some of the most
toward developing and implementing a mobility has gathered in this eBook a compendium of important experiences and best practices that
strategyor for development managers insight and expert guidance for the enterprise Telerik has collected in creating tools for this
re-evaluating their mobile commitments and development leader on: evolution. This is just one more tool to support
looking for ways to be more effective. the mission Telerik has had since its founding
Agile and Lean development in 2002: to enable the developer community to
approaches for mobile create one-of-a-kind app experiences for
The ideal way to organize a mobile team their customers.
Design for multiple mobile form factors
Basic principles of mobile development (as
distinct from desktop or web development)
QA/Testing for mobile apps
Mobile data integration
Management and app security
Mobile analytics
A PUBLICATION OF CONTENTS
1. AGILE AND LEAN IN MOBILE DEVELOPMENT 7
Thousands of Variants
THE COMPLEXITY OF
With that, the enterprise accepts responsibility for BUILDING FOR MOBILE
supporting hundreds of distinct devices running
at least two different operating systems (Apples
iOS, Googles Android and possibly Microsofts
Mobile Windows OS as well). With all the form
factors that must be considered for these
devices, the app developer may need to allow for
thousands of new platform variants.
1
$
A Different Paradigm
Imagine your team is tasked with mobilizing an The term agile means a number of things. Agile teams meet frequentlythere are daily
old line of business system that youve had on the Spelled with a lower case a, agile is set of stand-up meetings, and each sprint (typically a
desktop for 15 years. Its not as simple as saying, principles: Planning only what is necessary two-week design and development cycle focused
Lets take this order or PO screen and display it for each iteration; not speculating on design; on a subset of the application) will culminate in a
on an iPad. The screen in the desktop app may encouraging tight feedback loops over the life review session involving the product owner from
have 75 fields; it simply will not work to pull all of cycle of the project. Capital A Agile is a set of the business side.
that information into one giant scrolling institutionalized processes. There are several
mobile form. documented variants, the best known of which In general, the team gets better at measuring its
are Scrum or Lean Software Development. progress and delivering value. Based on what the
Mobile is not just a new device platform; team estimates in advance and what it actually
its a different paradigm. Agile methodologies promote the ideals of rapid delivers over several sprints, they come to know
adaptation, evolutionary development, rapid their velocity.
You dont know what your end users are going delivery, continuous improvement and flexibility
to want at the outset. So you iteratively develop in the face of change. These are essential It requires commitment to all of the practices,
a prototype and put it in front of the customers qualities in a mobile development team. including the retrospective, in which the team
very quickly, so they can play with it and looks back after two weeks and asks, What
comment on it. Only do then you start building did we not do well? Why were we off on our
a little at a time. estimates of this task? Why did we miss half of
what we had in our backlog for this sprint?
That, in a nutshell, is agile development.
The Lean methodology grew out of the A Lean development team typically will evolve Adopting Lean means engaging customers
pioneering production system at Toyota, and was something akin to a product management as early and often as possible, and shipping
gradually applied to software development in the function, with Project Managers and User software as often as possible. Part of engaging
early 2000s. Lean is another way of aggressively Experience designers responsible for talking to customers is showing them prototypesrough
minimizing waste, having tight feedback loops customers, building out plans and roadmaps, ideas of what the team is doing. It means defining
and other principles of agile development. But building prototypes and iterating over prototypes Minimum Viable Productsshipping software
Lean is not as prescriptive in terms of what the with engineering and with customers. the customer can use, even if the products of
developer needs to do to be successful as are each iteration are not visible to everyone.
some of the more formal Agile methods.
In formal Scrum, sprints run two weeks. So, a Agile development methods succeed in
common question is: in an enterprise setting, is it executing the enterprise mobility strategy when
practical to ask for involvement from the business the developers and their counterparts on
every two weeks? the business side recognize that they are in
this together. They have common objectives,
The business doesnt have to be willing to and they share the challenge of embracing the
commit everybody at the end of each iteration, uncertainties of mobile development as partners.
but it should be willing to commit one person.
That individualin agile parlance, the Product
Ownerhas the proxy for the business in
evaluating successive releases against the
requirements defined by the business.
<G
K O>
A 10
2.
J
How Centralized/Decentralized
Should It Be?
Enterprise
architect
Many enterprise technical organizations have One aspect of mobile that makes a degree of
shared services supporting the project teams. centralization attractive is the fact that mobile
There is a benefit in consistency within an apps tend to be built from smaller software
enterprise. That is why enterprises have internal components designed to manage specific
style guides for written communications, and why functions and servicesfetching data from a
corporate development teams insist on using specific database, for example.
common code components and support only a
limited set of tools. There is a benefit in reusing these components
Mobile
across a wide range of apps and projects, architect
This does not necessarily imply a centralized suggesting there could be value in assigning
app development team. At Telerik, all of the UX a shared services team to own and maintain a
designers report to one manager, separate from library of these basic building blocks.
engineering, to promote consistency of UX across
all platforms.
QA QA
Developer Developer Developer
Build or Buy?
An enterprise may have a development team that On the other hand, you want to avoid centrally
actually builds these components, and shares controlling resources so tightly that teams cant
them via a code repository for other development get what they need when they need UX help. If
teams to use. But there also are opportunities you have five designers and 25 products, people
to populate that repository with widgets from will be fighting scarce resources. Some of this
commercial vendors, or for that matter from depends on how federated or centralized the
the open source world if the CIO is comfortable organizations own business model is.
sourcing that way. If apps need a common
calendar widget, the project team can specify the If the enterprise tends to maintain all of its
back-end data but does not have to build the legacy business systems centrally, then there
widget itself. is benefit in a central team. But if it is more of
a federated organization made up of wholly
owned subsidiaries, there may not be as much
need for centralized control of development or
uniformity of UX, because the business units
have more autonomy. If the business feels overly
constrained, that can be a problem for adoption.
Efficient High-Value UX
development
Still, even in mobile, you want your sales force Whats the Role of QA/What
automation app to have a similar UX to your Should Their Background Be?
HR app, because you have the same people
using both. There is a cost to the user having It is increasingly common to include QA in the
to use multiple apps if there is cognitive friction skill set of the project team. QA people may not
between how you execute a very simple function be developers themselves, but they do require
in one versus the other. But if apps are developed some level of development knowledge, and
from a common enterprise toolbox of functional in many enterprises, developers do have the
components, they are likely to inherit consistency. responsibility for QA.
UX oversight is not just a question of design, but The key is not that the QA person has lesser skills
also oversight of functional implementationof or different training. The key effective QA can
how that function is coded and what components only be achieved by someone who didnt write
are used. The ideal is to establish a design the code being tested. If the code is your own, in
umbrellaa team whose skills include those of a in the back of your mind, you dont want to break
front-end web designer, an interaction designer, it. It is important to delegate QA to someone
a usability designer and an information architect. who is paid to break the code. That involves a
Sometimes one person will contribute several of distinct, highly valued skill. The tester has to be
those skills. very deliberate about finding errors that users will
discover by accident. That is not an easy thing to
do consistently.
3.
An Enterprise Architects Guide To Mobility Whitepaper
DESIGNING FOR MOBILE
FORM FACTORS
A PUBLICATION OF CONTENTS
3. DESIGNING FOR MOBILE FORM FACTORS 20
The enterprise needs to have a good idea of the An Exception for iOS
range of devices on which an app will run, and
look for appropriate approaches as opposed The framework is a development environment,
to allowing QA to discover issues with certain which may be local on a desktop computer or
devices and configurations retrospectively, as run as a cloud service. One important reason a
issues to be corrected later. team might choose a cloud service is that it is a
PC-oriented enterprise that needs to develop an
Organizations using prebuilt software iOS app, because iOS apps generally can be built
components that provide specific functions and locally only on a Mac. There are vendors who
services will find that these widgets are platform- provide the framework in the cloud specifically to
specific, so they can perform natively and provide enable non-Mac development teams to build iOS
a native iOS, Android or Windows experience. apps, using the vendors Mac servers.
But in terms of the developers experience, the
components are part of a broader framework.
ScreenBuider
The ideal is to build responsive universal apps Native is an expensive approach, but skilled
that adjust their user interface to the device on native code can sharply enhance performance
which the user is running themphone-specific in a specific OS. Native will require the
UI for a given phone, tablet UI for a tablet, with enterprise to find programmers with native
effortless adjustment for the orientation of the skills (or outsource native coding to vendors
screen and instant recognition of the OEM who specialize in it) and maintain multiple
customizations that a device manufacturer may code bases. It is appropriate for the most
have made for the specific model and OS. polished apps, especially those that will be
used by consumers and whose UX will reflect
A range of approaches can be supported using on the image of the enterprise.
available frameworks. The choice depends on
the app scenario. Each provides UI components, Hybrid, a web app wrapped in a native
as well as design templates, application building container, offers both ease of development
blocks, image editing capabilities, and integration and a native-like look and feel, as well as the
with backend services. ability to use OEM device capabilities.
Agile development for multiple form factors What is Necessary for Quick
leverages the prototyping we described earlier. Iterations to Take Place?
You can introduce a range of design ideas to
prospective end users before you write a single It can be difficult to get buy-in for short iterations
line of code. That allows you to discard the ideas and agile development, because the business
about which your users are not excited before feels it does not have time to appreciate what
theyre even realized as features. This approach you are building in each release. You may have
can help enterprise developers become stronger frequent iterations but not frequent releasesbig
internal marketers, as well as coders. splashes in which you sell the new functionality.
It makes sense to iterate code weekly but only
release (with significant internal market fanfare)
every three months.
BETA
4.
An Enterprise Architects Guide To Mobility Whitepaper
SEVEN KEY PRINCIPLES OF
MOBILE DEVELOPMENT
A PUBLICATION OF CONTENTS
4. SEVEN KEY PRINCIPLES OF MOBILE DEVELOPMENT 28
There are developers who make the transition Theres a difference between a consumer-
from web to mobile with their code integrity oriented appone that is intended to be
and UX standards intact, and those who dont. distributed to customers through a public app
On a 3-inch screen, a 7-inch screen or a 9-inch storeand an app intended for the employees
screen, your app can look good and satisfy the of an enterprise. A consumer app can do a lot to
business requirement in an elegant wayor not. increase a companys visibility and share of mind,
The difference is not necessarily in the successful and that can have a direct impact on revenue. But
adoption of new coding techniquesits in the its fair to ask, does the application, which started
developers commitment to ask themselves, on the web as a browser-based tool, really need
What are you building, and why are you to provide a mobile experience? Does that add
building it? to functionality?
A successful developer will make the UX You can ask the same question about an
transition as well as the coding transition. Its an employee app, but the answer is much more likely
application, like an application on any platform, to be yes. Effective apps are built because the
but how do you make it light up a mobile screen? phone or the tablet adds some native platform
capability that isnt part of the web platform, or
because mobility itself is of practical value.
A mobile developer, in short, must code with the Mobile developers clearly need to be more
assumption that the network will drop out at security conscious, and must address the
frequent intervals. The app has to deliver data to protection of the data that is sent to the device
the device in smaller increments, to give the user in anticipation of the network dropping out, how
a good experience. it is cleared out, whether it is encrypted and so
on. And, the user is not only consuming data, but
6. Security Consciousness entering it. So the app must be able to manage
frequent state changesnetwork-connected
Web developers are accustomed to hiding their or not, high or low bandwidthholding data
APIs behind firewalls. Their only container to the entered offline until the network connection is re-
world is a web browser; they poke through the established and then transmitting it, in a fashion
firewall behind the DMZ into an application server that feels seamless to the user.
and have free rein to do essentially anything
they want to those APIs, because they know the
connection between the servers is secure.
API
7. Versioning
Mobile development depends on the use of pre- Enterprise teams typically have more people who
built components and widgets. Developers will are effective at writing business logic than those
share UI and UX components differently from who know how to write a beautiful UI. Good UI/
the way they would share an HTTP call to go get UX developers are in short supply. Enterprise
data. For each component, the development team
has to ask itself, will this be shared across the 300
development managers need to confront this
issue early on when forming their mobile teams,
UI
business apps we are going to build, or between because ineffective user experience design in the
the website and its complementary app? web world is likely to translate into much worse
user experiences on mobile screens.
The next question is, how do these components
get deployed? A piece of code, like an app, may
be updated frequently, so it has to be pushed
in unison, in each update, to all the apps that
incorporate them.
5.
An Enterprise Architects Guide To Mobility Whitepaper
ARTFUL TESTING WITH
USER IN MIND
A PUBLICATION OF CONTENTS
5. ARTFUL TESTING WITH USER IN MIND 37
Battery life
Continuous Integration (CI)the accelerated What Are the Key Test Parameters
rollout of platforms and applications in an for the Enterprise?
enterpriseis yet another curveball. It was fairly
straightforward to deploy and implement CI in The three principal areas of concern for mobile The rationale for functional testing is
the web world, but in mobile, developers need apps are: straightforward. What has changed in the
to build simultaneously in the Microsoft and transition from web to mobile is chiefly the
Mac environments; your shop may be building Functional: Does the app access the data, diversity of devices and form factors on which the
Android apps in Visual Studio and Eclipse on PC, execute the functions and provide the User functionality must be assessed
while building iOS apps on the Mac, meanwhile Experience required by the business? You see Chapter 3
racing to keep the functionality in sync. want to eliminate functional defects on
all platforms.
KEY TEST
PARAMETERS
FOR ENTERPRISE
There are additional native attributes of mobile Performance testing is critical, as performance Analytics may tell you that 50 percent of the
devices that affect app functionality. A good lags can get in the way of adoption. Performance traffic is coming through on the web and 25
example is power; mobile devices almost also can be affected by conflicts with other percent on each of the mobile OS apps. People
invariably run on batteries. Developers build applications that are running concurrently are browsing through products, logging into
in features to control the way the application (especially on Android devices). their accounts; perhaps 2 percent of the users
behaves as the battery runs down. This is not are filling out an RMA form. Scenarios like these
simply a question of performance. Typically, the Load testing involves creating scenarios driving capture traffic patterns.
processor onboard the device will scale down to usually headless traffic (traffic generated
conserve battery as it approaches a critical point, outside the web browser or the mobile UI) to the
and that can affect app behavior as onboard app. You may have an application that consists
services become unavailable to it. of a mobile app on Android, a mobile app on iOS
and a web-based application all accessing the
Battery life is handled by the OS, but there may same enterprise data.
be OEM customizations on certain devices; QA
cannot assume all Android devices will handle
battery degradation in the same way.
Maintaining a device cloud requires a complex It may be feasible to focus on a core set of Test Scripting and Automation
infrastructure. There are security issues devices. Analytics can provide insight as to what
to address, not all of them related to data devices users are bringing to work. The core set In an ideal world, testing is broken down into
transmission. For example, is the test data from may be 30 different iOS and 20 Android devices. logical components, much like the code itself.
one user completely wiped from the device after Devices beyond that setthe outliersmay You are not conducting a single test across
the test is completed, before another user rents be used in the enterprise rarely or sporadically, multiple platforms. The test script describes a
that device? and it may make sense to outsource testing for series of functionslogin to the application and
just those devices to a device cloud maintained execute a series of actionswithout specifying
For organizations with very sensitive data or outside the firewall. the OS or the device. Then OS-specific details
requirements for highly specialized devices, it are added to the test script, but the scripting
could be worth the overhead expense and effort separates the find logic from the actual test
to set up an on-premises device cloud inside the logic, for easier maintenance.
firewall and run by the enterprise IT department.
However, such an infrastructure is difficult
and expensive to maintain for an organization
committed to BYOD.
Test automation is becoming increasingly First and foremost, a tester should have a solid Collaboration Between QA And
popular but it is still in its infancy. There is no understanding of the application. That has a Development Is Critical
established leader in QA automation for mobile. lot to do with the tooling that is being used.
It is difficult to say how much mobile app testing If the app is heavily dependent on JavaScript, The team may be made up entirely of developers,
is automated but its significantly lower than web then JavaScript knowledge is a requirement for in which case one or two of the developers are
application testing. the tester. The other obvious requirement is a dedicated to testing, or at least to writing the
background in testing. automated test scripts. A lot of the automated
What Skills Do Enterprise Mobile test solutions are code-centricthey actually
App Testers Need? Testers often see QA as a path to a career in require some coding.
development. But this is not realistic for everyone,
Mobile app development teams tend to be and there is an alternative path to career
smaller than web development teams, and advancement within the QA discipline.
frequently the developers themselves are For many people, a realistic goal is not to
responsible for testing. Many enterprises are just transition into coding but to mature into a first-
beginning to move some of their QA resources rate QA engineer.
over from web development to mobile. Theyre
just discovering what pieces of the apps can be
tested through test automation, and what pieces
still require manual testing.
Alternatively, you may have teams that include Best Practices in Mobile
non-technical testerstypically individuals who App Testing
came up through the support function in the
enterprise and whose career path has taken them General principles emerging in the mobile QA
through QA. Some of them are quite proficient discipline include the following:
with test automation tools, but there are always
edge-case scenarios in which you have to get a 1. Know when to automate and when not to:
developer involved to write some test automation In edge-case scenarios that are difficult
code. At this point, however, the involvement of to script, manual testing often is more
non-developer QA people is still more common in efficient that investing a lot of time in coding
web application development than in mobile. automated test solutions
Collaboration is essentialonce the automated 2. Know the devices for which the app is being
test is created, it is important that the non- developed, and the analytics for those
technical tester be able to take that test and devices, as well as all the form factors for
run with it, without continually burdening the those devices
developers to build new test scripts. BEST
PRACTICES
QA has an essential role in Agile and Lean IN MOBILE
development organizations. It is important that APP
testers be embraced as part of the team for each TESTING
project, and have roles in each sprint. There
should be user stories for the test cases, and for
the purpose of Scrum, this should be treated like
any piece of development.
CONTINUOUS
INTEGRATION
6.
An Enterprise Architects Guide To Mobility Whitepaper
MOBILE DATA
INTEGRATION OPTIONS
A PUBLICATION OF CONTENTS
6. MOBILE DATA INTEGRATION OPTIONS 46
REST
HTTP
Generally, it is not practical to reuse services An alternative is to store large volumes of data on
designed for the rest of the enterprise the mobile client, allowing the user to work offline,
architecture when moving to mobile. The but this is not practical on all devices, some
payload those legacy services deliver to the of which will be hampered by limited onboard
end user is too big for phones or tablets. To storage. This approach cannot be implemented
reconfigure those services to deliver data in in HTML, because HTML imposes a limit of 10
smaller increments and adapt to frequent Mbytes of local storage on the device.
interruptions in connectivity would not be
worth the effort and expense.
Youve got
data
5
1
4 3 2
6 7
8 9 10
11 12 13 14
Vendors such asTelerik provide data This includes components that have nothing If the vendor frequently changes course or
synchronization components that encrypt data to do with the UIbuilding blocks common to discontinues support for components on
by default. Third-party encryption tools, including multiple apps that handle deeply embedded which the enterprise depends, there is risk.
open-source tools like Zetetic LLCs SQLCipher, functions. An example is Responsive Image Given the current consolidation trend in the
also are available to provide encryption as an Services, in Telerik Backend Services. This market for mobile development tools, such risk
add-on service. function takes note of the app users device in must be considered.
serving up images, so that the data store will
Off-the-Shelf ConnectorsPros automatically resize an image in the server; it
and Cons wont send a 10MB image to a small phone that
can only practically display a much smaller image,
Off-the-shelf development tools can provide for example.
connectivity to the most broadly adopted data
stores, using middleware optimized for mobile. Like any approach in development, the purchase
This includes not only connectivity for completed of off-the-shelf components involves a tradeoff.
apps, but some vendors can provide connectivity This decision will lock the enterprise into a
at the widget levelthe component, designed relationship with a vendorone that should not
to manage a very specific service within multiple be entered into casually.
apps, comes already set up to talk to multiple
popular data stores, with state-of-the-art
synchronization for mobile.
RESPONSIVE
IMAGE
SERVICES
7.
An Enterprise Architects Guide To Mobility Whitepaper
MANAGEMENT AND
APPLICATION SECURITY
A PUBLICATION OF CONTENTS
7. MANAGEMENT AND APPLICATION SECURITY 56
MDM enables the enterprise to maintain All MDM platforms are not quite the same. The
an inventory of hardware devices. MDM standards are not yet clear. But this is largely
differentiates devices by the OS and its irrelevant to the software developer, since MDM
capabilities. The leading vendors maintain very only concerns devices. For MAM, there may be
close relationships with the OS originators, and different approaches to software containerization.
typically ship the updated version of MDM If the software is containerized, the software
software the same day a new release of the OS is developer should have no real concerns. They
shipped. It is typical for enterprises to upgrade to are replacing unsecured code with a wrapper of
the latest version of iOS in less than two weeks, in secure code. If your application code is unsecured
part because they can get support from the MDM for some reason, the container wraps it in code
vendor the same day as the OS release. that is optimized and secure for mobile.
Mobile Application Management The choices are not mutually exclusive. You
can have both containerization and SDKs. But
On the other hand, MAM providers offer specific you can make the choice depending on the
Software Development Kits (SDKs)if the engineering resources you have in the enterprise.
development team chooses to work with the SDK An enterprise with development depth, creating
for a given project, there will be no container. applications for its own purposes, will likely prefer
What the developer does have is much more the SDK approach; if you have third parties
granular control. Using the SDK, he has secure developing applications for you, containerization
access to the behind-the-firewall services of the probably may make more sense.
company, and the app will be designed to store
some data on the device. Using an SDK results Airwatch and MobileIron, two leading MAM
in an application that uses the data and services vendors, work similarly: when the developer has
within the security policy of the company. completed the building and QA for an app, he
uploads the binary file of the application to a web
portal, and the vendor wraps it. The process is
simple; any administrator can do it.
<GO>
010 101
0111 10
10 1011
8.
An Enterprise Architects Guide To Mobility Whitepaper
MAKING MOBILE
ANALYTICS WORK
A PUBLICATION OF CONTENTS
8. MAKING MOBILE ANALYTICS WORK 61
Analytics provide feedback on the way users Feature-timing: The system can track how
access the app, and how often they use it. They long it took for the application to start up and
can be quite granular in their content, advising show the initial screen, how long it took to
the development team on which features are process an image and so on. Analytics collect
being used, how often theyre being used and, this data and send it to the backend servers,
conversely, which features are not used (so the and the developers can see average times
team can better plan the next development cycle over a given interval on a dashboard designed
and make better roadmap decisions). for this purpose.
Analytics also can generate insights into the Screen resolution: Developers know what
users themselvesthe screen resolution of their screen size users have on their devices, how MOST USED
devices, the operating system and other features much RAM and other environment data. FEATURES
of the environment. They can offer guidance on They know how often each type of device is
which features need to be enhanced, and which used to access the applicationwhether its 1
can safely be dropped in future releases. They an iOS, Android or Windows phone. This can
can tip you off that it is safe to drop support for a be very helpful in allocating R&D resources 2
little-used OS. to optimizing app functionality, UX and
performance on these devices.
3
Other commonly used, high-value metrics 4
generated by analytics include:
GO
Developers access analytics through browser- Users typically get a monthly subscription
based portal, providing access to hosted backend for analytics, and then embed, through an
data. The provider typically will enable users to API, a simple library into the app. There are
subscribe to email alerts when certain exceptions specific libraries for many different platforms
or errors are encountered, and users can schedule not only mobile devices but also for the desktop
regular reports at predetermined intervals. (Windows and MacOS). The developer enters a
key in the library when she initializes it, and the
Product Management might only look at the tool starts collecting data. For example, to begin
data once a month to see how new features are tracking the usage of selected features of the
being adopted and how theyre performing, to app, the developer would use an API called
make decisions on future UI changes to improve Track Feature.
performance or drive better adoption rates.
Determining which features not to take into a Choosing features to track, based on their
future release of a productespecially moving importance to the business, is something the Track a feature
from one platform to anotheris one of the most team will do manually, so the decisions should
effective ways to save money on development. be made in advance. To track a feature, you call Track a timing event
an API; if you want to track a timing event, you
call Start and Stop, and the system will track
that interval.
The subscription includes all of the available Commercial and Open Source
metrics. Its based on the number of unique users Analytics Available
you have. Typically an enterprise with fewer than
1,000 unique users can use a free subscription, The issue is mainly to provide a backend service
but larger enterprises will need to go for the to manage the analytic data. At Telerik, we have
Professional subscription. Users can access data multiple servers handling millions of messages
read-only, or they can be given rights to make per day; it is a major server installation and quite
changes. The account owner can assign users a complex solution.
by name.
Telerik has a dedicated server farm for analytics
How Can One Ensure Security of and stores the data there, but some customers
Mobile Analytics Data? prefer their own servers. An on-premises solution
is an option that will be attractive to enterprises
It takes time to get development teams to with apps accessing highly sensitive data. The
adopt analytics. Years ago, it wasnt typical tradeoff is the cost of maintaining the server
for developers to version-control their code; infrastructure, including backup and restore,
now version control is a standard tool. Without which really should be dedicated to analytics and
analytics, youre coding blind. Things can work not shared with other tenants. The cost of this is
in the development servers, but you dont know not trivial.
how they will perform in the customers devices
until you release a version and see what happens.
Analytics give you instant feedback about
incidents and problems.
Regular Sensitive
analytic data analytic data
SUMMARY
SUMMARY
Mobile app testing will bring new challenges, Backend Data Connections
as you must QA apps for a wide variety of
devices and conditionsvery large numbers Mobile may cause your engineers to rethink
of concurrent users, platform fragmentation, the way they connect apps to backend data.
inconsistent network connections, power and so Conventional approaches like SOAP that
on. Mobile has led to the evolution of automated, assume a continuous network connection and
cloud-based testing approaches that will be new downloading of data in large volumes may
to many enterprise development teams. not work in a mobile context. Techniques like
JSON, friendlier for situations where data will
be accessed in smaller chunks, are preferred in
mobile development, as will be the assumption
that a certain amount of data will be stored on
the device, at least temporarily, to enable the app
to function offline.
Support for mobile apps is greatly enhanced by Clearly, the move to mobile development is an
the incorporation of analytics, which feed back involved undertaking. We hope that you now
to the development team continuous streams have the beginnings of a roadmap for this
of data about which features are being used, crucial evolution.
how often they are being used and, conversely,
which features are not used. Analytics also
generate insights into the screen resolution of
users devices, the OS and many other features
of the environment. Users typically get a monthly
subscription for analytics, and then embed,
through an API, a simple library into the app.
Design Test
Build Deploy Manage
Connect Measure
Try now