中国巨头互联网音乐公司总监谈产品设计

原标题:程序员漫谈产品设计

我是做技术的,对互联网产品一窍不通,更谈不上产品感觉,但这么多年和产品的配合,通过自己的观察,也没忍住对产品来一番纸上谈兵,产品经理不要指望能从中学到什么,因为会发现很多正确的废话,我无非是提供了一个程序员的观察视角而已。

假设产品为x,网络用户为u,产品的目标就是设计x,使得f(x,u)取得最大值,f可能是取日活,也可能是付费收入。x实际是无限维的,可能包括界面颜色,提示信息,免费下载数量,简化起见,可以以一维来思考这个问题。

产品的任务抽象之后,我们发现,所有的互联网产品(甚至任何产品),都可以抽象为一个寻找f(x,u)的最大值问题。问题的关键是我们不知道这个函数是什么形状,否则我们能够直接找到最大值,比如x:颜色为红色,允许免费下载6首,此时得到最大的f(x,u),比如日活100万。由于不知道这个函数的形状,找到这个函数的最大值便是困难的,无数的产品经理为此苦苦探索,所有产品的方法论都围绕这个核心问题。以下几种方法是常见的:

爬山法。

我们不知道f的形状,为了寻找最大值,我们根据直觉找到一个点x,然后通过反复迭代调整x,以期找到f的最大值。这种方法是目前最普遍的方法,即小步快跑,逐步得到产品版本x1、x2、x3….,这些产品能够让函数f的值逐步提升。这个时候产品的直觉非常重要,一开始找到一个合适的起始点x,离山峰太远,其次在迭代开发的过程中能找到合适的△x,以使得f(x+△x,u) > f(x,u)。

但这个办法有一个严重的问题,就是会陷入局部最优解,除非这个函数是严格的凹函数。如果很幸运,这个函数是严格凹函数,那么这个方法一定能找到最优解。很多公司的产品经常陷入局部最优解,或者已经接近全局最优解,梯度很小了。这个时候的产品经理很悲催,具体如何悲崔见各大互联网公司的加班情况。

模拟退火法

爬山法的缺点模拟退火法可以解决,这个方法在一开始尝试较大的△x,大步向前,然后慢慢的改成小步快跑。这个方法的的优点是在一开始△x较大,有较大的概率找到一个较高的山峰来爬,然后在此山峰的山腰上往上爬。

该方法能大概率设计出最好的产品,但是缺点也很明显。那就是较大的△x俗称大改版需要付出成本和承担风险,没有谁知道你这次大改版是跳到了一个更高的山峰上还是跳到了一个更矮的山峰的山腰上,大改版失败的例子随便搜,比如vista。

遗传算法

大规模集团军作战方法,适用于只许成功不许失败,不计成本的产品。这个方法一开始就选择多个不同的产品原型开始x1、x2、x3,然后这些产品做交叉遗传和变异,经过很多一代的演化,最终得到最优的x。这个方法的优点是基本能找到最优解,缺点是成本高。以微信为例,就是多个团队同时开发,最终广州团队胜出。

智能方法

这是个人的幻想,不要当真。上面的三种方法都建立在函数f的形状不知道的条件下,假如我们有某种方法能提前知道函数f的形状,那么我们当然是又快又最优的设计出了产品。这种方法有没有,其实有的,但只是对个别维度有用,比如根据以往的收费情况,我们通过模型预测出定价为50元的情况下,付费是最优的。这个时候我们就不需要去不停的尝试不同的定价:20、80、45、60、48、55、50。

现实情况往往更为复杂,很多问题没有深入探讨,这里没有考虑市场、品牌、竞争对手等因素,尤其是没有考虑时间因素。尤其是时间,在不同的时间f(x,u)的形状是不同的。比如在2006年,瑞星如果启动免费策略,此时函数梯度很大,也许f(x,u)函数能取到很大,但2011年,再启动免费,已经于事无补,因为函数的形状早就变了,用户反应波澜不惊。

另外一个常见的问题就是选择了错误的函数f,比如选择日活,最后发现日活都是僵尸日活,带不来收入。在基层执行的产品经理还面临一个实际的问题,不同的领导告诉他们不同的函数,或者同一领导不同时候取不同的产品经理苦不堪言。

总之,程序员就像是一个爬行在函数曲线上的虫,产品经理就是骑在虫背上指挥的盲人,骑手的感觉决定了这次冒险的结局。以上拙见,供人一笑,抛砖引玉,共同探讨。

作者:Dr.Liu

微软感受 – 王垠

原文:http://www.yinwang.org/blog-cn/2016/09/10/microsoft2

在微软两个月了,也可以说一说自己的感受了。

先说说好的地方吧。在微软,我终于可以不用碰 Go 语言,REST API 之类的垃圾。C# 确实是一个挺不错的语言,虽然我发现一两个需要改进的地方。在微软,我没有遇到过特别自大的人。有些人心里也许还是很自我,但不像 Google 之类公司的人,有那么张扬的表现。微软不提供免费的午餐,而是要求员工付出少许的费用(6块钱以下),这提高了食物的质量,而且避免了浪费。在微软的饭桌上,人们谈论的不是某些牛人有多厉害,要怎么发财,而是谈论生活,音乐,电影,食物…… 这些都是我很欣赏的地方,每一个成熟的公司都应该拥有这样的特征。

继续阅读

CSDN-中文IT社区-600万.rar-CSDN杯程序员最爱的mm评选

CSDN这次丢人丢大了,蒋涛同学现在估计正焦头烂额。
事件始末:

昨天有人将CSDN的2009年4月份以前的用户名和密码发布到了ed2k:网络上了,CSDN-中文IT社区-600万.rar。由于CSDN是采用明文存储,导致600万用户密码集体泄露。

这里有第三方查询密码是否泄露的网站:http://0bad.com/csdn.php 如果您的密码也在泄露之列,请尽快修改,以及其他网站的密码。

该事件出现以后,各路神仙大显身手:

据说现在推上在举行CSDN杯我最喜爱的CSDN密码活动,我觉得与其评选人们最喜爱的密码,还不如评选密码里面最受喜爱的人。那么谁得到的爱最多呢,我统计了一下包含ilove***的密码,其中被爱得死去活来的前100位如下: 继续阅读

组合数学之把妹要诀

王络丹住址问题公交卡丢失问题之后又一有意思的讨论。

离散数学课(CSCI 2110)上,讲到一个有趣的问题。

假设有五个男生,五个女生,每个人都在自己心中对五个异性有一定的preference排序,比如:

以上的排序表解读为:男生1最中意女生C,次中意女生B,次次中意女生E。。。。 以此类推。。。。 继续阅读

我是如何推理出王珞丹住址的

前言

不错,我确实知道王珞丹(《杜拉拉升职记》的女主角)的住址,只可惜是前住址,因为她最近搬家了。我分析出她住址是在一年前,那时候她还住在那里。前段时间有人问我是如何推理出王珞丹住址的,我没有说,一来是因为为了尊重别人的隐私,二来我也不是狗仔队。

今天碰巧骑车路过那里,看到大大的窗玻璃上贴着招租的广告,便知道她已搬家。既然搬家了,那么我把去年分析推理出她住址的过程说出来便也无妨。 继续阅读

公交卡丢失之后-数学牛人教你如何建模找到丢失的手机

当你的手机钱包丢失了之后,你会怎么办?“丢了就丢了”可能是是大多数人的做法。这里告诉你一个牛人的做法,如何利用组合数学建立模型,从而成功找到拣手机的人。

5月底,我的卡丢了,同时丢的还有一部手机,上面有不少人的电话,我跟拣到手机的人约定,把手机给我,我给他500元钱,可是等我第二天再打电话的时候,手机就无消息了!幸好,包里面有我一张公交卡,我想能通过一卡通网站把他找到。

果不其然,他居然使用我的公交卡了,因为我留有公交卡的存根,于是就在一卡通的网站上寻找答案。6月1日他走的路线非常诡异,石佛营西里—-前门—–木犀园—–前门—–动物园——北师大——望京,晚上是望京657—–朝阳公园桥—-石佛营西里,非常奇怪的路线,我先前以为他是专业扒手,但是仔细看不像,因为那人白天不乘车,所以应该不是扒手。我还在670里面贴了帖子,可惜现在帖子没有了。 继续阅读

程序员装逼指南(转)

一、准备工作

“工欲善其事必先利其器。”

  1. 电脑不一定要配置高,但是双屏是必须的,越大越好,能一个横屏一个竖屏更好。一个用来查资料,一个用来写代码 。总之要显得信息量很大,效率很高。
  2. 椅子不一定要舒服,但是一定要可以半躺着。
  3. 大量的便签,各种的颜色的,用来记录每天要完成的事务,多多益善。沿着电脑屏幕的边框,尽量贴满,显出有很多事情的样子。
  4. 工具书,orelly的,机械工业,电子工业什么的都可以,能英文就英文,不行影印版的也可以,反正越厚越好,而且千万不要放在书架上,一定要堆在桌上,半打开状。 继续阅读