湾区日报文章第3辑

2014/08/26 第21期

Stripe第一个版本长什么样

看完后,印证了Reid Hoffman (linkedin co-founder)的一句话:

If you are not embarrassed by the first version of your product, you’ve launched too late.

推倒重来,赚几百万

文章讲了一个故事:作者如何做艰难的决定,放弃做了两年的东西,重头来过。最后做出几百万价值的产品。 他也总结了一开始自己的团队犯的错误,我觉得也是很多创业团队会常犯的错误:

No product mindset / No clear vision / No knowledge of our industry: 一帮程序员,埋头coding,瞎做。
Bad Software Architecture:一开始代码写high了,毫无章法,最后要再加新功能,就很困难了。往往每加个新功能都要动到代码的每一部分,然后回归测试变得越来越困难。
No Marketing:现在的世界不是写好代码就能立刻卖钱的世界了。现在是2014年,不是1999年。
Magical thinking that the next feature is the ONE:乱加功能。可能Steve Jobs传记之类的书看多了,相信自己不用做用户调查就能做出用户意想不到功能,然后瞬间走红。
Didn’t trust our own product:这是很重要的一点。自己做的东西,自己都不敢用。那其他人更不会用了。

Docker和Vmware全面合作

去年年初,去参加一个golang的聚会。Docker的创始人/CTO Solomon Hykes现场demo了docker。那时候,docker还不是那么有名;那时候,他们公司还不叫docker。当他demo完后,全场振奋。

今年去参加了DockerCon,真是感到短短一年,docker成长了许许多多。Google、facebook、ebay等大公司也都纷纷把docker用在自己production的环境里了。

Whatsapp月活跃用户突破6亿大关

很多公司都把月活跃用户(MAU,monthly active users)当成一个重要指标 — 尤其是Facebook(有人不知道Whatsapp被Facebook收购了吗?)。每次面试Facebook出来的员工,开口闭口都是MAU;每次问他们为啥要离开Facebook,答案清一色都是希望能对组织有更大的贡献(题外话了)。

2014/08/27 第22期

Box如何保持公司凝聚力

这是公关软文,主要是要推销做问卷调查的产品:murmur。不只是Box,比较热门的startup(比如airbnb,pinterest等)也都用这款产品经常对内部员工问卷调查。10人以下的团队很好有凝聚力,因为每个人都认识其他人,有什么事情都好商量。一旦团队扩张到几百人了,管理起来的复杂度就很大,跟写代码一样 — 读研究生时候写paper造数据用写完就扔掉的代码很容易写,但放到production环境里让100万人同时用的代码却不好写,因为这种代码要维护 — 公司里几百人维护起来不容易,每个人都有每个人的想法。要保持凝聚力,就要时刻了解员工的意见。

Facebook前20号员工今何在

Mark Zuckerberg,还在Facebook。
Dustin Moskovitz,创办了前面介绍过的Asana。他是自学编程的,工作狂。
Eduardo Saverin,移民新加坡了。他就是“The Social Network”电影里那个拿鸡肉喂鸡的。。
Steve Chen(陈士骏)。忘了在哪里看的了:他在facebook的时候休假了几周,回来上班后就提出要离职;交出公司的笔记本电脑后,发现他把硬盘给格式化了。不久后,Youtube上线了。如果他坚持到facebook上市,他经济方面的收益可能也不比Youtube卖给google后得到的少;但创办youtube那种经历和荣耀确是留在facebook所不可比拟的。

外国人如何在硅谷拉到风投

这是一个印度人的自述 — 但严格意义讲,他这种还不算开“最难”的游戏模式,因为他原来在Zynga工作,cofounder里也有美国人。

现在创业公司越来越多。进入YC之类的startup incubator已经变成拉到风投的入学考试了。

从John Doerr身上学到的12件事

John Doerr是湾区最负盛名的风投人物,在很多传奇公司还很早期的时候就投资了他们,包括Netscape,Symantec,Sun,Amazon和Google。

当然,这篇文章有点个人崇拜、捧臭脚的味道。但文章里最赞同的一点:We believe that ideas are easy, execution is everything. 吹牛的,或轻易鄙视这个鄙视那个的人太多了,能扎扎实实做事情的人还是太少。

Amazon用10亿现金买了Twitch

湾区日报第一期讲到了Justin.tv关站,因为他们要全力搞Twitch。不到一个月,Twitch就卖了。

《The Launch Pad: Inside Y Combinator》里对justin.tv以及其创始人Justin Kan有详细描述。当时YC选上Justin Kan他们团队,不是因为他们的idea,而是因为他们的人 — 人比idea重要。他们中间也换了好几个idea。

2014/08/28 第23期

Linkedin靠这套幻灯片拉到风投

Reid Hoffman自己贴出来并详尽解释的幻灯片。 那个时候是2004年,facebook还没进入人们的视野。社交网络里,Friendster有1千万用户,MySpace有250万用户,orkut有130万用户,linkedin有90万用户。这四家,Friendster已经不在了(网站不稳定,公司高层自己都不用自己的产品),MySpace还在(还有谁用?),orkut在下个月30号要被Google关掉了,LinkedIn成为了广大北美猥琐男口中的FLAG中的L。

强弱对调,IBM跟Apple差距有多大

很多人提起IBM和apple,都会想到1984年apple在超级碗上石破惊天的广告。广告里大屏幕上的给人洗脑的老大哥就是IBM。以及,Steve Jobs对IBM竖起中指的照片。

1984年,apple一年赚18.9亿,IBM一年赚459亿;2013年,apple一年赚1740亿,IBM一年赚997亿。而现在IBM的总员工数(40多万人)是apple(8万多人)的5倍多。算revenue per employee的话,apple是ibm的10倍之多。

冰桶挑战为何会那么火

这篇文章总结得不错。

Ensure it’s something everyone is capable of doing
Ensure it’s something everyone’s friends would want to see them doing
Ensure it’s something everyone is proud of doing
Ensure it propagates virally
Add a bit of guilt and stir

很多平民百姓也争相冰桶挑战了,尤其是Facebook上的印度同事们。。。

Uber内部手册:如何干掉竞争者Lyft

这样的故事在中国人看来可能不算新奇。想想3Q大战、3百大战,以及各种水军诋毁对手的,Uber的手段也太“礼貌”了。几年后,当Uber统治了市场,没人会记起当年的这些事情的。

成立3年,Snapchat估值100亿

尽管还没有清晰的盈利模式,才成立3年的Snapchat已经估值100亿了。CEO/创始人Evan Spiegel是1990年出生的。Snapchat是他在Stanford的一个class project。跟(几乎)所有后来变成巨头的公司一样,这个project一开始就没得到老师同学们的祝福,一路有人唱衰,依然一路估值高涨。

年初的时候,在UCLA有个hackathon。几个同事去那里设了个摊位宣传,吸引参加hackathon的孩子们。Snapchat的Evan Spiegel上去给了个talk,一会儿引用小布什说的话,一会儿引用林肯说的话,一会儿说要哲学地思考。几个同事一路开车回来,一路骂 — 这23岁的小孩真把自己当总统了?

2014/08/29 第24期

git pre-commit的插件管理

来自Yelp的工具。其实重点不是要介绍这个yelp的工具,而是鼓励大家用好git pre-commit。

git pre-commit是提高团队代码质量的好东西。Code review的时候常常有人会挑代码风格的毛病(代码缩进,trailing white space,变量名等) — 代码风格的毛病应该是机器来挑的,而不是人。用git pre-commit的话,可以装一些hook来检查各种代码规范(比如flake8 for python,gjslint for javascript等)。在commit代码之前,git pre-commit里装的各种hook能自动检查代码规范(也能自动在本地跑一下测试),确保code review的时候,都有一个统一的代码风格。

你不会面试码农

最同意这点:Don’t hire for what they can remember in an interview room 凡是可以突击准备的面试题(就像考托福、考GRE一样),都不能考察出来面试的人的真实水平的。

做app,先做iOS最后再做Android

这篇文章也算代表了一种观点。比如最近的Instagram Hyperlapse也是只有iOS版。等火到一定程度了,再推出Android版。的确,很多公司同一产品的Android app会比iOS app的功能差很多。

不过也有公司是iOS和Android的app同时开发,同步开发,更能一致。比如Dropbox。上次在Dropbox听过一个talk,是他们mobile的一个工程师讲的他们如何保持iOS和Android app开发同步的。其实有点像pair programming,两个工程师做同一个功能,一个做在iOS上,一个做在Android上,开发的时候可以交流经验、心得;而且有时候还能从对方的平台得到灵感、启发。

微软在移动市场放下身段

现在微软也开始在其他人的平台发布app了,比如Chrome, Android, iOS。。而且都还挺受欢迎的。微软新的ceo还是挺务实的,能赚钱就行,不用跑在windows上也行。

其实微软早年也是给Apple的电脑写程序的。有个1983年的视频为证:《Steve Jobs Hosts Macintosh Software Dating Game with Bill Gates》。

Instagram挂了2小时

Instagram最近挺红火的,推出Hyperlapse app,声势浩大。今天下午(美国太平洋时间),网站和app全面访问不了。网站很快就恢复正常,但app挂了将近2个小时。他们官方twitter更新了消息,告诉用户他们出现技术问题(现在那条tweet已经删除了)。我的猜测:可能某个很关键的infrastructure component(比如memcached、postgres或者zookeeper之类的)出了问题,由于人为的操作失误或今天release新代码引入了bug之类的,才会同时影响到网站和app(api的部分)。

挂了2个小时是挺严重的事故。一般情况下,服务的SLA(service level agreement)都要求99.5%的时间服务是可以访问的(有的更严格会要求99.95%)。以99.5%算得话,这意味着一个月最多只能挂掉3.6个小时。今天挂了2个小时,那这个月其他时间就只有1.6个小时可以出问题了:)

碰巧的是,3天前,StackOverflow网站也挂了几分钟,我当时正好截图下来了(留做纪念?):https://nfil.es/a/tptynY.png/

2014/08/31 第25期

经常prototype,改变你一生

这是Pulse的创始人写的。Pulse后来被Linkedin收购了。几个从Linkedin过来的同事今天都在转载分享这篇文章。 文章的观点很好:prototype不只是指工程、设计上快速做出原型;生活中各种各样的事情都能够通过prototype来得到其他人的反馈,验证自己的想法。前面几期有分享过的,producthunt的创始人就是通过20分钟的prototype快速验证了这个idea靠谱,才开始长达2星期的写代码实现。

Instagram如何从AWS迁移到FB的数据中心

最近好像提到几次的instagram:昨天instagram挂了2小时,Scaling Instagram。

今天这个博客文章是讲他们怎么从AWS迁移到Facebook自己的数据中心的。挺曲折的一个过程:由于fb内部的ip跟EC2的ip冲突,他们得先从普通的EC2 instaces移到VPC(这也是一件麻烦的事情),中间还自己做了一个动态的iptables。整个过程用了1年时间,但中间网站/app没怎么挂掉。要知道,Instagram的运维做得是相当好的,投入很多精力去做工具;要是其他比较差的团队,恐怕得把网站关上一段时间才能迁移好。

Startup要成功,得先有清晰的目标

这是即将上市的HubSpot的CTO写的。

文中举了DuckDuckGo的例子:先是定了每月1亿搜索的目标;然后定了取得1%的搜索引擎市场份额的目标(似乎他们还没达到这个目标),一旦达到这个目标,各种好事就会接踵而来(比如媒体报道)。顺便说一下,DuckDockGo是用perl写的。你还知道现在还有什么网站是用perl写的吗(其实还有不少)?

采访Quora的CEO

对下面这个问题的回答,我觉得他还是处理得蛮好的 —

Are you worried that (注:特指在网站放广告) might turn users away?

We’ve been very open with people from the beginning. This is a company. It needs to be sustainable. We want Quora to last forever and in order to last forever its going to need to have revenue. One of the best things about ads is that you don’t need to exclude anyone. So Netflix can make a lot of money off subscriptions, but in the process, most people in the world can’t use Netflix because they can’t afford to pay for it. So we think ads are pretty well aligned with our mission.

要让自己提供的服务对所有用户免费,那么在网站上放广告是很普遍的做法,比如Facebook,Google,Twitter这样的公司,本质都是广告公司。

让重视细节变成一种习惯

如果你关注《湾区日报》几期了,你会发现第一条链接一般是最新的新闻。但今天第一条链接确实一篇奇怪的"文章"。作者是Erik Spiekermann,著名德国字体设计师。

简单讲,文章传达的中心思想:重视细节应该是一种习惯。

下面的话,应该很多人会有共鸣:

"Unless you are obsessed by what you’re doing, you will not be doing it well enough. Typog­ra­phy appears to require a lot of detail, but so does music, cook­ing, car­pen­try, not to men­tion brain surgery. Some­times only the experts know the dif­fer­ence, but if you want to be an expert at what you’re mak­ing, you will only be happy with the result when you’ve given it every­thing you have. I admit to being obses­sive about my work, but I refuse that to be clas­si­fied as weird and unusual and obses­sive­ness being lim­ited to cer­tain disciplines."

2014/09/01 第26期

4个月弄一个startup

这是underdog.io的故事 — 一个类似Hired的招聘服务。他们有两种用户,一种是找工作的人,一种是要招人的startup。这种服务需要网络效应,越多人用越好用。但问题是,网站刚上线的时候是没用户的。有点先有鸡先有蛋的问题。怎么争取第一批用户?整个故事里,我最喜欢的部分是他们在上线前提出了三个(简单的)猜想:

If we offer a frictionless job application process, people will sign up.
If we did a good job curating candidates, companies would pay us.
If we charged a monthly subscription fee instead of a traditional recruiting fee, companies would appreciate that.

然后他们(很幸运地)在hacker news和product hunt上小红了一把,有了第一批用户,然后可以验证他们一开始提出的三个猜想。

在湾区开公司的好处

湾区钱多,好拉到投资。
触手可及的第一手干货。虽然有了互联网,大家可以自由地查阅学习许多知识。但面对面与活人交流的收获会更大。在这里有各种技术类、商业类的聚会,可以看到听到见到各种传奇公司、最新技术的掌门人;可以有各种机会去各种火爆公司串门,学到靠谱的经验。当这些东西出现在网上的时候,很多都已经变得陈旧过时,或者被写作的人曲解了。
有冒险的文化。除了在个别养老的大公司比如Oracle、思科之类的,基本上你在一家公司呆2年都算比较长的时间了。跳槽、辞职是常事。
士气。做startup很重要的是士气。得有一种动力能让你每天工作10几个钟头。文中提到他在中西部的时候,给别人demo他做的东西,别人都不懂,径直走开;他到湾区第一天,给一个朋友demo他做的东西,他朋友很high,还帮他推销给其他朋友。这种(相互的)鼓励是很重要的。

硅谷的牙刷测试

大鱼吃小鱼,现在都流行看长远的利益:"When deciding whether Google should spend millions or even billions of dollars in acquiring a new company, its chief executive, Larry Page, asks whether the acquisition passes the toothbrush test: Is it something you will use once or twice a day, and does it make your life better?"

Lyft的故事

周末了,读一下长文吧。估计是最近Uber使了太多手段,把Lyft逼急了只好在媒体造势。 很多人也是只看到了Lyft现在的风光,以为这又是另一个一夜成名一夜暴富的故事。实际上,在做Lyft以前,两个创始人已经做了6年的Zimride(类似的rideshare服务)。所以这篇文章的标题是:Zimride’s Long Road To Overnight Success。

MSN Messenger退出历史舞台

中国人民对MSN的感情可能比美国人更深吧。

没有什么东西是不朽的。微软也是一盘好棋下坏了。05年那阵子,感觉所有(自认为高大上的)人都在用MSN Messenger,都在用MSN space。那时候点开好友头像旁的小点看好友的MSN space,就是现在说的“专治强迫症头像”。

过去几年,有很多不错的产品纷纷下线了:Google Reader,iGoogle,Google Wave,MSN Space, MSN Messenger,drop.io,del.icio.us(现在那个已经跟以前的不一样了)。。。现在大家用得很high的各种热门产品/线上服务,谁知道几年后还在不在?

2014/09/02 第27期

statsd:方便收集/监控服务器的各种指标

当你的系统变得很复杂后,后端服务器就需要有很好的监控和报警机制。监控的东西无非就两种:counting and timing。

counting:比如api调用的次数,disk I/O的次数,异常的次数等。
timeing:比如api调用的平均时间等。

这里介绍的statsd是很好用的收集/监控服务器指标的工具。它是一个daemon process,nodejs写的。你可以用各种语言来写客户端,发送指标到这个daemon process。它就是很好地支持了counting和timing的数据的搜集,然后可以用Graphite或Librato把数据可视化出来。

根据我的经验,所有的网络通信都要监控,尤其是到第三方服务的通信,比如google maps, twilio等。第三方服务是会挂掉的,你不想在他们挂掉了的时候,花大量时间去排查(湾区工程师一小时薪水至少$40),然后得出结论不是你自己的问题而是别人的问题。

比如我们用python自己写了一层statsd的封装,可以很方便地收集某段代码调用的次数、时间、异常的数量:

with count_time(‘google.maps’, 0.01):

lookup_address_from_google_maps(address)

这个例子中,我们监控了跟google maps的所有通讯。它会发送三个指标到Librato可视化出来(如果异常,会发alert给oncall的人):google.maps.count(调用次数),google.maps.time(调用时长),google.maps.exception(如果有异常的话,统计异常的次数)。0.01是sample rate,也就是每100次调用,我们只记录一次的数据(性能上的考虑)。

硬件评测网站32岁的创始人退休

自如PK老罗是这几天国内很火的话题。应个景,这条链接也是关于评测的。是美国著名的硬件评测网站AnandTech的创始人写的退休离职信。

这哥们上世纪末(14岁)在GeoCities(中文叫雅虎地球村)架了个网站,评测各种CPU、主板等硬件(这个话题好像上世纪末和21世纪初的几年很火,那时候大家都喜欢玩超频攒机器)。做了近20年的网站,现在有自己的团队,也有一定规模了。32岁退休,这是多少人的梦想啊。当然,他不会真想开始养老了,应该只是想做点硬件评测之外其他的事情,但文中没说。[更新:他要去Apple!]

不知道自如同学几年后,等zealer做大了,会不会也来这么一封信:)

提高产品/设计的品味

在data mining里,一般有讲garbage in, garbage out。或者粗俗地讲,吃什么拉什么。 这篇文章就是阐述这个道理的。

Amazon买Twitch的原因

作为一个工程师,我更(希望)相信这个文章说的原因:Amazon之所以买下Twitch,是为了得到Twitch经济高效的直播平台(Video Streaming Infrastructure)。

Apple在搞iPhone 6的移动支付

很多人都很奇怪,Apple拥有8亿的信用卡号,卖了数以亿计的iPhone,怎么还没搞自己的移动支付?

这个报道说,Apple在跟American Express合作,American Express为小商家提供支持NFC的终端,然后iPhone 6上开始支持NFC,自然而然地就变成了移动支付系统。American Express一直很注重跟小商家的合作(我也有几张American Express的卡,各种优惠打折活动),有非常好的Small business network。即使是大商家,American Express也有很好的关系。比如美国的大连锁超市Costco就只接收American Express的信用卡,不支持visa和master!所以Apple跟American Express合作的话,可以很好地利用American Express手头的资源。文章也提到,visa其实也同意了跟apple的合作。所以应该不止American Express一家。

btw. 以前我很羡慕其他人用Android,可以用NFC扫描旧金山的公交/地铁卡(Clipper Card)查看余额。

2014/09/03 第28期

第一年独立开发iOS app,赚$20万

听起来又好像是一个一夜成功的案例。但主人公当年40岁,15岁开始编程,有一个计算机博士学位,同时又有设计师的背景。 所以说,少年,积累很重要。不要老想着一般要好几年的积累,才能“一夜成功”的。

Gmail的故事

今年是Gmail十周岁。这应该是Google继搜索引擎之后,最重要的面向老板姓的产品了。 跟其他所有伟大的产品一样,这也是一开始就得不到小伙伴们祝福的产品。但推出后,运用饥渴营销(小米卖手机运用得很不错),只允许有邀请的人注册,导致了04、05年那段时间,用gmail账号发邮件是相当高大上的行为。 这个产品解决的问题是当时的平民百姓不会遇到的问题:邮件搜索。当时邮箱一般都只有几MB,邮件不多,根本不需要搜索功能。但公司内部的邮箱会比较大,邮件会比较多,所以那帮工程师也只是想解决自己遇到的问题。Larry Page说得好,“normal users would look more like us in 10 years’ time”。后来gmail推出后,每人1GB的空间,一下子把平民百姓带入了未来世界 — 一夜之间从微软/Yahoo的几MB邮箱进入1GB的时代。当时靠邀请注册账号,真不是饥渴营销,其实是服务器不够用,只能限制用户数量。毕竟google是有自己的data center,一个不被祝福的项目要申请那么多台物理机器,管机器的人也不会批的。

LinkedIn的历史

很多人是这几年才听过LinkedIn的,会以为LinkedIn是比Facebook还年轻的社交网络。

实际上,他们02年就开始做,做了半年后,03年上线。2011年上市。从上线到上市,用了8年时间。Facebook从上线到上市也用了8年;Twitter用了7年。

中国的移动市场大不同

这是一篇App Annie的软文。大意是,中国移动市场(尤其是Android)环境复杂,外国app/公司如果想要进入中国市场,就要首选使用App Annie。这种文章效果会比跳动地侧栏广告好一些。可以把这篇文章当成像托福/GRE作文模板一般,学习一下软文应该怎么写。

9月9号,见证奇迹的日子

很多果粉在9月9号都准备好了肾。

对于Apple的CEO Tim Cook来说,这一天也是很重要的。呼声很高的iWatch会是他在没有Steve Jobs的日子里推出的第一个全新类别的产品。如果成,那apple就真正进入了Tim Cook时代;如果不成,那董事会得开会讨论讨论人事问题了。

2014/09/04 第29期

生成Favicon的工具

现在做一个网站一般要生成一堆不同大小的favicon。iPhone上的apple-touch-icon就有许多不同的大小。这是我找到的比较好用生成favicon的工具,推荐一下。

重新设计Logo要谨慎

品牌的logo不是一成不变的,也要与时俱进,越来越有现代感。最近有印象的换了logo的公司包括Airbnb和Foursquare。但也有公司换了logo后元气大伤,用户的认同感下降了,比如Gap。

Apple回应明星艳照被盗事件

非技术人员常常捕风捉影,一有点小问题,就说整个系统挂了。从这个声明中看,Apple的系统没有被全面攻入,只是一些个人账号被盗(估计被钓鱼了)。

有段时间电话面试的时候,我喜欢先问一些很简单的题目,比如,“某个非工程师慌慌张张地告诉你,公司的网站挂了,你会怎么做?”比较差的应聘者会一上来直接说,要去排查这个地方那个地方的。比较好的应聘者会说,既然是非工程师说网站挂了,那不能太相信他们的话;应该自己亲自看看网站是不是真的挂了(比如亲自打开浏览器访问看看网站是不是还健在)。

LinkedIn的职场图谱工具InMaps下线了

大家要好好珍惜使用自己喜欢的产品的每一天,每个产品都有下线的一天。以前大家用得很high的Google Reader不在了,中国用户用得很high的雅虎邮箱不在了,MSN Messenger不在了。。。

2014/09/05 第30期

kibana:漂亮的ElasticSearch的界面

很多人都在用ElasticSearch,但我发现他们中竟然有人不知道kibana。所以这条链接贡献给kibana。

kibana是ElasticSearch的web UI,写得很漂亮,可以很方便地做一些dashboard,可视化出ElasticSearch的数据。

我们就用Flume把服务器产生的log实时传到ElasticSearch做索引,然后用kibana做界面实时监控。

Twitter的负载测试

看了这篇文章后,验证了之前听闻的Twitter每次release代码都要很长时间(以小时计算;坐我旁边的同事说的,他在twitter工作了几年)。他们每次release代码都要做足performance regression,确保新代码对整体性能没大影响。

Github迁移MySQL数据库的经验

原文的标题是“Making MySQL Better at GitHub”,我还以为文章是要写他们如何定制MySQL的代码,让MySQL在Github的workload下跑得更好。读完文章后发现,其实文章写的是他们把数据库迁移到另一个数据中心的经验。尽管有点失望,但里面的运维经验还是挺值得学习的 — 最近我们也刚做了一次大迁移,迁移到另一个数据中心,跟这篇文章得出的经验很像:1)迁移前要做足够的性能测试;2)不同团队间的协调工作要做好,如果可能的话,演习几次。

Facebook挂了20分钟

在太平洋时间中午12点40左右,facebook的网站和app都访问不了。上个星期,Instagram也挂了2小时。理论上,Facebook访问不了的话,他们每分钟损失广告费$22,452。

Facebook Cards

咋一看以为这是真的Facebook的产品。其实不是。

但这个对Facebook newsfeed的重新设计相当棒,如果facebook采用了类似的设计,那facebook就更加成为很多人的上网首页 — 可以看天气,看新闻,玩游戏,社交炫耀窥探隐私,买东西,看视频等。

正文完
 0
评论(没有评论)