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

 

Answers March Update

by Brian Swift, Product Manager

answers_march_2015_update.png

Mobile analytics should be as easy as a layup, but figuring out how to improve the experience for your users has been anything but. There are plenty of tools that provide insights about a particular aspect of your app, but combining them all for a comprehensive understanding of your users can be cumbersome – and tedious.

That’s why we launched Answers last summer, our real-time mobile app analytics tool that brings together the most important metrics and performs the analysis for you so you can focus on what matters most: user experience.

To help you cure mobile analytics madness, here are three pro tips for getting the whole picture.

  Make launch day easy-peasy



So you just shipped an exciting new version of your app. High five! Now comes the tough part: having visibility into engagement, stability and performance. Traditionally, you would have to export analytics and crash data from different services, merge them and compare your latest build to the current production version.

Answers makes this process dead simple by giving you a build comparison tool that’s deeply integrated with the award-winning Crashlytics. You’ll get notifications if app stability changes, and you’ll actually be able to see, in real time, how users are engaging with it. You can track crash-free users and session length for your new build in real time, and compare it to previous builds right within Answers.

answers_build_tool_screenshot.gif

From our friends at Runkeeper:

With Answers, Runkeeper saved 2 hours of developer time on release days. We just launched a new version and it was amazing to immediately compare its stability to our previous versions.

  Hone in on crashes affecting the most users



All apps crash, but what separates the best from the rest is the ability to understand why your app crashed – and how to remedy the situation pronto.

With Answers, you can see the crashes affecting the highest percentage of today’s active users. From there, your team can prioritize which bugs or lines of code get fixed first.

You can proactively address the most critical issues, making your app even more stable while ensuring a top-notch user experience.

  Get the most out of session length



While many mobile analytics tools give you data averages pulled from numerous reference points, those averages can be skewed, giving you an inaccurate picture of how users are interacting with the app.

In Answers, you can easily see median, 25th and 75th percentile data for a more complete picture of how much time users are spending in the app. When you’ve launched a new feature you can immediately see if it’s affecting the session length for all sessions.

With your build comparison dashboard (shown in the first screenshot), you can dig even more deeply into sessions. You’ll have complete visibility into how a particular build is performing and how people are engaging with the latest build compared to previous versions.

We hope these tips are helpful. If you have any questions or feedback about Answers, ping us at [email protected]. We’re always listening!

Answers: Not Just for Developers Anymore

by Brian Swift, Product Manager

answers_now_reach_5B_sessions_header.jpeg

Since the day we launched Crashlytics, we’ve heard your requests to build an analytics solution. And last July, we did just that. We took the best of what we learned from Crashlytics -- a leading crash reporting solution for iOS and Android -- and applied that to Answers. In building Answers, our mission was to build an analytics solution that you don’t need to analyze. From the zero-step install to intelligent automated alerts, Answers is a real-time mobile analytics product that we believe is a giant step toward achieving our mission.

We’re really proud of what Answers does, and are thrilled with the response from the community so far. Answers now processes over 5 billion sessions per day — over 1 million  analytics events per second — and is used by some of the largest apps in the world. Here’s what our friends at Rdio had to say about Answers:

Answers' daily summary reports let us easily get a sense for how our app is performing everyday without having to do any analysis. All we need to do is open our inboxes. It's awesome!

As we've ramped up to billions of Answers sessions per day, we've noticed that it's not just the developers who are hungry for in-depth and real-time analytics – it’s everyone from app marketers to executives to app developers. To better serve all stakeholders in the development lifecycle, we're splitting Answers out from Crashlytics as its own product. This way, we'll be able to innovate more rapidly and deliver features that serve the needs of everyone on the team.

Our goal is always to create a dashboard that makes understanding your user base dead simple so you can spend your time building amazing experiences, not digging through data. In short: Answers is not just for developers anymore. Sign up here to get started with Answers today, and follow us on Twitter @answersio.

Handling Five Billion Sessions a Day in Real Time

by Ed Solovey, Engineer

This is an engineering blog post from one of our team members on how we designed and built our architecture to handle five billion sessions a day.

Since we first released Answers seven months ago, we’ve been thrilled by tremendous adoption from the mobile community. We now see about five billion sessions per day, and growing. Hundreds of millions of devices send millions of events every second to the Answers endpoint. During the time that it took you to read to here, the Answers back-end will have received and processed about 10,000,000 analytics events.

The challenge for us is to use this information to provide app developers with reliable, real-time and actionable insights into their mobile apps.

At a high level, we guide our architectural decisions on the principles of decoupled components, asynchronous communication and graceful service degradation in response to catastrophic failures. We make use of the Lambda Architecture to combine data integrity with real-time data updates.

In practice, we need to design a system that receives events, archives them, performs offline and real-time computations, and merges the results of those computations into coherent information. All of this needs to happen at the scale of millions events per second. 

Let's start with our first challenge: receiving and handling these events.

Event reception
When designing our device-server communication, our goals were: reducing impact on battery and network usage; ensuring data reliability; and getting the data over as close to real time as possible. To reduce impact on the device, we send analytics events in batches and compress them before sending. To ensure that valuable data always gets to our servers, devices retry failed data transfers after a randomized back-off and up to a disk size limit on the device. To get events over to the servers as soon as possible, there are several triggers that cause the device to attempt a transfer: a time trigger that fires every few minutes when the app is foregrounded, a number of events trigger and an app going into background trigger.

This communication protocol results in devices sending us hundreds of thousands of compressed payloads every second. Each of these payloads may contain tens of events. To handle this load reliably and in a way that permits for easy linear scaling, we wanted to make the service that accepts the events be dead simple. 

answers_architecture_screenshot1.png

This service is written in GOLANG, fronted by Amazon Elastic Load Balancer (ELB), and simply enqueues every payload that it receives into a durable Kafka queue

Archival
Because Kafka writes the messages it receives to disk and supports keeping multiple copies of each message, it is a durable store. Thus, once the information is in it we know that we can tolerate downstream delays or failures by processing, or reprocessing, the messages later. However, Kafka is not the permanent source of truth for our historic data — at the incoming rate of information that we see, we’d need hundreds of boxes to store all of the data just for a few days. So we configure our Kafka cluster to retain information for a few hours (enough time for us to respond to any unexpected, major failures) and get the data to our permanent store, Amazon Simple Storage Service (Amazon S3), as soon as possible.

We extensively utilize Storm for real-time data processing, and the first relevant topology is one that reads the information from Kafka and writes it to Amazon S3. 

Batch computation
Once the data is in Amazon S3, we’ve set ourselves up for being able to compute anything that our data will allow us to via Amazon Elastic MapReduce (Amazon EMR). This includes batch jobs for all of the data that our customers see in their dashboards, as well as experimental jobs as we work on new features. 

We write our MapReduce in Cascading and run them via Amazon EMR. Amazon EMR reads the data that we’ve archived in Amazon S3 as input and writes the results back out to Amazon S3 once processing is complete. We detect the jobs’ completion via a scheduler topology running in Storm and pump the output from Amazon S3 into a Cassandra cluster in order to make it available for sub-second API querying.

Speed computation
What we have described so far is a durable and fault-tolerant framework for performing analytic computations. There is one glaring problem however — it’s not real time. Some computations run hourly, while others require a full day’s of data as input. The computation times range from minutes to hours, as does the time it takes to get the output from Amazon S3 to a serving layer. Thus, at best, our data would always be a few hours behind, and wouldn’t meet our goals of being real time and actionable.

To address this, in parallel to archiving the data as it comes in, we perform stream computations on it. 

answers_architecture_screenshot4.png

An independent Storm topology consumes the same Kafka topic as our archival topology and performs the same computations that our MapReduce jobs do, but in real time. The outputs of these computations are written to a different independent Cassandra cluster for real-time querying. 

To compensate for the fact that we have less time, and potentially fewer resources, in the speed layer than the batch, we use probabilistic algorithms like Bloom Filters and HyperLogLog (as well as a few home grown ones). These algorithms enable us to make order-of-magnitude gains in space and time complexity over their brute force alternatives, at the price of a negligible loss of accuracy. 

Fitting it together
So now that we have two independently produced sets of data (batch and speed), how do we combine them to present a single coherent answer?

We combine them with logic in our API that utilizes each data set under specific conditions. 

Because batch computations are repeatable and more fault-tolerant than speed, our API’s always favor batch produced data. So, for example, if our API receives a request for data for a thirty-day, time-series DAU graph, it will first request the full range from the batch-serving Cassandra cluster. If this is a historic query, all of the data will be satisfied there. However, in the more likely case that the query includes the current day, the query will be satisfied mostly by batch produced data, and just the most recent day or two will be satisfied by speed data. 

Handling of failure scenarios
Let’s go over a few different failure scenarios and see how this architecture allows us to gracefully degrade instead of go down or lose data when faced with them.

We already discussed the on-device retry-after-back-off strategy. The retry ensures that data eventually gets to our servers in the presence of client-side network unavailability, or brief server outages on the back-end. A randomized back-off ensures that devices don’t overwhelm (DDos) our servers after a brief network outage in a single region or a brief period of unavailability of our back-end servers. 

What happens if our speed (real-time) processing layer goes down? Our on-call engineers will get paged and address the problem. Since the input to the speed processing layer is a durable Kafka cluster, no data will have been lost and once the speed layer is back and functioning, it will catch up on the data that it should have processed during its downtime. Since the speed layer is completely decoupled from the batch layer, batch layer processing will go-on unimpacted. Thus the only impact is delay in real-time updates to data points for the duration of the speed layer outage.

What happens if there are issues or severe delays in the batch layer? Our APIs will seamlessly query for more data from the speed layer. A time-series query that may have previously received one day of data from the speed layer will now query it for two or three days of data. Since the speed layer is completely decoupled from the batch layer, speed layer processing will go-on unimpacted. At the same time, our on-call engineers will get paged and address the batch layer issues. Once the batch layer is back up, it will catch up on delayed data processing, and our APIs will once again seamlessly utilize the batch produced data that is now available. 

Our back-end architecture consists of four major components: event reception, event archival, speed computation, and batch computation. Durable queues between each of these components ensure that an outage in one of the components does not spill over to others and that we can later recover from the outage. Query logic in our APIs allows us to seamlessly gracefully degrade and then recover when one of the computations layers is delayed or down and then comes back up.

Our goal for Answers is to create a dashboard that makes understanding your user base dead simple so you can spend your time building amazing experiences, not digging through data. Learn more about Answers here and get started today.

Big thanks to the Answers team for all their efforts in making this architecture a reality.  Also to Nathan Marz for his Big Data book.

Contributors
Andrew Jorgensen, Brian Swift, Brian Hatfield, Michael Furtak, Mark Pirri, Cory Dolphin, Jamie Rothfeder, Jeff Seibert, Justin Starry, Kevin Robinson, Kristen Johnson, Marc Richards, Patrick McGee, Rich Paret, Wayne Chang.