A Fuchsia Future? Part Two: Is It Soup Yet?
Fuchsia is not just a difficult-to-spell name of a color. It is also the name of a “skunkworks” project inside of Google building a next-generation operating system for all form factors. This week, I’ll explore various aspects of this and my expecations of its impact on Android developers and apps.
Today, I’ll explore the strange time that we’re in, where Fuchsia is 90% rumor and 10% code.
The blog post title stems from an old Lipton soup commercial. In the 1970’s, Lipton marketed their “Cup-a-Soup” line of “instant” soup, where the soup preparation was simply a matter of adding their soup packet’s contents to a cup of hot water. The commercials would contrast this with “classic” soup cooking, stirring a pot over a hot stove for several minutes (microwave ovens were expensive and not yet commonplace). A child, watching this process, would ask “is it soup yet?”, only to be told “not yet!”.
Fuchsia is not soup yet. We know this because there are no Fuchsia products, no official Fuchsia announcements, and no renaming of Fuchsia to something that has a chance of being reliably spelled and pronounced. However, if the Bloomberg report and related reports are to be believed, Fuchsia will be soup in the next few years.
Right now, developers are wondering if Flutter makes sense.
Flutter ostensibly is a framework for creating cross-platform apps for Android and iOS. On its own, that would be somewhat interesting. Flutter has its adherents, much as React Native does, and much as previous cross-platform technologies (e.g., PhoneGap/Cordova) did. “Write once, run anywhere” has been a goal of many development teams for decades.
What gives Flutter the advantage, in the eyes of some, is that Flutter is the native app framework for Fuchsia. In principle, Flutter apps written today that work on Android and iOS — and to some extent on Windows, macOS, and Linux — would work on Fuchsia when it ships. In other words, by choosing Flutter today, you “get ahead of the curve” and be ready for our reddish-purple-hued future.
That only makes a difference, though, if Fuchsia ships, and in meaningful quantities.
Just because Google is working on something called Fuchsia does not necessarily mean that all uses of Android and Chrome OS would be replaced by Fuchsia in the future.
First, Google works on lots of things that never really materialize (see: Project Ara), morph into something related-but-different (see: Project Tango), or fail to “move the needle” (see: Project Jacquard).
Even if Fuchsia turns into a shipping product, it might not be deployed in ways that are conducive to Flutter. For example, it’s possible that Fuchsia only winds up being used on connected devices — Chromecast, Google Home, etc. — as Google does something else for the future of their GUI-based operating systems.
Then, there is a question of whether there will be adoption of Fuchsia beyond Google. Google controls whether Fuchsia winds up on future Pixel-style products like the Pixel phones, Pixel Slate, and so on. However, while Google’s OS market share is powerful, Google’s hardware market share is tiny. If Fuchsia winds up only ever being used on Google’s own hardware, Fuchsia may never rise to Android’s current level of dominance.
To a large extent, adoption of Fuchsia is up to Google. We know that Fuchsia is open source. However:
What will the Google Play equivalent be for Fuchsia, and will its licensing terms be something that manufacturers can agree to?
Will device manufacturers try to wrest more control from Google, either by coalescing around some competing OS or through some more aggressive forking of Android? Or will they be willing to adopt Fuchsia as the replacement OS for their current Android and Chrome OS hardware lines?
The market also has a vote. Perhaps Fuchsia can run Android apps, but not very well. Will consumers and enterprises be interested in a platform that requires app rewrites to get decent results, or will they prefer to try to hold onto what they are currently using for as long as possible?
Time is also a factor. We know how Android OS updates have behaved historically. The possibly permanently-broken device dashboards show that it takes a few years for an Android version to achieve plurality of the Google Play ecosystem, though things are improving somewhat. At the same time, Fuchsia may be viewed as more than an ordinary Android upgrade, for better or for worse in terms of adoption rates.
There is nothing intrinsically wrong with developing apps using Flutter today. However, there are many things that could derail a “Flutter and Fuchsia Forever!” future. And if Fuchsia falters, Flutter failure may follow, as Google has abandoned many things that did not succeed in the marketplace. So, make sure that Flutter is the right choice for you today, and that you are willing to take on the risk of a foreseeable future Flutter flame-out.
(in related news: alliteration is awesome!)
Tomorrow, I’ll look at programming languages with respect to Fuchsia and Flutter.
Need an extra hand with your Android app development project? CommonsWare can help — reach out for details!