머티리얼 디자인이 어떤 색상이나 느낌, 기능을 갖고 있는지 찾는 거라면, 예제를 통해 소개하는 좋은 글이 많으니 다른 글을 참조하자. 아래의 글은 안드로이드 머티리얼 디자인이 발표된지 2년이 지난 현재, 개인적으로 머티리얼 디자인에 대해 다시 생각해 보는 글이다.
머티리얼 디자인은 안드로이드가 2014년 구글 I/O에서 Lollipop과 함께 내놓은 디자인 ‘철학’이다.
처음에는 두루뭉술한 설명과 부족한 구현 예제 때문에 개발자나 디자이너가 다가기에 어려움이 있었다. 사람들이 디자인 자체에는 긍정적이었지만, 구현은 어려워 했고 다른 개발자들이 공개한 라이브러리 등을 이용해 구현하는 경우가 많았다. 심지어, 머티리얼 디자인 발표 후 구글에서 만든 앱들간에도 상이하게 구현되었다.
이런 어려움을 안드로이드 쪽에서 이해했는지 2015년 구글 I/O를 전후하여 머티리얼 디자인을 더 쉽게 구현하기 위한 서포트 디자인 라이브러리가 공개되었다. 그 후 2016년 말인 지금까지 상세하고 명료한 설명과 예제들이 꾸준히 추가되고 있다. 이제는 신기술에 관심이 있는 사람이 아니더라도, 머티리얼 공식 페이지만 보면 이해할 수 있을 뿐 아니라 안드로이드 앱에 꽤나 그럴듯하게 머티리얼 디자인을 앱에 적용할 수 있다.
그런데 이정도로 디자인 철학이라고 부를 수 있을까? 오브젝트에 그림자를 넣고, 이 오브젝트를 누르면 저 오즈젝트가 움직이는 이정도의 동적인 느낌은 흔하지 않나? 기교만 보면 그렇다. 오브젝트를 레이어로 표현한 GUI는 새로운 것이 아니다. 오브젝트가 물리 법칙을 따르는 움직임을 보이거나 오브젝트 간 상호작용 하는 것도 새롭지 않다.
구글에서는 더 큰 그림을 위해 머티리얼 디자인을 내놓은 것 같다. 머티리얼 디자인이 안드로이드를 벗어나 플랫폼에 관계 없이 적용되길 기대하며, 그래서 사용자가 다른 환경으로 이동하더라도 통합된(unified) 환경이라는 느낌을 갖길 기대한다. 이를 이해하기 쉽게 설명한 글이 이미 있다.
이를 의식하고 안로이드 사이트의 머티리얼 디자인 소개 글을 보면 ‘플랫폼과 디바이스에 관계없이’ 적용하기 위한 디자인이라는 말들이 눈에 띄기 시작한다. 이에 한 발 더 나아가 웹에서 구현을 할 때 참고할 머티리얼 디자인 라이트(Material Design Lite)도 이미 공개되었다. 그리고 2014년도에 머티리얼 디자인을 처음 소개할 당시에도 디자인 그 자체보다 모든 플랫폼을 아우르는 무엇이라고 구글은 더 강조했었다. 다만, 그 때의 나는 “전체를 아우르는 디자인”의 ‘아우르는’보다 ‘디자인’에 더 집중했다. 누구나 말은 원대하게 하기 마련이니까 말이다. 어떤 소프트웨어 회사든 모두 플랫폼을 통합하겠다고 외쳐왔기 때문에, 머티리얼 디자인도 말만 그럴듯할 뿐 이해도 어렵고 구현도 어려운 한마디로 준비가 덜된 무엇이라 느꼈다.
하지만 2년이 지난 지금에 와서 보면 내게도 이제 실체가 보인다. 그저 유행에 따른 디자인이나 디자인들을 아우르는 컨셉 정도가 아닌 ‘철학’으로서의 무엇 말이다. 2014년에 방표 후 2015년 디자인라이브러리를 통해 안드로이드에서 구현을 쉽게하고, 지금까지 발표하는 디바이스마다 모두 일관된 디자인을 적용하고 있다. 이 글의 초반에 링크된 구글 I/O 사이트도 머티리얼 디자인이다. 그리고 이제 머티리얼 보다 더 큰 구글만의 디자인 철학을 구글 디자인 사이트를 통해 이야기하고 있다. (지금까지 본 바로 구글은 ‘안되면 말고’고 식으로 쉽게 지금까지 공들였던 서비스나 컨셉을 버리기도 하지만, 버리기 전까지는 정말 꾸준히 하는 것 같다.)
앞으로 구글에서는 더 많은 디바이스와 플랫폼이 출시될 것이고, 안드로이드와 이 들간의 기능, GUI, UI의 연계는 선택이 아닌 필수가 될 것이다. 사실 안드로이드 단말이 그 다양한 기기들 간 연계의 허브가 될 것이니 가장 먼저 변화될 것이 분명하다. 그러니, 안드로이드 개발자라면 이제는 머티리얼 디자인에 대한 공부를 더이상 미루지 말자.
핑백: 안드로이드 개발자라면 꼭 봐야할 사이트들 – Dog발자