做设计的人通常都有着一种让自己不得安宁的偏执症,尤其是在设计网站的时候,我总是会在想自己“很偏执”的这个问题。我恨这种感觉。
“一尺之锤,日取其半,万世不竭。”不管我的设计进展到哪里,我总觉得我还在半路,所以我常常请求延迟几个星期来完成剩下的细枝末节,反正怎么算都会预期多至少两星期。因为不管你怎么做,你所处的位置离你的终极目标总差这么一半。在《Zeno’s
Paradox》里也有类似的表述:“假如你想穿越某个森林,如果是先走一半,走了一半后,走剩下的一半的一半,这样循环往复,你永远穿越不了那森林。”但如果你能拐个弯儿,运用得当,它会成为你设计出成功产品的强大力量。
最小可用设计理论
用我们的老搭档Google来做例子:假若你现在坐下来,设计
Google有史以来第一个页面,并且你有无穷无尽的时间,可以让你精心雕琢每一个设计细节,那你完全不会焦虑。但生活里没有任何一个项目是没有期限的,因此,所以你要做的第一件事,就是先完成一半。
你准备先设计什么?图标?页脚?很明显,你应该设计的是搜索框和按钮。实际上,一旦你完成了搜索框和按钮的设计,你就已经超过这个设计目标的 50%了,因为至少它可以用了。达到 50%的目的已经很不错了,现在你离终点也只有一半路程,而剩下的这一半路程,这就是一些人所说的由内而外的设计。
接着,我们要做的就是把当前所在到目标所在的剩下一半路走完。例如说,我觉得品牌商标这种东西对一个页面还是挺重要的,因为这可以让人们知道下次再想搜索的时候该去哪,这就是给页面加上logo。这一步之后,意味着我已经完成目标的75%了。虽然已经到了75%,但是有世界上多少人会对单单只有一个 logo,一个搜索框,一个按钮的页面感到满意呢?其实我打赌超过 75%。并且,如果走到了 75%就能让 75%的用户满意,证明我们也算颇有成就了。
然后如果你还是“一半一半”地做剩下的工作,最终你的成果会越来越靠近你想达到的目标,这时一定有人会质疑“靠近”该怎么定义,那么,你可以理解为,如果你都达到了99%的预期,就是“很靠近”了,不必再继续了。
最小可用设计
在设计元老们的圈子中,有个名词叫做“最小可行产品”(根据维基百科的说法,“最小可行产品”是指仅仅包含那些必要(不会有更多)元素组成的可供使用产品)。我把这个概念进行了重新演绎,叫做“最小可用设计” ,它代表你所做的 50%的设计。如果你做了 50%这个产品还不可用,那说明你还没有做到 50%这么多。这样说的意思绝不是要你把做了 50%的产品公之于众,只是给你一个评估进度的标准——因为有时候你甚至要等到做到 99%才能把它展示给庞大的用户群。
追求完美是没错的,但再怎么追求也要看你设计的是什么,你的用户是谁。苹果也是用“最小可行”来设计他们的产品,一眼看过去苹果的设计非常简洁,但最终还是在此基础上不断将其完善到“最大可行”(相对于“最小可行”,也是“尽乎完美”的意思),但在大多数时候,我们还是要采用“最小可用设计”,快速推出,不断改善。
举个例子
就拿我的博客Drawar这个网站来说,它的主旨就是让用户获取其内容。如果是让我来设计,我很容易就可以让满足“读”这个要求,但满足“读”还不是意味着让多数用户“开心地读”,所以我还想让内容“容易读”,所以首先是要知道怎样设计才能达到这个目的。
(50%的状态)
单凭这个设计,任何人来我的网站都可以 “读”,但这才是本次旅行的一半,我还要再走下去,为的是满足剩下的一半用户。所以我准备给这个网站加上商标,这样他们就能知道自己在什么网站,下次想再来,也有记忆可寻。
(75%了!)
这时你已经可以清楚地知道自己在哪个网站,你也可以注意到这个商标并没有干扰50%的设计。到此,我又将朝下一个“半路”前行,加几个跳转到本站其它页面的链接,还会加点网站的介绍信息。
(87.5%的完成效果)
你看,这也没有影响当初 50%的设计,所以还不错。在这个网站面世之前,现在只差最后的“半路”了,就是给网站加点额外收入(例如广告,赞助)。
(93.5%的状况)
虽然不是100%,但到这里该设计基本上完结了,不过也还能为了一些用户在加点东西,比如:搜索、社会性媒体的按钮、博客链接等等。到此为止,我达到了这个设计的目标,也为我最初所想的立上了里程碑。同样的方法也适用于移动网站的设计。
设计是永无止境的
虽然我对这个设计结果已经算满意,但这并不意味着这个网站能让每个访问的人都满意。有些人会希望再精简一点,或者其它,所以任何设计都不可能真正离开森林。庆幸的是,你越是钻进一个又一个“半路”里,人们对你的设计的挑剔就会越来越少。但你还是得三思后行,因为加的元素越多,对你原有的 50%功能的影响就越大,也就会违背你最初设计的初衷。
还有,你也不要认为这些理论只适用于“最小化”设计的网站——因为这只是相对于我个人而言的——它还适用于那些加了太多“闪光点”,混淆试听的网站。拿 Tweetbot为例,我认为它和其它 Twitter客户端一样出色,那是因为它在设计里也只加了一点点亮点而已。
MUD理论对于移动网站的设计的意义在于,利用50%不断逼近目标的方法,你可以从中过滤出对用户最重要的功能。毕竟手机屏幕的空间有限,你无法通过一块小屏幕展现所有的内容,只能突出对用户最重要的一点——大凡在移动端成功的网站和应用都是如此,例如Gmail手机版的成功之处在于邮件优先,Twitter的成功则是在于信息更新功能快速简便,等等。
只要心存“还差一半”的念头,你就会越来越靠近森林的出口——但,你还是要铭记,你永远不会到达那个出口。任何设计总是有上升空间,所以,设计是永无止境的。
ViaSmashingMagazine
(小盒供雷锋网专稿,转载请注明!)
分享到:
相关推荐
dreamland_world:DreamLand MUD:所有配置文件,以及一些本地开发人员区域
不熟悉RedisGraph之类的图形数据库吗? 我被遮住了。 我为像我这样的菜鸟写了一篇博客文章,解释了其核心原理。 如果您想了解更多信息,请查看。 名言 “调试调试器” “从手册中复制分号” “禁止使用分号” ...
酸奶Yogurt 是 Haskell 的 MUD 客户端。 其特点包括: 钩子; 计时器; 日志记录; 任意类型的类型安全变量; 无需重新连接/重新启动即可动态重新加载酸奶脚本; 建立在 Haskell 之上,充分利用了语言的表达能力。 ...
绯红色2-MUD这是一个基于DikuMUD / CircleMUD代码库的MUD更新:19-07-2020我们决定对DikuMUD使用新的许可证。目录/ controlscripts-此文件夹包含MUD使用的各种脚本/ src-此文件夹包含MUD的源代码/ prod-此文件夹包含...
基于BylinyMUD代码库的MUD服务器(BylinyMUD-精化的MUD,基于CircleMUD)。 服务器是独立于平台的,由Linux(Debian,Centos,Ubuntu),FreeBSD,Windows Virtustan MUD(又名Prool MUD)在bitbucket:...
泥 使用客户端服务器模型 qwe 的基本 MUD
Java中的开源科幻MUD。 更新10/3/15:Applet现在已完成,可以在Web上部署了。 玩家可以登录并选择课程。 他们可以在地图上四处走动,拿取物品,检查物品,移走物品并穿戴设备。 地图上也有怪物,但尚未与它们互动。...
基于节点的MUD 这是基于NodeJS的MUD(多用户地牢),用于服务器和Phaser 3前端客户端。 工作正在进行中...
Java泥浆 这在很大程度上基于 跑步: 主类是Pmud.Run ... 完成将 Mud 类拆分为几个合适的类 实施帮助系统 实施咒语 实施实战 为区域和容器实施保存机制 为文件格式创建帮助文件 地区 球员 比赛 班级 帮助
DreamLand MUD,руководстворазработчика Pусский | Каксобиратьизапускать: 注释Ubuntu 18.04,20.04(реальнаяиливиртуальнаяма...
龙泥 DragonMUD是我的梦想,在此基础上构建自己的游戏之前,构建一个新的MUD引擎来体验和娱乐。 该引擎将为任何形式的基于文本的冒险(目前仅是Telnet,但最终也包括Web和Websocket版本)奠定坚实的基础。 它将具有...
泥 富有表现力的交易数据库ORM执照根据。 您可以在找到它的副本。
MUD游戏编程,网游服务器端的一个小规模的完整模型 MUD编程.part1 http://download.csdn.net/source/3303203 MUD编程.part2 http://download.csdn.net/source/3303279 MUD编程.part3 ...
这是尝试使用C ++ 20和Boost编写MUD的尝试。 实际的想法是使用C ++ 20(及更高版本)自己的网络组件,该组件自gcc 9起可用,尽管它的异步部分和io_context部分实际上并未按预期工作。 这就是Boost / ASIO发挥作用的...
这个简短的教程将向您展示如何在 MUD 中四处走动。 它还将突出显示游戏的一些功能。 建造 首先,确保您位于项目的根目录中。 如果您使用的是 Linux,请键入 make build 如果您使用的是 Windows,请键入 .\build ...
GNOME-Mud是X11的Mud Client。 它具有别名,ANSI支持,触发器,AutoMapper,多个连接,插件,颜色保护程序,命令分隔符以及保存连接的功能
文字游戏 mud 终端源码 原始的文字网游 如西游记,侠客行等MUD游戏的终端源码
使用 Scala 和 Akka 构建的实验性 MUD,使用 Neo4j 作为数据存储。 贡献 我欢迎贡献,但请记住,这是目前,所以如果我拒绝特定的功能想法或拉取请求,请不要生气。 计划结构 当前功能 执照 这个项目是在 MIT 许可下...
simple_mud Ron Penton 的 SimpleMud 的 Python 翻译。
用于以不良实施的MUD形式进行学习的rust编码实验项目。