The new Fabric dashboard: all the analytics you love, reimagined

By Shobhit Chugh, Product Manager & Marc Richards, Engineering Manager

Blog-header-new-Fabric-dashboard

When we launched Fabric’s Answers three years ago, our mission was to provide app teams with analytics they didn’t need to spend hours analyzing. Just as the name implied, Answers made sense of your data by organizing it into insightful, real-time graphs of user behavior. But as our platform evolved to better serve you, two things became apparent:

  1. Our customers used Fabric to accomplish a set of goals, but our dashboard was structured around our tools rather than your needs. Consequently, information about each goal was scattered, which meant that you had to jump between different graphs and screens.

  2. As we built deeper integrations between Fabric’s different components, analytics became the heart of our platform, so it no longer made sense to keep Answers as a separate, siloed brand.

In an effort to provide more clarity and bring data together in a more meaningful way, we’re excited to introduce the new Fabric dashboard! Centered around your top app goals, this dashboard gives you a holistic view of your app’s performance in one place. All the metrics you know and love are still there, now grouped more intuitively by the business impact they have.

Fabric’s new dashboard gives me a bird’s eye view of the areas of my app that need attention, which helps me make smart decisions and spend my time wisely.


 

Monitor your app from every critical business angle

Over the last year, we spent time listening to your feedback on how you use Fabric, which key  things you measure, and what your top business priorities are. We found that all app teams, regardless of the type of app they develop and manage, have a set of core goals that are vital to their mobile success. They are:

“I want to build a stable app and monitor my latest release.”
“I want to understand what users are doing inside my app so I can engage and retain them.”
“I want to grow my business by acquiring new users and earning revenue.”

Armed with this insight, we updated our dashboard so it’s easier to understand how your app is doing from each of those business-critical angles. Here’s a quick overview of how your brand new Fabric dashboard is organized, and what you can learn from each section.

At the top, you’ll see a real-time graph of your active users. These are people who are using your app right now.

The first row of charts shows you how often people return to your app (retention), how many new users you’re acquiring each day (growth), and how many users are completing your most important in-app action (the KPI - key performance indicator).

The second row of graphs will help you monitor your app quality and gauge the success of your latest release.

As you scroll to the bottom of the dashboard, you’ll see how engaged your users are around the world and what actions they are taking. And if you sell physical or virtual goods in your app, the revenue chart will show you how much money you’re making.

Pro Tip: The new Fabric dashboard compares your data week over week, in real-time. This means that each delta shows you how that metric has changed from what it was at the same time last week.

 

Dedicated pages provide more context about each app goal

While the main Fabric dashboard gives you a bird’s eye view of what’s happening in your app right now, you can also zoom in on each app goal to get more information by simply clicking on it.

For example, let’s say you recently launched a mobile ad campaign and you notice a corresponding bump in your Daily New Users. Does this mean that your new user acquisition campaign was a success? Maybe at first glance - but you need more information on the caliber of these new users. Are they sticking around and engaging with your app? Are they completing key in-app actions? To get the answer, just click on the growth section.

Now, you’ll be taken to a new growth-focused page that sheds light on the quality and activity level of your new users. We unveiled this growth page back in December, and today, it’s fully integrated into the new Fabric dashboard!

In the next few weeks, we’ll go through each page of the Fabric dashboard in more detail and share best practices on how to make the most of it. Stay tuned!

  • Growth
  • Retention
  • KPI
  • Crashlytics
  • Latest Release
  • Engagement
  • Audience Insights
  • Revenue
  • Events


 

Iterating for clarity in a chaotic world

As the mobile industry matures, complexity ensues. Our mission is to always provide opinionated, real-time analytics that help you focus on the areas of your app that need attention - without overwhelming you with data.

We enhanced Fabric’s dashboard for clarity to make it easier, and faster, to find the information you need on your most important app goals and business priorities. In the immortal words of the great Leonardo Da Vinci, “Simplicity is the ultimate sophistication.”

If you’re already a Fabric customer, click here to check out your new dashboard.

If you’re not currently a Fabric customer, get started by signing up and installing Crashlytics.

Fabric is Joining Google

by Rich Paret, VP of Engineering & GM of Fabric

When we launched Fabric in 2014, our goal was to provide the best tools to help developers create amazing apps. Since then, Fabric has evolved from a suite of tools for mobile developers to a powerful platform that helps entire teams build better apps, understand their users, and grow their business. In just two years, Fabric has grown to reach 2.5 billion active mobile devices, and Fabric's Crashlytics and Answers kits were recently recognized as the #1 SDKs for app stability and analytics. We are incredibly proud of the products we have built and grateful to this community of more than 580K passionate mobile developers.

Today we enter the next chapter for Fabric and are pleased to announce that we’ve signed an agreement for Fabric to be acquired by Google and for our team to join Google’s Developer Products Group, working with the Firebase team.

When we met the team at Google we quickly realized that our missions are the same - helping mobile teams build better apps, understand their users, and grow their businesses. Fabric and Firebase operate mobile platforms with unique strengths in the market today. We’re excited to combine these platforms together to make the best mobile developer platform in the world for app teams. Fabric customers: there’s no action you need to take in order to keep using these products. You can preview the new terms of use that will apply when the transaction is closed.*

We love our customers and are excited to continue to offer world-class developer products to all of you in this next chapter. Thank you all for being a part of this adventure with us! You can read more about today’s announcement on Google’s blog.

-


*When the acquisition is complete, Google will begin providing Fabric, Crashlytics, Answers, and associated beta products under terms that you can preview here. During a transition period, Digits will continue to be maintained by Twitter under its existing terms. If you have any questions or need support for Digits, please ping the Twitter Community forums as usual. If you use any of the Answer’s Enhanced Features Set, such as Audience Insights reporting, those features will continue to be available to you leveraging Twitter data under our Enhanced Features Agreement found here. If you do not wish to continue receiving any of these services, you can stop using them or terminate your agreement before the acquisition is completed, as described in your current agreement with Twitter.

Fabric lands top spots for app analytics, stability, and monetization

by Annum Munir, Product Marketing Manager

Fabric is #1 for app analytics, stability, and monetization

About a year ago, we were thrilled that Fabric’s stability solution, Crashlytics, was ranked the #1 most implemented performance SDK by SourceDNA. Shortly afterwards, SourceDNA also named our analytics offering, Answers, the #1 most implemented mobile analytics SDK on iOS! Since then, we’ve rolled out new features like out-of-memory (OOM) reporting to extend stability coverage, activity segments to give you insight into user retention, and unveiled a growth dashboard to provide a real-time snapshot of app growth.

As 2016 comes to a close, we’re excited to share that Fabric has once again earned top honors in stability, app analytics, and now: monetization.

A few days ago, an up-and-coming mobile intelligence startup, MightySignal, released a report highlighting the most-used SDKs across millions of mobile apps. We were delighted and humbled to be recognized in the following categories for the top 200 free iOS apps:

  • Fabric’s Crashlytics is the #1 stability SDK
  • Fabric’s Answers is the #1 analytics SDK
  • Fabric’s MoPub kit is the #2 monetization SDK

With Fabric, we symbolicate over 1000 crashes per second to help customers identify, prioritize, and resolve stability issues that have the biggest impact on their app quality. Thank you for continuing to trust us to improve your app experience!

Last year, Fabric’s Answers was distilling data from 150 billion app sessions every month to help you understand your users. Now, we’re processing over 310 billion sessions every month

As we’ve scaled, we’ve loved hearing from our customers about how insights from Fabric’s dashboard helps them engage and retain users.

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


Finally, MightySignal’s data also shows that Fabric’s monetization solution is the second most widely implemented monetization SDK - trusted by many of the top 200 apps to turn their app into a thriving business.

We launched Fabric in 2014 as a suite of tools to help developers build the best apps. We’re excited to have grown to become the most trusted platform for app stability, analytics, and monetization in the world. In 2017, we’re looking forward to building and expanding on this platform to supercharge app development teams.


On a final note, we wanted to thank our customers for your incredible support and feedback. Every day, your passion, innovation, and hard work inspire us. Our mission is to make it easy to build apps, understand users, and grow your business - and we can’t wait to work with you to make Fabric even better in the New Year!


Check out MightySignal’s full report of the top SDKs here.

Launching Answers growth dashboard: understand your app’s growth

by Steve Wilber, Product Manager

In the mobile industry, the adage “if you’re not growing, you’re shrinking” is as true as ever. Today, there are more than 2 million apps available in the app stores, meaning that competition is fierce and growth isn’t easy. In fact, 13 of the top apps in the U.S. saw their growth rate decline by ~20% this year. Mobile teams know that they cannot simply build an app and expect users to flock to it - they need to actively monitor and grow their users.

To help mobile teams understand their user growth, we’re announcing a new growth analytics dashboard. With this new dashboard, you can answer important questions like: “How many new users did my app gain this week vs. the last? Are they completing key actions inside my app? Are they sharing my app with their friends?”

Understand your user growth in real-time

It’s important for product managers and app marketers to stay on top of their new users count everyday and measure their progress each week. That’s why the new growth dashboard features three key data points at the very top:

  • cumulative number of new users today
  • new users count at this same time last week
  • percentage change based on today’s count versus last week’s

By combining this data, your dashboard gives you an instant snapshot of how your app has been growing today and how well you’re performing comparing to the same point last week. It also helps you understand your growth trend for the week and whether you’re improving overall on a weekly basis!

Know the quality of your new users

The key to sustainable growth is not just getting new users, but ensuring they are taking meaningful actions in your app. With the new growth dashboard, you can now see the percentage of new users who performed a key performance indicator (KPI) each day. This helps you measure how engaged your new users are and see if your daily marketing efforts are attracting one-time users or highly engaged users.

Highly engaged users will come back to your app more often, so another way to gauge user quality is to look at your new user retention. The new growth dashboard helps you keep tabs on the percentage of new users that came back to your app after a day, a week and 30 days of installing your app. If the retention rate on a given day is higher or lower than expected vs. the week before, we’ll call this to your attention. This way you can address any issues quickly if there are any!

From our friends at Ticketmaster:

We believe that winners like scoreboards, and this new growth dashboard has been our favorite scoreboard for our mobile app development and QA teams. Retention is a valuable metric that is less sensitive to concert on-sale dates and the growth dashboard has provided us with several new metrics for us to follow how our fans are engaging with our apps in real-time.



Measure and optimize your organic viral growth

For many mobile-driven businesses, in-app referrals can be one of the most effective channels for user growth. Studies have shown that up to 50% of all buying decisions are a result of word-of-mouth referrals. To help you measure your app’s virality, the new growth dashboard shows you how many users are sharing your app’s content or inviting their friends to download your app. One big question remains though: Are their friends actually installing your app from those invites?

The new growth dashboard gives you the answer via its viral installs graph. Powered by Branch (a multi-channel, deep linking and attribution tool), the viral installs chart shows you how many installs came from the invites sent or content shared by your users with their friends. It also gives you the power to drill into which channel is more successful so you can double down on the one that gives you the highest return.

Your command center for growth in 2017

We’ve built this new dashboard to help you understand your user growth and know where to invest your marketing efforts. With 2017 on the horizon, we hope this dashboard will empower you and your team to march into the new year stronger than ever. Here’s to next year!

Migrating to Druid: how we improved the accuracy of our stability metrics

by Max Lord, Software Engineer

Stability metrics are one of the most critical parts of Crashlytics because they show you which issues are having the biggest impact on your apps. We know that you rely on this data to prioritize your time and make key decisions about what to fix, so our job is to ensure these metrics are as accurate as possible.  

In an effort to strengthen the reliability of these numbers, we spent the last few months overhauling the system that gathers and calculates the stability metrics that power Crashlytics. Now, all of our stability metrics are being served out of a system built on Druid. Since the migration has ended, we wanted to step back, reflect on how it went, and share some lessons and learnings with the rest of the engineering community.

Why migrate?

In the very early days of Crashlytics, we simply wrote every crash report we received to a Mongo database. Once we were processing thousands of crashes per second, that database couldn't keep up. We developed a bespoke system based on Apache Storm and Cassandra that served everyone well for the next few years. This system pre-computed all of the metrics that it would ever need to serve, which meant that end-user requests were always very fast. However, its primary disadvantage was that it was cumbersome for us to develop new features, such as new filtering dimensions. Additionally, we occasionally used sampling and estimation techniques to handle the flood of events from our larger customers, but these estimation techniques didn't always work perfectly for everyone.

We wanted to improve the accuracy of metrics for all of our customers, and introduce a richer set of features on our dashboard.  However, we were approaching the limits of what we could build with our current architecture.  Any solution we invented would be restricted to pre-computing metrics and subject to sampling and estimation. This was our cue to explore other options.

Discovering Druid

We learned that the analytics start-up MetaMarkets had found themselves in a similar position and the solution that they open-sourced, Druid, looked like a good fit for us as well. Druid belongs to the column-store family of OLAP databases, purpose-built to efficiently aggregate metrics from a large number of data points. Unlike most other analytics-oriented databases, Druid is optimized for very low latency queries. This characteristic makes it ideally suited for serving data to an exploratory, customer-facing dashboard.

We were doubtful that any column store could compete with the speed of serving pre-computed metrics from Cassandra, but our experimentation demonstrated that Druid's performance is phenomenal. After spending a bit of time tweaking our schema and cluster configuration, we were easily able to achieve latencies comparable to (and sometimes even better than!) our prior system.  We were satisfied that this technology would unlock an immense amount of flexibility and scale, so our next challenge was to swap it in without destabilizing the dashboard for our existing customers.

Migrating safely

As with all major migrations, we had to come up with a plan to keep the firehose of crash reports running while still serving up all of our existing dashboard requests. We didn’t want errors or discrepancies to impact our customers so we enlisted a tool by Github called Scientist. With Scientist, we were able to run all of the metrics requests that support our dashboard through Druid, issuing the exact same query to both the old system and the new system, and comparing the results.  We expected to see a few discrepancies, but we were excited to see that when there were differences, Druid generally produced more accurate results. This gave us the confidence that Druid would provide the functionality we needed, but we still needed to scale it up to support all of our dashboard traffic.  

To insulate our customers from a potential failure as we tuned it to support all of our traffic, we implemented a library called Trial.  This gave us an automatic fallback to the old system. After running this for a few weeks we were able to gradually scale up and cut over all of our traffic to the new system.

How we use Druid for Crashlytics

On busy days, Crashlytics can receive well over a billion crash reports from mobile devices all over the world. Our crash processing pipeline processes most crashes within seconds, and developers love that they can see those events on their dashboards in very close to real time.

To introduce a minimum of additional processing time, we make extensive use of Druid's real-time ingestion capabilities. Our pipeline publishes every processed crash event to a Kafka cluster that facilitates fanout to a number of other systems in Fabric that consume crash events. We use a Heron topology to stream events to Druid through a library called Tranquility. Part of the Druid cluster called the "indexing service" receives each event and can immediately service queries over that data. This path enables us to serve an accurate, minute by minute picture of events for each app for the last few hours.  

However, calculating metrics over a week or months of data requires a different approach. To accomplish this, Druid periodically moves data from its indexing service to another part of the cluster made up of "historical" nodes. Historical nodes store immutable chunks of highly compressed, indexed data called "segments" in Druid parlance and are optimized to service and cache queries against them. In our cluster, we move data to the historical nodes every six hours. Druid knows how to combine data from both types of nodes, so a query for a week of data may scan 27 of these segments plus the very latest one currently being built in the indexing service.

The results

Our Druid based system now allows us to ingest 100% of the events we receive, so we are happy to report that we are no longer sampling crash data from any of our customers.  The result is more accurate metrics that you can trust to triage stability issues, no matter how widely installed your app is.

While nothing is more important to us than working to ensure you have the most reliable information possible, we also strive to iterate and improve the Crashlytics experience. In addition to helping us improve accuracy, Druid has unlocked an unprecedented degree of flexibility and richness in what we can show you about the stability issues impacting your users. Since the migration, you may have noticed a steady stream of design tweaks, new features, and performance enhancements on our dashboard. For example, here are a few heavily-requested features that we’ve recently rolled out:  

  • You can now view issues across multiple versions of your app at the same time
  • You can view individual issue metrics for any time range
  • You can now filter your issues by device model and operating system

This is just the beginning. We're looking forward to what else we can build to help developers ship stable apps to their customers.

P.S. We're building a mobile platform to help teams create bold new app experiences. Want to join us? Check out our open positions!

Get Crashlytics