People + Tech = 🎉
Not a French publisher (👉 @editions_PUF), though I ❤️ books
Not a pro-wrestler (👉 @pufthewrestler), though I ❤️ spandex
he/him 🧵frankpuf
I'm writing this thread on my flight back to SFO from I/O Connect BLR. It was my first trip to India&I regret waiting this long to make it.
This is also my last workday on Firebase&at Google. I start a new role on Monday, so a perfect time to reflect on 9½ years of 🔥
1/🧵
Firebase's Zero to App formula:
💻 Live code an app
🎪 On the biggest stage of Google I/O
📱 For iOS, Android and Web at the same time
Check the live stream Tuesday May 7 at 4pm pacific!
events.google.com/io/schedul…
Also note that he (at least in these screenshots) never answered the question whether Halli was laid off.
I swear there's gotta be a human being hiding in that Elon skin, but it's buried in there quite deeply at this point.
📃 Cloud Firestore is GA
🌎 is available in more regions
💵 is getting cheaper for regional instances
There's nothing better than getting a better Firebase. 🔥
Yes, it's true. I've joined forces with FlutterFlow and our mission is to help more people become app developers.
App development has never been easier than it is today, yet we still have a long road ahead of us to make it approachable for everyone.
💜
How to do a better tech talk.
If you have this outline:
1. Here's what this cool technology does.
2. Here's what you can do with that cool technology
3. Here's some problems that this cool technology solves.
Reverse that list to get a much better outline for a tech talk 🔥🎤📹
On Firebase Realtime Database, you can now do atomic increments:
firebase.database().ref("counter").set(firebase. database. ServerValue.increment(1));
It's in JavaScript SDK 7.14.0, and coming to other platforms soon.
firebase.google.com/support/…
For those not following tech/business news: there was another round of lay-offs at Google.
I am still here, Firebase is still here, but I am beyond sad about the amount of talent that was let go (again), the way it was done (again), and the reasons given for it (again).
Manage payments in your apps with Firebase.
📃 Write order details into Firestore
💵 Process the payment in Cloud Functions
📈 Write the result from the payment provider back to Firestore
For a great explanation, see this video: piped.video/watch?v=JeyxolsJ…
Hold on... did he say OR queries are now possible on Firestore? 🤯🔥🚀
OR queries on Firestore!
OR queries on Firestore!!!
OR
QUERIES
ON
FIRESTORE
Check this and other recent updates below, all in just over 4 minutes!
🔥 Release Notes 📝
🕹️ Recent updates for game devs
🚚 App Distro: in-app feedback
🇳🇱 Firestore in The Netherlands
💙 Better error handling in Flutter
🌏 Automate project creation with Terraform
🏵️ Use OR conditions in Firestore queries
Watch @puf 👉 goo.gle/3KdKtKd
Thank you everyone who joined us for Firebase Summit 2020.
We had a great time, and are grateful we got to hang out with so many of you from all corners of the world.
All content is still available on firebase.google.com/summit
Now on to the next summit!
#FirebaseSummit
Who's ready for Flutter Engage today?! 🔥💙🐦
It looks like Dash got the Firebase swag package we sent just in time.
See you all for the keynote in... 2 hours?
#FlutterEngage
😢
For any upcoming xooglers that I got to work with, know that it has always been my absolute privilege and pleasure to work with each and every one of you. You are amazing. 🙏
For those who I didn't get to work with, I hope we get a chance to fix that down the line.
💔
Firestore now supports server-side COUNT, SUM, and AVG aggregations. Since these only access indexed data, they execute at a fraction of the cost of reading the actual documents.
Code sample 👇 and see the docs on firebase.google.com/docs/fir…
Control scaling behavior of your Cloud Functions on Firebase:
🥶 Reduce the number of cold starts, by setting minInstances.
🥵 Limit the maximum number of instances for a function, to guard against excessive scale-ups/costs.
Read all about it in the docs firebase.google.com/docs/fun…
Developed an app on Firebase, and ready to launch it to the public?
Don't forget to go through this launch checklist: firebase.google.com/support/…
Each step is small, but checking them off before launch will increase the chances of a smooth landing.
I just sat through a 2½ hour dry-run and discussion of the keynote for the Firebase Summit.
🕐 It's 1am.
🥳 ¡And I couldn't be more stoked!
🎉 This is going to be such a great event.
Whether in person or on the livestream, you don't want to miss this.
firebase.google.com/summit
💙 🕊️ Flutter Pigeon interop
As part of adding support for Windows, the Firebase SDKs for Flutter will start using Pigeon for their interop.
This should be a drop-in change, but if you see any sudden breakages report them on the GitHub repo.
Watch ➡️
piped.video/watch?v=bTjLidwx…
We're about ready to announce the location of this year's Firebase Summit. If only I could remember where I left the keys of the orange container... #FirebaseSummit#BetterTogether
Tomorrow at Flutter Vikings @craig_labenz and I will build a multi-player maze game in two talks, that we'll then all play live together.
It's a recipe for chaos, so I really hope you'll join us... live!
@Firebase@FlutterDev@FlutterVikings
It's now (finally) possible to get a list of file from Cloud Storage right within your Firebase client-side app or web code.
Steps:
1. Enable Firebase Storage Rules version 2
2. List the files
See firebase.google.com/docs/sto… (or the equivalent page for iOS or Android).
You can now use Firebase in Flutter's Dartpad online editor.
This means you can get started by just opening a browser tab, going to dartpad.dev and importing the FlutterFire packages.
💙 + 🔥 = 🎉
For a simple sample app, see dartpad.dev/?id=d57c6c898dab…
Firebase just released two new extensions to simplify payment processing in your app:
💰 Run Subscription Payments with Stripe
💶 Send Invoices using Stripe
firebase.google.com/products…
Felt like the right shirt to wear for my first day back in the #FirebaseHQ office since @FlutterVikings.
Thanks again to everyone who joined us last week. It was amazing to hang out with all of you in person and on the livestream! 💙🙏❤️🔥
Firebase and SQL
Sitting in a tree
SELECT * FROM ABC
🔥 🩷 📈
Data Connect: based on your GraphQL model we create:
1. A Postgres database on Cloud SQL
2. An API server that controls access
3. Strongly typed SDKs for mobile and web
Check it out on firebase.google.com/products…
🆕Highlight from Google I/O
Firebase Performance Monitoring for web
🏎 Monitor performance
📲 On real user devices
💸 Completely free
Check it out: firebase.google.com/docs/per…
I just watched some of the launch demos for the Firebase Summit, and can't wait for y'all to see them too.
This is probably our biggest update since 2016.
Don't miss it, either in person or on the livestream!
🔥❤️🚢
🔥❤️🕸
🔥❤️🇪🇸
firebase.google.com/summit
Blocking Cloud Functions are coming to Firebase Authentication!
Top use-cases:
① Create a list of users who are allowed to log in
② Create a list of users who are allowed to log in
③ Create a list of users who are allowed to log in
Coming soon...🔥❤️🔐piped.video/BGCLPiR_0Lg?t=2236
Implementing a write rate limit in Cloud Firestore security rules.
Still one of my favorite examples of what you can do with security rules. 👇
Full rules and explanation on:
stackoverflow.com/questions/…
I often implement administrator access in my Firestore security rules in three steps:
✋ Nobody can write
🙋♂️ Just I can write
👨👩👧👦 A dynamic list of people can write
If you encapsulate this in an isAdmin() function it is easy to upgrade from step to step.
stackoverflow.com/questions/…
🏪 Firestore can now auto remove docs based on a TTL policy and a timestamp value in the doc
🗑 The doc will be deleted at some point after that timestamp
⏲ Deletion is periodic, so keep the filter on that field in your queries too
This&more in 4m👇
piped.video/watch?v=gD8iF0Ji…
Who's ready for the Firebase Summit in Madrid today?
👟 Yellow chucks
🧦 Firebase socks
💻 Thirst for new tech
Check, check, and check.
See you in a few hours!
Build Bard yourself!
🌴 The PaLM API provides access to Google's latest generative language models
🧩 You can use PaLM API directly in your app through Firebase extensions
📲 Call the API by writing to Firestore, and then listening for updates
More👇
piped.video/watch?v=AejfDKJt…
As I walked to the Google SF office one final time today to turn in my laptop and badge, I came by this scene again.
This one is for those of us who remember. 🫗
When using a NoSQL database it is normal to duplicate data.
This is called denormalization, and is key to scalable data lookup.
Don't worry, you'll get used to it. Until then....
Yesterday we the 100,000th question about Firebase on Stack Overflow.
Thanks everyone who's asking these great questions, and a special thanks to those of you answering them!
🔥🎉📈
Firebase was mentioned a lot in Google I/O's developer keynote today. 🔥💙🎪
I have what I call my "noise voice" and I used it whenever a speaker mentioned @firebase.
Apparently folks could hear me on the livestream.
Check out the blog: firebase.blog/posts/2024/05/…
It's the last day *before* Firebase Summit, so a good moment to put on a vintage Firebase shirt.
See you all tomorrow at 9:30 am Pacific time for the keynote!
If you did sign up yet, check firebase.google.com/summit
Happy holidays from everyone at Firebase to each of you!
May your apps be realtime, and your retention continue to grow.
Now go watch us make a fool of ourselves in this year's
Firebase Holiday Spectacular
piped.video/QLOVXPQ2Yf8
I was chatting with our Flutter PM friends and just heard about some exciting Firebase stuff they're working on.
I'm stoked, but was sworn to secrecy with our official 🔥💙 handshake/geas. 🤐🤫
Follow @FlutterDev or medium.com/flutter for details when it comes out.
Today would've been the first day of Google I/O.
I'll miss hanging out with y'all, but look forward to seeing you all online: both in our virtual meetups, and in other events that we have coming up.
At Google I/O and we'll be announcing many Firebase updates.
In the meantime, there's
🚬 New filters for RTDB
🔐 API for emulator security rules
🐞 Crashlytics improvements
👩👧👦 Manage Hosting sites and users in CLI
⌚️ SwiftUI APIs and watchOS support
In👇
piped.video/watch?v=4TKuKKSy…
Twitter HR: "Opening offices will be our decision, when and if our employees come back, will be theirs."
This phrasing is so good that it makes me jealous.
techcrunch.com/2020/05/12/tw…
Storing your game scores in Firebase/Firestore and wondering how to prevent cheats?
1. Store all moves, not just the scores
2. Reject invalid moves in security rules
3. Replay games to see if the score is correct
Bonus: analyze moves to find other cheats
stackoverflow.com/a/66896403
I'm giving an intermediate/advanced talk about Firestore on Friday, and I have no ideas for a topic.
So: what would be your favorite topic about Firebase for me to discuss for 25m?
What is the fastest way to write a lot of documents to Firestore?
Thee most common approaches:
1. Parallel individual writes
2. Batched writes
3. Sequential individual writes
Full results and code can be found here: stackoverflow.com/q/58897274
Firestore multi-DB preview release 👀
🆕 Add multiple Firestore databases to a project
🆔 Each database has a unique ID, and can be in any region
🥇 Pass the ID in the initializing API call
✅ The rest of the API works as before
Get the details →
piped.video/watch?v=bTjLidwx…