构建成功web应用的十项黄金法则
1、速度
首先,我相信速度是最为重要的,对于一个web应用来说,速度快是所有特征中最重要的。如果你的应用很慢,人们是不会去用它的,这个在主流用户(一般用户)中要比高级用户更加来的显而易见。我认为对于高级用户来说,他们有的时候很能理解构建一个非常快速的应用背后的挑战和苦难,所以当他们面对速度缓慢的应用的时候,或许他们还能忍受。但就以我的妻子和孩子来说,他们是我认为的主流用户(一般用户),一旦某个应用速度慢了,他们不会耐心地等下去了,而是立马放弃使用。
我觉得web应用速度必须要快,如果慢了,后果是显而易见的。我们公司(风险投资公司)的每一个投资的项目在Pingdom(网站性能测试服务站点)上都有记录,我们每周都会去看。我们发现,但凡有公司投资的应用陷入困境(出现性能问题,速度变慢了),这些应用通常也不会有快速的发展势头。这个真实有力的证据证实了“速度优于功能,速度是最重要的”这一事实,对于一个web应用来说,速度快不是一个优点,而是一项要求。
2、即时效用
“即时效用”的意思就是说服务(其实就是web应用,因为web应用多数就是提供服务)对你来说是实时有帮助的(简单实用,并且具有实时性)。如果你构建一个服务,然后用户要想使用他不得不花上一个小时的时间完成如下流程:配置服务,启动它,导入联系人,做许许多多和数据有关的事情。那我想绝大部分人会放弃使用。服务必须要对用户来说是即时可用的,而这一点被很多人所忽视。
利用许多技巧可以使得你能够快速让你的应用达到这种即时效用,举个比较适当的例子:当你构建一个信息服务的时候,一开始甚至长期你都可以在网络上的其他地方爬取比较受欢迎的信息作为你自己的服务。但是有一点,你一定要给用户即时的有帮助的信息。
另一个例子是:当Google大概4,5年前发布 Google Video的时候,差不多同一时间YouTube也发布了同样的服务。如果你在上传一个视频到Google Video,之后你得到了一个消息说:“一个星期后你的视频将会被播放出来”。当然了,这样的方式显然不是很好。而相比,YouTube提供了在线实时的编码工作,你可以立马看到你上传的视频。这就是我想要说的关于即时效用的东西。
3、软件即是媒介
关于这点我有很多想说的.我的观点是现在的软件即是媒介。特别是消费者软件,当人们使用你软件的时候就如同接触各种媒介一样。这里我所说的媒介是指诸如杂志,新闻,电视节目等传统媒介。比如”纽约时报”和“华尔街日报”;“浮华世界”(一本杂志)和“时尚”(时尚杂志);FOXNews和CNN,每一种媒介都有自己的特点,都有不同于其他媒介的独一无二的态度和坚持。
同传统的媒介一样,我认为现在的软件也要有自己的个性特点,发出自己的声音,表达自己的态度。有些看上去诸如“Fail Whale(失败鲸)”(twitter宕机时候的提示图案)很“傻乎乎”的东西,其实也是一种个性化的东西。虽然对于Twitter用户来说宕机这件事难免有些尴尬,但人们仍会穿着”Fail Whale”的衣服在街上行走,这至少证明了一点: 这个服务背后有属于自己的特点,它提供了一种媒介,用同一种声音将人们联系在一起.这就是我想要说的.这一点对于web应用来说是非常重要的.
4、少即是多
“少即是多”,这一点我深信不疑,尤其在你构建应用初期.而后你可以慢慢地增强你网站的功能.以Facebook为例, 如今在他它的服务中提供了20到30种不同的核心功能.但是,在它刚刚起步的时候他的应用却非常的简单好用.我想这就是一个好的应用所必须具备的。
公司对Delicious的投资是我最满意的投资之一.我喜欢它的简单,Delicious的功能很少,但是却很强大.人们一天要用五次甚至十次,而且天天都用.这些服务虽然涉及面很窄,但是对用户非常有用,时刻都要用到它.他们非常的强大并且对你有很大的帮助,与此同时我认为他们的快速,简单,易用做得非常的好,给你提供了一个很好的平台。
5、可编程
对于web应用开发者而言,我觉得这一点本身无需多说. 但是我认为非常的关键,非常的重要.能够让其他人通过某种方式在你的应用基础上构建其他的应用或者在你应用基础上添加其他的东西是非常重要的!这就意味着开放(你应用的)API,并且在我看来是可读写的API. Delicious的创始人两三年前和我说如果API不是可读写的,那就不算是开放API.这个已经在我们公司内部形成了一个信条了.我们认为如果API只是可读的,那么它和RSS没什么区别。
不是所有我们投资的应用都开放了可读写API,但我们始终尝试着鼓励并且说服他们这样做.可编程性最为重要的一点是,人们能够通过这个能够令你的应用更有价值,给你的应用注入更大的能量,为你的应用带来更多的用户,更多的数据以及更多的财富. 或许2,3年前,我们还会投资不具备高可编程性的web应用,但在今天我们肯定不会这么做了,因为如同速度一样,可编程性对于成功的web应用也是必不可少的。