天天看点

[Share]构建成功web应用的十项黄金法则

谢谢青云推荐了这篇这么好的演说

谢谢卓和百忙中抽空帮我review,修改,提出很好的建议

谢谢Lily,在我初稿完成后大半夜还帮我校对,修正,提出非常宝贵的意见

说明: 原文中的英文内容有些错误,和视频有出入, 所以按照视频为准.()中的内容均是我为了方便理解所加, 每个标题后的图片均来自原PPT

以下是演讲内容:

开场白:

谢谢,大家好,很高兴能够来到迈阿密。昨晚我从纽约抵达的时候还很冷,地上都是积雪,但是现在这里却很温暖很舒服,非常高兴能够来到这里。

我用过很多的web应用,对于我们来说,我们的投资方式都是非常直接的。在投资前我们很清楚什么样的应用是我们感兴趣的,如果这产品我们不感兴趣,那我们就会直接告诉项目的负责人这不是我们想要的,相反,我们就会采纳这个产品。紧接着如果发现产品和我们产生共鸣,那么我们就会尝试去了解他。一旦这个产品,以及对应的服务和项目团队都非常吸引我们,那么我们就会去投资。

这十项是我一直在web应用中寻找的。我敢肯定在座的一定有人会不同意我的观点,但是这确确实实是对于优秀的web应用来说是不可或缺的。因此,今天的主题就是:“构建成功web应用的十项黄金法则”。

1. 速度

[Share]构建成功web应用的十项黄金法则

首先,我相信速度是最为重要的,对于一个web应用来说,速度快是所有特征中最重要的。如果你的应用很慢,人们是不会去用它的,这个在主流用户(一般用户)中要比高级用户更加来的显而易见。我认为对于高级用户来说,他们有的时候很能理解构建一个非常快速的应用背后的挑战和苦难,所以当他们面对速度缓慢的应用的时候,或许他们还能忍受。但就以我的妻子和孩子来说,他们是我认为的主流用户(一般用户),一旦某个应用速度慢了,他们不会耐心地等下去了,而是立马放弃使用。

2.即时效用

[Share]构建成功web应用的十项黄金法则

“即时效用”的意思就是说服务(其实就是web应用,因为web应用多数就是提供服务)对你来说是实时有帮助的(简单实用,并且具有实时性)。如果你构建一个服务,然后用户要想使用他不得不花上一个小时的时间完成如下流程:配置服务,启动它,导入联系人,做许许多多和数据有关的事情。那我想绝大部分人会放弃使用。服务必须要对用户来说是即时可用的,而这一点被很多人所忽视.

利用许多技巧可以使得你能够快速让你的应用达到这种即时效用,举个比较适当的例子:当你构建一个信息服务的时候,一开始甚至长期你都可以在网络上的其他地方爬取比较受欢迎的信息作为你自己的服务。但是有一点,你一定要给用户即时的有帮助的信息。

另一个例子是:当Google大概4,5年前发布Google Video的时候,差不多同一时间YouTube也发布了同样的服务。如果你在上传一个视频到Google Video,之后你得到了一个消息说:“一个星期后你的视频将会被播放出来”。当然了,这样的方式显然不是很好。而相比,YouTube提供了在线实时的编码工作,你可以立马看到你上传的视频。这就是我想要说的关于即时效用的东西。

3.软件即是媒介

[Share]构建成功web应用的十项黄金法则

关于这点我有很多想说的. 我的观点是现在的软件即是媒介。特别是消费者软件,当人们使用你软件的时候就如同接触各种媒介一样。这里我所说的媒介是指诸如杂志,新闻,电视节目等传统媒介。比如”纽约时报”和“华尔街日报”;“浮华世界”(一本杂志)和“时尚”(时尚杂志);FOXNews和CNN,每一种媒介都有自己的特点,都有不同于其他媒介的独一无二的态度和坚持。

同传统的媒介一样, 我认为现在的软件也要有自己的个性特点,发出自己的声音,表达自己的态度。有些看上去诸如“Fail Whale(失败鲸)”(twitter宕机时候的提示图案)很“傻乎乎”的东西,其实也是一种个性化的东西。 虽然对于Twitter用户来说宕机这件事难免有些尴尬,但人们仍会穿着”Fail Whale”的衣服在街上行走, 这至少证明了一点: 这个服务背后有属于自己的特点,它提供了一种媒介,用同一种声音将人们联系在一起. 这就是我想要说的. 这一点对于web应用来说是非常重要的.

4.少即是多

[Share]构建成功web应用的十项黄金法则

“少即是多”,这一点我深信不疑,尤其在你构建应用初期. 而后你可以慢慢地增强你网站的功能. 以Facebook为例,  如今在他它的服务中提供了20到30种不同的核心功能.但是, 在它刚刚起步的时候他的应用却非常的简单好用.我想这就是一个好的应用所必须具备的.

5. 可编程

[Share]构建成功web应用的十项黄金法则

对于web应用开发者而言, 我觉得这一点本身无需多说.  但是我认为非常的关键,非常的重要.能够让其他人通过某种方式在你的应用基础上构建其他的应用或者在你应用基础上添加其他的东西是非常重要的! 这就意味着开放(你应用的)API,并且在我看来是可读写的API. Delicious的创始人两三年前和我说如果API不是可读写的,那就不算是开放API. 这个已经在我们公司内部形成了一个信条了. 我们认为如果API只是可读的,那么它和RSS没什么区别.

不是所有我们投资的应用都开放了可读写API, 但我们始终尝试着鼓励并且说服他们这样做. 可编程性最为重要的一点是, 人们能够通过这个能够令你的应用更有价值, 给你的应用注入更大的能量, 为你的应用带来更多的用户, 更多的数据以及更多的财富.  或许2,3年前, 我们还会投资不具备高可编程性的web应用,但在今天我们肯定不会这么做了,因为如同速度一样, 可编程性对于成功的web应用也是必不可少的.

6. 个性化

[Share]构建成功web应用的十项黄金法则

个性化对于用户来说是非常有意义的,就好像我前面一张ppt提到的,你要让第三方的开发者乃至用户都为你的应用注入他们的“能量”,他们在你的应用中注入越多的他们个性化的东西,他们就会对你的应用更加有归属感和拥有感,这很有可能会成为你推动市场的重要力量。个性化你的应用是非常重要的,方式也有很多,比如可以让用户自定义背景,上传头像,添加自定义的内容等等等等,这些都能让用户就对你的应用产生归属感。

7. RESTful(计算机领域专业名词)

[Share]构建成功web应用的十项黄金法则

我不确定我用这个词是否准确。我想在座的大部分都应该知道什么是REST(REpresentational State Transfer的简称)。它是一个软件架构中提出的一个观点即:任何事物都应该有详细的定义。但是我这里所指的REST则有些许不同,甚至有点使用不当,但是不管怎么样我仍然觉得还是讲得通的,还是挺有道理的。

软件架构中的REST指的是你的每资源都有一个可被访问的URL来表示,这个是在软件架构层面的。但是我对他的定义则有些古怪,我所谓的REST是指整个应用层面,其中所有的资源都有一个URL,而且是一个非常简洁,容易理解的URL。

好比Twitter在3,4个月前发布的Twitter list,如果你去某人的twitter页面,单击了“lists”这个链接,你就会看到类似于“twitter.com/fredwilson/list/….”这样的URL,这个URL就表示了我twitter上的所有的list。整个Twitter应用都是以这样的方式来构建的,它上面所有的资源都是以简单易懂的URL来直接表示的。你可以拿到这个URL,然后通过email或者其他方式发送到互联网上。

以上就是我想要说的关于RESTFUL的东西,尽管有些怪异,但是我认为对于成功的web应用来说的确是非常重要的。

8.  让你的应用更容易被人发现

[Share]构建成功web应用的十项黄金法则

这张ppt和上一张ppt有点像。当你刚刚构建好你的应用的时候,它就好像是一堆稻草上的一根针。世界上存在着说不上成千上万吧,至少也有成千上百的应用和你类似,那么怎么样才能让人们发现你的应用呢?基于这一点,我认为,你要做的就是搜索引擎优化。对于优化,你不仅仅要知道其规则更要清楚如何去优化。你的应用必须要让Google能够很容易的发现。

9. 简洁

[Share]构建成功web应用的十项黄金法则

我认为,简洁意味着你应用的页面不要太拥挤。你的页面应该让人一目了然,任何页面都不要放置太多的功能点在上面,要让用户一看就能知道是干什么的,怎么用。

当你进入Tumblr的登陆界面的时候,它整个页面上就只有两个巨大的输入框,用来输入用户名和密码,非常简洁直白,我非常喜欢。用户非常清楚这个页面是干嘛的以及如何使用。这点非常重要,很多人都低估了这种简洁性的价值,总觉得页面上的功能越多越好。

10. 趣味性

[Share]构建成功web应用的十项黄金法则

最后一点,同样重要的是娱乐化。我们合广投资公司(Union Square Ventures)有6个关键词(类似学校的校训之类的),有一个碰巧和我说的这一点吻合。这六个关键词是:移动化、社会化、全球化、娱乐化、智能化,第六个我忘记了。不管怎么样,这些都是和我们的web应用有关的东西,而其中娱乐化就是我想要说的。

之前有人说我放一个空的场地只有积水的图片作为背景不好,但是我这么做是有原因的。 这张ppt上的图片是旧金山的南方公园。在这个滑梯的上面只有一小块地方,但是就在这一小块地方上诞生了Twitter:那是一个春天,有天中午4,5个来自一家名叫Odeo的公司的员工来到这个公园讨论他们要构建的新的项目,最后就在这个滑梯上方的那一小块平台上,想到了Twitter。这就是为什么我要放这张图的原因。

总之,对于web应用来说,娱乐化是非常重要的. 游戏互动性是指你可以用他来引导用户做一些事情. 举个不是web apps的例子吧,一款具有良好互动性的名叫Weight Watchers的游戏, 它的良好互动性体现在。你可以在这个游戏中建立一个目标,然后去努力完成这个目标,同时,你可以将你的目标公布出来,当你达到目标之后会获得一些奖励。就是这一游戏互动性得Weight Watchers非常的成功。

不同的应用可以提供不同的游戏互动性,比如linkedIn,我有些朋友在这上面就喜欢在上面结识更多的朋友,就好像人们在Twitter上就想让更多人来follow自己,或者自己去follow更多的人一样。这是所说的就是另外一种游戏互动性了。

本文转自Justin博客园博客,原文链接:http://www.cnblogs.com/justinw/archive/2010/07/29/1788243.html,如需转载请自行联系原作者

继续阅读