Introducing Cloud Firestore: our new document database for apps

Originally posted by Alex Dufetel on the Firebase Blog

firebase_firestore-horiz-dark-2.png

Today we’re excited to launch Cloud Firestore, a fully-managed NoSQL document database for mobile and web app development. It's designed to easily store and sync app data at global scale, and it's now available in beta.

Key features of Cloud Firestore include:

  • Documents and collections with powerful querying

  • iOS, Android, and Web SDKs with offline data access

  • Real-time data synchronization

  • Automatic, multi-region data replication with strong consistency

  • Node, Python, Go, and Java server SDKs

And of course, we've aimed for the simplicity and ease-of-use that is always top priority for Firebase, while still making sure that Cloud Firestore can scale to power even the largest apps.

Optimized for app development

Managing app data is still hard; you have to scale servers, handle intermittent connectivity, and deliver data with low latency.

We’ve optimized Cloud Firestore for app development, so you can focus on delivering value to your users and shipping better apps, faster. Cloud Firestore:

  • Synchronizes data between devices in real-time. Our Android, iOS, and Javascript SDKs sync your app data almost instantly. This makes it incredibly easy to build reactive apps, automatically sync data across devices, and build powerful collaborative features -- and if you don’t need real-time sync, one-time reads are a first-class feature.

  • Uses collections and documents to structure and query data. This data model is familiar and intuitive for many developers. It also allows for expressive queries. Queries scale with the size of your result set, not the size of your data set, so you'll get the same performance fetching 1 result from a set of 100, or 100,000,000.

  • Enables offline data access via a powerful, on-device database. This local database means your app will function smoothly, even when your users lose connectivity. This offline mode is available on Web, iOS and Android.

  • Enables serverless development. Cloud Firestore’s client-side SDKs take care of the complex authentication and networking code you’d normally need to write yourself. Then, on the backend, we provide a powerful set of security rules so you can control access to your data. Security rules let you control which users can access which documents, and let you apply complex validation logic to your data as well. Combined, these features allow your mobile app to connect directly to your database.

  • Integrates with the rest of the Firebase platform. You can easily configure Cloud Functions to run custom code whenever data is written, and our SDKs automatically integrate with Firebase Authentication, to help you get started quickly.

Putting the ‘Cloud’ in Cloud Firestore

As you may have guessed from the name, Cloud Firestore was built in close collaboration with the Google Cloud Platform team.

This means it's a fully managed product, built from the ground up to automatically scale. Cloud Firestore is a multi-region replicated database that ensures once data is committed, it's durable even in the face of unexpected disasters. Not only that, but despite being a distributed database, it's also strongly consistent, removing tricky edge cases to make building apps easier regardless of scale.

It also means that delivering a great server-side experience for backend developers is a top priority. We're launching SDKs for Java, Go, Python, and Node.js today, with more languages coming in the future.

Get started!

Cloud Firestore enters public beta starting today. If you're comfortable using a beta product you should give it a spin on your next project. We can’t wait to see what you build and hear what you think of Cloud Firestore!

Faster automated screenshots: fastlane’s snapshot now supports multiple concurrent simulators

by David Ohayon, Software Engineer

fastlane-snapshot-header.png

Every mobile developer needs to take app screenshots in order to have their app listed on the app stores. Like a book cover, screenshots are crucial in depicting the best parts of your app and convincing potential users to download it.

Unfortunately, generating app screenshots is a huge pain because they take a ton of time, especially if your app supports different locales and languages. For example, if you need to take 5 screenshots for your app store listing - but your app supports 20 languages for 6 devices - you’ll manually have to take 600 screenshots (5 x 20 x 6)! It makes us shudder to think how many precious hours that would eat up.

fastlane’s snapshot tool automates the process of taking screenshots (in the background) so you can focus on building features users love. Today, we’re excited to share that snapshot now supports multiple, concurrent simulators for iOS apps in Xcode 9. Taking screenshots just got even faster because you can now generate screenshots for all of your devices at the same time!

Speeding up screenshots (even more!)

Before Xcode 9, only one simulator could be running at a time, which means that you had to run snapshot once for each device you wish to support. While snapshot automated the process of taking screenshots, we wanted to make things even easier.

The launch of Xcode 9 gave us another opportunity to improve snapshot. In Xcode 9, multiple UI tests can run simultaneously, so we added multiple simulator support to snapshot as well. Now, you can take screenshots for all specified devices with a single command, at the same time. This drastically shortens the time it takes to generate your screenshots.

Here's an example:

fastlane-snapshot-comparison.png

More exciting updates on the way

fastlane’s mission is to save you time by automating the cumbersome tasks of app deployment, even as mobile evolves. That’s why we’re fully committed to updating the fastlane toolset to take advantage of new releases and features - such as Xcode 9.

And since fastlane is open source, we’re so thankful that our community also helps us make fastlane better by building and using plugins. In fact, we now have more user-generated plugins available for you to try than native fastlane actions. We recently reorganized these plugins to make it easier to find the right plugins for your unique needs.

We always strive to anticipate your needs and build our tools to be ready for the future. To start using the new version of snapshot, simply update fastlane and run snapshot as you normally would. If you’re taking screenshots manually, check out our guide to start using snapshot (and enjoy the extra free time!). As always, we can’t wait to hear what you think!

Introducing fastlane precheck: Submit your app to the app store with confidence

By Joshua Liebowitz, Software Engineer

Introducing-fastlane-precheck

We’ve all been in this situation before: you work tirelessly to build a great app, you spend countless hours beta testing and fixing bugs, and you even put together a comprehensive marketing plan in time for your app’s launch. Months of anticipation finally culminate when you submit your app to the app store… but instead of celebrating the new release, you find out that your app didn’t meet the right criteria for listing so it got rejected 😱.

There’s nothing quite as deflating as tripping at the finish line.

App store guidelines can be complicated and hard to remember because they’re constantly changing, but developers still need to follow them in order to get their apps approved. Sometimes, these guidelines get overlooked or lost in the shuffle of all the other important pre-launch tasks. To help you avoid unnecessary delays and rejection, we’re excited to introduce fastlane precheck for iOS apps! You can count on us to remember the rules so you can submit your app with confidence.

Review your app in seconds to save days of delays

Often, apps get rejected from app stores because of simple, solvable issues with their metadata (such as title, description, changelog, keywords, etc.). Once rejected, you have to resubmit your app and it can take days before it’s reviewed again. This wastes time and can throw off your schedule.

Instead of risking rejection or painstakingly auditing your own metadata, you can now use fastlane precheck to save you the time and hassle. fastlane will review your app for the most common causes of rejection 👍.

For example, we’ll check your metadata to ensure it follows iOS app store rules such as:

  1. No other platforms are mentioned in the description
  2. There are no curse words in your copy
  3. No placeholder text is left
  4. No URLs are broken

If we detect any issues, we’ll flag them for you so you can resolve them before you submit your app to the app store. And since fastlane can automatically download your app’s metadata, this whole process takes only seconds!

fastlane precheck in action

More exciting things ahead

fastlane precheck is the first new tool we’ve added to our app automation toolkit since joining Google - and we have even more exciting updates planned! Now that we’ve settled into our new home, we can’t wait to move fastlane forward with our passionate community of iOS and Android developers.

In the meantime, install fastlane or update your version of fastlane (just run 'fastlane update_fastlane') to try precheck and submit your app with confidence and peace of mind 🚀.

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!