Building an energy-efficient analytics SDK for iOS

By Stephen Panaro, Software Engineer

Building an energy-efficient analytics SDK for iOS

The primary goal of any analytics SDK is to gather accurate data. Answers goes a step further by putting an equal focus on timeliness. Correct analytics are one thing, but tracking them in real-time is a super power. Is your latest release stable and well-adopted? Is your 24-hour sale driving more purchases? We’ll give you the answer immediately so you can take appropriate action. To deliver this real-time insight, we have to pay special attention to how we design Answers for iOS, tvOS, and macOS.

 

Low power as a feature

We could have built Answers to make a network request for every app event as it happens. This would have been the most timely SDK, but it would have also drained battery life. Or, we could have designed Answers to collect large batches of events and sacrifice all timeliness for great battery life. Instead, we took a balanced approach in between these two extremes. It has served Answers well, but we wanted to revisit our implementation to see how much better we could make it.


With Answers 1.3 for Apple platforms, we introduced several new power optimizations throughout the SDK. We prioritized application performance and user battery life while keeping latency as low as we could. In some cases, these optimizations produced significant power gains. This allowed us to have a large impact on battery life with a negligible aggregate impact on Answers’ latency. In the next section, we’ll walk through some of the improvements we made to enable these gains.

 

Limit networking

First, we turned our focus to Answers’ networking. Networking can have a substantial power impact, which made it a great place to look for optimizations. A simple way to reduce its impact is by limiting the number of requests you make. Answers has always done this by sending data in batches. For our latest release, we try even harder to ensure that app events that occur close in time to each other are sent in the same batch. This is most beneficial for heavy users of Answers Events, especially when events are logged in bursts. We also tuned our retry policy to help prevent us from making requests that are unlikely to succeed.

 

Background uploads

It’s impossible to talk about power-efficient networking without mentioning NSURLSession’s background uploading capability. We’ve used this capability for several years in crash reporting and seen really good power and reliability wins, so we wanted to bring those to Answers. Unfortunately, we found some issues with the background uploading API in iOS 10. Because of that, it is currently only suitable for extremely low volume networking. We hope to enable it in a future release when these issues have been addressed.

 

Low power mode

Next, we took advantage of NSProcessInfo’s lowPowerModeEnabled property, which notifies apps when a device enters low power mode. Introduced in iOS 9, this is a very strong indication that the user wants battery life to be maximized. When devices are in low power mode, Answers retries network requests less frequently. On macOS, we take similar action when thermal conditions are elevated. This is an easy way to further reduce our power impact, and is particularly effective when networking conditions are poor. We also have plans to expand our adoption of low power mode to other parts of the SDK.

 

Quality of service

In addition to the low power mode API, we also adopted two easy to use APIs to better inform the OS of the priority of Answers’ work. First, we made sure to set the qualityOfService property of our NSOperationQueues. This was a one-line change and makes sure that Answers always defers to your app’s needs. We also made extensive use of NSProcessInfo’s activity APIs to help the OS understand what we’re doing and how our work should be prioritized. As an added benefit, this makes it more obvious what Answers’ threads are doing if you happen to catch them in a debugger.

 

Optimized timers

Finally, we wanted to improve our usage of timers. Answers has always relied on timers because we have to make sure we periodically relay any events back to our system. In this release, we updated our timers to fire less frequently. We also now choose a timer’s tolerance value based on its duration to help the OS schedule work more efficiently. On macOS, we’ve adopted NSBackgroundActivityScheduler. This is similar to a timer but takes into account even more system conditions when scheduling work. We discovered this API while reading Apple’s Energy Efficiency guidelines, which has many other useful tips.

 

Same Answers, more battery

When we started to plan for Answers 1.3, we knew improving energy efficiency and satisfying Answers’ design goals would be challenging. Being accurate and being real-time are inherently power-hungry, but they’re essential to Answers so we were determined to find a solution.

We stepped back, took a holistic look at Answers and identified our best opportunities for improvement. Fortunately, there was a large overlap between the problems we wanted to solve and the problems that Apple supplies a solution for as a part of iOS. This was fantastic on two fronts: it let us write less code and in many cases, it unlocked optimizations that wouldn’t be possible otherwise.

We’re thrilled with how this approach turned out and are even more excited to share these changes with you in the latest Answers release. We hope that this makes it easier for you to build the best apps with the lowest impact on your users’ battery.

If you’re interested in further reducing your app’s impact on battery life, we encourage you to incorporate these best practices into your development workflow. Most are simple to learn and implement and the more apps that adopt them, the greater impact they will have. Plus, no one wants their app to be at the top of the battery section as the worst offender in Settings!

 

Introducing activity segments: new insight into user retention

By Marc Richards, Product Manager

Introducing Answers activity segments

One of the biggest (and most costly) mistakes app development teams make is forgetting about retention. Yes, it’s important to grow your user base, but what’s the point in spending time and money to acquire a new user if they churn the next day?

Today, mobile is a sophisticated, full-fledged industry which means competition is increasing (Apple’s App store adds more than 1,000 apps a day) and app abandonment is alarmingly high (losing up to 80% of your user base is shockingly, considered normal).

The bottom line is: you cannot build a successful mobile business unless you pay attention to retention. The first step to doing that is understanding how engaged your current users are. That’s why on Answers’ second birthday, we’re announcing activity segments, a deeper look at your active app users, and the ones at risk of abandoning your app.

Time is precious as an indie dev, and Answers gives me high level user metrics with no extra work on my part. Now I know when retention is a problem in my apps.


 

A powerful, intuitive snapshot of user engagement

It’s hard to acquire new app users, so it’s natural to want to know if they are actually sticking around and converting into loyal users. Answers activity segments show how active your users are, over the course of a week. Based on session data, Answers groups users into buckets, ranging from inactive users (people who have not launched your app in more than a week) all the way to high activity users (people who have used your app almost every single day in the past 7 days). We even give you a breakdown of new and resurrected users.

Most importantly, we reveal how users are flowing from one activity state to another (e.g., how their engagement level changes week over week in an easy-to-read graph). This will help you answer questions like:

  • Are my high activity users increasing or decreasing from week to week?

  • What percent of low activity users are new users?

  • How many people moved from the medium activity bucket to the high activity bucket in the last week?

  • How many users did we re-engage and rescue from their inactive state?

This information will be invaluable in helping you prioritize your app marketing campaigns and gauging their success.

It's great that we can quickly see user retention and spend time on action instead of digging for data.


 

Uncover behaviors that correlate with healthy users

Once you have awareness into your user engagement levels, the next step is to uncover what distinguishes an active user from a user who is at risk of churning. It’s vital to identify the behavioral benchmarks of your healthy users so you can proactively nudge more people towards these “good” loyalty-boosting behaviors.

Answers activity segments will show you vital behavioral information like how many sessions your highly active users have, and how much time they spend in-app, compared to the other segments. Use this data to run smarter app marketing campaigns. For example, if you see that high activity users have longer session lengths, encourage other users to spend more time in your app – perhaps by prompting them to try a new feature.

Plus, if you have Answers Events enabled, we’ll automatically track which events are more (or less) common among users in each segment. If something seems out of the ordinary, we’ll bring it to your attention so you can investigate or take action as necessary. For example, if you notice that high activity users tend to share app content at a much higher cadence, consider adding more social sharing features and brainstorm ways to motivate more people to share.

Answers provides a powerful picture of user retention across all of our apps. It allows us to see how many users we were able to resurrect due to specific feature updates or push notifications, so we can focus on app improvements that make the greatest impact.


Quickly recognize and reduce retention problems

Answers activity segments shed new light on user engagement, so you can see how many people are regularly interacting with your app and how many are at risk of never coming back. This is your wake-up call to recognize and reduce retention problems before it’s too late. Now, you’ll know right away if your number of inactive app users spikes, giving you time to reprioritize resources to combat churn and entice existing users back to your app.

 

More exciting things on the horizon

We built Answers activity segments to help you see how engaged your current users are, so you can nurture and retain them. But, this is just the beginning. We’re continuing to identify and develop ways to make your app data even more actionable. As always, we can’t wait to hear what you think about Answers activity segments!

 

Answers May Update: more data on business-critical user actions

By Jason St. Pierre, Product Manager

Answers May Update 2016

Since we released Answers Events last summer, our goal has been to show you the most impactful actions users are taking inside your app - in real time. The Answers dashboard gives you total visibility into user behavior by bringing the top events and their related attributes to your attention.

Events are the ultimate in-app actions (like listening to a song) that power your entire mobile business. Each event has attributes, which are packets of additional information (like the name of the song, the album it appeared on, the artist, the genre, etc.), that are critical for gaining context about the action. After listening to your feedback, we’re excited to give you more insight into category (i.e., string/text) attributes so you can get a deeper understanding of user engagement.

 

Greater discoverability of popular category attributes

Answers will never overwhelm you with a flood of uninterpretable data; we’ll bring the most important app metrics to the forefront. Initially, we showed you four category values for each category attribute in a consolidated way, but you asked for more insight and we listened!

Now, you will see the top 10 categories for each category event attribute. This update will greatly improve your ability to discover the most popular categories, and see how they change and trend over the past 30 days.

Answers Top 10 Category Attributes Dashboard

For example, if you manage a music app, you definitely want to know how Beyonce’s new album affects user behavior. Through this update, we’ll tell you how listening preferences vary day by day and answer questions like: What are the top 10 most downloaded songs on the day Beyonce’s new album is released? How does this top 10 song list compare to the day before? What new songs climbed to the top of the charts?

You won’t have to work to get the granularity you need - our dashboard demystifies your data for free.

 

Revamped graphs with deeper drill-down options

Staying true to our mission, we redesigned the category event attributes widget so more data doesn’t lead to more clutter. In addition to a sleeker UI, we’re also giving you more flexibility and control over how you want to toggle this information.

Want to drill down into specific days? Use the new date selector.

Answers Category Attributes Date Selector

Want to see how certain category values compare? Simply select and/or de-select those categories and check out the trend lines.

Answers Category Attributes Selector and Deselector

Curious about how many times your users interacted with each category? We added raw counts along side each of the top 10 category values.

Answers Category Attributes Raw Counts

 

More actionable data about your app users

We know that understanding your app users is a vital part of growing your app. With Answers, we increased the number of visible categories (for both predefined and custom events) to give you clearer insight into user activity and, by extension, more actionable data on how to improve your app experience.

We love hearing your direct feedback - in fact, this update was entirely driven by our customers! Let us know how we can continue to help you understand user behavior and amplify user engagement.

Answers March update: launching support for Unity

by Brian Swift, Product Manager

Amidst the excitement of college basketball and Easter, we’ve been heads down building out support for yet another platform. Just days after releasing Answers for tvOS earlier this month, we launched Answers support for Unity. One of our passions is to help make the lives of mobile game developers easier!

The #1 analytics solution for iOS now supports Unity

Analytics is often a hassle, especially for games. With every chart, graph, and filter imaginable, getting the insights you need can drain your precious time and resources. Through Fabric and its plugin for Unity, you can now easily harness the power of Answers for your mobile games, built with one of the most popular game development engines. Out of the box, it has tracking events that match directly with milestones of your games on both iOS and Android:

You can even log any custom event for the unique situations and player scenarios your game has. Our analytics support for Unity gives you the easy wins when it comes to getting the important metrics you need to make key business decisions — all in real time. Seamlessly integrated with Crashlytics, Answers for Unity is automatically included as part of the Crashlytics Unity package and can be enabled with just one click from your Fabric dashboard.

Coupled with the Fabric mobile app (available on both iOS and Android), you can be notified about key stability and performance alerts on the go.

We're thrilled to support those of you building amazing mobile games on Unity and help you understand what’s important within their usage. If you already have Answers, download the Fabric Unity plugin to get started. Happy tracking!

 

Introducing Answers for tvOS

by Brian Swift, Product Manager

Last month, we opened beta access to one of our new tools at Answers Labs: Answers support for tvOS projects. Continuing to listen to your feedback, we wanted to bring the Answers experience you’ve come to know and love to tvOS.

Today, we’re thrilled to officially release Answers for tvOS!

 

The #1 mobile analytics solution for iOS, now on tvOS

When we set out to build an analytics tool that requires little analysis on your end, we wanted to make it as powerful and extensive as possible. Along the way, we were named the #1 mobile analytics solution by SourceDNA, and added support for OS X. And since many of you are building apps for tvOS today, we’re excited to support the next generation of experiences you’re crafting for Apple TV.

 

Similar to Answers for iOS and OS X, you’ll have instant visibility into critical performance metrics, such as DAU, MAU, and crash-free users — all in real time.

 

 

We're incredibly excited to support yet another major platform and help you grow your apps on even more Apple devices. Happy coding!

    

Answers January Update

by Brian Swift, Product Manager

We’ve spent the first month of 2016 finding ways to make Answers have a greater impact on your business. In January, we released Answers for OS X, a beta of Answers for tvOS, as well as time spent enhancing our dashboard UI, all to make Answers even better.

The #1 analytics solution for iOS, now on OS X

It’s been historically difficult to have any performance indicators or insights into how your OS X app is being used, let alone getting the answers you need once you actually have that data. With Answers for OS X, you’ll now have the same suite of powerful tools you’ve come to enjoy with Answers for iOS — all seamlessly working for your apps on Mac.

Similar to Answers for iOS, you’ll have instant visibility into critical performance metrics, such as DAU, MAU, and crash-free users — all in real time. Seamlessly integrated with Crashlytics, you can jump straight to specific builds in your Crashlytics issues dashboard and address your app stability immediately. You won’t have to dive through mountains of data and analyze trends. We’ll tell you what’s actually important, all in real time.

For more, check out our original announcement!

Real-time app analytics for Apple TV

In January, we opened up our beta of Answers for tvOS. We’re already seeing requests for access from many top apps in the world, so if you’re interested in trying it out, sign up today at Answers Labs. We’d love to hear your feedback!

 

 

 

 

Introducing Answers for OS X and tvOS (beta)

by Brian Swift, Product Manager

2015 was an exciting year for Answers. We launched Answers as its own kit, Answers Events, Audience Insights, and were even named the #1 mobile analytics tool on iOS. But we didn’t stop there.

Over the past few months, we've seen many of the same challenges we’ve solved on mobile occurring on other platforms, including desktop and TV. Developers are building the next great experience for their users on these platforms, and yet, they have limited real-time visibility into their user activity. We thought we could build something much, much better that would give developers on these platforms the same level of visibility as mobile platforms.

That’s why today, we’re thrilled to share two announcements: Answers for OS X is now officially available, and we’re opening beta access to Answers for tvOS at Answers Labs!

Instant, Complete Visibility into Your OS X Apps

It has historically been difficult to have any performance indicators or insights into how your OS X app is being used, let alone getting the answers you need once you actually have that data. With Answers for OS X, you’ll now have the same suite of powerful tools you’ve come to enjoy with Answers for iOS — all seamlessly working for your apps on Mac.

Similar to Answers for iOS, you’ll have instant visibility into critical performance metrics, such as DAU, MAU and crash-free users -- all in real-time. You won’t have to dive through mountains of data and analyze trends. We’ll tell you what’s actually important, all in real time. Seamlessly integrated with Crashlytics, you can jump straight to specific builds in your Crashlytics issues dashboard and address your app stability immediately.

Just like for iOS, you can get a complete health status check and a quick glance at how your new release is doing -- all through the launch day experience within your dashboardWith Answers, it’s never been easier to manage and scale your business.

To get Answers for OS X, simply update your Crashlytics Kit. New to Fabric? Download the Fabric Mac app here to get started!

From Answers Labs: Real-time App Analytics for Apple TV

At Answers Labs, we’re always experimenting with new ideas to make analytics ever simpler. Many of you have expressed interest in a solution that also supports Apple TV apps. We’ve listened to your requests and we're excited to open up access to our Answers for tvOS project, now in beta.

Demand is high so sign up at Answers Labs today for early access. We can't wait for your feedback as we continue to tweak and enhance its functionality!

 

Introducing Answers Launch Day Experience

by Brian Swift, Product Manager

Now that fall is officially here, we put aside the pumpkin flavored coffee and spent November building even more enhancements to Answers.

Complete Visibility into Your Launch

Launch day is stressful, there’s no question about that. Your team has worked so hard to build a feature or enhancement that your users will love and gain value from, and now the day to ship has finally arrived. We know you're pulling together data from multiple services as quickly as you can to gain confidence in the launch.

With that in mind, we decided to pull together all that critical data for you, and release a brand new launch day experience within the Answers dashboard!

We know you want to be able to get a complete health status check and a quick glance at how your build is doing. How quickly is it being adopted? How does the adoption rate compare across OS versions and different device models? We wanted to give you these answers at-a-glance, all to support your launch day. Once you click into your latest build on your dashboard, you’ll be taken to your launch status page. Here, you’ll be able to see the adoption rate on devices and platforms as well as any critical issues and how many users they’re impacting.

With this new feature, you’ll be able to quickly see how your app is doing, and make the enhancements needed to keep your users happy, and growing. See it in action on your dashboard -- we can't wait for you to try it!

 

Introducing Answers Kit

by Brian Swift, Product Manager

When we launched Answers as part of Crashlytics in the summer of 2014, our mission was to build an analytics solution you didn’t need to analyze. Now the #1 mobile analytics SDK on iOS, we’ve since built out Answers even further with new features like Answers Events and Audience Insights. Along the way, we've noticed that app developers aren't the only ones hungry for in-depth and real-time analytics — it’s everyone from app marketers to executives driving key decisions to grow their businesses.

So to better serve all stakeholders in the development lifecycle, we’re thrilled today to officially release Answers Kit a standalone, installable kit on Fabric for both iOS and Android.

With Answers as its own kit, you’ll have the flexibility to use Answers as a standalone service. For app marketers and product managers, you can now leverage Answers by itself -- and its features like Audience Insights -- to directly influence the impact you’re making on growth and revenue. If you use Cocoapods, you'll be able to install Answers with just a few clicks, just like Fabric.

If you already have Crashlytics installed through Fabric, you won’t need to install the Answers Kit separately (We'll confirm that you already have Answers Kit within the Mac app/Android IDE plugin). You can still enable Answers in one click on your Fabric dashboard, just like before.

Part of Answers’ “coming of age” story is continuing to make huge strides in simplifying mobile analytics. We’ve been humbled by your support in the short amount of time since Answers’ inception, and look forward to building the future with you!


Introducing Audience Insights

by Brian Swift, Product Manager

Since we launched Answers Events in July, Answers has been recognized as the #1 mobile analytics SDK on iOS. We’re humbled by this honor. And that’s motivated us to build it out even further in our quest to make mobile analytics even simpler.

Over the past few months, we've been tackling another problem in mobile analytics: the fact that developers don't have any visibility into who’s using their apps. What are the demographics of the user base? What are these people interested in? The answers are key to important product and marketing decisions.

Today, we're pleased to introduce a new feature to surface some of this information: Audience Insights.

Visibility into your user base

Using Audience Insights, you can quickly gather trends and information about who is using your app. Let’s say your audience is predominantly female, interested in technology, business and news, comedy, and concentrated in the greater Chicago area. If you’re marketing to your users or wanting to build some key new features geared to this profile, Audience Insights gives you the intelligent data you need.

Audience Insights is the benefit of a brand new integration between Answers and Twitter.  Answers will leverage Twitter’s robust audience insights data set to tell you the key demographics and interests of your user base. The Audience Insights information displayed in Answers is based on sampled, aggregated data to protect the privacy of users while providing you with powerful insights. The feature can be found in the Monthly Active User and Answers Events sections of your Answers dashboard. If you are an app developer, then to learn more about these changes, please read the email we circulated and our new Answers Agreement, which goes into effect on 11/20/2015. If you are an end user of an app that has integrated Answers, then to learn more about these changes please read our new Answers Privacy Policy, which goes into effect on 11/20/2015.

 

Audience Insights takes out the guesswork, giving you a high level snapshot of the users you care most about. If you’re using Answers Events, we’ll soon be providing customer segments based on key demographics and interests for your app. You’ll be able to take action by improving your app or marketing to users like ones you’re most active with.

Answers Named #1 in Mobile Analytics for iOS

by Wayne Chang, Head of Product Marketing, Developer Platform

Back in May, Answers was ranked as #2 on iOS and #3 on Android in the mobile analytics space by SourceDNA, the world's largest database of mobile app intelligence. Since then, we’ve been building out new features like Answers Events, which helps you track specific actions and events in real time, to better understand how users are behaving within your app.

Today, we’re thrilled to tell you that Answers has now been named the #1 most implemented mobile analytics SDK on iOS — just five months after it was named #2!

Just over a year ago, Answers was built and launched by a small team from Crashlytics. Many of the same members are excited to see that Crashlytics is still the #1 most implemented performance SDK -- with a higher score than #2-6 combined.

Here’s what SourceDNA said about Answers and Crashlytics just a few months ago:

Twitter’s efforts in the mobile ecosystem are clearly paying off. Their tools are some of the most implemented in apps that we’re seeing. It’s a clear sign that they are really making an impact & leading the way with mobile.


We’re humbled by this recognition. In just over a year, Answers has gone from a side project to a solution used by top app developers all over the world. If you haven’t already, read the inside story of how a team of six built Answers to be the most popular mobile analytics tool today!

 




Answers September Update: How to Use Answers Events

by Brian Swift, Product Manager

September has come to a close, and school is back in session! For many apps and businesses, the next few months are the busiest time of the year. Understanding exactly how users are engaging with your app becomes even more critical, especially for those of you building apps for shopping or other merchant services. When we launched Answers Events back in July, our goal was to help you remove the guesswork and take understanding your users to the next level.

To help you gain instant visibility into usage of your apps, we’ll run through setting up an event within Answers and how you could leverage our many intelligent analyses — starting with purchases and revenue.

Setting Up a Purchase Event

Answers Events automatically comes with an array of core events you can track, including purchases. In your Answers dashboard, start by clicking on  “Add an Event” at the top right part of your screen.

Then, select “Purchase” from the list.

Within your dashboard, you’ll see how to implement a Purchase event. This includes the price, the currency, item names and types, as well as other custom attributes you may want to track. Once that’s added, just relaunch the app and you’ll be tracking that event!

As soon as you set up your first Purchase event, we will show you daily revenue and we’ll start populating data on your dashboard.

This includes total items purchased, how many unique users made purchases, and even a distribution of purchase pricing so you can best gauge the state of your business. Answers also supports tracking other parts of the purchase funnel, including "Add to Cart" and "Start Checkout." Using all of these events can give you a much clearer picture of your purchase funnel. For instance, if you’re a ticket merchant, you can see the amount of users that added items to their cart compared to those that made it to checkout and those that actually purchased. We'll even tell you if that amount of users was more or less than expected based on historical trends, which allows us to give you deep analyses that help you understand the key drivers of your business.

To learn more about how exactly Answers Events works, check out our docs. Happy tracking!

Answers August Update

by Brian Swift, Product Manager

In August, our team shipped a ton of features so you can spend less time worrying about data, and more time understanding and taking action where you need to.

Crash-free users and sessions by build

You’ve shipped a build. Congrats! A few more releases come along, and now you have a bunch of builds, each with its own significance. Previously, when you logged into the Answers dashboard you would see an aggregated view of crash-free users to get a quick sense of your app’s stability. In August, we built in the ability for you to see crash-free users and sessions by build.

Now, you can dive into each build and see the crashes affecting its stability. You can also see how each build is trending over time. Being able to see stability by build will let you fix the most important issues and help you understand key trends that reflect the experience your users are having.

Exporting Answers events data to CSV

Back in July, we announced Answers Events, which lets you track specific actions and events so you can see exactly how users are behaving within your app in real time. Since then we’ve worked to give you more insight into the data you track. This month, we enabled the ability to export Answers Events data to CSV! You can now export two items for each event: the total number of events that occurred per day, and the unique users of the event per day, both for a full year of history. Being able to export this data helps you see longer term trends and make smarter data-driven decisions.

Conversion tracking for Answers Events

One of the most exciting things about Answers Events is the ability to dive deep into predefined events – a set of events that we think a majority of developers will want to track. And now we’ve made it super simple to enable conversion tracking for those events. Check out our docs for iOS and Android on how to enable conversion tracking through Fabric!

Here’s our internal changelog:

Infrastructure

  • Made enhancements to the data pipeline that enabled conversion tracking for Answers Events

Web

  • Shipped the ability to export Answers Events data to CSV

  • Shipped the ability for you to see crash-free users and sessions by build

Answers July Update

by Brian Swift, Product Manager

Just two months ago, SourceDNA named Answers the #2 mobile analytics solution. We take tremendous pride in that, but we are constantly finding ways to be #1 in building the tools you love to use. We care deeply about the mobile analytics space, and are passionate about making it super simple, giving you the answers you need with no analysis on your end.

In July, we were heads down on building out what we believe is a giant step toward that vision: Answers Events, our new real-time event tracking feature. It not only empowers you to track specific actions and events — so you can see exactly how users are behaving within your app — but also provides you a set of core events and actions that we think might be important to you. Combining with intelligent analyses to these events, you'll have total visibility into the key drivers of your business.

Want to learn more? Check out our Answers Events docs for Android and iOS or watch this quick video tour — done in under a minute!

Here's our detailed, behind-the-scenes changelog on what we built to make Answers Events a reality:

Infrastructure

  • We added supporting lambda architecture for predefined event computations

Web

  • We made space in the dashboard to make Answers Events a primary tab so you can get insight into your top event for the day

  • We added in pages so you can access all the information for Answers Events

  • We added instructions and onboarding information for Answers Events

iOS SDK

  • We added the ability to log and send up events

  • We improved debug logging, to allow for clearer insight into how Answers is behaving behind the scenes

  • We improved overall fidelity by fixing a race condition where we were missing a few events at startup

Android SDK

  • We added the ability to log and send up custom events and predefined events

  • We improved debug logging, to allow for clearer insight into how Answers is behaving behind the scenes

  • We improved overall fidelity by fixing a race condition where we were missing a few events at startup

Introducing Answers Events

by Brian Swift, Product Manager

Just last week, we celebrated Answers’ first birthday. Today, we are excited to unveil Answer’s next generation.

With Answers now ranked as the #2 mobile analytics solution, we’ve been humbled by your support, but knew there was more we could do to make Answers even more powerful. That’s why, two months ago, we opened access to our public beta for custom events at Answers Labs. After testing with hundreds of top developers and building out the feature even further, we’re thrilled to officially release Answers Events today

Understand the events that truly matter. Right now.

Answers Events empowers you to track specific actions and events so you can see exactly how users are behaving within your app — in real time. But that’s just the beginning. Other mobile analytics tools leave you on your own to figure out what you should track and where your analysis can have the most impact. Those solutions treat all of your app events the same, regardless of their type, which means you have to sift through all events yourself in order to understand what all that data means

After listening to your feedback and examining our data, we’ve identified a set of core events and actions that we believe a majority of app developers will want to track! This lets Answers guide you through the setup process right from the dashboard, so you can start tracking the most important actions in your app right away.

 

With Answers Events, our APIs know exactly what you are tracking, which allows us to give you deep analyses that help you understand the key drivers of your business.

We run the Answers dashboard for iOS and Android along our wall, and we continually keep track of interesting metrics including crash rate, app sessions, performance, memory warnings, and more. Answers has improved our ability to deliver quality in our mobile apps

Answers is a supremely easy-to-use tool for tracking specific events in our app. From core user actions such as signup to app-sharing or specific business features, it makes tracking easy and has even helped us to take a number of important decisions in real-time. Answers is an important tool to support our mobile growth efforts!

 

Track any event you want

Every app is unique, and so even though Answers Events focuses your analysis on the actions with the most impact, you may also need to track something extremely tailored and specific to your use-case. With Answers, you can track any actions or events critical to your business through our custom event API. Just like the other events, custom events are built right into your dashboard, and you’ll have full reign to customize them to what's important to you.

 

Total visibility. We’ll recommend data points for you.

Let’s run through an example. Imagine you're working on a gaming app, and tracking in-app purchases is paramount to your success. With Answers, you can start tracking purchase events with just a few lines of code. On top of that, we’ll proactively suggest values that may be important for you to track, including:

  • price

  • currency

  • success rate

  • itemName

  • itemType

  • itemId

We also accept both numeric and string attributes and automatically tailor our reporting based on your choices, to make sure our reporting is specific to those attributes. From these attributes, we’ll automatically generate detailed reports like daily revenue, number of items purchased and other critical data points. You won’t have to work to get the granularity you need — we’ve done that for you.

For purchase events, your dashboard is tailored to focus on the data that matters most. To provide the best experience, we’ll continue tailoring dashboards for more predefined events over the coming months. From the type of event to the actual values you want to track, we’ll tell you what’s important within your key events so you don’t have to analyze them.

See the most impactful events at a glance

Many apps have dozens of events that are important to track, and the last thing you want is to triage through clunky pages just to hunt down the most critical events. With Answers, we automatically show your top event within one of the main tabs on your dashboard — along with a sparkline so you can see how well your event is doing at a quick glance.

On your Events dashboard, we show you a list of your events — ranked by impact — with sparkline graphs for quick glances, along with how many events and how many unique users are also performing that action. Now, you can see the pulse of your app and focus on the most important actions your users are taking. If you want to jump straight to a specific event, simply use our dynamic search bar and your dashboard will quickly return the events you’re looking for — without reloading the page!

Start tracking in (literally) seconds

Getting started with Answers Events is a breeze. You can enable tracking of any event with just a few lines code. We’ll also walk you through it right within the dashboard — no need to dive through endless pages of docs.

To get Answers Events, simply enable the feature within your dashboard:

We have lots of exciting new features and upgrades on our roadmap over the coming months, so stay tuned for more. As usual, feel free to send us thoughts or feedback — we’re always listening.

Answers June update: behind the curtain

by Brian Swift, Product Manager

While we’ve been heads down working on some major upgrades for Answers, we thought it would be the perfect time to look back on how far our team has come. Answers is about to celebrate its first birthday, and in the past year, we’ve reached some incredible milestones and learned a lot about what you need in your analytics solution.

In early 2014, the same team that built Crashlytics worked on a “Hackweek” project focused on what an analytics product would look like if we decided to build it. With the support of Twitter’s executive team, we formed a small team of six and built what was then called “Insights by Crashlytics.” But 48 hours before “Insights” was slated to launch, we decided to change the name to what you know today as Answers.

The rest of the journey has been incredible.

We went from processing 50 billion sessions a month to over five billion sessions every day. In May, Answers was ranked the #2 mobile analytics solution on iOS, and #3 on Android. But that just scratches the surface of where we’ve come from, and where we’re heading. We’re humbled by the support and community that has been built around Answers, and we’re thrilled for the future.

If you’re a founder of your app's business, check out the full story of the early days of Answers for all the action, behind-the-scenes and tips and tricks about how you can build traction for your business.

Here’s our internal changelog:

Web

  • Deployed a number of visual enhancements to the Answers UI

  • After hearing your feedback, we shipped the ability for you to export your DAU, Daily New Users, MAU, Crash-free Users and Sessions data over the last 12 months into CSV files :) 

iOS SDK

  • Shipped SDK improvements to Answers Custom Events Beta

Android SDK

  • Shipped SDK improvements to Answers Custom Events Beta

Real-time Processing Engine

  • Continued to deploy enhancements to speed and batch computations to support real-time, advanced custom event computations via Lambda architecture

 

Answers May Update

by Brian Swift, Product Manager

Finding actionable data about your app can be difficult. But this month we’ve made even more enhancements to Answers that are sure to be a knockout – and help you find the Answers you need.

Ten months ago we set out to build a mobile analytics solution you didn’t need to analyze. Just recently, SourceDNA, the world's largest database of mobile app intelligence, reported Answers is ranked as #2 on iOS and #3 on Android in the mobile analytics space. We’re humbled by this recognition, and can’t wait to keep building tools you love to use.

From Answers Labs: custom events

Working with a global community of smart developers means testing the limits and making mobile analytics ever simpler. That’s why early in May we opened Answers Labs – to experiment with new projects and push boundaries.

Our very first project, custom events, empowers you to track specific user actions so you can see exactly how users are behaving within your app – in real time. But this only scratches the surface of what we think custom events should do. We aim to give you analytics that you don’t need to analyze – a service that tells you what’s actually important and gives you answers on how users are engaging with your app. No matter what business you’re in, you’ll know exactly where to focus your efforts to improve your app experience.

We’ve been privately testing this tool with some of the biggest apps around. Now we’re ready to open up the beta to more of you. Get early access to our custom events public beta by signing up for Answers Labs.

 

Here’s our internal changelog:

iOS SDK

  • Added support for tracking Answers Custom Events

  • Shipped SDK improvement that reduces impact on battery life and network transfers

Android SDK

  • Added support for tracking Answers Custom Events

  • Shipped SDK improvement that reduces impact on battery life and network transfers

Real-time Processing Engine

  • Deployed enhancements to speed and batch computations to support real-time, accurate custom event computations via Lambda architecture

Answers Named #2 in Mobile Analytics, Crashlytics #1 in Performance

by Wayne ChangHead of Product Marketing, Developer Platform

Before Answers, developers had to wade through mountains of data about their apps to find what they were looking for. We wanted to fix this, so we went to the drawing board and set out to build a mobile analytics solution you didn’t need to analyze.

Today, just ten months after our launch, we’re proud to announce that SourceDNA, the world's largest database of mobile app intelligence, reported Answers is ranked as #2 on iOS and #3 on Android in the mobile analytics space.

We’re also excited to see that SourceDNA named Crashlytics as the number one most implemented performance SDK -- with a higher score than #2-6 combined.

Twitter’s efforts in the mobile ecosystem are clearly paying off. Their tools are some of the most implemented in apps that we’re seeing. It’s a clear sign that they are really making an impact & leading the way with mobile.


We’re incredibly humbled by this recognition Answers has received. Answers is now used by top app developers all over the world and handling over 5 billion sessions every day. Find out why Answers is dominating the mobile analytics space.


From Answers Labs: Custom Events

by Brian Swift, Product Manager

When we launched Answers last July, our goal was to build a mobile analytics solution that you didn’t need to analyze. Now processing more than 150 billion sessions per month, we’ve heard a number of requests for additional functionality and seen an overwhelming demand for the ability to track specific events within your apps.

Today, we’re pleased to announce our opening of Answers Labs and our first Labs project, custom events, now in public beta. At Answers Labs, we’re always experimenting with new ideas and projects to make mobile analytics ever simpler.

Often, developers don't have enough visibility into how users are engaging with their apps, let alone getting actionable information. Our first Answers Labs project lets you track specific user actions so you can see exactly how users are behaving within your app, in real time. But this only scratches the surface of what we think custom events should do. If you're a content publisher and retention suddenly drops, is it because fewer articles are read overall, or is the number of articles consumed per user decreasing? If fewer articles are read, is it a single topic that has declined, or all of them?

With custom events, you'll have total visibility into how users are engaging with your app. No matter what business you’re in, you’ll know exactly where to focus your efforts to improve your app experience.

We’ve been privately testing this tool with the biggest and most varied apps out there. Now, we’re ready to open up the beta to more of you. To join the custom events public beta, sign up for Answers Labs!

Answers April Update

by Wayne Chang, Head of Product Marketing, Developer Platform

To close out April with a bang, we’re excited to share that Answers is now integrated with Beta by Crashlytics. For those of you using Beta to onboard testers and uncover bugs, we want to give you the same level of visibility – as you would have for live apps – into the performance of your app before it goes out into the wild.

Now with the new integration, you can quickly get a snapshot into the performance of your latest release right within your Beta dashboard.

beta_animated_v2_fast.gif

We’ve integrated the following metrics into Beta:

  • total no. of sessions
  • time tested
  • crash-free devices %
  • crash-free sessions %
  • total no. of devices
  • no. of devices crashed
  • no. of sessions crashed

You’ll have instant visibility into how long testers are engaging with new features within your app or the stability of each release. For each new release, you can compare these metrics to the previous builds and know whether the changes in your latest build were successful in making your app more engaging and stable.

By combining Beta's seamless distribution with Answers, you’ll have access to key data on your builds’ usage and stability – insights you wouldn’t otherwise be able to have.

A more robust foundation    

Just nine months after launching Answers, we’re already powering analytics for many of the largest apps in the world. Today, we’re processing over 150 billion sessions per month. To keep processing data at this scale, we’ve been heads down streamlining some of our processes, increasing redundancy across our servers for failover and boosting the overall stability of our infrastructure. As we continue to scale, we’re excited to keep improving our infrastructure to prepare for even higher data load in the future.

Here’s our internal changelog:

  • Integrations

    • Opened data pipeline to Beta by Crashlytics for number of sessions tested and seconds tested metrics

    • Opened data pipeline to Beta by Crashlytics for crash-free devices and crash-free session for testers metrics

  • Infrastructure

    • Increased redundancy across servers

    • Enhanced stability on overall data architecture