Google’s forthcoming iteration of Android, currently dubbed ‘L’ release, has developers with a sweet tooth excited for all sorts of reasons. Rather than presented as an update to one of the most popular Operating Systems on the planet, the tech giant is touting it something far bigger. L is a foundation on which Google plans to continue building upon in the future.
While the ‘L’ release has many features that may contribute to the realization of this vision, the one that has managed to overshadow the rest is a new design language, called ‘Material Design’. Granting developers a whole new level of control on the visual, motion and interaction design of their apps, Google seems to be waging on the creativity of those who made Android such a huge success.
The allure of many modern designs is a heavy reliance on colors. Although it took Google a while to realize this, as was clear in the Holo design guidelines, it has finally taken a huge stride in the right direction with material design. The new design language makes it possible and convenient for developers to customize their apps with unprecedented freedom. For example, by providing system widgets that let developers set the color palette to suit their apps. Or the ability to draw users’ eyes to important elements by highlighting shades and tints with vibrant colors, higher contrast ratios and the ability to float important buttons over others.
Google has handed over more control to developers on how the User Interface (UI) of their apps appear and responds to touch. The new APIs for ‘L’ allow the creation of custom animations for touch feedback in UI controls, activity transitions and view state changes. The animations range from ripple and spinning effects to others that are more app-specific. Developers can use the APIs to customize these animations and even add new ones to their apps. The transition effects are non-linear, thus feeling smooth and natural rather than abrupt, mechanical and unrealistic.
Demonstrating even more faith in the creative and aesthetic sense of developers, Google is allowing them to access a new dimension, adding a new Z-Index property to views. While UI elements will still appear flatter, (even flatter than ever) the addition of a Z-index to views effectively leads to a 3D interface, allowing developers to place UI elements in layers. The APIs for the new property give the ability to control the elevation of the view, the size of their shadows and their drawing order i.e., order in which the elements appear on top of each other. This makes it possible to make certain action buttons pop out, a feature requested by developers and users for many years.
Assisting the enhanced dimension design is the grid-based design of elements on the screen. By aligning them, Google aims to maximize space. Furthermore, basing the icons and certain other UI elements on geometrical shapes gives them the ability to pop out and thus become more prominent. This will increase convenience for developers creating reusable layouts and thus the overall user experience.
Unlike its iOS counterparts that requires apps to be specifically designed for the size and resolution of screens they are being developed for. Android has kept life easier for developers through its ability to scale apps for different screens and resolutions. Now recognizing this scalability as a strength, Google is realizing its aim of keeping design elements consistent on all screen sizes. It is achieving this by using the extra space provided by bigger screens to display more information, instead of making changes to the interface. A consistent design and interface means less confusion when dealing with similar apps on different hardware.
Google envisions material design to be pretty much everywhere, be it cell phones, tablets, TVs, desktops or wearables. In order to achieve that, it needs to make the UI attractive and consistent across all platforms. Offering developers an unprecedented degree of freedom with material design, the company hopes to set the change and the realization of its vision in motion.
Jump Start Git, 2nd Edition
Visual Studio Code: End-to-End Editing and Debugging Tools for Web Developers
Form Design Patterns