**部分
Android设计简介
第1章 用户界面设计和易用性入门
一款应用(app)*重要的品质就是易用性(usability)。如果用户不知如何得到它,或者不清楚如何使用,那么这个应用做得再有特色也无济于事。在移动应用市场残酷的环境下,用户几乎总能找到替代品。如果一款应用不能让人感觉良好,或者用户不知道如何使用它的主要功能,那么用户极有可能卸载这款应用,不会给它第二次机会。
用户通过用户界面(UI)来操作和浏览你的应用,除此之外的一切元素,也都会在用户界面中反映出来。假如一款应用的杀手级特性提供了下一代云通信技术(或者应用包含任何其他一些了不起的功能),但是并不直观,那么你会面临花费了大把的时间,却构建了用户甚至都没有尝试过的一些功能的风险。
想要把用户界面做好,需要在设���上下工夫。本章介绍的一些概念和观点可以让读者更轻松地理解在设计上投资的重要性。本章还阐述设计过程中的一些重要概念并提供了一些想法,旨在让用户成为设计过程中不可或缺的一部分。
1.1 考虑技术与设计
用户界面设计不是一门精密科学,它也不会自动生成。它需要努力付出并投入资金。我职业生涯中的绝大多数时间都是在技术驱动的公司里度过,也就是所谓的***工作室。几乎在整个职业生涯应用的制作过程中,我都不得不争取要求加入设计依据。几乎所有雇用设计者或者让设计者参与进来的请求要么被回绝要么被严重误解。在一些公司里,认为设计者是画图标的人。在另一些公司里,认为设计者的存在就是浪费**和时间。在这些公司中,工程师或者产品团队经常自己做设计;有的时候设计源于偶然。尽管不同的项目会有各种各样的结局,但是始终都缺乏设计。产品在工程师眼中简单易用,但工程师无法理解为什么用户不能像他们所期待的那样使用这款产品。技术团队通常会这样说:“那个按钮明明就在那里,用户应该知道如何使用它。他们太笨了!”
我也曾经在另一种**的公司工作过。所有的工作都是设计驱动的,只有设计者参与早期的客户见面会,选用的技术也没有参考团队的技术特点。设计工作用Adobe Photoshop和InDesign实现,并没有考虑到技术的可行性,这将把技术团队逼入绝境,他们无法完成设计者想要的设计。
两种**都不可取。在这两种情况下,初衷与结果都将大相径庭。我也有幸参与了所有的工作都做得恰到好处的一些项目。与懂得软件工程并不是简单编程的设计者或者设计团队一起工作,并且拥有一支认可用户交互设计和视觉设计能够创造绝妙设计的开发团队。设计人员与开发人员密切协作所创造的价值远远大于他们各自创造的价值。
致开发人员——用户与你的思维方式并不一样!有人已经学习过用户界面相关的知识并做出了专业的设计。不要认为你做了相关的工作就不需要用户。用户知道如何操作你的用户界面证明不了什么,不会操作相同用户界面的用户也不能证明他们愚笨。用户不会用,说明用户界面设计得很糟糕。设计人员了解用户界面的结构,他们也懂得如何测试并验证这种设计是**的。信任你的设计师们,他们不会因为怀有恶意或者想让你更努力工作而提出用户界面修改意见,他们想要修改界面是因为这些修改可以让用户体验更好。
致设计人员——软件工程并非单单只是编程。事实上,编程仅仅占***的一小部分时间。制作成功的软件产品需要谨慎的计划、架构设计、对象关系设计、模块组件设计、数据库设计、可维护性计划、部署、质量保证等其他事宜。如果你知道怎样写脚本,那这将是一个很好的开端。但是写脚本并不是软件开发。基于Photoshop制作的用户界面示意图来制作一款合格的软件产品并不简单,这需要时间、计划,尤其是经验!相信你的开发人员,他们没有花费大量时间来制作一个界面不是因为他们懒惰。他们把时间花在计划上,是为了让程序运行更流畅也更容易维护。这样整个团队就可以一起调整完善用户界面,修改也不会令人不知所措。
……