国风网(ChinaFung.com)定位为全球首家新中式生活方式平台,即首家国际中式生活社区 + 中国第一新中式产品网购平台。 国风网既是shopping2.0级的B2C电子商务平台,同时又是集休闲、交友、购物为一体的中式生活深度体验SNS社区。不同于普通网站的社区与商城分离模式,在国风网,B2C与SNS将融合为一个有机整体。此般创新为用户带来的是一种前所未有的“诗意网购之旅”,让其在购物过程中顺道结交心仪好友,在交友游玩时欣然买到中意产品。 此外,国风网首创的“礼品党”功能实现了消费者主导型的促销模式,对用户而言,“商品折扣由我作主”,甚至“不花钱的网购”亦不再是空想。 我们所做一切,皆是为了使您体验一种“物从俭,心至奢Live simple, think noble”的新中式生活方式。ChinaFung,源自中国,世界共享。 ChinaFung.com is the 1st neo china chic lifestyle community, and china chic design products shopping center online, where you can purchase the most creative and delicate china style products by a game-like way, even with no money, but also sharing your taste worldwidely. You would enjoy [...]
Category Archives: SNS社区
国风网 – 全球首家新中式生活方式平台(B2C+SNS)
15-May-10谈谈网站的黏度|网站运营|SNS|交友
05-Apr-10有个朋友从事互联网行业10年,曾经负责过B2B网站的运营、创建过一家交友网站,参与运营过一家SNS网站,正好在这段休息的时间里,我把跟他论及的一些在网站运营方面的一些心得、经验和问题总结出来,以期抛砖引玉与大家一起探讨。 网站运营范畴包括:产品设计、内容运营、内容更新、市场推广等相关的运营管理工作。具体表现为网站策划、产品开发、网络营销、客户服务、市场推广等;那我就先从网站的黏度说起,作为一个网站运营者,我们不得不面临一个问题,就是如何提高网站会员的黏度,广义的黏度指的是用户对网站的重复使用度(依赖度、忠诚度),和用户迁移成本基本成正比。我认为黏度是指个体用户对于社区内某个或某些特定人群的交互的依赖性,而不是对某个社区产品或者功能应用的依赖性。通常黏度越高的网站越体现价值,因此如何提高用户黏度是各网站运营的首要任务之一。 我们可以通过网络推广的营销战术,可以短时间吸引到人,但是留住人我认为需要以下几个方面,以我的实际经历来说说,供大家参考: 一、用户需求是什么? 首先,我们需要观察和了解”用户在做什么、在怎么做”。 比如一个门把手,我们需要观察和了解用户怎么去用的,拉?推?.? 其次,我们需要知道用户是怎样想的为什么要这么做? 他们在使用这个门把手的过程中和使用后在想什么,包括他脑袋里面的感受是什么。 接下来,我们要去了解“用户知道什么?” 他有什么样的基础,是否见过用过你设计的这种门把手?(知识积累、使用经验、..?) 同时,我们还需要知道用户是什么样的思考路线,你的设计给了他什么样的预设逻辑。 当他看到这个门把手要去开门的时候,他会如何打算去完成这个事情。 (当你告诉用户“把大象放进冰箱”,他会做什么样的计划?) 最后,我们还需要了解:用户有什么样的接受和学习能力。 如果这个用户从来没有见过圆形的门把手,也不会想到拧开门,那么他是否能够接受和很快的学会去“拧着开门”。 总结: 在互联网上,我们发现任何一种兴趣爱好都可以找到那么一群人,比如看书,听音乐,购物,甚至育儿,都可以发现每种需求都会引导一群人,使他们走到一起。形形色色的各类网站成为某一种需求的提供者,而这样的提供方式,很多人认为较之传统的门户网站,更加专注,更有个性。我想,同样一种需求,不同的表现方式,也可以获得不同人群的反馈,因为我们都是希望可以获得更好的服务。 我们用一种可以让一类人群喜欢的服务去吸引他们,当然我们希望他们可以停留下来,成为网站忠实的用户,那我想这个工作就应该是社区了。同时满足这种需求的服务,也是在引导网站的发展方向,甚至商业模式。 人们通过一种需求吸引到网站,参与分享后,发展已经不再仅仅是满足一种需求,作为网站本身来说并不是服务提供者,而是一个服务的平台,用户可以在平台上创造需求,满足需求,完善需求。那么我想这也是网站的优势所在,需求的扩展性和外延性非常好,永远的beta版本,永远在帮助用户创造更好的服务。 用户需求决定了社区的氛围,决定了商业模式,决定了赢利规模。当然,用户需求容易发掘,就好比一个好的idea,但是真正的发展,仅仅有idea是完全不够的。是否具备了优秀的产品设计能力,是否具备了优秀的网站运营能力,我想这些都很关键。如果要谈到网站设计,网站运营发展,那完全可以在写几篇,只是想到了这些,随便谈谈,我始终认为用户是网站价值的核心,网站也必须围绕用户去做,甚至对于用户自身的关注程度要高于网站本身。 虽然我们在搭舞台,用户在表演,演员的积极性,除了舞台下观看者的鼓掌,对于台幕下的服务也很关键。 实际经验: 在做社交类网站时遇到过这样的问题?那就是当一个目标用户注册成为你的会员后,大多数会员并不知道这个网站是做什么的?也不知他们能从这个网站得到什么?他们能在这里做什么?这些问题同时也是国内某些SNS网站共同所面临的问题,因此,不要仅仅满足于只停留在“玩概念”、“搞理论”的层面上,而是要在实际的工作中,应用一些有效的方法来让自己了解用户的需求和解决用户的需求。总之操作比理念更重要,实践比理论更重要! 我在做交友网站,同样问题正好相反,当时这个网站在2004年时候在ALEX三个月平均排名为 300多位,三个月平均每个访问者浏览的页面数为:20页,另外其会员数仅为SNS网站几分之一。 那么做交友网站是怎么解决这个问题的了?简单说一下:1、先说注册,完成交友网站的注册程序需要20分钟以上。我们大部分网站都说我的注册简单,只需10秒钟,这就是差别。2、接下来就是注册成功或登录后的页面,交友网站在登录后,会根据个人填写的资料,为他们匹配喜欢的音乐、同兴趣的朋友和相关的内容等等,满足他们的某些需求,而我们大部分网站会提醒你应该邀请你朋友加入,或显示你的人脉关系圈或让你完善资料等等,就会造成新会员进来后举目无亲和无所适从,这又是一个差别。我们要相信大多数会员是决不会把大量的时间花到去熟悉、体验某个网站。 因此,可否得出这样的结论,人们是由于共同目标和爱好聚集在一起的, 彼此分享生活中的乐趣和寻找工作中难题的解决办法,不会因为单纯交友的目的聚在一起。 二、如何满足和解决用户的需求? 1、产品设计 第一步自身网站分析,而不是设计。通过对网站目标用户的需要和特点分析,制定出产品的整体架构。就是确定为用户提供什么样的产品 第二步分析竞争对手,从竞争网站的注册开始,仔细使用、体验对方的服务,如果好的服务或产品,一定要记录在案并保存,并根据自身网站的情况整合起来,唯我所有,并做到知已知彼。 第三步产品定位必须紧紧围绕网站的定位和用户需求来定。 第四步产品设计,这就好比设计一个店铺的展示,什么样的产品最吸引眼球放在橱窗;什么样的产品最好卖放在柜台;什么样的产品很冷门放在仓库,只在老顾客偶尔来询问时才拿出来,因此这不需要花费很多金钱和时间,却可以使产品有重大的变化。 切记:是让技术为用户服务,而不是让用户服务技术。 总之,一个产品的可用性,可以从以下五个方面入手: ①易学程度:用户第一次使用产品完成基本任务是否简单; ② 效率:一旦用户学会了使用这个产品,他能否高效的完成任务; ③可记忆:用户在经过一段时间以后再次使用这个产品时,能否快速回忆起使用方法并完成任务; ④错误:用户可能会产生多少错误?错误的严重性如何?修复错误的难易程度如何; ⑤ 满意度:用户在使用过程中是否比较愉快。 2、网页设计 网站页面设计的需求主要体现在用户体验方面,用户体验指的是会员感官视觉效果,第一眼看到网站页面整体要布局清晰有条理颜色搭配得当给人一种轻松愉悦舒适的使用体验,起码不能给人一种乱烦的感觉。网站针对的用户群是年龄在23-38 间的中小企业的白领,那么这个颜色就要适合这个年龄段这个层次的人。 另外一点就是要使用方便,按钮摆放的位置合理,各个板块风格一致,让用户可以在短时间内就可以上手。 *页面布局清晰 *文字字体设置合理而且要普及 *颜色搭配得当合理,不要太花俏了 *各个板块风格要一致 *页面间跳转要合理,各级页面间要层次清晰 *使用Web标准设计网页,尽量兼容更多浏览器,但首先要支持IE浏览器 *每个页面长度最好控制在2页,不超过3页。我一直认为太长的页面会使得用户失去耐心,而2-3页是最好的选择。 3、细节改进 [...]
浅谈白社会交互设计的创新(三)
23-Mar-10这次谈谈白社会中三个较小一点的设计点。 一、好友新鲜事新增提醒 在白社会的首页中,分量最重的就是这个好友新鲜事了,为了保证信息流的快速直接,我们采用了“推”的模式,并且直接即时的将信息推到用户的面前,这就是所谓的实时Feed了,这其实是一种非常酷的体验,信息获取快速直接,也省了刷新页面,是不是有种使用聊天室聊天的感觉呢。但是,凡事有利就有弊,在新鲜事的开始阶段,我们发现了实际使用中不爽的地方,在浏览新鲜事的时候(尤其是看分享的视频),或在评论新鲜事的时候,由于新增的新鲜事,会造成整个新鲜事区域在往下滚动,浏览和评论都无法进行了,严重打断了正在进行的行为,所以,我们此时想让信息“停”下来。但在,什么时候停下来,是需要谨慎考虑的,既不能破坏了信息的实时性,又能不打断用户的浏览/操作行为,这时候我们建立一个用户模型,假设了一下用户的行为: 【状态1】用户浏览器中首页处于初始位置的时候,即用户没有滚动页面,用户行为是: (1)用户在等待新鲜事 (2)用户在发布信息 (3)用户在浏览新鲜事/评论 (4)用户在评论/操作新鲜事 【状态2】用户向下滚动了页面,用户行为是: (1)用户在浏览新鲜事/评论 (2)用户在评论/操作新鲜事 这个时候,我们就能判断出,在【状态2】中,信息必须要“停”下来,以保证不打断用户行为,而在【状态1】中,由于(1)(2)行为的概率要大于(3)(4),所以我们让信息继续“动”。转变为可执行的方案,就是这样,我们加了一个判断,页面中的一个分界点如果在浏览器以内,信息“动”,在浏览器以外,信息“停”。在进一步精确了分界点之后,我们把分界点定为新鲜事的最上端(见下图)。 明确了这个之后,进入下一个关键点,就是如何让在“停”的状态下知道有新增新鲜事。这就相对容易一些了,只需要在页面上给出标识提醒到用户即可,我们选择在新鲜事区域的最上方,出现一个小的提示层,当有新增新鲜事时,出现并显示数量(见下图)。 此时,用户及时了解到了新增新鲜事,当然如果他想看这几条新增新鲜事,也不能太麻烦,最好就是让他直接点击这个东西,所以这个层还有个功能就是滚动回首屏,当到首屏之后,就进入了前面说的【状态1】,新鲜事自然就“动”了。这里还有个小细节,当提示的新增新鲜事数目过多时,用户在回到首屏后,大量新鲜事在同时加载,可能会严重拖慢或者卡死浏览器,所以我们定义了超过30条时,回到首屏后,就重新刷新一下全部的新鲜事,就避免了这个问题。 二、在线聊天的会话 白社会页面的右侧,有一个在线聊天,我们管它叫WebIM,就是网页版的即时聊天,可以跟白社会里的好友聊天,是不是很像QQ?向伟大的QQ致敬!好吧,这里我们重点要谈的不是QQ,而是聊天的会话状态,我们用过QQ的都知道,当有新消息来的时候,系统任务栏右下角会有小头像一闪一闪,我们点开就会出现一个新聊天窗口,而在用户的任务栏上,也会新增一个会话,而且在跟多人聊天时会有多个会话,我们只需要点击不同的会话,就可以激活不同的聊天窗口(见下图)。 那网页版的会话怎么处理呢?页面里是没有任务栏的。有些WebIM创造了这么一个任务栏,比如Facebook,页面下方多出来一个浮动工具条,当然它还有别的用途,这也是个办法,但有没有别的更好的办法呢?思考过程中,我们重新梳理了会话的作用: 1、存储聊天状态 2、切换聊天对象 3、提醒新信息 这样看来,会话需要呈现的信息并不需要太多,只用小头像显示即可,我们把目光放到了聊天面板上“在线好友”上面(见下图)。 在这里依据时间顺序排列会话的小头像,操作上也很顺手,详细定义一下: 1、当有新消息来时,出现目标好友的小头像一闪一闪,点击后出现聊天窗口,同时存储聊天状态,会话小头像保留,不再闪动 2、最小化聊天窗口后,保留会话小头像,关闭聊天窗口后,去除会话小头像 3、点击会话小头像,弹出/激活之前的聊天窗口 当然,还有一种状态也不能忘,就是在屏幕分辨率在1024或者更低时,我们定义聊天面板是收起来的(见下图)。 这时会话的位置同样可以放在收起的小条上,丝毫不影响使用~ 三、编辑器的编辑区域 在白社会的日志、转帖、讨论区中,都要发布/修改内容,所以要用到编辑器。说到编辑器,不得不说编辑器的鼻祖——Office中的Word,作为文字编辑最强者,编辑器的发展也是引领时代的,而在网页端,编辑器的功能受网页端的限制,做不到太强,所以在使用感受上,如何能接近Word的使用感受,自然是最好的。 说到这里,需要明确的是,对文字编辑来说,编辑器并不仅仅是上面的一堆工具条,还有个最重要的就是编辑区域,这里其实最影响编辑较多文字时的感受,以往我们使用网页版编辑器时,常常会因为编辑区域太小,而要面对编辑框里和页面的双重滚动条,十分难受(见下图)。 回想一下Word里,只有一个滚动条,为什么呢,文档是满了一页又出一页,这就给我们带来了灵感,如果我们的浏览器也是这样呢~ 所以我们定义了编辑器中编辑区域是根据内容自动伸展的,这样就很像Word里的满了一页又出一页,这样就只有一个浏览器的滚动条了,但是当页面长了往下翻时,上面的工具条看不见了,这样我们又定义了工具条跟随页面往下滚,有了上面“好友新鲜事新增提醒”之后,这个就是一样的定义了,这样编辑时就是这样的状态了(见下图)。 这样一个小小的变化,编辑文字过多时就会好用很多。 写了三期的交互创新了,也许这些创新点还不成熟,还有很多缺点,不过我们不怕大家笑话,能给大家分享一下我们在探索路上的思路也是好的,同时也欢迎大家能够多多交流自己的思路和想法,让我们共同来推动行业的发展吧! 来源:http://leeking001.com/?p=293
浅谈白社会交互设计的创新(二)
23-Mar-10首先需要说说的是在SNS中设计任务的目的,我们的观点是: 任务是一种运营手段,可以引导用户在特定的时间做特定的事情。 任务可以做新手引导,可以有步骤有奖励的指引用户熟悉系统了解功能。 任务是奖励用户行为的入口,也是虚拟货币(金币)的唯一出口。 在明确这几个方面之后,我们很快的设计确定了任务的列表页和任务描述页,十足的任务感和游戏感,毕竟大家都玩过网游的嘛~ 确定这个之后,另一个关键点是用户如何去领、做、交任务,我们初步想法是向网游学习,做一个任务跟踪层,用户可以随时查看任务说明,并能及时了解任务的进度。这里有一点补充的,我们选择了自动领取任务,原因是领任务的环节让前置操作过于复杂了,这也是我们任务的重量级而决定的。这样重点就放在让用户如何知道新任务——做任务——交任务上了。 但恰恰正是因为自动领取任务,让我们碰到新的问题。大部分网游里的任务是在领取之后才开始进行追踪的,并不断判断用户的完成情况,为了不造成太大的服务器压力,一般也会设定可领取任务的最大数量。而使用自动领取任务后,意味着用户的最大任务数量是不可预估的,这样想做到实时的任务追踪就很困难了。既然不能两全,权衡下利弊,我们决定还是保留自动领取任务(降低门槛),不做全局的实时任务追踪,只把任务追踪的步骤放在了Home页和任务列表页,这样在首页的右上角诞生了任务的提示区域: Home页自然是寸土寸金了,如何能把我们和用户都想要的任务及时推给用户呢,我们在这里想了一个策略,现在来看还是比较不错的(点击小图查看大图): 接下来怎么让用户方便的做任务呢?最理想的方式是让任务随时能调出来,以方便用户在做任务的过程中查看。这里想到了 音乐盒 的实现方式,即弹开一个无地址栏的小浏览器窗口,这样不会影响主窗口的正常操作,还能随时激活小窗口来看详细任务,似乎很妙啊~ 好,就先这么做吧~经过工程师的开发,可以测试了,先使用IE6和Firefox,觉的确实不错,完成任务之后,点击Home页的任务提示,小窗口被激活并刷新,直接领取奖励,跟我们的设想一模一样。但很快问题显现了,在IE7/8、遨游、搜狗浏览器等使用tab分页面的浏览器上,是没有小窗的,只能新开一个tab页,这样详细任务出现在整页里显得非常诡异,另外一点是在点击Home页的任务提示后,不能激活任务的tab页……这点太致命了,想象中很妙的方案由于不具备普适性变得一文不值,于是乎只好放弃了这种方案。 有话说的好,退一步海阔天空,我们尝试使用了弹出层的方式,层的方式意味着不能做到用户在做任务时随时调出来查看,只能在Home页和任务列表页才可以打开层,不完美的方案也让我们没有什么底气,只能先做一下用户测试。在对公司内外的一些用户做了用户测试之后,心里的石头放下了,由于SNS任务的复杂程度并不能达到网游的水平,用户并不会出现随时调出来任务来查看的情景,反而是在查看了任务弹出层之后,直接通过“去做任务”的引导直接去做操作,并且能够很好的记住任务开始的地方,回到Home页来交任务领取奖励。产品就是这样,同样的需求,不同的使用情景决定了不同的交互形式。这就是现在任务的形式了: 讲了这么多幕后的故事,也许这真算不上是什么创新,但我们很高兴能跟大家分享我们的教训和经验。尤其是看到现在新生的SNS都标配了类似的任务,我们很自豪能够对行业的发展产生一点点小的推进,在这里再次谢谢大家的支持~ 来源:http://leeking001.com/?p=284
浅谈白社会交互设计的创新(一)
23-Mar-10创新从哲学上说是人的实践行为,是人类对于发现的再创造,是对于物质世界的矛盾再创造。 之前有些朋友说:白社会的交互还是有些不错的地方的。本人作为参与者之一,听了也很高兴,被人认可当然是件很幸福的事了~高兴之余,也不能忘了分享快乐,在这里有关于白社会的交互设计也想跟大家聊一聊。一提创新这个词,感觉话题有点大,有点重,我先说说我对创新的看法,就像上面引用含义的一样,创新其实是站在巨人肩膀上的,同时也是面对新问题新矛盾的一种解决方法,所以,哪怕是小小的改进也算是创新,这样再谈创新可能就会轻松一点~ 我会整理出一个系列,一点一点的跟大家分享,今天先说真心话这个组件吧,真心话早在开心网上就风靡一时,一度是开心上最火的应用,我们在打算做这个组件时,自然也是将开心的真心话作为首要研究对象,大家玩过的都知道,真心话有着广泛的话题,便捷的参与形式,病毒式的传播方法,都是值得津津乐道的。我们这里说下真心话的交互设计,在研究了真心话的信息架构之后,我们自己先拟了一个草稿: 交互真心话之前: 交换真心话之后: 因为在玩开心的真心话的时候,每次交换完还需要再点击一次才能查看其他好友的真心话,感觉得很多余,就做了点小改进,直接在交换完就列出来了其他好友的真心话,并且可以评论。 但是退回到用户的角度后,觉得这样使用还是不爽,交换的时候只能看到一个好友的入口,而一般大家都是冲着某些好友的答案才去参与的,如果只能看到一个好友入口,还是刺激不起去交换的欲望。我们就想,如果能看到所有参与好友的入口岂不是最好,这样我们就又出了一个原型版本。(很遗憾没存根……) 有了这次突破之后,慢慢思路就打开了,我们发现,噢,其实这个真心话就是个群体参与的活动啊,为什幺死守交换的概念呢,反而局限自己的思维了。一番讨论之后,我们把它比喻成一个小黑板,老师在上面出了一道题,同学们在下面答题,只有答过题的同学才可以看其他同学的答案,这就清晰了,在设计的时候呢,我们也还原了这样一种情景: 参与真心话之前: 参与真心话之后: 看,像不像同学们的书桌排排坐着答题呢~ 再后来,为了鼓励讨论,在每个答案的下面挂上了评论的入口,就这样一个左右不对称的的双排布局(我们内部俗称“双排扣”)就诞生了,后来在实际的使用中,这种双排扣的形式也会把气氛烘托的非常热闹: 后来,这种布局还成功的被“天天向上——每日一测”所复用: 但是,凡事有利也有弊,这时出现了点问题,就是在如何在这种不可预期的布局下找到想看的人和自己的信息。我们仔细分析了用户怎样接收到真心话的情景,发现有这几种形式: 收到通知,有人跟自己交换了真心话:这种情况下对于自己关心的是这个好友的真心话答案,自然我们通过通知点过去的链接,应该把该好友放在左上角第一个位置。 收到通知,有人评论了自己的真心话:这种情况下对于自己关心的是自己的真心话答案下面的评论,自然我们通过通知点过去的链接,应该把自己放在左上角第一个位置。 收到通知,有好友也评论了之前自己评论过的其他好友的真心话:这种情况下对于自己关心的是之前自己评论过的好友的答案下的评论,自然我们通过通知点过去的链接,应该把之前好友放在左上角的第一个位置。 看到新鲜事,有好友参与了一个真心话题:这种情况对于自己关心的是该好友的答案,自然我们点击后(如果没参与需要先参与),应该把该好友放在左上角的第一个位置。 在我们梳理清楚了这个之后,就解决了问题,也很感谢我们的工程师,要实现起来还是要花些力气的。 这就是现在的白社会的真心话的交互的不同之处,也算是站在巨人肩膀上的一种创新吧。我理解,在用户最需要帮助的时候,想办法去推他一把,往往这就是创新的地方了~ 来源:http://leeking001.com/?p=266
SNS中好友动态功能的设计思路
27-Jan-10现在大部分SNS网站都有一个功能,就是显示好友的活动状态,比如你的好友上传了一张照片、分享了一篇文章等等动作,都可以显示在你的页面里,这样大大增强了社区的互动性,也成为现在SNS网站的主要特征,对于这样一个功能,从设计角度,还是值得思考的,并不简单,特别是用户越来越多,信息海量增长的时候,我未必能提出十全十美的方案,但我们可以由简如繁梳理一下思路。 首先我们要定义用户的活动消息,也可以理解为一个事件,就是我们举的例子:用户上传照片、与别人结为好友、修改了个人资料等等,动作各有不同,但需要在结构上通用,我们先设计一个 ID //消息ID UserID //用户ID MsgType //消息类型,比如加好友、上传照片等不同的类型 EventMsg //消息的内容,这里我们可以用Json的数据格式来描述出不同的活动内容 CreateTime //消息创建时间 这个结构也是个数据库的结构,当用户做个一个动作之后,就会创建这样一个消息,并保存在数据库中,当显示好友的活动信息时,就从这张表里查询自己好友id的数据,并按时间显示,这个做法是一个最简单的实现,但会出现一些问题,当你与一个用户成为好友之后,该好友之前发生的动作会显示出来,而不是在成为好友时点之后的动作,同样,切断好友关系之后也有类似的问题,如果从业务角度和用户体验上可以接受的话,也没什么,但由于信息是按时间排序,有时候会给用户错乱的感觉,还有,这个信息不能删除,如果删除了所有好友就看不到这条信息了,但在Facebook里是则是可以删除好友的动作信息的,这个方法还有一个问题是,所有信息都放在一张大表里,在信息爆炸增长,个人好友也很多的情况下,查询效率会非常低,产生严重的性能障碍,如果对这张表做水平切分,则在实现上复杂了许多,性能也未必好很多,接下来我们再思考是否有更好的解决办法。 在SNS的理论里,个人好友的合理数量在150个左右(最近有文章说Facebook的人均好友数是120人),SNS网站应该是有好友数量的限制的,我们就按人均150个好友来设想,是否可以在用户发生某些动作之后,针对他的所有好友都写入一条信息,所能解决的是,信息是在用户成为好友时点之后写入,用户可以删除好友的活动信息,不影响其他用户的显示,在显示时查询效率要高很多,但是负面效应也十分明显,一个用户的动作有平均150个写入,对于数据库来说开销也非常大,我们想想在这样的设计下,是否可以提高性能。 首先看数据库设计,我们要把信息表和信息与用户的对应表分开,我们上面定义的数据结构保留,我们定义它的表名为Event,我们再新建一张表EventUser,结构如下 ID //主键 EventID //Event表的ID FriendUserID //好友的ID CreateTime //消息创建时间 对FriendUserID做索引,当用户发生动作时,首先将动作信息写入Event表,之后查找用户的所有好友,将EventID、好友ID逐条写入EventUser表,当要显示自己的好友活动信息是,查询EventUser中FriendUserID等于自己ID的信息,并和Event表做一个Join查询就可以了。 进一步提升性能的方法,将Event里的信息缓存,比如用Memcached,EventID做为Key,内容做为Value,这样,查询EventUser是就不用Join Event表,而是从缓存里读取,由于要记录给每个好友的信息,所以EventUser会变得非常大,平均要比我们最初设计的数据容量大150倍,我们对EventUser表做水平切分,根据用户ID做Hash算法,基本上能均匀的分配到所有的表中,至于EventUser水平切分的算法还有多种,根据实际情况来定,总的来说就是把数据分摊掉,同时EventUser里的数据可以不永久保存,做定期删除,可以保持数据容量在一个合理的范围内。 对于用户动作之后的数据写入,可以采用异步的方法,在发生动作时,抛出一个消息,由另外一个线程在做写入操作,如果对每个动作平均150次的写入仍存顾虑,我们可以针对每个用户开出一块内存空间,或是缓存,里面保存最后50条最新的好友动作,并在每条记录里做一个持久化标志,当有50条信息都标志是“未持久化”时,做一次数据库的写入,然后把信息置为“已持久化”,这种非实时写入的方式,可以提高一定的数据库效率,显示时,先从内存中取出,再查数据库。 还有一些问题,对不不同消息类型的处理方式不同,比如用户修改个人资料,并不是每次发生这样的动作都要做一次给朋友做一次“群发”的操作,如果遇到这个人在短时间内做了多次修改个人资料的操作,就给朋友发出多个消息,会产生垃圾信息,让人觉得很怪异,所以对于这样的操作会有一定的时效性,比如在一天之内的修改个人资料,就是一个消息,这时候的处理是更新,而不是插入。 以上是我对SNS中好友动态功能的设计思路,可能还有一些未想到的问题,还需要认真思考。
写给WEB2.0团队,做SNS的公司
27-Jan-10当抄袭变成习惯,我想说的是,模仿,站长,你准备好了吗? 如果你打算做垃圾站,或者赚点广告费的网站,请不要点击这篇文章,我从技术角度方面谈谈WEB2.0网站的模仿问题。 当投资和流量都不是问题的时候,我想说的是,您真的一帆风顺吗? 拿SNS网站来说,当匆匆上线的2.0,当一笔笔投资砸进去的时候,当流量上去的时候,您的困惑在什么地方? 我做过多个2.0公司的技术顾问,简单的谈谈2.0公司遇到的问题(涉及隐私,我用A B C D代替),这里就不再赘述大家众所周知的页面静态化,缓存和代码安全等问题了,有点技术的2.0公司的CTO都知道这些东西,我们谈点发展之后的问题 A公司: A公司做的是SNS网站,程序是两个毛头小伙子做的,目标直指51,程序开发是一帆风顺,功能也比51牛多了,推广也是一帆风顺(A公司有自己独到的推广方式。但是当ALEXA到2W的时候问题出来了,每天下午4点左右,网站速度慢的惊人,基本上打不开,公司三台服务器CPU100%,让人郁闷的是公司的网络配置方式,居然是双WEB的集群,而单独一台DB数据库。整个瓶颈在数据库,于是我建议做DB的集群,分析了一下数据结构,MD,典型的WEB程序员的作品,没有一点数据库设计规范,功能实现是可以,如果要扩展,不可能,集群基本上是不可能的,怎么办?不能办,于是,一个月的时间修改程序,数据结构基本上换了一遍 前期砸进去的几十万打了水飘,用户走光了。 结论:WEB2.0前期设计的时候不应该只考虑功能,应该认真考虑一下底层和数据结构了。 B公司: B公司也是做的SNS网站,程序是3个人开发的,CEO是某名牌大学的经济学硕士,有点知己网的味道,又有一些特色出来,说实话,公司的潜力不错,CEO 有很强的运作能力,感觉前景不错。系统架构还行,但是—但是系统崩溃了,why?系统没有考虑到用户有个海量的说法,文件也有个海量的说法,用户的相册,图片全部存贮在WEB服务器的一个分区上,每个用户一个目录,而打开性能监视器,磁盘的IO高的惊人,基本上无暇响应。众所周知,文件系统也是一个数据库,单独大文件无所谓,关键是整个是300多个G的零碎文件,大量的读写操作,系统崩溃,数据丢失,文件系统的一个链断了,用户数据全部丢失!!!这是一个非常沉重的问题,系统整整停了一个月来做数据恢复(单独文件很容易,但是海量文件目前还没有一个软件能组织起来软件架构)。解决方案:修改程序架构,做分布式文件存贮(程序修改用了8天,但是文件转移却又用去了将近一个月),20万用户损失殆尽 结论:WEB2.0前期的设计应该有应付海量存贮的考虑,整个涉及了程序架构的修改,前期规划不好的话基本上思路一条。 C公司: C公司是一个值得尊敬的公司,CEO技术出身,和比尔盖茨一样,大学未毕业出来做网络,01到03年做短信狠赚了一笔,后来做的小项目也小有所成,说实话,我很佩服。公司做的是校友方面,但是更偏重myspace风格,注重个人主页,推广方面也下了大手笔。系统崩溃的原因其实很简单,由于采用的是微软的 SqlServer,而微软直接就告诉了我们,SQLSERVER不支持集群,他们的数据库超负载,100%就没有下去过,只能横向增加配置,采用了4路 4核CPU系统,但是系统还是崩溃了… 高互动注定了高负载。解决方案:现从基本入手,解决掉几个程序耗能大户,对数据库采用横向切割,将用户每10万进行分组,同时对数据库系统进行散列,将多个表垂直分割,同时进行文件分组,解决问题. 因为修改了数据结构,程序也基本上大动了一下。好在系统没有出大错,损失不算很大,不过对用户体验造成了很坏的影响。 结论:WEB2.0前期设计应该有良好的散列考虑,程序应该能有配合的扩充性,符合数据库的扩充 D公司: D公司是一个各个方面做的比较好的公司,做了CDN加速,图片也独立分出了N个服务器,数据库不错的一个,(CTO是个数据库专家),系统崩溃的原因在于 WEB,按道理说WEB很容易做集群的,但是发现集群并解决不掉问题,他们的集群只允许做4台的WEB集群,但是4台都当掉了。仔细分析,找到原因,我估计整个也是大部分CTO最容易犯的一个错误,或者说他们根本就想不到的问题,就是WEB上传的问题,上传的时候由于时间的原因,线程是保持链接的,300 个线程就可以把一个WEB Server当掉了。解决方案:这个最简单,把上传和其他耗能大户分离出独立出来。程序改动不是很大,但是之前半个月速度满对用户体验的损失也不可小视。 结论:没有什么结论了,毕竟有海量访问经验的CTO不多,也就是那几个大站的。 总结:不是泼冷水,模仿其实是很容易的,随便找几个WEB程序员就能做到,并且很简单,速度可能还很高效,因为WEB2.0无非就是跟数据库打交道,会操作数据库就会做。但是真正做大并不容易,因为能应付海量访问的程序并不简单,现在的程序员都太自命不凡,其实真正有经验的并不多,不要相信一个月薪5K- -10K的程序员能给你多大的惊喜,能应付海量访问的程序员不是那个价格。 如果您想做2.0,想做大,有几个个建议: 一、找DBMS的专家设计好数据库,大部分程序员都不知道分区视图,数据散列,数据组的概念 二、设计好程序架构(这个其实不难,有个高人指导就行了),保持良好的扩展性,成本考虑可以找兼职的系统架构设计师做好系统架构,确定将来的发展瓶颈。 三、考虑好文件存贮的问题。文件存贮的技术含量看起来很低,其实是很高的,可以考虑反向代理的方案。文件存贮出问题了,站点基本上就完蛋了,不仅仅是RAID的问题和存贮服务器的问题,不过道理倒是一点就破的 四、中国国情考虑,这个最致命,需要考虑电信和网通的问题,CDN并不能解决所有问题。互动性的东西并CDN并不是很有效。最关键的是,现有的双线机房遇到DDOS攻击基本上都会当掉,原因很简单,双线机房都是私人机房,本身就不会有太高的带宽,随便攻击一下就可以D掉(顺带提一个笑话,我知道一个双线机房的老总总共1G的带宽却买了4G的金盾墙,很简单800M的攻击就可以搞定)。 五、网络延迟的问题,这是分布式系统必须要考虑的,程序要能容忍0到100秒的数据延迟的功能,也就是同步的问题。不要小看这几十秒,问题很大的,如果你的站点有交互式功能,比如即时聊天,你可以想象一下是个什么结果。对于即时聊天的东西,可以用反向代理来解决(成本较高)。但是对于留言和评论的影响不大,但是如果系统为了健壮做了缓存和静态化的时候,这个东西可能就是灾难性的了。 六、分散你的程序,如果你没有太多的资金构筑动辄百万的服务器,建议把功能分散开来,比如相册一台服务器,留言一台服务器 七、看好你的程序员,如果没有很好的激励措施的话你的程序员很容易写出敷衍性的代码,而这个可能就是将来的大患,程序架构定下来后要修改可能就要费牛劲了。最好你的CTO能对你100%的衷心,100%的负责。 八、文件同步的问题,这个问题可能你觉得没有必要,如果你看一下网通和电信的TTL就明白了,同步要支持续传,并且不能是持续的,否则你的成本会高出N倍,不要期望能通过你的软件实现,交给你的程序员吧,把上面的话告诉他他就知道怎么做了。 九、最狠的一个问题了,也是吃亏最大的问题,不管您跟网警的关系多好,看好你的用户,审核好你的东西,一被停机可能就致命,本人就吃过N次亏。 十、最后,祝各位站长一番风顺,大展宏图。 谢谢站长的分享!
你《奋斗》了吗?Life always need change !
24-Jan-10关心国风网的朋友们,大家好,我是国风网的技术总监(CTO),这段时间一直很忙,之前“居安”(CEO)可是再三叮嘱我每周来国风网博客园更新内容,今天终于有时间停下里写点东西,跟大家分享自己的一些心情和收获。 今天博客的标题叫做:“Life always need change!”,大家都看过《奋斗》吧,这是我比较喜欢的一部电视剧,不是因为它是青春励志剧,也不是因为它的故事情节,只是很喜欢其中的主题思想和些许话语片段。说实话,在我看来《奋斗》中的主人翁们一点也不够奋斗,本剧标榜的80后也最不像八零后,就这方面而言,我作为八零后庞大队伍中的一份子,很不与其标榜所共鸣。 但是它其中的好些片段是确实令人回味,大家还记得以下这段对话吗?徐志森跟陆涛说: 视频:“小巷思维” 我年轻的时候喜欢刺激的运动,去美国第一年我就参加了一个射击俱乐部,刚开始的时候我就选了一把大的手枪,开始练习的第一枪啊,砰!耳朵嗡嗡的响,连手都麻了。后来我发现怎么的?是因为我没有戴耳机。 后来我发现这些俱乐部的人啊,他们似乎都有一种愤怒,而这种愤怒需要在不停的射击中去发泄。他们为什么有这种愤怒?我观察的结果,是因为他们被拒绝而愤怒。据我所知道,在美国参加这种俱乐部的人,都是中下阶层的人,那个阶层的生活还缺乏回旋的余地啊。就好像在窄巷当中行走,不是进就是退,甚至无法转身。 后来我去了华尔街,这里的成功人士多了,各有特点,可是我的注意力并没有摆在那些成功人的身上,而摆在了少数 几个失败者的身上。我就发现,这些失败者,尽管他们来自各个不同的阶层,但是他们共同沿用了一个特点,那就是小巷思维,不是进就是退。要么就生意成功,要么我就放弃。 没办法,由于在这个小巷当中啊,不是进就是退,所以很容易造成这种压力,这压力一多了,就容易造成失控,一失控,就离失败不远了。后来我就想 啊,到底是什么把人推到这个小巷当中?答案是,人们自己啊。这人们总是想着用最快最好最省力的方法来达到这个目的,结果在不知不觉当中,就走进了小巷当 中。你看,我们现在走在球场上,我们看看四周,你不觉得在这里走,好像我们往哪里走都可以啊!有时候,我们要停下来看一看,我们是走进了小巷当中,还是在一片平原之上? 这段视频和对话我看了好几遍,觉得其中蕴含了很多的道理,甚是感触。 接下来,我想跟大家说说国风网的今天、昨天、明天。 昨天,也就是过去的1年内,我们经历了也收获了很多,起初和VC擦肩、与投资拥抱,折腾了好一阵子,天天跟他们玩“过山车”,决策跟心情一样起伏不定,最后的体会是“和VC谈判心理要平等”。接着是紧张的组建团队,由于前面引入的团队成员出现了一些问题,最后我们干脆釜底抽薪,实行“大换血”,开始对外招聘专业人员,在磨合和探索中开始各项工作。那段时间,我给它的定义是:摸着石头过河。 今天,今天的我们依然不是很强大,但是我们有了自己的团队,成立了编辑部、策划部、技术部、运营部,虽然人员不是很多,但是我们都有一颗火热的心和创业的激情,各项工作正在如火如荼的进行中… 明天,也就是接下来的任务,需要的是专注的投入,干好一件事,做产品,做出产品,做好产品,做出用户满意的产品。计划是在2010年5月份做完内测版,8月份正在上线,到时候会召开新闻发布会,整合我们各方面的媒体、中式、文化资源,不求一鸣惊人,但求安稳出世。 我们感谢每一次关注我们的人:) 之所以引用《奋斗》的这段视频,是想与君共勉:时常记得跳出小巷思维。 人有时候得在百忙之中停下来,冷静的想想,我们是在一个小巷之中还是在一片平原之上呢?我们究竟想要什么?想给用户去提供什么?什么是我们擅长的呢?什么才是国风网最可以给用户提供的?我们要做一家什么样的公司? 亲爱的朋友们,让我们带着这些问题一起和国风网成长吧 !!! 我相信只要解决了这些问题,国风网的明天将无与伦比。同时要坚持和贯彻党的”三大代表”,一如既往地深入网民,深入群众,为追求“物从简,心至奢”的生活方式,实现”全球首家SNS国际中式生活社区+国内最大的中式产品交易平台”的伟大目标而努力奋斗。 Life always need change ! New chinafung is coming ! 如果想做一只凤凰,就不要选择鸡的方式生活!希望各位持续关注:) 爱你们的国风网“奋斗”团队 !
B2C是否需要社区?需要什么社区?
24-Jan-10行内很多人都非常关注社区与电子商务的结合,也有很多B2C尝试做自己的社区/BBS,大多数都属于(社区)经营濒临倒闭的状态,效果并不算理想。很多人也疑惑:B2C是否需要运营自己的社区?需要运营什么样的社区?怎么样去运营?分享了“飞扬新锐”的观点,但是我也想结合国风网(B2C+SNS)的运营模式,补充一些。 1. B2C为什么需要社区? 社区有很多点B2C先天不足的优势: 用户忠诚度和粘性:用户对社区平台的依赖,用户粘性非常强; SEO/流量:有内容结构,便于SEO,好的内容也吸引流量; 重复购买:用户经常来逛社区,她买东西自然是而然的事,重复购买也是自然而然的事; 口碑分享:通过购买者真实的口碑分享是最有效的营销方式,社区可以体现得淋漓尽致; 降低营销成本:社区获取流量的成本比B2C低很多很多,适合的Marketing策略,导入足够多的流量不成问题; 还有很多理由…… 所以,顺理成章,大家觉得B2C是非常需要和社区结合的,但是,事情并不像大家想象的那么简单。 2. B2C为什么难以做社区? 中国有多少运营成功的社区?有多少专业人士,专家投身于此,但无疾而终?运营一个社区需要多长时间才能成功?从一个广义的角度讲:B2C做不了社区(我们通常理解的社区),以上几个问题足以说明。 做社区比做B2C难很多,没有运营高手,基本没戏; 做B2C快一点1年可见成效,做社区3年未必见成果,时间是B2C耗不起的; 如果社区做起来了,对B2C销售没有用,全都白做了。 做社区需要的是人和方法,事实证明:光有钱未必能做起来社区。 3. B2C需要什么样的社区? 这是我讲的要点,B2C的目标是卖货,所以B2C的社区的目标是一致的,促进卖货,包括且不局限:促进销售、提高客单价、口碑传播、重复购买、提高转化率等等。如果B2C的社区不能实现如上目标,建议重新调整或砍掉,从财务投资者的角度看,如果社区不能对B2C的增长有所帮助,对社区的投入就是毫无意义。如果CEO能超越财务投资者的眼光,那所作的事情,就一定能在B2C的经营数据上有所体现,否则就是自欺欺人。 简单的说:宽泛的社区对B2C是没有帮助的,只有社区的经营是围绕B2C为主干,讨论的话题和购物有关的,用户是B2C的消费者或潜在消费者(而不是乱七八糟的流量),这样的社区才有意义。 总结一句话:B2C社区存在的目的只有一个,就是促进销售。 4. B2C社区如何运营? 第一,定位是核心,应该与B2C目标一致,社区应该是B2C的购物社区,促进购物者交流和分享,潜移默化影响潜在购物者的购买决策。运营过程中与定位无关的事,统统不要做,比如灌水刷分之类。 第二,打通分享利益驱动,但凡引导消费者参与B2C目标有关的事,都应该与利益机制捆绑起来,给予消费者以优惠。举了例子:买过东西的人分享评论或购物体验,应该给予积分奖励,积分的积累可以转化成优惠券或现金抵扣,变成促销来消化。强烈不推荐免费的积分换礼,B2C一定将所有的资源(积分也是种资源)统统变成促进销售的手段。 第三,活动策略与目标一致,你投入每一分钱都应该产生对销售有帮助的事,有几种常见的套路: 逢年过节发优惠券(优惠券不是轻易可以得到的,否则就没价值了) 新品发布预告,在服饰B2C运营是最有效果的; 晒单或分享购物体验,激发用户的口碑,这是经营的重中之重; 讲品牌:顾客与B2C的故事,并且尝试如何让用户去主动分享到更多的精准群体的社区传播; 互动营销:拍卖、猜价格、秒杀、挖宝、抢楼等。 活动的要点在于:一切与目标一致,和促进销售不相干的活动,一律不做,否则你就不是个纯粹的B2C社区了。记住,社区是提供给消费者很多稀缺资源(更大的促销和优惠),保持他的神秘感和不定期的惊喜,千万别做成,消费者买东西前去社区领张优惠券,买了东西走人。 第四,将社区的运营体系绑定CRM,尤其是和EDM进行结合,将推力和拉力运营得当,将爆发惊人的力量。 5. B2C+SNS怎么加? B2C+SNS还是SNS+B2C ? 这也是一个需要明确的一个问题。我个人比较认同:社区化的、垂直类的电子商务。不做纯粹的SNS交友社区,也不是简单的把线下关系搬到线上来维护,更不希望像现在的SNS社区,貌似离开的游戏就活不下去一样。为了促进BeC的销售,我们需要想各种方法和创新,不人云亦云。要做紧密的、针对性的B2C+SNS结合。比如:为什么现在的评论系统只能是收货后评论,而且还只能评论一次?好多人买完回家使用发现有问题,结果不能退还还不能评论。如果我们有一个类似Twitter的功能,能直接对商品进行评论,即时的评论,而且还有一帮人评论。再加一个向好友打听,求助专家等待,何尝不可以去试试呢。 … 创新是灵魂!!! 觉不人云亦云!!!
“B2C+SNS”的三个可行性分析
26-Dec-09今天看到一篇文章,正符合“国风网”的理念:B2C+SNS 分享如下: 1、已经具备的网上购物诚信基础和交易条件 众所周知,大多数SNS用户都是实名注册活动的(当然社交网络的价值和人气跟实名与否关系不大)。这就给商家在服务过程中有更强的对象感(如同互联网之于广播,经营者更能感知接收者的存在),和现实面对面交易趋近。传统的电子购物网站,消费者毕竟有点神龙不见首尾,不一定方便商家进行全方位的服务,包括个性化服务。 实名比网名的方便具体体现在,比如,用户不需要另填一次付款人姓名,不论收换退货还是开发票,都统一方便;比如,商家一开始就通过用户个人资料知道了所在大概地理位置,方便提前调度物流;比如减少无效的、虚假的甚至恶意的订单。 2、捆绑SNS粘度以增加回头客 传统的电子商务网站的弱点是,用户不能天天上来购物消费,买完就不来了,等二次购买等到何时?可能有些人一辈子在某个网站上仅买一件东西而已。但如果我的朋友和社交关系也在这个网站上,即使不买东西,我还要和他照常聊聊天,留个言,互晒照片,那我就必须时不时上来。 这样,网站就会有常驻人口。而没有SNS,网站就只有流动人口。只有流动人口的网站是无法通过商品传播生活方式的,也很难建立消费文化和固化服务品牌。现在很多电子商务网站,连论坛都几乎没有,可能是怕骂的缘故。但在真实的SNS里,一般人是不会随意骂人的,他会更理性的说明问题。 3、商品作为由头形成讨论,组合商品顾客群 目前的业态是,做资讯的专做资讯,做购物的专做购物,分工很明确。但作为顾客,我上门户浏览了一款数码相机的信息,还上社区看了其他人的评价,然后再找一个购物网站下单,我得起码知道两个网站,才能放心下单。但对电子商务来说,我首先是一个顾客,其次才是网民。 换句话说,我在门户的数码栏目里,看完相机的介绍后,顺便下单有何不可?我在豆瓣上先看书评,再买书,然后再参与到书评讨论中不是更方便?思想归属感不是更完整?这样,以商品或产品为主题,如同贴吧,形成一个圈子,我相信,该款产品的优劣特点,会因为产品社区的存在而被穷尽的。这对SNS用户来说,首先起到了导购和评测的作用,其次因为对某款商品的喜爱,更多人因此成为同好,SNS的整体粘度本身也会加强。现实中,购买了同一款相机的人即使扎堆,也不过三五人,但在网上,可以是所有。 SNS有个杀手锏就是Feed动态更新:像速记员又像网页快照,直播着社区动态,顺带把SNS各功能都挖带了出来。如果一个SNS捆绑了电子商务,那么某某送某某一条项链就不是虚拟的了,是真的送实物礼品了。花的不是虚拟币而是人民币,没有开玩笑。我想这才是真正的口碑——能带来更多真实消费的口碑营销。而且,质疑SNS APP应用的持久性也要另做观察了。 传统电子商务网站如果还不知道“电子”的特点,只是克隆现实中的超市和商场,那比电话购物电视购物先进不了多少。顾客群永远在办公室、社区、帖吧和QQ群里,而不在你的网站上。 总结: 1、已有电子商务网站可以嫁接SNS,SNS也可以增加电子商务; 2、不一定从整个新架构开始,SNS开放API,可以考虑电子商务了,而不是只做娱乐APP; 3、“B2C+SNS”成立,“B2C+传统社区”也成立; 4、C2C不太行,用户之间交易如果出现问题,SNS的氛围就会向负面转变。B2B不太可行。C2B也可行,那其实就是UGC。