(no title)
nhannah | 3 years ago
How is Flutter funded? It was said a few years ago the budget came from internal projects like ads, fuchsia, pay, and stadia, does stadia being killed effect the Flutter budget? There was an implication at that time that if they all died or left Flutter then it would be killed via budget cuts, is that true? Why is Flutter not being adopted by Google for more outward facing apps? Is it seen internally as at risk of abandonment?
"600,000 apps in the Play Store alone", how many of these are commercial vs hobby projects, does Google really care about these if enterprise adoption is minimal? Delving into game dev when iOS is not polished seemed like a decision made because there was a need to show potential value via expansion upward in the org, I was concerned this was a hail mary when announced, and with Stadia now gone the timing seems more suspect.
"It has a developer base of several million", how many of these are again hobby users, how many use it weekly / monthly? Flutter has a large DevRel push, how many of these projects / users are students who just spin it up once and hit star on GH when asked and never touch it again? Your team was asked approximately this question by a MSFT employee looking at publishing info on cross platform framework adoption vs native and could not get a straight answer I was told.
Multiple Flutter related posts by agencies and evangelists point to a google trends page or GH stars saying Flutter is blowing up in popularity compared to other frameworks, but when you start looking at core packages searched for and starred for each framework the Flutter trend reverses, is this because the words Flutter and Dart are too common and in actuality the popularity is not what is being projected in trends? Is this because DevRels directly ask people to star the core project? I ask Flutter GDE's these questions and they come off like they can't be trusted to be honest on these topics for fear of losing status. I have also heard a certain outspoken Flutter GDE mention on stream other frameworks have much larger communities, how can this jive with these purported trends?
It seems as though the community size and growth of Flutter is projected to be greater than it is, that's subjectively how it feels as a dev as well I will note as someone who is using packages / repos, and that is worrisome. I worry that the first time we hear solid numbers will be in a blog post about the Flutter project ending with an explanation that low enterprise adoption and direct or indirect revenue could not support the scale of this ambitious a project. It would be great to hear some hard facts that give people confidence in adoption and that Flutter has long term backing higher in the company. If this is not the case, honesty would be nice as well.
@a14n seems to have tailed off on his work on Flutter quite a bit, which worries me if he is the core example of users who would pick this up in an OSS abandonment situation. Even now it feels as though if major OSS package maintainers like Remi Rousselet walked away the community would be hit hard. I can't imagine the project continuing without Google, especially with Dart needing the same treatment if Flutter was killed. Dart issues with notes saying the team lacks bandwidth exist now, I just can't see it working even with some other companies interested, Flutter/Dart need full enterprise backing at this stage.
"which is using the new engine on iOS" - An aside... I downloaded the app, it seems pretty smooth, not sure the FPS but I saw minimal jank which is great. BUT, it still has the biggest complaint I hear about Flutter apps on iOS, feel. On iOS is does not feel native, the scrolling and gestures feel off. This is part of what I was referring to regarding ignoring polish on iOS in favor of expansion earlier, iOS still feels second class on Flutter. I have watched a friend delete a flutter app from their phone right after installing with the reasoning "I hate when apps feel like that, it's so obnoxious", these people exist, they feel Flutter apps are second class, this sentiment will 100% drive away enterprise adoption imho. Even recently a user on the flutterdev subreddit said they were leaving Flutter behind just do to this persistent user feedback.
My final thought is the same as my first, be more transparent, show the community with tangible honest numbers and backing Flutter is not in jeopardy, otherwise the track record (and imho vague mushy pumped up stats) makes it appear it is.
timsneath|3 years ago
Modulo a few minor redactions, this is the entire document. I don't know of many other projects of our scale that has shared something like this. It's reasonable to have divergent opinions on whether we're successful or popular, or what that means about our developer base. But I hope you'll see that we're trying to be pretty transparent about what we're focused on. We're just trying to build something valuable and useful, and that benefits Google as well as the broader community.
zomglings|3 years ago
I don't give a fuck about flutter, but the link to the strategy document and the generic nod to transparency came across quite poorly as a response.
nhannah|3 years ago
Strategy:
> We primarily build for external-to-Google users, but Google adoption of Flutter remains of great value to us, as it helps us “pay our bills”
So grow or die as Google adoption is heading in a negative direction now and you are racing to grow enough to offset no one new eating the dog food?
> our primary strategic objective is the growth of monthly active users
> On the other hand, even a mediocre SDK will have a healthy and flourishing ecosystem if it is used by the plurality of developers.
Don't create something people love and use internally then share it with the world with mostly permanent internal funding, but instead get enough external buy-in that Google keeps it alive via inertia? My questions above were very much about this, does Flutter have that inertia in hard numbers or are you racing a clock now that internal buy-in is seemingly diminishing? Based on this you must have a MAU target, how far off is it, could you share even a percentage? If you don't hit it will the project be axed right away or is there a runway?
> Other characteristics (runtime performance, memory usage, etc.) will earn the respect of a developer: important, for sure. But developer experience will earn love.
This is only true until they realize the devils bargain you are mentioning above, I was complaining about expansion via game dev over polishing iOS in my previous post, this seems to be the planned strategy, which is very disheartening.
> In 2022 we will make good on this promise, and further raise our quality on web and desktop. We believe Flutter's growth will increasingly come from web and desktop: ecosystems that each have many millions of developers.
> Yet the web developer market is huge (10m+) and Flutter offers something distinctive for this audience
In a world where polish is not priority I think Flutter best fits on desktop, kudos there...web for flutter is very niche as noted, I guess if expansion is all that's important that's cool, but I would take iOS polish over web any day, I just don't see business apps using Flutter for web, it really only makes sense to me for apps that would be looking toward canvas, etc. anyway.
Roadmap:
> We will update the Material library to support Material 3.
iOS once again super low priority :(
> We plan to continue to evolve the language at a deliberately slow but steady pace.
This is how churn will happen, you have buy in from many people and they are clamoring for improvements, custom linting, sick of codegen, better inference, faster analysis in large repos, etc., but this is lower priority than gaming and material design updates.
> In 2021 we resolved a number of issues around jank ... As a result, we have been rewriting our graphics backend. In 2022
Out of everything I read only this last piece on jank felt like something I need as a current Flutter developer on mobile; thank you.
I have felt for a while the developer experience was too focused on easy entry / getting started and not professional work, this seemingly is the goal. The r/FlutterDev thread on the stadia shutdown has lots of users saying "Flutter is not Stadia", but it sounds like it is. Flutter is not an OSS framework like React that is supported by Meta because they use it heavily, this is a product, you need customers, Flutter has targets that can be missed just like Stadia. This is extremely worrisome. The same MSFT employee who asked you about MAU mentioned the large DevRel spend on Flutter vs the zero spend on the main competitor. I thought at the time this was to push more people toward Android first multi-platform (I would say the competitor is iOS first), turns out that was a misread. This also explains why MAU numbers are not shared, that's not a nice metric of an OSS community like other OSS frameworks have, that is a business metric.
Unless there is more hard number / metric / goal transparency I don't think you can really say there is no reason to be worried.
tehnicaorg|3 years ago
I guess he can't get a straight answer either. I would have loved to see a thoughtful reply.
Hixie|3 years ago
> your team needs to be more transparent.
Unfortunately most of the lack of transparency is not under the Flutter team's control, but I'll see what I can do.
> How is Flutter funded?
A number of companies (Google, Bytedance, and Canonical are three that I know have publicly stated so; there are others but it's up to them to make such statements) employ people to work on Flutter. Hardware costs (CI, source control, bug database, etc) are paid for by Google and Microsoft.
These companies don't typically share more detailed information about how they account for this funding or how much they pay exactly; it's considered proprietary, and often there are legal implications to making detailed statements about this kind of thing.
> It was said a few years ago the budget came from internal projects like ads, fuchsia, pay, and stadia
(I'm assuming you are referring to Google's portion of the funding.) That's not really how Google accounts for things internally. Broadly speaking, the more usage (internal and external) that a product gets, and the more revenue can be assigned to a product, the more Google is likely to fund it. In the case of Flutter, Google is apparently quite happy and has been increasing funding over time as a result, as have other companies (as you can tell by looking at the number of people employed to work on it).
> does stadia being killed effect the Flutter budget?
No, that's not how things work at Google. (I assume you mean Google's investment in Flutter when you say "Flutter budget". Flutter itself, as an open source project, doesn't have a budget currently. Maybe one day we'll have a foundation but right now the additional management overhead doesn't seem worth it.)
> There was an implication at that time that if they all died or left Flutter then it would be killed via budget cuts, is that true?
I think when there were far fewer apps using Flutter, and fewer other companies using and contributing to Flutter, that if Google had stopped using it internally, after a while, it would have become difficult to justify continued investment (since in that scenario, very few people are using it at all, so what's in it for Google? Google isn't a charity). However, at this point Flutter is used a great deal outside Google, as Tim discusses in his comment above, and even if Google itself were to stop using it (which seems highly unlikely) there would still be plenty of justification to continue funding it as a developer product (many of Google's APIs and developer products aren't used internally at all).
That said, this is not intended to be a forward-looking statement (https://en.wikipedia.org/wiki/Forward-looking_statement). If you want to ask Google about its future funding plans I suspect the best place to do so is a stockholders conference call.
> Why is Flutter not being adopted by Google for more outward facing apps?
With some exceptions that involve negotiations with the relevant teams, Google doesn't generally talk about what technologies it uses for its own applications. Tim listed quite a few apps whose teams have agreed to publicly state they use Flutter, though. I'm not sure what else to tell you. It's not like Google is making new apps all the time, and rewriting an app in Flutter only makes sense if the app's team benefits from the rewrite in some way.
> Is it seen internally as at risk of abandonment?
No. (But then, why would you take my word for it.)
> "600,000 apps in the Play Store alone", how many of these are commercial vs hobby projects
I don't think this is an axis along which apps are categorized, so I've no idea how to answer that. (What is a "hobby project"? Does it count as commercial if someone charges for their hobby?)
> does Google really care about these if enterprise adoption is minimal?
Yes? We care about all apps.
> Delving into game dev when iOS is not polished seemed like a decision made because there was a need to show potential value via expansion upward in the org, I was concerned this was a hail mary when announced, and with Stadia now gone the timing seems more suspect.
I'm not sure what you're suggesting here. Our work on iOS is entirely orthogonal to the work on the Casual Games Toolkit, it's not like the people who worked on one could work on the other. The Casual Games Toolkit is intended to help people who are interested in writing games with Flutter but don't know where to start; we regularly do surveys of our developer base and this was an area that people indicated an interest in. I'm not really sure what the supposed link to Stadia would even be. Work on iOS continues, and we have significantly grown the team there in the past year.
> "It has a developer base of several million", how many of these are again hobby users
We occasionally post the data from our quarterly surveys to our blog on Medium, the latest post I could find that separates the data by "what is your primary purpose" was the Q3 2021 survey's report and it had this graph: https://miro.medium.com/max/1400/0*_GNHkk5TLOI7wQYc
Looks like it's <50% are "hobby" users and the number is shrinking. That said, we explicitly want to be a project that people use to learn programming, providing a seamless path from "learning" to "hobby" to "professional" so I would hope this number never gets very low.
> how many use it weekly / monthly?
That's very hard to say for a variety of reasons (e.g. many people turn off analytics, analytics are extremely unreliable in general, many people use Flutter via means that wouldn't trigger our analytics in the first place, etc) but my understanding is that as best we can tell, Flutter has well over 500,000 MAUs. I don't think we track weekly numbers.
[continued below]
Hixie|3 years ago
I've no idea how to measure that.
> Your team was asked approximately this question by a MSFT employee looking at publishing info on cross platform framework adoption vs native and could not get a straight answer I was told.
I mean, there's some questions we just don't have the answer to. I'm not sure what to tell you. We do share quite a lot of our data, e.g. from the quarterly surveys, as noted above; for most of your answers the numbers I just gave you can be found by Googling.
I would personally love to share more (e.g. I'd love for the analytics to be public) but there are significant privacy constraints around this. Even within the team, most people don't have access to the analytics data, and we're actually making an effort to limit that even more as part of our extensive efforts around tightening security.
I hope one day we can anonymize and aggregate the data to a level that satisfies Google's privacy team and then we'll be able to share the numbers in real time, but that won't be for some time (if ever, this stuff is hard).
> Multiple Flutter related posts by agencies and evangelists point to a google trends page or GH stars saying Flutter is blowing up in popularity compared to other frameworks
I would point to things like numbers of users or apps rather than vanity metrics like GitHub stars, but there we go.
> but when you start looking at core packages searched for and starred for each framework the Flutter trend reverses, is this because the words Flutter and Dart are too common and in actuality the popularity is not what is being projected in trends?
I would posit that it is because Google Trends data is a terrible way to measure popularity of an SDK.
> Is this because DevRels directly ask people to star the core project?
GitHub stars are purely a vanity metric. I would ignore them.
> I ask Flutter GDE's these questions and they come off like they can't be trusted to be honest on these topics for fear of losing status.
Feel free to tell them to reach out to me if they ever have a question about what they can or can't say.
> I have also heard a certain outspoken Flutter GDE mention on stream other frameworks have much larger communities, how can this jive with these purported trends?
Flutter is big and growing, but there are plenty of much bigger SDKs, certainly. I don't think that's a big secret. :-)
> It seems as though the community size and growth of Flutter is projected to be greater than it is, that's subjectively how it feels as a dev as well I will note as someone who is using packages / repos, and that is worrisome.
There are plenty of SDKs with much smaller communities that are very healthy and have been around for decades. I think it's reasonable to be concerned about ecosystem health, but I must say that personally I am quite happy with Flutter's ecosystem and community size and growth.
> I worry that the first time we hear solid numbers will be in a blog post about the Flutter project ending with an explanation that low enterprise adoption and direct or indirect revenue could not support the scale of this ambitious a project.
Well good news, the numbers you asked for have largely already been discussed publicly, so you need not have that specific worry.
> It would be great to hear some hard facts that give people confidence in adoption and that Flutter has long term backing higher in the company. If this is not the case, honesty would be nice as well.
I can't promise long-term backing from Google, because I'm not the CEO and ultimately it has to be his call. I can point to all the reasons Tim gave above for why there's no reason to expect Google to abandon Flutter any time soon, and I can point to the numbers I gave above as the "hard facts" you are looking for, or at least the closest things to them that one can have. Unfortunately with squishy things such as ecosystem size and how people use products and so on there is so much noise in the data, such big error bars, that anyone giving you precise numbers is selling you snake oil.
> @a14n seems to have tailed off on his work on Flutter quite a bit, which worries me if he is the core example of users who would pick this up in an OSS abandonment situation.
I think Tim just pointed to a14n because he's contributed so much over the years. No one person could take over the project and I certainly wouldn't put that on a14n's shoulders!! You can look at our GitHub and Discord activity to see how the project is doing in terms of non-Google contributors.
> Even now it feels as though if major OSS package maintainers like Remi Rousselet walked away the community would be hit hard.
We are a long way past there being any single person who is keeping the project afloat.
> I can't imagine the project continuing without Google, especially with Dart needing the same treatment if Flutter was killed. Dart issues with notes saying the team lacks bandwidth exist now, I just can't see it working even with some other companies interested, Flutter/Dart need full enterprise backing at this stage.
You never know. FreePascal is an example I love to point to; it's an open source project with minimal (if any) corporate/enterprise funding and yet they have been delivering reliably for decades now. I don't see why a dedicated team couldn't pick up Dart in the same way, if the interest was there.
> BUT, it still has the biggest complaint I hear about Flutter apps on iOS, feel.
The biggest complaint we hear is definitely jank, FWIW. :-)
> On iOS is does not feel native, the scrolling and gestures feel off.
If you have specific reproducible cases of this, please file bugs with test cases demonstrating it. The more concrete and specific you can be (e.g. high speed video showing the difference) the better.
We actually have built tools to verify that we are matching iOS physics to the pixel, so if there are cases where we're not, we would love to learn about them and fix them. (Unfortunately until recently we were mostly focused on lower-level issues on iOS, like performance and plugins, and have not had as much time to spend on widgets and physics. That's changing, though.)
> This is part of what I was referring to regarding ignoring polish on iOS in favor of expansion earlier, iOS still feels second class on Flutter.
We've made huge strides here in the past year, but yeah, we still have work to do.
> My final thought is the same as my first, be more transparent, show the community with tangible honest numbers and backing Flutter is not in jeopardy, otherwise the track record (and imho vague mushy pumped up stats) makes it appear it is.
As far as I can tell, we've been transparent, with most of the numbers you say you'd like us to share being numbers we have in fact shared already. The numbers are not made up, but yes, they are mushy. If you have any idea how to get less mushy numbers, join our Discord, help us out (the link to the Discord is in the contributor docs on GitHub).