Duo has done well positioning itself as a simple, yet innovative app for video chat. Despite a focus on simplicity, it's time to begin experimenting with enhancements that can establish Duo with new audiences. The latest update contains clues suggesting the development team may bring some advanced camera settings to the app so users can make sure they're sending the very best image possible.
- Adaptive and round icons
Adaptive and round icons
Left: Old icon. Center: Round icon on Pixel Launcher. Right: Square adaptive icon on Android O.
I have no doubt that some people have been waiting for this one. Duo was one of Google's last remaining apps to adopt a round icon for display on the Pixel. The wait is over, version 17 brings a round icon. Not only did this update include the round icon, but also the components needed to support Adaptive Icons, introduced in Android 8.0 Oreo.
No other new features have reared up yet, but keep an eye out for any important changes.
The features discussed below are probably not live yet, or may only be live for a small percentage of users. Unless stated otherwise, don't expect to see these features if you install the apk.
Enhanced camera settings
Unless you're writing a video chat app, you've probably never thought very much about video quality in a chat app. That's probably because most of us expect the image quality to be pretty abysmal, even on great connections. At least that was true in recent years, but things have been improving quite a bit lately, and Duo has been setting the bar fairly high. Now that blurring and image artifacts are mostly a thing of the past, the Duo developers appear to be exploring color controls to make videos look even better.
Disclaimer: None of the settings I'm about to discuss appear to be live yet, and it's not really clear if these are just testing tools for the developers or if they'll become available to users. For now, I'm going to assume they are intended to reach users at some point in the future, at least in part because the options are very simplified, whereas I expect testing tools to allow for very specific control.
Three options have been added to the structure of the Settings screen to give some basic color controls: Color Effects, Exposure Compensation, and White Balance. If you know anything about photography, or have simply used an app like Snapseed to edit images, these are surely familiar terms. For anybody that may not be familiar, they'll be (overly) simplified with descriptions of each setting.
First up are the color effects, which most people will probably instinctively know as Instagram filters. They're used to tweak the colors to match certain styles. The options are going to include: None, Mono, Negative, Solarize, Sepia, Posterize, Whiteboard, Blackboard, and Aqua.
<string name="pref_cameracoloreffect_title">Camera color effect</string>
<string name="pref_cameracoloreffect_dlg">Enter camera color effect</string>
<ListPreference android:entries="@array/cameraColorEffects" android:layout="@layout/settings_preference" android:title="@string/pref_cameracoloreffect_title" android:key="@string/pref_cameracoloreffect_key" android:defaultValue="@string/pref_cameracoloreffect_default" android:dialogTitle="@string/pref_cameracoloreffect_dlg" android:entryValues="@array/cameraColorEffects" />
Next up is exposure compensation, which can be roughly described as changing brightness on an image. This one is simply described by a number, usually between -10 and 10.
<string name="pref_cameraexposurecompensation_title">Camera exposure compensation</string>
<string name="pref_cameraexposurecompensation_dlg">Enter camera exposure compensation (try number from -10 to 10)</string>
<EditTextPreference android:layout="@layout/settings_preference" android:title="@string/pref_cameraexposurecompensation_title" android:key="@string/pref_cameraexposurecompensation_key" android:defaultValue="@string/pref_cameraexposurecompensation_default" android:dialogTitle="@string/pref_cameraexposurecompensation_dlg" android:inputType="numberSigned" />
And finally we come to white balance. This is a setting that adjusts for certain types of lighting that may cast a tint to an image. For example, lights in your house are likely to make everything look slightly yellow. Adjusting the white balance can often fix this. While some software will allow fine control, the options available here are going to be limited to a set of fairly common options: auto, cloudy-daylight, daylight, fluorescent, incandescent, shade, twilight, and warm-fluorescent.
<string name="pref_camerawhitebalance_title">Camera white balance</string>
<string name="pref_camerawhitebalance_dlg">Enter camera white balance</string>
<ListPreference android:entries="@array/cameraWhiteBalance" android:layout="@layout/settings_preference" android:title="@string/pref_camerawhitebalance_title" android:key="@string/pref_camerawhitebalance_key" android:defaultValue="@string/pref_camerawhitebalance_default" android:dialogTitle="@string/pref_camerawhitebalance_dlg" android:entryValues="@array/cameraWhiteBalance" />
Again, there's no certainty any of these settings will make it to users, but it seems logically likely. Hopefully, they do come in a more convenient form than line items in the settings screen.
Easter egg avatar?
There weren't a lot of things to see in this teardown, but one new image deserves to see the light of day. It may be an easter egg, or a placeholder for some other purpose, but it is used in code, so there's probably some way to trigger it. Anyway, it was too funny to leave out.
The APK is signed by Google and upgrades your existing app. The cryptographic signature guarantees that the file is safe to install and was not tampered with in any way. Rather than wait for Google to push this download to your devices, which can take days, download and install it just like any other APK.