阅读更多

5顶
2踩

移动开发

转载新闻 App开发建议:先求好用,再求好看

2012-11-26 17:09 by 副主编 MnouW 评论(3) 有4381人浏览
本文是iPhone应用DrawChat的设计师Chloë Bregman的文章。她对app开发策略的看法与Google此前的研究结论一致:中看不中用,中看少三分

初创企业创始人经常让我采用其app创意把应用做得好看。他们觉得自己需要漂亮的产品以便获得融资。我称之为“好看优先”,也就是说初创企业关注的首先是应用在视觉上设计得很漂亮,其次才去关心产品的目标和是否有用。

从某种程度来说,这是对日益强调技术产品视觉设计重要性的一种响应。这使得设计团体的认知度有了很大的加强。但是“好看优先”是不对的。如果你的产品既没用又不吸引人,再好看也没用。

首先,我们来看看一些成功的产品:

  • Uber从视觉风格上来说很难算得上是革命,但是它可以让一辆“黑车”几分钟内出现在你面前,而且你还可以在地图上跟踪其行驶路线,减少支付系统中的交易摩擦。其核心的价值主张是有效的。
  • Instagram则不同,很实用,也很吸引人,整个应用的外观都有了改善。但是在设计上当然也算不上有什么突破。它拥有合适的社会化机制,围绕着该应用的概念营造出火爆的使用,而非依靠出色的视觉设计来达到目的。
  • Airbnb解决了人们的问题—找地方住。这款应用也很好看,但是它不是仅仅依靠设计取得成功的,许多Airbnb早期的外观元素真的是非常糟糕的。
然而,并非所有的初创企业都意识到这一类的成功。今天许多初创企业都在追求漂亮的视觉风格,却置其产品要解决的问题于不顾。他们对设计的关注导致了对空白区、网格图形以及印刷先导设计的狂热。这一向设计倾斜的思潮导致了许多极简主义网站的出现。Web 2.0的外观已经死亡。正在迅速为“简洁设计”所代替,令人回想起上世纪五十年代瑞士风格的图形设计—这种设计体现了鲍豪斯运动的许多原则,几乎没有阴影和渐变。

有些人开始想起这种设计风格,然后随着Flipboard和Letterpress这样的应用而流行,并从移动端蔓延到了web上。仿佛一夜之间遍地都是这种设计风格。这个现象在网上的一个很好的例子是SvbtleQz.com。而Pinterest看起来就好像是上世纪五十年代克劳威尔的现代主义网格设计。



把所有的注意力都倾注在产品的视觉设计上最终能不能得出一款功能更好的产品?在对像素表现、留白区以及山寨Pinterest界面的追求中,我们看到的是老产品换新瓶,功能却没有改进,甚至有时候功能性还变差了。Gmail2012年的重新设计就引发用户的迷惑和愤怒,部分原因就在于它更注重了“简约设计”原则而忽视了用户的利益和行为。

如何设计产品?

乔布斯对此有过最好的概括:
引用
有人认为设计就是要决定产品的外观。但是一旦你深入下去就会发现它确定的是产品的工作方式。

要聚焦到用户的利益上。用户问题是什么?你打算如何去解决?开始时应该使用现成的图标,使用Balsamiq,提出基本的设计,开发基础应用,然后交给用户。在外观上不要浪费时间。

在你解决好应用的核心问题之前,不要在视觉设计上浪费开发周期。如果你需要设计师的帮助,可以联系交互设计师或产品设计师。你不需要视觉设计师倒腾出好看的像素。你可能需要有人帮助你弄清楚如何让产品工作,并以简单和吸引人的方式来实现。

在iOS上,要想搞砸你必须摆脱那些条条框框。有了Twitter Bootstrap,哪怕是最不情愿设计的工程师也能创建出一个基本的、好看的网站,想要做出一个彻底丑陋的产品已经变得越来越难。

尽快找人测试。我们在之前的一个项目中犯过一个错误,花了6个月的时间做了一个新闻阅读器应用却没有进行过广泛的用户测试。我们拥有出色的兴趣图谱算法,但是应用发布时却发现不管应用有多好看却没人感兴趣。大家都认为应用很棒,但就是没人用。

当我们开始开发DrawChat的时候,用5周的时间做出一个版本,然后迅速推向用户,并根据反馈来迭代开发。我们没有在早期的开发周期浪费时间在中看不中用的特性上,而是关注于中用但样子不算好看的版本,一旦发现有人用或关注某项功能,再慢慢去美化。

在DrawChat上有一件事情我们做对了—对用户友好、好用好玩。我们给应用添加了一个画画怪物指向“New Chat”按钮而不是传统的那种空白的对话框方式。这种好玩的细节设计会给用户留下很深的印象,其效果要比最完美的渐变模式设计都要好的多。



另一个好玩的设计例子是Sybtle的“Kudos”按钮,它可以点亮和弹出。这一动画设计的目的是在用户提供积极反馈时取悦并奖励用户。

首先专注于设计一款有用的产品。一旦有了一款有用的产品,不用去考虑对每个像素做出调整。要营造出总是好玩且有时超出预期的喜悦时刻。

投资人不蠢。如果你的价值定位有料,你就不需要最好看的app界面。它们的工作是去芜存菁而已。如果你的产品创意很棒,他们自然也能判断你是不是有能力做出来并让产品变得好看。

Via TC
  • 大小: 102.6 KB
  • 大小: 29.8 KB
来自: 36氪
5
2
评论 共 3 条 请登录后发表评论
3 楼 zui4yi1 2012-11-27 13:26
很不好意思,踩了下。
如果你是个工龄2年以上的,就别再写那些丑陋的代码和UI了!好意思不?
2 楼 ITdavid 2012-11-27 10:35
UE > UI
1 楼 sailei1 2012-11-27 09:00
真的, 现在国内app 意识到这点的 已经越来越少了,设计再漂亮,功能没用也是白搭!

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • asp.net c#基本语法

    asp.net c#基本语法

  • ASP.NET 指令语法大全

    本文来自网络,向作者致敬:http://www.butlife.com/asp-net%E6%8C%87%E4%BB%A4%E8%AF%AD%E6%B3%95/ ASP.NET 页框架支持以下指令。 @Page 定义 ASP.NET 页分析器和编译器使用的特定于页的属性。只能包含在 .aspx 文件中。 @Control 定义 ASP.NET 页分析器和编译器使用的控...

  • asp.net 基本语法

    一. 语法 这种格式实际上就是和asp的用法一样的,只是asp中里面是vbscript或者javascript代码,而在asp.net中是.net平台下支持的语言。特别注意:服务器控件中不能有语法,例:       int a = 2;       int b = 3;       int c = a + b;       Response.Write(c); %>

  • ASP.net语法

    1、?包含在标签内的程序代码(只能是定义变量或表达式、语句,不能是函数),将会在服务器上运行,并生成动态的Web页面 2、 .... ?在此标签内的代码将会在服务器上运行,通常这些代码是定义各种变量和函数。 注意与〈Script...>的区别:函数绝不能放在之间 3、定义Server控件?Server控件区别与普通控件的标志是有Runat="server"属性。?Server控件分为四种:HTML

  • ASP.NET基础语法

    IsPostBack 是个bool类型的值 ,为false,代表没有回传,也就是首次加载,若为true,就代表页面回传了,也就是非首次加载。 Response.Write("<script>alert('登录成功')<script>")使用js弹窗提示 TextMode Textbox控件属性 隐藏文本(输入密码时用) colspan=2 合并单元格 Response...

  • asp.net中语法总结

    一. <%%>语法 <%%>这种格式实际上就是和asp的用法一样的,只是asp中里面是vbscript或者javascript代码,而在asp.net中是.net平台下支持的语言。特别注意:服务器控件中不能有<%%><%%>语法,例: <% int a = 2; int b = 3; int c =...

  • asp.net的语法基础

    asp.net的入门,适合初学者,C#语法基础的最好。

  • .Net基本语法学习(1)

    .Net基本语法学习(1)

  • Asp.Net常见的几种语法格式的作用?

    语法格式: <%@%>指令用于指定当页和bai用户控件编译器处理duASP.NETWeb窗体页(.aspx)和用户控件(.ascx)文件时所zhi使用的设置。 <% = %>这一个是将内容直接输出的。出就是将来直接在服务器上被替代为具体数据后发送到客户端的!与ASP中的相同。 <%#%>用于数据绑定控件,就是必须在对应控件或父控件调用DataBind方法时,这个指令才会被执行 <%%>,可以在里面构造代码语句,类似于实现一个函数或方...

  • ASP.Net-Razor语法

    一、什么是Razor 包含Razor语法的文件以.cshtml为文件扩展名,.cs文件熟悉C#的都知道是类文件,可以编译执行。cshtml就可以理解为包含可执行的C#代码的html文件。 为什么可以包含可执行代码呢?就是因为Razor语法。当请求某个页面时,服务器先检测页面是否包含Razor语法的代码,如果有就执行被标记的代码,转换为字符串呈现在html中。最后返回的当然是纯html页面。 ...

  • ASP.NET学习之Repeater

    以下内容翻译自Using OnItemDataBound with Repeater in ASP.NET and C#ASP.NET学习之Repeater在这个教程学习使用Repeater控件的OnItemDataBound事件在这个例子中,在page加载时创建一个datatable(列有Name、Age和City),填充Repeater。在显示数据时,如果Age列为空,就显示一个备注,先添加一个

  • ASP.NET一些知识点总结

    1.Global.asax文件的作用?应将其放在什么位置能起作用? Global.asax文件(也称为 ASP.NET 应用程序文件),该文件是用于处理应用程序级事件的可选文件,该文件驻留在ASP.NET应用程序的根目录下。 2.下列必须位于Bin目录下的文件是(D) A.cs文件    B.vb文件  C.aspx文件  D.dll文件 3.应用程序文件夹的内容除

  • ASP.NET中,HiddenField隐藏控件的用法

    HiddenField控件就是隐藏输入框的服务器控件,他能让你保存那些不必显示在页面上的且对安全性需求不高的数据。也许这个时候应该有这么一个疑问,为什么有了ViewState、Session和Cookie等状态保存机制,还需要用起HiddenField呢? 增加HiddenField,其实是为了让整个状态管理机制的应用程度更加全方面。因为不管是ViewState、Cookie还是

  • ASP.NET MVC4中@model使用多个类型实例的方法

    一般情况下,ASP.NET MVC的视图(View)中@model只使用一个类型实例。本文介绍了使用.NET Framework 4.0版本引入的Tuple类满足@model使用多个类型实例的方法,给出的代码在VS2012、.NET Framework4.5和ASP.NET MVC4中调试通过。

  • ASP.NET MVC中的数据传递

    在Web开发中页面数据的传输尤为重要,而在MVC框架中的数据传输更显突出,本博客简单讲解了四种ASP.NET的MVC框架中使用的对象及案例

  • asp.net怎么使用repeater

    ASP.Net提供了三个数据控件,使得在ASP中繁杂的工作变得简单。这三个控件属于数据Web控件,分别是DataGrid,DataList和Repeater。这3种数据控件各有千秋,效率最低的是DataGrid,这一节先来说下repeater的使用。 1.先建一个数据库和一个数据集,如图所示 2.在页面的设计窗口里将工具里的objectdatasource拖拽进来 这一步之后建议大家...

Global site tag (gtag.js) - Google Analytics