Design consistency has been one of the major hurdles for Google since Android started becoming massively popular. Initially, Google's philosophy was to let OEMs have full control over their design philosophy. At first, this level of openness enticed OEMs to invest large amounts of resources into making Android smartphones and tablets.
However, the wide variety of OEM skins stood in stark contrast to the tightly controlled Apple iPhone experience. Starting with Android Lollipop, Google made major design changes (the Material Design UX, headed by at-the-time lead Android designer Matias Duarte) and hoped that app developers and OEMs would follow suit. While some OEMs such as Motorola and Sony were content with following Google's lead, others such as Samsung and Huawei still sport a design language that is largely non-Material.
Google hasn't given up on enforcing consistent design across various Android devices, and one of their latest efforts is the inclusion of circular icon support in Android 7.1 Nougat. Circular icons are intended to solve the issue with inconsistent icon size, but this approach has a set of issues that I'll let designer Liam Spradlin over at Android Police describe. Android 7.1 has barely made its way to Nexus devices, and it'll take quite a bit of time for OEMs to start rolling out Nougat, so it's unclear what impact circular icon support will have on design consistency. But what is clear is the fact that circular icons could die before they even have a chance to thrive: because Google has thus far made it totally up to the OEM whether or not they want their users to see circular icons.
Circular Icon Support is Determined by the Framework
Nearly every single one of the Google Pixel's features was leaked ahead of time by various blogs. Even the circular icon support was heavily hinted at as the leaked Pixel Launcher indicated support for circular icons, and other Google apps were slowly being updated with circular icon assets embedded in the APK. However, at the time the bloggers made an erroneous assumption: that circular icon support would be tied to the launcher. It's hard to blame them, though, as even Google's official announcement of the feature is bereft of any detail.
Fortunately, veteran Android developer Commonsware delved into more detail about how circular icon support would be implemented in Android 7.1 Nougat. Rather than app developer's exposing their round icon via PackageManager (allowing for launchers to decide whether or not to display round icons), the system framework decides whether or not to return either the regular icon or the round icon to the launcher.
When a launcher requests an app icon, the framework returns either android:icon
or android:roundIcon
, depending on the device build configuration.
What this essentially means is that the OEM can decide whether or not circular icons will be shown on your device. If Samsung, Huawei, LG, or any other OEM decides to forego circular icons, then your device will not see any round icon assets no matter what third-party launcher you install. Strike one for Google's design consistency push.
Commonsware has also discovered that the framework decides whether or not to return a circular or regular icon for ANY process that requests an app icon. In other words, developers need to be cautious that their circular icons look great not only in certain device/launcher configurations, but anywhere it may be requested.
Circular app icons are a nice visual change, but it's clear that there's an issue with their implementation. In all likelihood, we might see that only some devices like the Google Pixel and maybe some Motorola phones will implement circular icon support, while other OEMs will opt to continue using regular icons. If this scenario plays out, then Pixel owners may find themselves with a bunch of non-circular apps from app developers who don't bother to update their icon assets to accommodate only the few devices that would support round icons. And in that case, the entire consistency argument for round icons would be moot.
Thanks to Commonsware for discovering this!
from xda-developers http://ift.tt/2fmCBGD
via
IFTTT