When developers know how their applications are really being used “in the wild,” they will build better software, more efficiently, and with greater confidence. It’s common sense. Historically though, it has been virtually impossible to get this kind of real-world – or runtime – intelligence into the hands of developers and architects when they need it most – when they are deciding what to do next.
The emerging application analytics market offers unprecedented insight into how software is being used in the real world and gives multiple stakeholders – from developers to CIOs to business owners – a reliable way to measure and manage development investments. Like web analytics, application analytics correlates behavior with business results. Unlike web analytics, application analytics extends beyond browser clicks on a web page to include mobile and traditional client experiences as well as the business and back office tiers that tie all of these together.
While software developers may or may not consider web developers to be “real” developers, we can learn quite a bit from them since they focus on, and demand, empirical evidence in support of how their applications are really being used. In fact, even the most remedial “drag and drop” website developers not only expect to gather real-world usage statistics, they also know this information will be a critical factor in future development iterations. They know only a fool would build something with no way to measure both adoption and the business impact of that adoption.
Capturing runtime data is only part of the solution. Runtime intelligence must be converted into action. Software development is often much more complex than a typical website project for two reasons: The diversity of applications makes “one-size-fits-all” reporting impractical and the complexity of the development process itself makes turning runtime data into “intelligent action” much more challenging. In order to be effective, application analytics must overcome both of these obstacles.
Website developers also understand analytics can have direct financial value – but for this to be true, the results must be verifiable and public. Knowing an app is popular makes it even more popular – driving adoption and sales. This holds true for website destinations and mobile apps – but also for office, productivity and even development tools. Users want to benchmark themselves against their peers (usage patterns) and their applications against alternatives (the best tool for the job).
The exclusion of runtime intelligence from traditional development methodologies not only handicaps development, it diminishes the value of the software to those who matter most – the users and sponsors who are denied empirical evidence of their application’s impact.
While the category of application analytics is new, monitoring applications is not.
Web analytics, application performance monitoring, runtime debuggers, security logging, and customer experience improvement programs each include some aspect of application analytics. Yet this common thread has been a purely abstract one, as the underlying technologies and their respective suppliers have, until recently, been entirely distinct.
These analytic solutions have been able to succeed as silos with a narrow focus on specific stakeholder objectives because the stakeholders themselves have also been mostly separate. Each combination of audience and scope allow these “silo categories” to effectively satisfy the parochial requirements of each “stakeholder category” in happy isolation.
Stakeholder category |
Owner audience |
Objective |
Web analytics |
Marketing |
Traffic & revenue |
Customer experience improvement |
ISV |
Adoption |
Debugging |
Development |
Quality |
Security |
Development and IT Audit |
Risk management |
Performance profiler |
Development and operations |
Service level and operations management |
Figure 1: Existing application monitoring flavors
The new game
The early crop of application monitoring solutions for mobile and cloud applications have been equally myopic, with mobile analytics services providing marketing performance analysis akin to traditional web analytics and cloud analytics providing metering akin to performance profiling solutions – but the silo walls are cracking.
Smartphone applications are often native or managed binaries (Objective C, Java or .NET framework) rather than simply HTML and JavaScript. And cloud platforms have multiple stakeholders from ISVs, corporate IT organizations, and the platform suppliers themselves.
Smart mobile and cloud applications promise (threaten?) to end the segregation of application analytic solutions and force a convergence of analytics technologies into the broader application analytics category.
Stakeholder category |
Owner audience |
Objective |
Mobile |
Marketing, development, IT audit, operations, ISVs… |
Traffic, revenue, adoption, quality, risk management, … |
Cloud |
Marketing, development, IT audit, operations, ISVs… |
Traffic, revenue, adoption, quality, risk management, … |
Figure 2: Convergence of stakeholder categories and objectives
When these diverse stakeholders each has “selfish interests” in concurrently monitoring the production application usage of smartphone and cloud-based applications, practical performance and operational considerations dictate an analytics platform whose runtime monitoring capabilities have the breadth to support these diverse constituencies and the analytic depth to support their specific use cases and requirements – this is a market changing (creating) event.
The rise of cloud and mobile computing challenge two fundamental tenets of traditional development: you can simulate production prior to release and it is possible to separate business and personal computing.
- You cannot simulate production: The diversity and distribution of on-premises and cloud-based services combined with the dizzying array of devices and client-runtimes makes comprehensive testing and profiling prior to production not just difficult, but impossible.
- You cannot separate business and personal computing: With increasingly fewer exceptions, users insist upon using their personal mobile and computing devices at work. Whether they are using their personal devices or simply projecting their expectations on performance and usability onto their workplace applications, business computing and enterprise operations will never be the same.
Consider the following scenarios:
Insurance is sold online, over a smartphone, by phone and through independent agents. A prospective client will touch an insurance company multiple times throughout the life of their relationship, with each “touch” subject to different regulatory, privacy, and basic technical restrictions. The client, on the other hand, will reward the company that remembers and accommodates him/her best. Without application analytics, monitoring a single user experience let alone all of them as an organic whole is impossible.
Gaming has spread across phones, TVs, PCs and tablets. Gamers invest time, energy and dollars in establishing their identity, reputation and accomplishments across all of these surfaces. The slightest imperfections, performance hiccups, or other interruptions in their experience can lead to massive defections. Without application analytics, there is no reliable means to measure device performance, user behavior or adoption patterns.
There are analogous scenarios to be found in healthcare, financial services and retail as well.
Without application analytics, the rise of cloud and mobile computing will drive a wedge between development and users, putting these critical technology investments at significant risk.
New rules for the new game: Satisfying both development and operations
Application analytics must:
- Collect runtime data: Across devices, networks, firewalls, and application tiers. Further, support for privacy, opt-in policies and extensible data types are required.
-
Manage and analyze results: The aggregation, management, analysis and publishing of runtime data distilled into intelligence. Access by and integration with other platforms including IDE, IT OPS, CRM and ERP is required.
-
Provide a means to automatically and intelligently act on that analysis: Encode rules that intelligently and automatically generate work items (tasks) that development, operations and/or customer support can act upon is required.
Application analytics offers unprecedented insight into how software is being used in the real world, giving multiple stakeholders a reliable way to measure and manage their development investments.
To ensure continued success, especially in difficult economic times, companies must take a hard look at current development commitments, ongoing initiatives and long-term strategy. Application analytics offers the only objective way to consistently and reliably measure all of these material investments.
About the Author
Sebastian Holst is CMO of PreEmptive Solutions, which provides software for organizations to monitor, measure and protect applications across cloud, on-premise, Internet and mobile platforms, materially improving application quality, user satisfaction and development ROI across today’s distributed and increasingly heterogeneous computing architectures.