Emergent tech attracts love, incumbent tech attracts hate


One of the more broadly applicable things I learned during my decade on Firebase is to always take the long view on what is happening in a community. Don’t be afraid to react to the moment, but also build a mental model of the trends and patterns that are happening over time.

With Firebase we noticed the hype-cycle of new tech. Before joining Google, Firebase was already the darling of developer tooling - we’d crossed the initial chasm. Then we were acquired and (after some “Google will kill it” concerns) relaunched a much bigger Firebase in May 2016 and Firebase became the darling again.

I remember an internal strategy paper from around that time stated our 3-year goal to “become the de-facto standard in mobile development”. I thought at the time that this was overly ambitious, but it turns out it was spot on. In 3 years Firebase usage more than tripled and it had become the most common BaaS choice for mobile apps - another chasm crossed.

May 2016: 450k, May 2017: 1M, May 2018: 1.2M, Oct 2018: 1.5M, Oct 2019: 2M, Oct 2020: 2.5M, May 2021: 3M (Data gathered from Firebase keynote videos over the years)

But as we continued to grow, we also started to see sentiment change. The more established Firebase became, the more people started to complain about it. “Why is there no full-text-search?” “Why is there no SQL?” “Why is the documentation so bad?” “Why is the team not moving fast enough?”

In a few short years, the sentiment around Firebase had swung from “the best thing ever” to “Firebase sucks”.

No matter what new feature or product we launched, the response was always “again no full-text-search”.

Firebase usage kept rising consistently - if not always on the new features, then certainly on the existing ones. So while devs complained about what we did or didn’t do, they were still using Firebase more and more. We were the de-facto standard in mobile development, but we were also the de-facto standard in developer hate. lolfirebase


Around this same timeframe we also saw Flutter’s initial rise to fame. Developers loved stateful hot-reload, expressing UI as a function of the app state, and building apps for multiple platforms from a single codebase. Flutter was the darling of the developer community. I honestly was a bit jealous at this time of the Flutter team and the love they were getting.

But then, as Flutter matured, the sentiment started to shift there too. Why is there no recommended state management framework? Why is there no built-in router? Why are your widgets so basic? Why is the documentation so bad? Why is the team not moving fast enough?


At this point I had recognized the trend: new tech attracts love, because the early adopters are excited about picking up a new technology. Well-established, incumbent tech attracts more hate. It’s probably something with the tech adoption curve (late adopters feel more forced to use a tech), but it’s also more basic human nature: we like rooting for the underdog just as much as we like to complain about the market leader.

It’s important for a team to be aware of this cycle, especially through the downturn: don’t worry about the hate you get, it means that you’re doing something right.

The more mature and established your tech gets, the more people will expect from it. And that’s OK, in fact: they should. At this point: enjoy the success of the product, and don’t let the hate get to you. Continue to listen to your community of course, but don’t let the negative sentiment distract you from your goals.

If we look where we are today: given the amount of hate and doubt Flutter attracts at a constant rate, it’s the de-facto standard in cross-platform mobile development. Congratulations, and welcome to the bottom of the curve friends. 💙😂


Interestingly enough, we saw the sentiment around Firebase turn around too. As other BaaS technologies matured, they started becoming the incumbent tech. Firebase was no longer the “evil empire”, but either the “safe choice” for developers - or a new player for hosting your Next.js app without using incumbent Vercel, or for a cloud-hosted PostgreSQL database without using incumbent Supabase.

I doubt it will ever be possible to completely avoid the hate that comes with being the market leader, but I think it is possible to manage it. The key is to recognize the trend and its cyclical nature, not let it get to you, and continue improving the product to try and reverse the trend.

Then again… again no full-text search.

Magic pixel View count: