Google's Material Design Spec is a great idea

Google just released their first major update to their Material Design Spec. Originally released back in June, the spec is a document that outlines the best approach to application design based on their material design philosophy. It’s goal is to:

Create a visual language that synthesizes classic principles of good design with the innovation and possibility of technology and science.

It’s a great introduction to application design and is relatively easy to follow. It has color pallets, layout ideas and animation guidelines among many other things.

What in the crap is “Material Design”?

It is a design philosophy for virtual applications that attempts to replicate the physical world. Items in the physical world have physical properties – they have mass, they rotate, they lay on top of each other, they move. They accelerate and decelerate, with larger objects taking longer than smaller objects to get up to speed. When an object is touched, it provides tactile feedback and moves in predictable ways.

The goal of material design is to replicate these effects to provide a consistent, immersive experience across applications. When the user taps on an item in the virtual world, it should provide feedback in some way – it should ripple, or highlight, or float. Pages shouldn’t just appear – they should slide in, with natural looking acceleration and deceleration. It’s appealing to the eyes and provides a great deal of polish to an application.

The following video shows a few examples of what Google is trying to achieve:

Everything is fluid, and moves, and is colorful and fun and appealing. But it’s not over the top – animations don’t take 30 seconds and cause users to get frustrated because they have to wait to perform their action. The animations are immediate, and provide just enough visual appeal while not getting in the way.

Okay, really, is this important?

I think so. To my knowledge this is the first document of it’s kind – an easy to use, “here’s what looks good and why” guide for application design. It’s Layouts and Colors for Dummies*. It will, hopefully, create consistency across not only environments, but across devices, OS’s and applications. If applications function in similar ways, it means the application growth curve turns from this:

[![This means learning is hard](]( means learning is hard
to this:
[![easy](]( is easy!
This will allow developers to spend less time focusing on specific environments and more time creating a single, **awesome** design that works everywhere. Less time duplicating means more time *awesome-ing*.


Google has also promised that they’ll take community contributions:

… we set out to create a living document that would grow with feedback from the community.

The fact that Google is taking feedback from the community is, probably, the best part. This isn’t Google trying to tell the world how to do things – they aren’t throwing slop (this spec) to the pigs (the development community) and expecting us to eat it up and do whatever they tell us. This is a document by the community, for the community, and for the greater good of computing.

Just like CommonMark, this is an attempt to grow the field computing, and I’m definitely on board.

* If this isn’t a real book it should be.