用这个邀请码8 6 0 5 2 3 1 1注册红包推多多锁屏邀请码帐号,就给采纳。记得报上手机号(后几位就行)

最近25个记录
最近50个记录
最近80个记录
最近100个记录
最近150个记录
最近200个记录
最近250个记录1990 年1991 年1992 年1993 年1994 年1995 年1996 年1997 年1998 年1999 年2000 年2001 年2002 年2003 年2004 年2005 年2006 年2007 年2008 年2009 年2010 年2011 年2012 年2013 年2014 年
特012345678901234567897个
3511111511111
2922222122291
2733333237311
2344434341421
3855515452831
2466624563141
4777731677251
788842787361
899953891871
48101010649102881
391111117510113191
81212128611124811
331313133712135121
181414141813146831
25151515295157141
42161623101168251
19171714112179391
181818251231810811
31191361341911121
33201431452012231
31211511562113341
33221631672214451
3232731782315561
43243831892416671
26254911910617781
特01234567890123456789
&25181581913241778
&216121363
01020304050607
08091011121314
15161718192021
22232425262728
29303132333435
36373839404142
43444546474849
01020304050607
08091011121314
15161718192021
22232425262728
29303132333435
36373839404142
43444546474849
01020304050607
08091011121314
15161718192021
22232425262728
29303132333435
36373839404142
43444546474849
01020304050607
08091011121314
15161718192021
22232425262728
29303132333435
36373839404142
43444546474849
01020304050607
08091011121314
15161718192021
22232425262728
29303132333435
36373839404142
43444546474849
01020304050607
08091011121314
15161718192021
22232425262728
29303132333435
36373839404142
43444546474849
01020304050607
08091011121314
15161718192021
22232425262728
29303132333435
36373839404142
43444546474849
01020304050607
08091011121314
15161718192021
22232425262728
29303132333435
36373839404142
43444546474849
01020304050607
08091011121314
15161718192021
22232425262728
29303132333435
36373839404142
43444546474849
01020304050607
08091011121314
15161718192021
22232425262728
29303132333435
36373839404142
43444546474849来自子话题:
抱歉我偷懒了,谢谢Yolfilm的邀请。虽然似乎已经尘埃落定,但我还是想借着答这个问题,来梳理一下思路。
&br&&br& 企业对社会的贡献,应该把受益者一分为二地来看:Shareholder 和 Stakeholder,即 股东(股权人)和 共同利益人。
&br& Yolfilm的意思很明白,他认为这个公司的Shareholder数量少得可怜,而公司里也仅仅养活了2000人(姑且认为是潜在的股权人),那么他创造的财富根本就是小众财富,同时也是严重泡沫化的虚拟财富。
&br&&br& 很好,这是典型的美式资本主义理解方式,美国的企业也确实按照这个思路走了几十年(从罗斯福新政之后来算的话)。但如果我们换一种方式来理解:
&br&&br& 1. 这个公司的2000名员工,是确确实实被FB养活的,而且他们的家人、房屋、汽车、贷款、消费,都是得益于FB的薪水酬劳。没有FB,这2000人会失去工作,而其他的“房屋、汽车、贷款、消费”等相关行业,收入会下降,所提供的职位也会相应减少。
&br& 2. 依赖于FB这个平台的各种开发、公关和推广企业(这点和@李章 朋友的看法完全相同),也都为市场提供了很多就业资源,同样,也有家人、消费、贷款等等后续价值。
&br& 3. 从一定意义上讲,FB开创了一个新的平台,而这一平台的出现,将刺激使用者在这一平台的基础上,不断诞生新的更高的需求,从而带动整个行业的革新。在这一过程中,新的公司、新的服务、新的概念,将不断吸引资金和人才的流入,为这些人创造就业机会,为未来创造就业形态,这些有很多,是短视的美式资本主义所看不到的。
&br&&br& 而我上面提到的种种,看法则来源于德国和日本资本主义经济:更多地去考虑企业对于相关行业、相关共同利益人(Stakeholder)的影响,将整个社会当作一个整体来评估,而不是仅仅限制于公司的玻璃围墙之内。
&br& 希望我说明白了:)
&br&&br& 答Yolfilm兄的评论:
&br& 至少我不同意“华尔街没有创造价值”这一看法,很显然,我不是倒华尔街一派的人。
&br& 华尔街所创造的价值,最简单一点,是体现在公众对于“投资工具”认识的普及上:通过华尔街设计或是流通的种种投资工具:股票、债券、期货、期权等等,将投资者的资金集中,并通过华尔街的分配方式,将这些资金流回到了整个社会。
&br& 而您说的“服务业不能够创造那么多的就业机会”,这点我完全赞同,而且觉得服务业本就不应该创造如二次产业那样的就业机会:
&br& 1. 首先,二次产业中的很大一部分就业机会,诞生于劳动密集型企业。而发展过多的劳动密集型企业,虽有利于社会资本的积累,但劳动者的报酬是很可怜的。即是:尽管有就业机会,但大家都挣不到多少钱。
&br& 2. 其次,不可否认的是,人类社会从二次产业过渡到第三产业,这是一个社会的进步:将更多的劳动力从自然生产中解放出来,投入到更高级的社会需求生产中。
&br& 3. 服务业,虽然看起来创造的就业密度不如二次产业,但这个产业的发展,依赖于对人类需求的不断发掘、提高:只有诞生了想喝咖啡的人,才有咖啡馆;只有诞生了需要互联网的人,才有互联网。
&br& 而我们可以确定的是,未来诞生的人类,势必比我们高级,比我们追求更高层次的需求。追寻满足需求的方法,这是人类进化的动力。
&br& 所以话说回来,我们还是不要太短视,把玻璃围墙打碎,把目光放得更远一些。
抱歉我偷懒了,谢谢Yolfilm的邀请。虽然似乎已经尘埃落定,但我还是想借着答这个问题,来梳理一下思路。 企业对社会的贡献,应该把受益者一分为二地来看:Shareholder 和 Stakeholder,即 股东(股权人)和 共同利益人。 Yolfilm的意思很明白,他认为这个公…
来自子话题:
为什么原作者到网站投诉他人抄了自己的内容,但网站不能删除盗版的内容?看到之前有几个网友回答的逻辑是这样的:作为网站运营者,新浪(也可以是百度贴吧/知道、人人网或者其他用户生成内容的网站)无从判别到底谁是原创,如果内容不是本站首发的,网站运营者负责投诉的同事无法查明实际首发时间。不能排除有些人恶意举报,或者伪证举报,所以宁可放过盗版也不能误伤原创,所以,对不起了投诉人。&br&&br&很多朋友也点了认同这些答复,乍一看,确实感觉这些回复有理有据有节,且满腹委屈,网站运营者值得同情,没什么不对。但问题是,作者的内容确实被盗了,而且是被几个名誉不甚好的账户盗的,为什么投诉还那么难?&br&&br&问题的症结出在网站运营者没有让被投诉人举证自己的内容的合法来源。绕着问题走当然不容易解决,只要设置一个反通知功能,被举报者有责任证明内容的合法性,前面这些回答中网站运营者的问题就基本都能解决。如果收到侵权通知后,被举报者认为不侵权并反通知的,网站可以不管了,让双方去法院解决。&br&&br&当然,网站运营者可能还是有一肚子委屈,即便有反通知机制,以伪证进行的恶意投诉、死缠烂打的投诉,被投诉人出假证反通知的情况也会出现,但网站并不是全无办法的,信誉积分功能的社区是对此类问题最好的解决办法。对于大网站而言,每天处理这些类似问题,是非曲直比谁都清楚,但是不是清楚是一回事,怎样解决对自己网站利益最大化是另一回事。&br&&br&2005年,国家版权局有个行政规章&a class=& wrap external& href=&http://www./zcfg/flfg/bq/bmgz/311.html& target=&_blank& rel=&nofollow noreferrer&&互联网著作权行政保护办法--国家知识产权局&i class=&icon-external&&&/i&&/a&,至今也没有失效,里面对通知和反通知的规定非常的清楚,下面是我摘录的条款,供大家参考,对 &a data-title=&@飞魅& data-editable=&true& class=&member_mention& href=&/people/1b55f2c03b964e1e778668& data-hash=&1b55f2c03b964e1e778668& data-tip=&p$b$1b55f2c03b964e1e778668&&@飞魅&/a& 而言,如果新浪不受理你的投诉,可以按照下面的方式写个投诉函,附上证据,挂号信或者快递发给微博运营公司。:&br&&br&
第五条 著作权人发现互联网传播的内容侵犯其著作权,向互联网信息服务提供者或者其委托的其他机构(以下统称“互联网信息服务提供者”)发出通知后,互联网信息服务提供者应当立即采取措施移除相关内容,并保留著作权人的通知6个月。&br&&br&
第六条 互联网信息服务提供者收到著作权人的通知后,应当记录提供的信息内容及其发布的时间、互联网地址或者域名。互联网接入服务提供者应当记录互联网内容提供者的接入时间、用户帐号、互联网地址或者域名、主叫电话号码等信息。&br&  前款所称记录应当保存60日,并在著作权行政管理部门查询时予以提供。&br&&br&  第七条 互联网信息服务提供者根据著作权人的通知移除相关内容的,互联网内容提供者可以向互联网信息服务提供者和著作权人一并发出说明被移除内容不侵犯著作权的反通知。反通知发出后,互联网信息服务提供者即可恢复被移除的内容,且对该恢复行为不承担行政法律责任。&br&  第八条 著作权人的通知应当包含以下内容:&br&  (一)涉嫌侵权内容所侵犯的著作权权属证明;&br&  (二)明确的身份证明、住址、联系方式;&br&  (三)涉嫌侵权内容在信息网络上的位置;&br&  (四)侵犯著作权的相关证据;&br&  (五)通知内容的真实性声明。&br&  第九条 互联网内容提供者的反通知应当包含以下内容:&br&  (一)明确的身份证明、住址、联系方式;&br&  (二)被移除内容的合法性证明;&br&  (三)被移除内容在互联网上的位置;&br&  (四)反通知内容的真实性声明。&br&  第十条 著作权人的通知和互联网内容提供者的反通知应当采取书面形式。&br&  著作权人的通知和互联网内容提供者的反通知不具备本办法第八条、第九条所规定内容的,视为未发出。
为什么原作者到网站投诉他人抄了自己的内容,但网站不能删除盗版的内容?看到之前有几个网友回答的逻辑是这样的:作为网站运营者,新浪(也可以是百度贴吧/知道、人人网或者其他用户生成内容的网站)无从判别到底谁是原创,如果内容不是本站首发的,网站运…
来自子话题:
哎呀,看到这个就想回答。目前是纯手机打咯。&br&&br&首先就是宣传效应了,老实讲,台湾的line使用率已经到了一个很恐怖的境地。以至于我们这些大陆学生过去之后,几乎都是清一色的注册line,然后和他们进行交流。&br&&br&后来等慢慢熟悉起来之后,就是一个双向的抉择问题了,即,在台湾学生与大陆学生交流的时候。到底是应该大陆的学生去注册line呢?还是台湾的学生注册微信?所以就像楼上所说,从大陆过去的学生本身就给微信做了个很好的广告。至少这个学期,我周围的台湾学生有几个已经开始使用微信,经常在moments里边互动之类的。&br&&br&宣传的第二个是广告,我不止一次的在台北的捷运站里看到过wechat,也就是微信繁体版名字的广告。印象中是罗志祥和杨丞琳代言的。说实话,腾讯在这方面确实是下了功夫,在欧洲市场请来的是梅西代言,并且登上了马卡报等诸多媒体。所以用台湾本土的明星代言本身就是一个让人感觉本土化的过程。&br&&br&有次和台湾同学聊天,那个台湾同学给我说,上次在台北某地line的广告上写着「line在全世界用户数量突破一亿!」&br&结果wechat紧跟着在旁边用一个大约只有一半的牌子写着「wechat已破三亿!」&br&孰轻孰重,恐怕自己会判断。&br&&br&第三个是产品的差异性,微信里有很多有意思的功能,例如朋友圈的设定,以及摇一摇,捡瓶子等等。虽然line也有社交网路的功能。但就我个人的体验来讲,我觉得远不如微信舒服。至少就连我台湾的朋友,现在也整天使用微信分享自己的生活,而line上的少之又少。&br&&br&&br&不过关于产品的对比,其实我大概只能提一点点东西,因为我没办法去对比产品的好坏,或是受众使用度如何。例如在台湾,line的联系人导入绝大多数靠着:通讯录+自动导入的形式。而wechat却是注册账号绑定facebook绑定电话号码这种形式。对于前者而言,如果换电话的话会很麻烦,例如需要注销等等。对于后者而言,直观上的操作要多一些,而消费者究竟看重哪一点,恐怕还需要他们的PM自己去判断。&br&&br&wechat的公共主页我不清楚是否是在模仿line的公共主页这样子。因为实际上line里边有很多很多日本韩国的明星主页,目前看的是wechat也在做这一点,例如在美剧吸血鬼日记大火的情况下邀请来了ian,nina等明星。不过就现在而言,吸引力也需要再多加评判,因为对于「大多数使用者」来说,注意我说的是大多数使用者。目前它只是一个替代短信的工具。&br&&br&突然觉得我前边说的有些杂,因为手机打字的缘故。我梳理一下好了&br&1、现在恐怕最好的推广也就是与大陆人的交流了,这个是首要。因为就我所知,几乎所有的手机里安装过wechat的台湾人都会安装line,line的使用率很高,因为平常和自己的朋友交流之类的。但如果是要联系大陆的朋友,就会切换到wechat,这是其一。&br&&br&其二是朋友圈与摇一摇的特色,产品的差异性问题。如果一个功能本身比line更有吸引力,那么便会吸引人使用。毕竟这个时代,谁的手机也不少那几十MB的空间。我认识的手机上同时存在wechat,line whats app三者的人很多。&br&在认识陌生人这个层面上来讲,对于全世界的男男女女们都是一样的。对于line而言,这点目前还是新鲜的,至于腾讯怎么抓住这一点,还是需要腾讯自己来看。至少,我在台北的时候晚上睡不着和舍友摇着玩,摇出来一堆台湾人。&br&&br&其三,楼上&a class=&member_mention& data-hash=&6e6b37aafc3f04a98d12d7aa68eff565& href=&/people/6e6b37aafc3f04a98d12d7aa68eff565& data-tip=&p$b$6e6b37aafc3f04a98d12d7aa68eff565&&@Chaz Lu&/a& 老师讲到的与 7-11 全家之类的搭档的确不错,其实事实上,我也的确看到腾讯在着手布局这一点,目前在台湾各大7-11门口都看到了类似的合作,我忘记了是在合作什么,并且店里一遍又一遍的在播放着广告:「上wechat,找7-11,现在就有好礼相送等等等。」 那么,这本身也是一个层面。&br&&br&暂时想到了这么多,不过还是有很多负面的东西的,其实我觉得大家都聊的差不多了。如果有什么想到的东西,我再补充补充。
哎呀,看到这个就想回答。目前是纯手机打咯。首先就是宣传效应了,老实讲,台湾的line使用率已经到了一个很恐怖的境地。以至于我们这些大陆学生过去之后,几乎都是清一色的注册line,然后和他们进行交流。后来等慢慢熟悉起来之后,就是一个双向的抉择问题了…
来自子话题:
看了这些答案真是让人觉得很悲哀。一个个都一口咬定刘翔「早就知道肯定跑不了」,赛前隐瞒是因为「怕丢了赞助合同」。呵呵,这就叫小人之心。刘翔是不是君子我不知道,但我绝不会用没有依据的猜测去评断。&br&&br&奥运会对于运动员来说是一个实现梦想的战场,哪怕有一丝希望,都不会愿意提前放弃,更何况他承载了那么多同胞的期待。对于一个坚守到最后时刻的运动员,进行这么多基于主观臆断的责难,恰恰是我们所有人的悲哀。我们习惯性地勾画出种种阴谋与不堪,来解释各种不如人意的局面。&br&&br&心中有阳光才能看见光明。
看了这些答案真是让人觉得很悲哀。一个个都一口咬定刘翔「早就知道肯定跑不了」,赛前隐瞒是因为「怕丢了赞助合同」。呵呵,这就叫小人之心。刘翔是不是君子我不知道,但我绝不会用没有依据的猜测去评断。奥运会对于运动员来说是一个实现梦想的战场,哪怕有…
来自子话题:
App Links 并不是用来取代 URL Scheme 的,所以也谈不上「有何本质不同」。它并不是某一种技术,而是一项协议(或者像他们说的,一种「解决方案」)。&br&&br&我们想像一下这样一个常见的场景:A 在大众点评上看到了一家餐厅并想通过微信把这家餐厅分享给 B——此时问题出现了——B 会如何处理这个链接是未知的。如果 A 和 B 都是同一平台的用户还好,当时直接传一个类似于 dianping://shop/12345 的 URL 对方在微信中点了就能在 app 里打开了(先不考虑微信是否接受这样的 URL)。可是如果大众点评某天升级了把 URL scheme 改成 dianping_v2://shop/12345 呢?如果 A 和 B 是两个不同平台的用户呢?如果 B 的手机上根本就没有装大众点评呢?&br&&br&这个事情,大众点评即使想做也是有心无力——链接一旦分享出去控制权就不在自己手里了。好吧,我们还是可以做一个网页版的嘛,弄一个 &a href=&/shop/4551072& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&/shop/455&/span&&span class=&invisible&&1072&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a& 这样的链接,不管对方是什么环境,至少可以在微信的 in-app 浏览器里打开嘛。牺牲部分体验来换取最大的可用性——而且还是有活路的,可以在网页加载好后用 JavaScript 做一点 window.location.href = 'dianping://shop/12345' 这样的小动作嘛——直到有一天微信关掉了 URL Scheme 跳转……&br&&br&于是这个事情就变得很荒唐。明明对方的手机里有装大众点评的 app,大众点评也支持 URL Scheme,可在微信上点开大众点评的链接就是只能看到 web 版。理论上来说作为平台的微信应该出来挑大梁,不过可能微信忙着征服全世界顾不上这点小事——于是另一个闲得没事干的平台 Facebook(好吧,准确地说是 Facebook 去年买进来的 Parse 团队)跳出来解决了问题。&br&&br&怎么解决?说难也不难,无外乎就是把自己在几个平台下的跳转规则一并告诉对方。对方是什么平台就按什么平台的规则去处理。如果对方没装我们的 app,那我就告诉他一个安装地址。如果他的平台确实没有我们的 app(并没有想黑 WP 的意思……),那么就给他看一个网页版好了。但是这些规则写在哪呢?用 &meta& 标签放在网页里就好了嘛!于是一个实现了 App Links 的网页大致长成这样:&br&&br&&div class=&highlight&&&pre&&code class=&language-html&&&span class=&nt&&&html&&/span&
&span class=&nt&&&head&&/span&
&span class=&nt&&&meta&/span& &span class=&na&&property=&/span&&span class=&s&&&al:ios:url&&/span& &span class=&na&&content=&/span&&span class=&s&&&applinks://docs&&/span& &span class=&nt&&/&&/span&
&span class=&nt&&&meta&/span& &span class=&na&&property=&/span&&span class=&s&&&al:ios:app_store_id&&/span& &span class=&na&&content=&/span&&span class=&s&&&12345&&/span& &span class=&nt&&/&&/span&
&span class=&nt&&&meta&/span& &span class=&na&&property=&/span&&span class=&s&&&al:ios:app_name&&/span& &span class=&na&&content=&/span&&span class=&s&&&App Links&&/span& &span class=&nt&&/&&/span&
&span class=&nt&&&meta&/span& &span class=&na&&property=&/span&&span class=&s&&&al:android:url&&/span& &span class=&na&&content=&/span&&span class=&s&&&applinks://docs&&/span& &span class=&nt&&/&&/span&
&span class=&nt&&&meta&/span& &span class=&na&&property=&/span&&span class=&s&&&al:android:app_name&&/span& &span class=&na&&content=&/span&&span class=&s&&&App Links&&/span& &span class=&nt&&/&&/span&
&span class=&nt&&&meta&/span& &span class=&na&&property=&/span&&span class=&s&&&al:android:package&&/span& &span class=&na&&content=&/span&&span class=&s&&&org.applinks&&/span& &span class=&nt&&/&&/span&
&span class=&nt&&&meta&/span& &span class=&na&&property=&/span&&span class=&s&&&al:web:url&&/span&
&span class=&na&&content=&/span&&span class=&s&&&http://applinks.org/documentation&&/span& &span class=&nt&&/&&/span&
&span class=&nt&&&/head&&/span&
&span class=&nt&&&body&&/span&
Hello, world!
&span class=&nt&&&/body&&/span&
&span class=&nt&&&/html&&/span&
&/code&&/pre&&/div&&br&大众点评网的程序员们看到之后如获至宝,嗨嗨皮皮(不要质疑我的成语能力!)地把这些 meta tags 都塞进了 &a href=&/shop/4551072& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&/shop/455&/span&&span class=&invisible&&1072&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&。Parse 说我都给你们写好各个平台下的 SDK 了,解析跳转一条龙哦你们赶紧用。腾讯(过了一年后)说,App Links 是什么?&br&&br&App Links 还制定了一些别的标准,比如可以多次指定同一项值来完成 fallback(用于新老版本 URL Scheme 不兼容的情况),比如实现了跳转时的数据传输标准(用 JSON 描述,放在 al_applink_data 参数中),比如提供了跳转后 app 的 UX 建议(导航栏用一层蓝色的可点按区域覆盖,点按后返回原 app)。App Links 不是唯一解,也不一定是最优解,但它确实是解决当下 app 间跳转混乱局面的一个可行解(而且标准本身具有可扩展性,即使 iOS 8 里加入类似 Android 中的 Intent,App Links 也可以通过增加几个 meta tags 来支持)。回到最初的问题上,它解决的问题,其实就是 Ilya Sukhar (Parse CEO) 在 F8 上说的这句话:「There is no unified way to navigate to links across all the platforms.」在技术层面上,App Links 统一了流程、跨了平台,这就很好了。&br&&br&而剩下的问题其实才是最大的问题——有人用的标准才是好标准。这个用也分两种角色:类似大众点评这样的第三方开发者,他们只需要发布自己的 App Links 就可以了,这个事情很简单,如上面所说无非就是在现成的网页里加几个 meta tags 的事情。而类似微信这样的平台则需要实现这样的协议,理论上也不难,但也许除了优化用户体验之外好处有限,可能还会面临到如何去兼容老版本啦、跳转出去会不会降低用户黏性啦、怎么满足平台的统计需求啦之类的问题(随口一说,也许没那么多问题。)老外比较单纯,想想这对用户来说是件好事我们就做吧,于是至少 Parse 有他的亲爹 Facebook 给他撑腰。至于国内,需要有第一个吃螃蟹的人。
App Links 并不是用来取代 URL Scheme 的,所以也谈不上「有何本质不同」。它并不是某一种技术,而是一项协议(或者像他们说的,一种「解决方案」)。我们想像一下这样一个常见的场景:A 在大众点评上看到了一家餐厅并想通过微信把这家餐厅分享给 B——此时…
来自子话题:
我这个暑假在 Instagram 实习,简单说一说我的所见所闻和自己的想法吧。非常巧的是,我的一个项目便和 Explore Page 有关,因此我也和许多同事交流过这个问题,包括 Instagram 的两位联合创始人。&br&&br&Exploration & Discovery 是 Instagram 的一个短板,这一点公司内部很清楚。Explore Page 的设计自第一版以来就基本没有动过,不可谓不简陋。而且,随着 Instagram 用户群的扩张,有越来越多的人试图作弊,导致图片的质量每况愈下。另外,更重要的是,计算一张图片的质量,最简单的 metric 是 Like 数量,然而&u&被大量用户 Like 的内容不一定是优质内容&/u&。我监控了大约一小时内被 promote 的图片,几乎全部都是 meme,营销图片和明星自拍照,优秀的草根内容难以浮出。然而,我们知道,Instagram 的独特之处在于他建立的是陌生人与陌生人之间的关系,因此这个页面作为用户与陌生世界的纽带的意义极为重要。&br&&br&Instagram 的用户规模已经很大了(月活动用户一亿五千万),所以任何大的调整都要极为小心。比如,这次 iOS 7 版的新界面,应当说没有太大的差异,比起我在团队中见过的一些设计稿来说应当说相当保守。所以,短期内,Instagram 的重心应该放在排名算法的调整上。如果你关注 Instagram 的 Explore Page, 你可能注意到,在今年7月左右页面内容质量有了一定的提高,这是因为我的老板设计了一套 anti-spam 的规则,降低 spam 内容出现的概率。8月初的时候内容质量又有了一次提高,这一次我设计的一套基于内容的过滤系统上线,过滤掉了约 90% 的屏幕截图、meme 等低质量内容。我们曾讨论过尝试其他排名算法,可惜那时距离我离职只有三天了,所以这个项目就暂时被搁置,不知道有没有其他工程师尝试过。&br&(Instagram 很缺人手,现在在招兵买马。对这个产品有兴趣的同学欢迎去应聘。Facebook 提供工作签证。)&br&&br&另一个可以考虑的方向是 personalized content。当前 Instagram 每隔一段时间自动计算流行的照片并 promote 到 explore page,每一次展示给用户的是一个随机子集。这一种方式完全没有考虑用户的兴趣差异。一种可能是 Instagram 可以根据当前 follow 的用户来推荐内容。&br&&br&最后一个可能的的方向是 Trending。纵然 Instagram 的时效性不如 Twitter, 其数据仍然有大量挖掘的价值(比如世界杯时 #ucl 数量猛增)。公司内部也在积极发掘 Instagram 的这一功能(对于 SFO 坠机事件第一批图片不是出现在 Instagram 上我们还是很郁闷的)。我曾设计过一个实验性的系统来计算当前 trend 的图片、hashtag 等。所以,类似的功能有可能出现在 Instagram 上。&br&&br&(11月13日补充)看到有人提出按地理位置搜索,这是一个非常好的想法,我们的另一个实习生也试验过,在此之前 iOS team 也做过一些 prototype。至于为什么没能正式投产,我怀疑存在一定技术壁垒。Instagram 在用 PostGIS,scalability 是个大问题。Infrastructure Team 在尝试用 ElasticSearch 或者 Cassandra,但这样的代价是灵活性的降低(毕竟这两个系统都不是处理地理信息的)最后结果尚未见分晓。&br&&br&值得注意的是,Instagram 的 Exploration & Discovery 绝不仅仅局限于 Explore Page. 我们的 Community Team 是我见过的最好的用户团队。Instagram 官方账号 @instagram 上有大量他们 curate 的优质内容以及活动(比如 Weekend Hashtag Project)(如果你没有关注的话,一定要加关注,这是 Instagram 上 follower 最多的账号,可见其内容质量之高)。因此,未来人工指引应该也是一个方向。&br&&br&最后说一句,Facebook 的产品经理确实较少。Instagram 的产品主要还是 Kevin Systrom 在 define,产品经理大概有两位的样子。但随着 Facebook 的明星产品经理 Peter Deng (邓修平) 被调往 Instagram, 我相信这一情况会有很大的改善。Peter 上任后的第一件事也是积极扩张产品经理队伍。&br&&br&总而言之,我相信,半年内这个页面会有很大的改进。
我这个暑假在 Instagram 实习,简单说一说我的所见所闻和自己的想法吧。非常巧的是,我的一个项目便和 Explore Page 有关,因此我也和许多同事交流过这个问题,包括 Instagram 的两位联合创始人。Exploration & Discovery 是 Instagram 的一个短板,这一点…
来自子话题:
腾讯一贯求稳,先借鉴再超越的思想已经在产品经理的思维模式中根深蒂固。微信作为一款已经被市场验证过的成功产品,手机QQ作为一款在线上亿的基础通信工具,有什么理由不借鉴呢?在界面上的颠覆性创新反而增加学习成本,要知道80%的普通QQ用户,是根本不会对界面挑三拣四的。&br&&br&以上是从产品经理的角度去解读这个问题。&br&&br&作为一名设计师,我感到理解和同情。&br&我坚信手机QQ的设计师也未尝不想作出与众不同的东西,关键的问题在于:&br&its easy to be different, difficult to be better.
腾讯一贯求稳,先借鉴再超越的思想已经在产品经理的思维模式中根深蒂固。微信作为一款已经被市场验证过的成功产品,手机QQ作为一款在线上亿的基础通信工具,有什么理由不借鉴呢?在界面上的颠覆性创新反而增加学习成本,要知道80%的普通QQ用户,是根本不会…
来自子话题:
锁屏默认弹出消息窗口十分不合理,起码也要区分锁屏是否有密码吧&br&&br&---------------------14/8/12------------------------&br&没想到一个吐槽得到这么多赞同,看来这个功能也确实让大家深恶痛绝。&br&ps:我之所以反应比较激烈是由于我给女朋友发的东西被她爸看到了……
锁屏默认弹出消息窗口十分不合理,起码也要区分锁屏是否有密码吧---------------------14/8/12------------------------没想到一个吐槽得到这么多赞同,看来这个功能也确实让大家深恶痛绝。ps:我之所以反应比较激烈是由于我给女朋友发的东西被她爸看到了……
来自子话题:
诚然,很多原来由 Email 来进行的沟通,现在会使用类似微信的软件来替代。但是 Email 作为一种交流形式来说,不太可能被任何其他交流方式完全替代。&br&&br&Email 是一种 De-centralized (去中央化)的交流技术,是基于一系列开放的标准的。虽然这些标准现在看来很不新鲜,甚至不是那么安全,但是存在了几十年了,还一直在被使用,很大的原因就是因为它的这些属性。&br&&br&Email 作为老大哥,先后早到过太多挑战。先是短信,彩信,再是 QQ 这类即使通讯软件,现在在移动互联网时代又有 微信 WhatsApp 这些的挑战。但是这些竞争者,无一例外,都是 Centralized(中央化)的(即这些服务都有一个中央节点,例如QQ 微信的中央节点就是腾讯的服务器,短信,彩信也得依赖运营商,跨国就比较麻烦)。&br&&br&因为如果你不是一个开放的标准,去中央化的话,就会存在不信任你这个服务提供商,或者不想用你这个产品的情况,一定做不到100%的覆盖率的。&br&&br&而 Email ,只要你想要,你就可以架个服务器,设置个域名,就开始收发了,到处都遵守这个规范,除了得连上网,几乎没有限制,你也可以控制收发的一切。Email 这整个沟通系统的这些特点太重要,很难想象以后有什么能使之无效。&br&&br&=======================================================================&br&鉴于上了知乎日报,那我就来添加点内容&br&&br&其实我不太同意其他回答的一些观点。很多都举了一些目前邮件的好处,比如什么『按话题组织』『内容都存在云端』『通讯及时性』『归档』『便捷』『多帐号』『日历绑定』『星标』等等。。。&br&&br&这些其实严格来说不能算理由的,这些充其量只能算 feature。这些功能,微信等软件没有可能实现吗?当然可能。那难道当微信类软件拥有了这些功能,Email 系统就没有优势了吗?当然不是。。。更别谈其中举出的一些好处其实是伪命题。&br&&br&算是吐槽吧,就酱。
诚然,很多原来由 Email 来进行的沟通,现在会使用类似微信的软件来替代。但是 Email 作为一种交流形式来说,不太可能被任何其他交流方式完全替代。Email 是一种 De-centralized (去中央化)的交流技术,是基于一系列开放的标准的。虽然这些标准现在看来很…
来自子话题:
我:今天更新的微信新版桌面图标还是留着那坨高光,好纠结?&br&GF:啊?什么高光?
我:今天更新的微信新版桌面图标还是留着那坨高光,好纠结?GF:啊?什么高光?
来自子话题:
作为两个被取消加V认证的微信公众账户“秋叶PPT”和“秋夜青语”的运营者,我对微信订阅号被折叠全无压力。&br&&br&目前安卓用户才大规模升级,所以谈不上客观的数据,反正目前我的两个微信粉丝增加速度,一直是按我的计划在增加,稳中有升,我真心不希望粉丝增加太快,那样我的服务会受不了。&br&&br&在我开设微信公众账户之前,我曾经在2012年9月份花了一个月时间做换位模拟攻防,假如我是张小龙,我会采取怎样的策略发展微信公众账户以避免微博的悲剧?&br&&br&最开始我的结论是微信的操作设置导致文章非常没有传播性,反而需要我花费大量时间为微信导粉丝,这是腾讯借力推广的阶段性策略,等大号把微信的粉丝带起来了,腾讯就会采取措施过河拆桥卸磨杀驴。&br&&br&腾讯是要围绕微信做商业模式,我当时就认定是复制QQ上的成熟模式,卖表情,或者卖手游,绝对不是养草根大号。&br&&br&微信公众账户,不管如何发展,腾讯是绝对不希望有什么人能借助腾讯的平台赚钱,却没有一分钱分给腾讯的。因为从商业上讲,这就意味着腾讯的全部投入都是为别人做嫁衣裳,腾讯绝对不会犯这个错误。&br&&br&一旦有草根大号通过吸粉轻松赚钱,就会被聪明人复制,那么腾讯微信公众平台一定是爆发后快速死亡,一如今日的微博。&br&&br&所以我纠结了4个月,一直在研究微信公众平台,但迟迟没有开通发布,我担心未来会被腾讯封杀。&br&&br&后来我想清楚了,微信公众平台上的自媒体,是有空间的,核心的问题是假如你提供的内容符合四个条件:&br&1、&b&刚需&/b&:对特定人群有不可替代的阅读价值;&br&2、&b&原创&/b&:确保资源的稀缺性;&br&3、&b&节奏&/b&:要能生产足够多的内容,好以固定的节奏发布,培养阅读习惯;&br&4、&b&成本&/b&:出干货不难,难在坚持出干货,因为即便没有直接成本,也有大量的时间成本。&br&&br&很多有才华的人,写着写着就没有了,那么别指望你的微信将来还能有生命力。&br&&br&当然肯做到以上四点的人,基本上也不能求爆发,需要长期的坚持。这样的账户,腾讯会网开一面。&br&&br&所以2013年初我一下子开设了两个微信,一个是秋叶PPT(微信号:PPT100),谈PPT的技巧学习,这个在职场上当然是刚需,我只需要做好内容就好。这个定位的本质其实是微知识库,它的威力会随着文章积累越来越强,未来只需要通过关键词检索就可以搞定很多问题。&br&&br&另一个是秋夜青语(微信号:qyxoxoxoqy),面向大学生答疑解惑,算一个公益服务吧,本质就是一个基于微信的树洞,在大学生中这也是刚需,刚好有点影响力的人里面愿意天天坚持一对一花费几个小时给大学生回答问题的,大部分是很多成年人看了觉得是很无聊的问题,除了我,目前还没有发现第二个。&br&&br&我也动了点脑筋,以网络众包的模式,最低成本解决了内容产生的问题,事实上我的内容生产足以支持我出国旅游一个半月都不担心微信没有炮弹了。&br&&br&解决了原创刚需内容的问题,下面关键的问题在于运营,我意识到,随着微信公众账户越来越多,订阅一定会产生激烈的竞争,即便腾讯不搞订阅号折叠,&b&未来真正能让粉丝坚持看的订阅号也不会超过5~15个。&/b&&br&&br&所以我的运营有两个目标,&b&第一是固定的阅读习惯培养,第二是足够强的打开阅读动机,而不是微信粉丝数的增加。&/b&&br&&br&&b&你要争取尽快留在你的目标读者认可的这15个订阅号清单中,而且要培养他们在固定的碎片化时间阅读你的微信的习惯。&/b&&br&&br&有没有折叠,不是我关注的重点,我关注的是文章真实打开率,这是一个账户能否生存下去的关键,订阅数都不是。有百万订阅但是打开率不到1%的账户,我认为是一种失败,说明你投入大量的营销推广成本,但是没有机会进行真正的长期转化。&br&&br&我当然关注微信粉丝数量的增加,但我也在评估我的微信粉丝真实阅读比例(这个是可以通过海外版微信登录查看的),我目前的微信真实打开阅读率基本在25%以上,这个数据我认为是相当好的。&br&&br&为了让自己的微信更加健康运营,早在6月底我就在微信底部取消了“转发到朋友圈订阅”的提示,我认为这个推荐对吸引粉丝的价值不大,也是扰民。&br&&br&我早就不过多利用我的博客和微博进行推介,在长微博底部我也不加二维码,新鲜感一过,这些套路无效。再说我早期已经推介过,基本都覆盖到了,没有必要继续扰民。&br&&br&我坚持不做微信互推,一是避免触犯腾讯禁令,一方面我认为这种不靠内生性口碑增长的模式,就是新鲜感营销,不是长久之道。&br&&br&我发展的目标是,让订阅者自己用口碑传播,这样的模式看起来慢,其实最有生命力。&br&&br&当然我会定期整合微信干货内容,通过微博发布,靠内容吸引真正感兴趣的模式,我觉得效果非常好。&br&&br&我还非常狡猾做了一手牌,我把我的新书《和秋叶一起学PPT》、《不要等到毕业以后》和两个微信账户分别捆绑在一起,我的捆绑策略绝对不是你们想的在书里面打上一个微信二维码,那是无效的推广,我的策略其实是让真正认可你的读者...呵呵,我卖个关子,我这里就不说了,我得留一手。&br&&br&反正书卖得好,我的微信就会加粉,我的微信粉丝增加,也会带动书的销售,这是一个非常清晰的正循环,我的微信,也是我的读者进行分享的一个平台,这个玩法正是我下一步运营的重点,目前看起来,很有前途。&br&&br&像秋夜青语,我自己悄悄统计到的数据是超过8%的粉丝是买过我的书的,而且这个数据每周都在增长中,这样为你付费的订阅者才是真爱。&br&&br&别讨好那些总是要你出干货却不肯付费的人,你在任何时代运营任何媒体,都要记住这一点。&br&&br&&b&找到那些肯为你付费的人,才是运营的根本。&/b&&br&&br&罗胖的“罗缉思维”的运营,他就是一个现阶段最成功的范例。&br&&br&仔细想想我的运营观,可能和罗胖的运营高度接近,但也有差异,因为目标人群,传播模式不同,加上他背后有申音,有团队,所以能量完全不同。&br&&br&其实我背后也有人,我老婆。&br&&br&有人说卖书能赚大钱吗?这个的确不能,但我的目标是“小而美”,一年有5万以上的额外收益,我就很开心,我不需要像8个多亿那样的财富,但是我非常乐于看到像罗胖这样的微信公众账户运营的成功,这个社会不依赖体制也能活得很好的人多了,这个社会会越来越有希望,越有活力。&br&&br&&b&在一个没有底线的时代,我能告诉每一个人,我的钱都是站着挣回来的,我从来就没有为了钱脱过底裤。&/b&&br&&br&最后,我个人其实很不喜欢自媒体这个说法,当年论坛坛主时代,博客时代,SNS时代都创造出过类似的概念。&br&&br&&b&其实所谓自媒体,绝大部分就是一群以为自己很有影响力,却总是搞不清如何把影响力变现成钱的人。&/b&
作为两个被取消加V认证的微信公众账户“秋叶PPT”和“秋夜青语”的运营者,我对微信订阅号被折叠全无压力。目前安卓用户才大规模升级,所以谈不上客观的数据,反正目前我的两个微信粉丝增加速度,一直是按我的计划在增加,稳中有升,我真心不希望粉丝增加太…
来自子话题:
好几个拿了赞同票的回答,我看了都觉得逻辑很奇怪。&br&&br&一个非公有的公司,开发产品,给你提供服务,有他家自己的服务要求,只要这些个要求是无歧视性的(不针对性别、不针对种族等等)、无欺诈的(没有隐藏条款),这些要求就是合理的,因此发出的要约如果达成了双方的协议,这个协议就是公平的。如果客户/用户不接受这个服务要求,就不要使用他家的服务好了。这有什么可质疑的呢?&br&&br&此外,公众帐号在微信平台上拥有比普通帐号更大的权限,享用更多的服务,针对这样的人群,微信要求包括必须提供实名,这不更是再正常不过了吗?&br&&br&为什么大家总是喜欢把公司当成国家来对待?一家公司的起落是靠市场说话,客户/用户用脚投票的,不是靠纳税人通过选票来共同决定公共资源分配的。
好几个拿了赞同票的回答,我看了都觉得逻辑很奇怪。一个非公有的公司,开发产品,给你提供服务,有他家自己的服务要求,只要这些个要求是无歧视性的(不针对性别、不针对种族等等)、无欺诈的(没有隐藏条款),这些要求就是合理的,因此发出的要约如果达成…
来自子话题:
好问题。早些有所涉猎。&br&&br&&b&当我看到易信好友发给我免费短信时,说实话,我不会感觉欣喜。&/b&&br&&br&&p&相同的场景,发生在当年的飞信上。而现在的易信,还是隐隐约约有着它的影子。&/p&&p&用户体验一个关键的字,是&b&爽&/b&。&/p&&br&&p&且不说易信的用户,在用它发免费短信时,有多爽(实际上在今天每人都开通蜂窝网络时,和使用微信有什么区别)。只谈谈为何易信让用户不爽。&/p&&p&这个不爽发生在,使用场景的不一致。&/p&&br&&p&发信息的一方在用易信发免费短信时,要知道另外一方要回短信时,是要付钱的。不要小瞧这一毛钱(可能产品方也没小瞧,本身就靠这个赚钱),这也会让用户感到吃亏。哪怕是包含在短信套餐里的免费短信,实际上这个吃亏的感觉还是在。&/p&&br&&p&当然,用户也有选择权。他可以选择,直接回复短信,或是,打开易信再回复。显而易见,直接回复是便捷的方法,而打开易信是几乎不花钱的方法。但任何一种都不是便捷又实惠的方法。&/p&&p&除非易信在发免费短信的时候,显示的单纯的内容,并且是发送方的手机号码。&/p&&br&&p&这种类似“强迫“用户使用产品的方式,在当年的飞信上也发生。当你在短信里收到一飞信时,你被迫用手机上飞信回。或许,你在手机上飞信,对方却是在用PC端的飞信。那么,可能你也会不爽——对方打字的速度比你快。这种带有一方有优势的沟通方式,都会让用户感觉不爽。&/p&&br&&p&这就好比你急需买一件生活用品,你可以跑去远处的超市购买便宜的,还是在楼下接受小卖部更高的价格。更多可能是,你并不会接受小卖部提供给你的便捷性,你还会对它的做地起价失去对它的好感。&/p&&br&&p&产品的体验,都应该回归人性,使用户不需要思考,就可以很迅速地做出最好选择——使用你的产品。而易信版的飞信,不管两种方式的哪种,都不讨用户喜欢。&/p&&br&&p&飞信的没落,我也认为是此原因,&b&让用户做出不爽的选择,并让他感受到使用产品时的不平等。&/b&&/p&&br&&p&想当年,飞信的强烈不平等感让用户故意去夸大飞信的不稳定性。群发的通知,往往会请求收到回复。但人们一方面是不愿意吃这个亏(觉得你倒是便捷了),一方面是想留条退路,说声我当时没收到。这种感觉,让用户故意去夸大飞信的不稳定,也让群发的人越来越强调收到回复。如此恶性循环下去。&/p&&p&做得好的,是疯狂猜图。用户即使知道它想推广自己,让还仍然愿意把问题分享到朋友圈,因为主要目的是求助,那么,推广这个小事,可以忽略不计。&/p&&br&&p&易信要和微信竞争,如果卖点是靠免费短信,那么微信已经做得很棒了,而且它又那么明显让用户看见,它使用的流量是非常少的。&/p&&br&&p&另外微信也可能已经深知使用场景的不一致。有网页版的功能,却不张扬。即使聊天的对方使用网页版,也不会让你知道。可惜手机QQ也想去终端化,最终却是骂声一片。&/p&&br&&p&微信这种手段,和在人挤人的集市里,拿计算器和你报价的小贩一样精明。&/p&&br&&p&而易信,至今还不明白。这不关交互方式,不关界面美观。关于产品的设计,关于&b&没有以用户价值为依托&/b&。&/p&&br&&p&——摘自我的 &a href=&/thinkdesign/& class=&internal&&易信乎? - 设计式思考 - 知乎专栏&/a&&/p&
好问题。早些有所涉猎。当我看到易信好友发给我免费短信时,说实话,我不会感觉欣喜。相同的场景,发生在当年的飞信上。而现在的易信,还是隐隐约约有着它的影子。用户体验一个关键的字,是爽。且不说易信的用户,在用它发免费短信时,有多爽(实际上在今天…
来自子话题:
&p&假装很外向&/p&
假装很外向
来自子话题:
既然提到我书里讲的事情,我就来说几句吧,前几天太忙,没有回答完各位提的问题,借此问题弥补一下。&br&&br&我回国看到的情况是,工程师在产品开发中起更多的主导作用在国内科技公司中其实也已经在发生,并且未来会更普遍。在硅谷,产品工程师主导产品是很自然的事,因为技术实力从最根本上决定了产品的可用性、运行速度、稳定和安全性等,也决定了商业回报是否可规模化(比如一套商业产品后台系统,技术水平决定了它只能服务一两百商家,还是能服务数十万家商家)。技术实力也让产品设计被尽快的实现出来变得可能。&br&&br&大家总讨论「技术」,但对「技术」的理解却在不同机构,不同职位,不同背景的人看来完全不同。作为一名工程师,我对技术的理解是,将解决一个问题的方案工程化,是技术公司所谓「技术」的更重要意义。工程化就包括,能否降低解决问题的成本或提高解决问题的效率,能否大规模实时提供,能否稳定持续的解决问题等等。&br&&br&举个例子,Facebook
的 News Feed 每天推送用户产生的50多亿个动作,当这个功能被最早提出来的时候只是一个创新想法,而一旦被开发出来迅速验证之后就要考虑工程化的问题,如果工程化做的不好,不可想象会每天会有数亿人同时使用它,还能保证不出大的问题。当然技术公司里,除了工程师也离不开一些科学家做一些更基础的工作,这里并没有忽视他们的作用,而是说技术公司的大部分工作是将学术界的技术成果产业化,满足市场的需求。&br&&br&虽然在 Facebook 工程师在很大程度上主导产品,但公司还是在 2007 年开始设立了专职的产品经理职位。因为工程师在想 idea 有的时候容易把自己绕进去,往往首先会想实现难点。而专门的产品经理往往对整个公司的产品格局更熟悉一些,他们与我们的思考层次不同,想得可以稍微远一些。其实产品经理职位也要懂技术,在新兵营里都会被训练能够解决简单的 Bug。还有产品设计师也是一样,他们更多的研究和思考用户的使用行为,我到 Facebook 的初期做了一个类似后来收购的 FriendFeed 的功能,跟我合作的 Rebekah Cox 就是一位非常出色的设计师(后来她和 Adam D'Angelo 创业做了 Quora )。与她合作期间,我学到了许多东西,也开始不仅只做后台系统,开始接触 CSS\HTML\JavaScript\Ajax 框架等前端开发语言。&br&&br&在 Facebook 内部和 Rebekah 这种类型的合作可谓是「&b&Get out of your comfort zone&/b&」,你首先要跳出你的温柔之乡,接触更全面的技术领域,同时还有找到一个学习对象——在你所拓展的新领域里有非常专业才能的同事。工程师之所以要这样做的内在动力就是他们强烈的学习意愿,Facebook 招聘的顶尖工程师有很多具备这种内在驱动力,这是工程师驱动的公司文化的一种基因,同时公司的各层主管会基于这种基因为工程师的更全面成长创造条件。&br&&br&具体在 Facebook ,工程师和产品经理是怎样分工合作的呢?当时我做 Payment Security 的时候,我和产品经理的座位挨着。由于Payment Security设计对支付系统的对接,规则或机器学习系统的建设,大规模数据的收集、清晰和整理,支付流程的嵌入,这里即涉及很多算法和系统的挑战,也有很多和产品相关的用户流程。我和产品经理就参与不同类型的项目。对于最终用户直接面对的如嵌入产品流程,或者支付纠纷的举报,我的PM参与更多。而对于数据,算法更加相关的,我更有可能参与。当然自己是否对这个项目感兴趣也会很大程度上决定谁来参与。&b&但不管是谁参与,我们都尽可能的empower主导项目的工程师,能够帮助他们去推动一个项目,而不是变成由我们来主导。&/b&我们的小团队经常同时并行三四个项目。&br&&br&工程师最终向负责工程的副总裁(VP of Engineering)汇报,而产品经理和设计团队都汇报到首席产品官(Chief Product Officer)。去年有过一次re-org,具体变化不清楚。直接团队一般不超过10人,因为硅谷那边认为一个经理直接管理超过10个人的时候就会出现瓶颈(经理分配在每一个人身上的时间会不足够)。总之,有一点产品经理主外、工程师经理主内的意思,虽然往上汇报的头儿不一样,但是我们是很难分割开的战斗整体。&br&&br&作为工程师其实并不是所有时间都在写代码,我们和产品经理平时会在座位上花很多时间思考和讨论问题,比如做什么功能,做到什么样,可行性有多大,需要多长时间的开发。我在书里提到过,争吵是经常的事,以至于每次形成的产品方案,都是一个两方或三方(包括了设计师)妥协的解决方案,妥协的标准是三方都达到了认同彼此的专业能力的状态——基本无法说服彼此同时又认为可以相信彼此。一个新的想法要变为行动时,我们经常是忐忑不安又莫名兴奋的感觉,是一种“我们试试吧”的心态,而不是“一定能成功”的心态。&br&&br&有一次 Gift Shop 组要在情人节前上线一款预订礼品的程序,用户在情人节前预订,在情人节到来当天一早分发给用户指定的好友,并且收到的礼品会展示在他们 Profile 页上。记得当时的重要需求是在情人节当天实现大规模的 deliver ,在那几个小时集中分发,肯定不能出现送错或很晚才送到的问题,而且在 Profile 页的展示涉及到其他产品组,也比较复杂。当时我和产品经理纠结在是预订时是否让用户看到,还是情人节当天再看到带来惊喜,等等几套方案。最终我们选择了实现的开发时间更短一些,涉及其他产品组的协作不那么复杂的方案。情人节当天我在西藏旅行,在西藏的旅馆里我和同事连夜协调作战,当天我们顺利卖掉了上百万份礼物,还是很有成就感的。&br&&br&我刚到 Facebook 的时候,上面讲的这种 Team 很少,也比较松散,大概就两三个工程经理,2011年我离开 Facebook 时已经有 800 多个工程师,大概有 50~60 位工程师经理。一个个小团队冒出来,在绕着某一个小领域,不停做我们刚刚提到那种创新。Security 组开始只有我一个人发起,最多的时候九个人,最后只剩了两个,原因是我们已经利用机制把那个问题Automatic (自动化)掉了,这是最期待的结果:如果有人偷东西会自动报警,你还要保安干嘛呢?&br&&br&最后,关于国内工程师,尤其是技术创业公司里的工程师,如何才能逐渐成长为主导产品的更全面的工程师,我可以给几点建议:&br&&br&&ol&&li&从公司层面,老板要注意安排一些这样的机会,比如 Hackathon 等;&br&&/li&&li&工程师有专门的 Mentor 给予他们提升自己的学习建议,可以从新人培训期间就开始,建立 Mentor 制度。&br&&/li&&li&工程师的内在驱动力,学习意愿非常重要;&br&&/li&&li&部门主管要安排一些和其他小组的交流的机会,建立公司大局观,公司可以安排一些换组等机会;&br&&/li&&li&公司安排或个人自己可以和外部人士的交流,提升行业视野。&br&&/li&&/ol&&br&虽然我们看到可能因为教育等原因,国内工程师不如硅谷工程师更全面,但我相信如果有足够好的环境,一定是有不少工程师能冒出来的。&br&&br&另外,多看把我最近的回答更新到&a href=&/dkdetail.html?book_id=31e2a3caac&title=%E6%89%93%E9%80%A0Facebook&classify=%E6%90%9C%E7%B4%A2%E7%BB%93%E6%9E%9C%20%E2%80%9C%E6%89%93%E9%80%A0Facebook%E2%80%9D&from=dksearch.html%3Fkeywords%3D%E6%89%93%E9%80%A0Facebook& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&电子书&i class=&icon-external&&&/i&&/a&里了;)
既然提到我书里讲的事情,我就来说几句吧,前几天太忙,没有回答完各位提的问题,借此问题弥补一下。我回国看到的情况是,工程师在产品开发中起更多的主导作用在国内科技公司中其实也已经在发生,并且未来会更普遍。在硅谷,产品工程师主导产品是很自然的事…
来自子话题:
我是提问者,看了大家的讨论,自己又从更多角度思考了几遍,忽然有了一种猜想:
&ul&&li&微信试图成为用户的网络身份证,变革用户登录方式,使二维码成为新的第三方帐号登录入口。&/li&&/ul&&br&目前,很多网站都在使用第三方帐号登录,如微博帐号登录、QQ帐号登录、facebook登录、twitter登录等,但是目前的第三方帐号登录方式都比较繁琐:&br&1、先要选择使用哪个网站的帐号。&br&2、转跳到对应网站的授权登录页面,输入账户名、密码。&br&3、勾选授权内容,并确认授权。&br&&br&微信采用了新的模式,扫描二维码登录,目前在网页版微信应该是一次试水,未来可能会开放API,可以用微信登录其他网站,无需注册,只要扫描即可。&br&&br&而且目前每个微信帐号都有自己独立的二维码,别人只需要扫描你的二维码就能和你加好友。那么微信以后通过API为每一个网站、每一个应用都提供一个二维码登录标识,微信用户只需要扫描就能使用那些第三方服务,也会非常方便。&br&&br&以前是别人扫描你,然后知道你是谁,现在是你扫描别人,服务器找到你扫瞄的人,并告诉对方你是谁。甚至以后可能用微信购物,扫描价签,点击确认购买,售货员的设备就会得到付款成功的消息,东西你就可以拿走了。&br&&br&之前微信就说过要成为平台,通过插件提供第三方服务应该是第一步,通过二维码提供第三方帐号授权可能就是第二步了。&br&&br&&br&以上只是我个人的一些推测,这个问题我邀请了 @张小龙(@allenzhang)回答,目前他还没回应。希望能得到张小龙的证实或辟谣。&br&&br&&br&——————7月27日补充——————&br&最近几天看了很多关于“微信背后的产品观”的信息,又反复思考了多次。今天作出一些补充。&br&@张小龙(@allenzhang)多次强调——趣味性大于功能,用户要的是“爽”。&br&@张小龙 在PPT里说:“营销的目的是让用户觉得‘爽’。口碑传播的基础是‘好玩’。爽是体验,体验比功能更易传播。”&br&也就是说,如果有一个功能,可以用多种方法实现,那么不要把所有实现方法都交给用户,不要让用户选择,不要让用户思考,直接给他最酷的、最炫的、最爽的。比如说网页版的登录,传统登录和二维码登录的目的是相同的,操作时间相差不多,也就是说两种可以同时存在,那么就只给用户一种最酷的,让用户不需要选择,还要大呼好爽。&br&&br&另外,@张小龙 还强调——PC的入口在搜索框,手机上的入口在二维码。&br&这也间接证实了我之前的猜想,微信试图成为入口。而且,微信的野心更大,不仅仅是成为登录的入口,还要成为手机的入口,而一部手机就代表着一个人,微信通过二维码代表这个人来进行各种互动。比如通过二维码关注博客、通过二维码下载应用、通过二维码添加好友、通过二维码购物等等。微信不仅成为了我们的交互手段,微信还会因此得到我们的所有交互行为数据。一亿用户的交互行为数据啊!!如果利用这些数据做深层次的数据挖掘,那是多么大的一笔财富??
我是提问者,看了大家的讨论,自己又从更多角度思考了几遍,忽然有了一种猜想: 微信试图成为用户的网络身份证,变革用户登录方式,使二维码成为新的第三方帐号登录入口。目前,很多网站都在使用第三方帐号登录,如微博帐号登录、QQ帐号登录、facebook登录…
来自子话题:
不只是扎克伯格,几乎任何一位非华裔的外国人说中文都会让人觉得惊叹。&br&说到底也就是一种意料之外:在大家的概念里,他不该会的,如果他会,就让人惊叹了。&br&扎克伯格是没有什么会说中文的必要的,即便他在商业上或者技术上有需要跟中国人交流,那么那个中国人也必定是会说英文的。&br&而马云这边,他会英文是应该的,如果他在商业上或者技术上有需要跟外国人交流,那么那个外国人谁知道会不会说中文呢。&br&&br&我认为这是一个关于本国语言的自我认知的差别。&br&中文从来不是一种通用语言,学习中文的外国人几乎都是出于兴趣。可是在中国,良好的英文水平往往体现着优越的教育经历和背景,甚至可以从侧面体现此人所处的社会阶层。相对于英美国家,大概拉丁语才会有此项功能。
不只是扎克伯格,几乎任何一位非华裔的外国人说中文都会让人觉得惊叹。说到底也就是一种意料之外:在大家的概念里,他不该会的,如果他会,就让人惊叹了。扎克伯格是没有什么会说中文的必要的,即便他在商业上或者技术上有需要跟中国人交流,那么那个中国人…
来自子话题:
最早是手机淘宝,接下来天猫、来往都引入了GCM推送的支持。&br&&br&但是以目前国内的现状,GCM推送的设备可用性比例只有不到40%,所以没有哪一家大公司会把整个推送体系建立在单一的GCM推送之上。阿里的策略也是以自有推送实现为主,GCM为辅,这样可以延伸自有Push体系的覆盖能力。&br&&br&近期,我们会尝试让可使用GCM推送的用户关闭App自有的推送通道,从而完全消除后台服务的耗电。&br&&br&关联披露:我目前就职于阿里无线事业部,致力于在阿里及整个业界推动设备体验(后台耗电及其它资源消耗)的优化。
最早是手机淘宝,接下来天猫、来往都引入了GCM推送的支持。但是以目前国内的现状,GCM推送的设备可用性比例只有不到40%,所以没有哪一家大公司会把整个推送体系建立在单一的GCM推送之上。阿里的策略也是以自有推送实现为主,GCM为辅,这样可以延伸自有Push…
来自子话题:
我平时就经常实践. 整个公司的code review就是使用这个.
&br&&br&具体说来, 由于我的project稍微有点特殊,所以我这一年在facebook工作的时候一直在用两套Code Review工具: Facebook的Phabricator 和 Google的Gerrit (他们都是开源). 我觉得两个工具都很快,很稳定,然后都有效地提供了code review必备的功能:比如比较任意两个不同版本, 对任意一行代码来写评语, 以及可以很方便地导入和导出代码到本地机器.
&br&&br&用了将近一年的时间,如果我要给自己的公司选一个工具的话,我会选择Phabricator. 主要是觉得这个界面很干净, 然后配色非常好看, 整个感觉比Gerrit要现代化不少. 另外一个方便地地方,就是Gerrit上面只能看到版本做的修改,而无法直接展开整个文件(除非下载), 而这点Phabricator完成得比较好. 还有就是Phabricator上面可以发各种图片,显得气氛比较轻松. 具体你可以在&a href=&& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&&/span&&span class=&invisible&&&/span&&i class=&icon-external&&&/i&&/a&上面注册一个账户,然后去看看eprisetley的diff, 就可以大致了解这个工具的功能和特点.
&br&&br&最后要说的是: 这个工具现在已经开源, 并不属于Facebook, 而且开发它的首席工程师也已经离开Facebook自己创业.
&br&&br&在加上 AladdinZ 张超 在评论里面说的亮点: (credit属于他,而且的确也是我用后觉得有很大差别的地方)
&br& 1. Phabricator将所有文件的比较直接展开,然后放在一起,方便人阅读. 而Gerrit只有一个文件列表,然后用户需要点每一个文件,才能看到具体的修改;
&br& 2. admin的权限设置问题.
&br&&br&另外我还想到一点Phabractor比较人性化的地方:
&br& Phabricator还可以捆绑unit test和以及格式检查和规范的工具(e.g. JSLint), 然后用户在上传diff的时候, phab会自动用新版本的代码去跑unit tests,以及运行JSLint, 然后在code review里面就可以看到unit tests有几个failure和error,以及JSLint的报警信息. 对于Gerrit, 不知道能否类似配置一下.
我平时就经常实践. 整个公司的code review就是使用这个. 具体说来, 由于我的project稍微有点特殊,所以我这一年在facebook工作的时候一直在用两套Code Review工具: Facebook的Phabricator 和 Google的Gerrit (他们都是开源). 我觉得两个工具都很快,很稳定,然…
来自子话题:
拿 Canvas 来和 Pop 比其实不大合适,虽然两者都自称「动画库」,但是「库」这个词的含义有所区别。本质上 Canvas 是一个「动画合集」而 Pop 是一个「动画引擎」。&br&&br&先说 Canvas。Canvas 的目的是「Animate in Xcode Without Code」。开发者可以通过在 Storyboard 中指定 User Defined Runtime Attributes 来实现一些 Canvas 中&b&预设&/b&的动画,也就是他网站上能看到的那些。但是除了更改动画的 delay 和 duration 基本上不能调整其他的参数(网站上有写未来准备支持不过都五个月了……)&br&&br&我们来考虑一个 bounce left 的动画,其实无外乎就是某个物体从右到左再小幅震荡然后停止的过程。Canvas 里是这么做的:&br&&div class=&highlight&&&pre&&code class=&language-objective-c&&&span class=&k&&+&/span& &span class=&p&&(&/span&&span class=&kt&&void&/span&&span class=&p&&)&/span&&span class=&nf&&performAnimationOnView:&/span&&span class=&p&&(&/span&&span class=&n&&UIView&/span& &span class=&o&&*&/span&&span class=&p&&)&/span&&span class=&nv&&view&/span& &span class=&nf&&duration:&/span&&span class=&p&&(&/span&&span class=&n&&NSTimeInterval&/span&&span class=&p&&)&/span&&span class=&nv&&duration&/span& &span class=&nf&&delay:&/span&&span class=&p&&(&/span&&span class=&n&&NSTimeInterval&/span&&span class=&p&&)&/span&&span class=&nv&&delay&/span& &span class=&p&&{&/span&
&span class=&c1&&// Start&/span&
&span class=&n&&view&/span&&span class=&p&&.&/span&&span class=&n&&transform&/span& &span class=&o&&=&/span& &span class=&n&&CGAffineTransformMakeTranslation&/span&&span class=&p&&(&/span&&span class=&mi&&300&/span&&span class=&p&&,&/span& &span class=&mi&&0&/span&&span class=&p&&);&/span&
&span class=&p&&[&/span&&span class=&n&&UIView&/span& &span class=&nl&&animateKeyframesWithDuration:&/span&&span class=&n&&duration&/span&&span class=&o&&/&/span&&span class=&mi&&4&/span& &span class=&nl&&delay:&/span&&span class=&n&&delay&/span& &span class=&nl&&options:&/span&&span class=&mi&&0&/span& &span class=&nl&&animations:&/span&&span class=&o&&^&/span&&span class=&p&&{&/span&
&span class=&c1&&// End&/span&
&span class=&n&&view&/span&&span class=&p&&.&/span&&span class=&n&&transform&/span& &span class=&o&&=&/span& &span class=&n&&CGAffineTransformMakeTranslation&/span&&span class=&p&&(&/span&&span class=&o&&-&/span&&span class=&mi&&10&/span&&span class=&p&&,&/span& &span class=&mi&&0&/span&&span class=&p&&);&/span&
&span class=&p&&}&/span& &span class=&nl&&completion:&/span&&span class=&o&&^&/span&&span class=&p&&(&/span&&span class=&kt&&BOOL&/span& &span class=&n&&finished&/span&&span class=&p&&)&/span& &span class=&p&&{&/span&
&span class=&p&&[&/span&&span class=&n&&UIView&/span& &span class=&nl&&animateKeyframesWithDuration:&/span&&span class=&n&&duration&/span&&span class=&o&&/&/span&&span class=&mi&&4&/span& &span class=&nl&&delay:&/span&&span class=&mi&&0&/span& &span class=&nl&&options:&/span&&span class=&mi&&0&/span& &span class=&nl&&animations:&/span&&span class=&o&&^&/span&&span class=&p&&{&/span&
&span class=&c1&&// End&/span&
&span class=&n&&view&/span&&span class=&p&&.&/span&&span class=&n&&transform&/span& &span class=&o&&=&/span& &span class=&n&&CGAffineTransformMakeTranslation&/span&&span class=&p&&(&/span&&span class=&mi&&5&/span&&span class=&p&&,&/span& &span class=&mi&&0&/span&&span class=&p&&);&/span&
&span class=&p&&}&/span& &span class=&nl&&completion:&/span&&span class=&o&&^&/span&&span class=&p&&(&/span&&span class=&kt&&BOOL&/span& &span class=&n&&finished&/span&&span class=&p&&)&/span& &span class=&p&&{&/span&
&span class=&p&&[&/span&&span class=&n&&UIView&/span& &span class=&nl&&animateKeyframesWithDuration:&/span&&span class=&n&&duration&/span&&span class=&o&&/&/span&&span class=&mi&&4&/span& &span class=&nl&&delay:&/span&&span class=&mi&&0&/span& &span class=&nl&&options:&/span&&span class=&mi&&0&/span& &span class=&nl&&animations:&/span&&span class=&o&&^&/span&&span class=&p&&{&/span&
&span class=&c1&&// End&/span&
&span class=&n&&view&/span&&span class=&p&&.&/span&&span class=&n&&transform&/span& &span class=&o&&=&/span& &span class=&n&&CGAffineTransformMakeTranslation&/span&&span class=&p&&(&/span&&span class=&o&&-&/span&&span class=&mi&&2&/span&&span class=&p&&,&/span& &span class=&mi&&0&/span&&span class=&p&&);&/span&
&span class=&p&&}&/span& &span class=&nl&&completion:&/span&&span class=&o&&^&/span&&span class=&p&&(&/span&&span class=&kt&&BOOL&/span& &span class=&n&&finished&/span&&span class=&p&&)&/span& &span class=&p&&{&/span&
&span class=&p&&[&/span&&span class=&n&&UIView&/span& &span class=&nl&&animateKeyframesWithDuration:&/span&&span class=&n&&duration&/span&&span class=&o&&/&/span&&span class=&mi&&4&/span& &span class=&nl&&delay:&/span&&span class=&mi&&0&/span& &span class=&nl&&options:&/span&&span class=&mi&&0&/span& &span class=&nl&&animations:&/span&&span class=&o&&^&/span&&span class=&p&&{&/span&
&span class=&c1&&// End&/span&
&span class=&n&&view&/span&&span class=&p&&.&/span&&span class=&n&&transform&/span& &span class=&o&&=&/span& &span class=&n&&CGAffineTransformMakeTranslation&/span&&span class=&p&&(&/span&&span class=&mi&&0&/span&&span class=&p&&,&/span& &span class=&mi&&0&/span&&span class=&p&&);&/span&
&span class=&p&&}&/span& &span class=&nl&&completion:&/span&&span class=&o&&^&/span&&span class=&p&&(&/span&&span class=&kt&&BOOL&/span& &span class=&n&&finished&/span&&span class=&p&&)&/span& &span class=&p&&{&/span&
&span class=&p&&}];&/span&
&span class=&p&&}];&/span&
&span class=&p&&}];&/span&
&span class=&p&&}];&/span&
&span class=&p&&}&/span&
&/code&&/pre&&/div&&br&没有任何特别之处(除了 callback 嵌套得有点壮观)。但是对于一般开发者来说最头痛的大概就是调动画里的参数,Canvas 直接把参数写死,虽然效果略为生硬,对动画苦手来说还是有帮助的。&br&&br&而 Canvas 的 components 也差不多,通过在 Storyboard 中指定属性来自定义字体或者是毛玻璃背景(通过插 UIToolbar 来实现的,比较粗糙)等效果。其实也就是省了几行代码的事——当然这也正是它所追求的。&br&&br&Pop 就不一样了。如果说 Canvas 是对 Core Animation 的封装,Pop 则是对 Core Animation(以及 UIDynamics)的再实现。&br&&br&为什么要再实现?回到 2010 年 Mike Matas 和 Kimon Tsinteris 创办 Push Pop Press 时。那时(其实一直到 iOS 7 之前都是)Core Animation 只能做所谓的「静态动画」——系统只提供了四种时间函数:线性、慢入、慢出、慢入慢出。要用这些模拟现实世界的物理交互是很麻烦的。现实的交互就像 Apple 已经实现好的 UIScrollView:拉到头了还能再拉一段然后松手后弹回去,轻轻一划松手后会自动滑动一段距离之后慢慢停下来。Kimon Tsinteris 在 &a href=&/posts/773/introducing-pop-the-animation-engine-behind-paper/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Introducing Pop, the animation engine behind Paper&i class=&icon-external&&&/i&&/a& 里说到,触屏使得操作更加直接,因此也让人们对屏幕这个媒介的期待更高:如果一个物体能响应我的点按,它也需要能响应我的轻轻一划。&br&&br&但是很遗憾,苹果并没有公开他们用于实现 UIScrollView 的技术。大家可能不大好想象一个没有「弹性」的 scroll view 是什么样,刚好 Ole Begemann 前段时间自己重制了一个。在 &a href=&http://oleb.net/blog/2014/04/understanding-uiscrollview/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Understanding UIScrollView&i class=&icon-external&&&/i&&/a& 这篇文章末尾的图片中可以看到,这是一个松手即停,到头即无法再拖动的 scroll view。&br&&br&而 Kimon 他们希望在 Push Pop Press 里的每一个元素都能有像 UIScrollView 一样的体验。于是他们创造了一个自己的动画引擎,在这个引擎里需要加入两种额外的动画效果:Spring(弹性)和 Decay(衰减)。后来在开发 Paper 的时候他们又进一步完善了这个引擎,便是我们现在看到的 Pop。&br&&br&举个例子,同样一个 bounce left 的效果,在 Pop 中是这样实现的:&br&&div class=&highlight&&&pre&&code class=&language-objective-c&&&span class=&n&&POPSpringAnimation&/span& &span class=&o&&*&/span&&span class=&n&&animation&/span& &span class=&o&&=&/span& &span class=&p&&[&/span&&span class=&n&&POPSpringAnimation&/span& &span class=&n&&animation&/span&&span class=&p&&];&/span&
&span class=&n&&animation&/span&&span class=&p&&.&/span&&span class=&n&&property&/span& &span class=&o&&=&/span& &span class=&p&&[&/span&&span class=&n&&POPAnimatableProperty&/span& &span class=&nl&&propertyWithName:&/span&&span class=&n&&kPOPLayerTranslationX&/span&&span class=&p&&];&/span&
&span class=&n&&animation&/span&&span class=&p&&.&/span&&span class=&n&&fromValue&/span& &span class=&o&&=&/span& &span class=&err&&@&/span&&span class=&mf&&300.0&/span&&span class=&p&&;&/span&
&span class=&n&&animation&/span&&span class=&p&&.&/span&&span class=&n&&toValue&/span& &span class=&o&&=&/span& &span class=&err&&@&/span&&span class=&mf&&0.0&/span&&span class=&p&&;&/span&
&span class=&n&&animation&/span&&span class=&p&&.&/span&&span class=&n&&springBounciness&/span& &span class=&o&&=&/span& &span class=&mf&&10.0&/span&&span class=&p&&;&/span&
&span class=&n&&animation&/span&&span class=&p&&.&/span&&span class=&n&&springSpeed&/span& &span class=&o&&=&/span& &span class=&mf&&12.0&/span&&span class=&p&&;&/span&
&span class=&p&&[&/span&&span class=&n&&view&/span&&span class=&p&&.&/span&&span class=&n&&layer&/span& &span class=&nl&&pop_addAnimation:&/span&&span class=&n&&animation&/span& &span class=&nl&&forKey:&/span&&span class=&s&&@&pop&&/span&&span class=&p&&];&/span&
&/code&&/pre&&/div&&br&Pop 语法上和 Core Animation 相似,效果上则不像 Canvas 那么生硬(时间四等分,振幅硬编码)。这使得对 Core Animation 有了解的程序员可以很轻松地把原来的「静态动画」转换成「动态动画」。&br&&br&同时 Pop 又往前多走了一步。既然动画的本质是根据时间函数来做插值,那么理论上任何一个对象的任何一个值都可以用来做插值,而不仅仅是 Core Animation 里定死的那一堆大小、位移、旋转、缩放等 animatable properties。比如说某个标签的文字颜色要从黄色渐变成紫色,之前在 Core Animation 里无法做到,而通过 Pop 则可以自定义一个属性来较为轻松地实现。又或者说同样是动态更改一个 view 的大小,之前只能更改它的 frame,而现在可以更改 Auto Layout 的 constraints,对于使用 Auto Layout 的人来说这是更直观的做法。&br&&br&当然使用 Pop 的问题就在于对交互设计师的要求更高了。一个弹性动画要有多「弹」,一个衰减动画要以什么样的速度衰减,什么样的动画让用户觉得恰到好处不喧宾夺主,这都是设计师需要考虑的问题。Mike Matas 的厉害之处正在这里。
拿 Canvas 来和 Pop 比其实不大合适,虽然两者都自称「动画库」,但是「库」这个词的含义有所区别。本质上 Canvas 是一个「动画合集」而 Pop 是一个「动画引擎」。先说 Canvas。Canvas 的目的是「Animate in Xcode Without Code」。开发者可以通过在 Storyb…

我要回帖

更多关于 惠锁屏邀请码 的文章

 

随机推荐