我看 Android 平台上的应用设计及其他
Android 在应用开发上,对于码农来讲还是相对省心的。4.0 SDK 刚出来的时候,我就立刻下了来测试我的一个应用的兼容性。过程中只是在将 Eclipse 的配置改成 API 14的等待中小担心了一下,但尽管调了好几个外部的包,从打包到最后在开发的真机上跑起来也没出现问题。
不过,对于很关心应用的实际效果的设计师来讲,想要看到跑 Android 4.0的主流机器上这个应用究竟看起来如何,就只得昨天弄到台 Galaxy Nexus 来试用一下的时候才行。“嗯,有些地方显得有点空了,不过还好,按钮也没走样,应该不用改。”他很仔细的用了一遍之后对我说。最好这样,我想,而且,要有问题,加班的也是你。
与码农的看法相反,设计师对 Android 的看法绝少是正面的,这不可以被简单的说成是设计师都是果粉之类的,而是在工作中他们确实有巨大的痛苦之处,而且照我看是越用心就越痛苦。
比如说,为了应对绝对会发生的变形拉伸,图片都的用 SDK 带的 9-patch 改一遍;比如说,按钮不同的状态的样子都的自己动手做出来;比如说,要不你以完全不可预知的 dip 做单位来确定大小,要不你得每种尺寸都做套样式;再比如说,默认的动画效果完全不可依赖,等等等等。
如果说客观条件上,Android 开发需要设计师忍耐的话,在主观上, Google 也对设计师持冷漠的态度。即使在最新的 SDK 的文档里,UI Guidelines 满打满算也才11页,主要是告诉些命名规则。而 iOS 的 Human Interface Guidelines 呢,170页,一本书。这种放任自由的态度好像是给予人很大的想象空间,可连我这样一笔都不会画的都知道构成要素、构图、概念是要统一的。设计的整体性是非常重要的,Android 藐视整体性设计。
对设计师而言,Android 就好比是一个场上和场下都一片漆黑的舞台,台上只有很小一处地方被大灯照亮着,他只敢在灯下表演,否则一步不慎就会踏空,在观众眼皮底下摔到台下去。因为不能确定边界,所以任何动作大点的新戏都不敢排,在别的瓦亮的剧场里唱红了的戏,在这里也得好好简化之后才敢上演,美其名曰变换风格。
设计师做的其实算不上是艺术的工作,那是披头散发的艺术家的事情,他们也不过是匠人,严肃的对待每一个像素的效果,是他们的职责所在,但是现在连严谨的工作都不可得。在计算机上追求美感,哪怕对纯粹的 Geek 都是很自然的事情,可是连古老的 ASCII 码艺术,都不能保证每台 Android 上看到的一样。
设计师想发力亦不可得的话,值不回票价的只能是花了真金白银的用户。哪怕从来只用免费应用,Android 平台为了标准化而进行软件抽象所带来的巨大代价,也平摊在了每一个购买手机的用户上:高档的机器无法发挥出硬件配置的全部性能,价格却不比 iPhone 低多少;低档的机器达不到期望的效果却凭空损耗了大量的电力和计算能力,比功能手机还更难受了。
苹果的垄断是一种巨大的恶,可是想要打破这种垄断的小机器人,是不是就是善的呢?R2D2 看起来可爱,可是制造 Droid 的事实是黑暗中的 Lord 而已。
Google 和苹果的老外们或许不知道三国,可是现在发生的又是三国故事。北人南下不习舟楫,就招徕降伏的水师,又有人献上妙计,将百千战船锁于江上,期望着一路杀去如履平地。像任何战争一样,最辛苦的还是真正上场的厮杀汉。在码字之间,我那小小应用可供使用的设备又多了28台。既然永远不可能完善的去测试,那么
Why so serious ?