Earlier this week, we reported that just about everything we’ve seen about Fuchsia is now gone, as the “Armadillo” UI has been deleted. In its place, we only have references to what seem, in context, to be three other “shells” or user interfaces which are all kept closed-source by Google. However, one of these, “Dragonglass,” may offer more answers than we initially thought.
This week, after we shared the three codenames that we believe are associated with closed-source user shells for Fuchsia — Dugonglass, Dragonglass, and Flamingo — a tipster reached out to remind us that this isn’t the first time we’ve come across the “Dragonglass” codename.
Dragonglass in the Google app
Back in June, our Abner and Dylan worked up an APK Insight for Google app version 8.6. Inside this version, they found a handful of alternate strings labeled “dragonglass” and “non_dragonglass”. Here’s an example snippet in both “non_dragonglass” and “dragonglass” forms.
<string name=”hotword_enrollment_personal_results_explanation_non_dragonglass”>”Voice Match has been set up.
Now you can turn on personal results to use your voice to access your calendar, contacts, reminders and more on this device.
You can turn off personal results in Assistant settings.”</string>
<string name=”hotword_enrollment_personal_results_explanation_dragonglass”>”Voice Match has been set up.
Now you can turn on personal results to use your voice to access your calendar, contacts, reminders and more on this device.
Personal results, plus personalized YouTube recommendations, can also appear – without you having to ask for them – on the Home screen and as notifications. Note that curious bystanders can also tap and act on these results.
You can turn off personal results in Assistant settings.”</string>
With the addition of YouTube recommendations and the possibility of “curious bystanders,” it seems obvious that this was in preparation for the first Assistant smart display to arrive about a month later. To initially check this assumption, we set up Voice Match on the Google Home Hub and verified that we got the correct text.
To know for sure exactly what things the Google app does and does not consider Dragonglass, we decompiled the app and tracked down when the Dragonglass strings are used. The function below is used as the sole decider to what is a Dragonglass device. We’ve renamed some things to make it easier to read.
To simplify: if a device calls itself a smart display, or if an Assistant device can have multiple users and has a display, then it’s Dragonglass. This should mean that all of today’s Assistant smart displays are Dragonglass devices, according to the Google App.
Dragonglass in Fuchsia and Chromium
With this new context that the codename “Dragonglass” is tied directly to smart displays, let’s visit what we know about Dragonglass as it relates to Fuchsia. Dragonglass has been referred to in comments on public Fuchsia code changes only four times, which doesn’t give us too much to work with.
On one code change involving switching the words “user shell” to “session shell”, we see a Fuchsia team member ask if Dragonglass has been tested with the significant changes.
In another change (that ended up being abandoned), a Googler casually includes Dragonglass in a list of three items, one of which, “Ermine”, we know to be a “session shell”, and Armadillo’s temporary replacement. This implies that Dragonglass is also a “session shell” for Fuchsia.
Most recently, Dragonglass has been referred to as something that can be compiled as a separate piece of software, and can be run on Estelle (one of two codenames for the Google Home Hub).
[…] now that I have a fully compiled dragonglass binary from google3, we can deploy it on a real device, Estelle, and test if it comes up. I expect that to happen after we get back from the holidays.
My current theory is that Dragonglass is the name of Google’s smart display UI on all platforms. This is supported by a comment in Chromium, where a developer uses the phrase “Dragonglass UI” in reference to a Chromecast change.
One UI, Three Platforms
What isn’t clear yet is how Dragonglass is built. Right now, we know that most of today’s smart displays run on Android Things, while the Home Hub instead runs on the Google Cast platform. Throw Fuchsia into the mix and we have three very different platforms that seem to be running the same application / user interface.
Somehow Google has built this one Dragonglass application to run correctly on all three platforms. This is no simple task, as Fuchsia, not being built on Linux, is very different from the other two platforms. Also, as it should look the same, it’s very possible that Google could potentially switch one version of Dragonglass (say the Google Cast version on the Home Hub) with the Fuchsia version with little-to-no noticeable difference on the surface.
This is, of course, unprecedented and is not Google’s most likely move, but it is fun food for thought.
Thanks to JEB Decompiler, used above, which some APK Insight teardowns also benefit from.
Dylan contributed to this article.
Fuchsia Friday is an irregular series where we dive into the Fuchsia source code and interpret what the current state of the OS might mean for the finished product. All information in this article is speculation based on available information and is subject to change.
FTC: We use income earning auto affiliate links. More.
Comments