为什么编程语言都需要包管理器?

开始学编程接触的第一门语言是 php,平常写网站常用的一些函数、方法,把它们记录下来放在一个地方统一管理。后面尝试用框架,也就是把模板、路由、数据库操作等常用的东西做了更系统化的封装,直接提高了开发效率。毕业后去做了 PM,没有再继续往编程方向发展,所以对语言的认识还停留在这个层面,直到前段时间看 Laravel 文档的时候看到了 Composer,Composer 是 php 的包管理工具,通过简单的命令就可以管理各种第三方库包,一行代码就可以引入到自己的程序中使用。

常规 web 框架的构成:路由、控制器、ORM、模板,一般的框架将这些模块深度耦合在一起,升级一个小模块就必须升级整个[……]

继续阅读

产品经理必备的 5 项技能

一个产品从无到有,再从诞生到成熟,概括下来是这样的循环:

调研 -> 产品设计 -> 开发 -> 测试 -> 上线 -> 运营

而产品经理的主要职责,就是推动团队把事做成。为了达成目标, 项目开始前,PM 要像销售、客服人员一样了解自己的目标用户;项目开始初期,PM 要和用研、用户体验、设计部门一起设计功能、交互;项目开始中期,要参与到项目管理中,开发尾声还要参与项目的测试,紧盯 BUG 的修复;产品上线后还要和运营一起制定运营策略,密切关注用户新一轮的反馈…如此反复,不断打磨、完善产品。

从上面的过程可以看出,产品经理什么都需要参与,样样都[……]

继续阅读

以图床为例,介绍如何做一款产品

作为 PM,经常要用 markdown 写文档,无论是 mou 等常见的 markdown 客户端,还是公司用的 gitlab 平台,插入图片都是一件麻烦事,需要截图、保存到本地,然后上传到网上的相册,拿到图片 url 后再贴到编辑器里,非常繁琐。
我决定设计一个产品来解决这个“痛点”:用户截图后直接 Control + V,图片自动上传并返回链接。目标用户是经常和 markdown 打交道的 PM、测试、以及工程师。

1. 用户调研
为了确认这个需求不是我拍脑袋想出来的伪需求,实际调研了 4 个人,反馈比较集中,在他们的工作中确实存在和我类似的烦恼:markdown、邮件中贴图太麻[……]

继续阅读

关于领导力的思考

判断一个 Leader 好不好的标准在于他能不能带领团队把事做成。

每个 Leader 必然肩负着完成某个目标的任务,为了达成这个目标,团队缺人,则他要去招人,团队成员有矛盾,则要帮助大家解决矛盾,每个人能力有偏向,则要让合适的人负责合适的事,将每个人的能力发挥到极致,最终才能将目标完成的更快、更好。
做领导,“服众”很重要
在达成目标的过程中,领导常常是决策和发号施令的一方,所以领导能够“服众”很重要,“服众”的意思是说,Leader 叫下属做的事情,下属有认同感,自己也愿意去做,而不只是听从行政上的命令。
1. 专业技能
如何建立这种认同感,让大家信服自己?首先要有过硬的专业[……]

继续阅读

产品需求从哪里来?

产品经理日常讨论最多的,恐怕就是用户“需求”,“需求”代表新的功能、代表要修正某些 bug 、代表用户体验的提升等等,能否把握住用户需求,直接关系到产品的成败,那么,需求都是从哪里来的呢?
产品从无到有阶段
1. 类比传统行业
互联网是一个工具,它改变了人类获取信息的方式,衣食住行依然还是衣食住行,只不过原本需要跑很远逛街买衣服,现在可以在淘宝上一键下单,原本需要在路边招手打车,现在手机装个 APP 即可搞定,满足的还是原本的那些需求,只是通过互联网大大提升了效率。类似的例子比比皆是:音乐、电影、地图、协作工具、上门美甲、上门按摩的 APP,满足的都是互联网诞生之前人们就有的需求。[……]

继续阅读

合格的产品经理都是好测试

这里说的测试指黑盒测试(功能测试)。 之所以说合格的产品经理都是好测试,是因为产品经理有以下几种特质:
1. 最了解产品
产品经理是最了解产品的人,产品有哪些功能、模块、每个模块之间的依赖、正常的使用流程、非常规使用流程…产品经理都了如指掌,在测试的过程中可以做到准确、全面,遇到 bug 能够快速帮助工程师定位问题原因所在,协助工程师解决问题。
2. 思维缜密
合格的产品经理具备思维缜密的特质,正因如此,在设计测试用例时,可以根据不同的场景、使用路径、设计出最全面的测试用例。
3. 最了解用户
产品经理会通过用户访谈、调查问卷、产品运营数据等方式了解目标用户,明确知道用户的使用[……]

继续阅读

如何制作微信小视频

很快就要过年了,公司给客户准备了拜年的图片和视频,方便通过邮件、微信发送。同事把其中一段 10 秒的视频传到了视频网站上,分享出去后接收者需要点击链接打开优酷,有可能会看到 10 秒的广告后才能看到拜年的视频,这个过程是被打断的,如果是在非 WIFI 环境下,更没人会点开一个视频网站的链接。

本来想可以把视频转换成 gif 图,但是 gif 图一方面没有声音,另一方面色彩不够丰富,同事提醒可以转成微信的小视频,于是研究了一下,思路是把微信存储的小视频文件替换为自己的视频,具体方法如下:

  1. 首先需要一台 Android 手机,打开微信后在首页下拉开始拍摄小视频,选择保存给自己。
  2. [……]

继续阅读

邀请码分享站发布

最近看到很多新产品在发邀请码,inbox 、轻单、科学上网的账号等等,有人领取了在帖子里回复,有的已经被领了也不留痕迹,导致后来的同学不知道哪个被用了,哪个没被用,非常浪费感情。

关于邀请码分享的设计,很早时候就有过一些想法和初步的设计,详见之前的博客文章:《一个关于邀请码分享的idea

现在我把这个简单的构想实现出来了,效果如下


网站上线后只在 v2ex 论坛上发布过,没过多久就被科学上网产品推广链接刷屏,实际的邀请码非常少,推广链接也并不是没有需求,很多互惠类型的邀请码确实能让双方得益,于是干脆开辟一个板块就叫“互惠邀请码”,推广链接什么的就发在这里。由于这[……]

继续阅读

产品设计中的权限设计

但凡包含多人协作的系统都会涉及到权限,尤其是商业系统,对权限的要求非常严苛,有的甚至精确到表单的字段级别,这里我们先研究一下常见产品的权限设计,对比其中的异同点,总结一些权限设计的规律。
QQ 群的权限
大部分人对 QQ 群的权限应该再熟悉不过,在一个群中,只有固定的三种角色:创建者、管理员、普通成员,这里简单说明一下:

角色
说明

创建者
创建者可以解散群,设置指定成员为管理员,添加和删除群成员,修改群资料以及正常发言

管理员
添加和删除群成员,修改群资料以及正常发言

普通成员
正常发言

Gitlab 的权限
在[……]

继续阅读

设计用户体验时要把握的“平衡”

1. 用户体验和开发之间的平衡
良好的体验会让用户更加喜爱你的产品,可以促进口碑传播,可以提高产品的销量…这些好处不言而喻,交互设计师和产品经理绞尽脑汁,做用户调研、做 A/B 测试,最终将超赞体验、炫酷交互的原型给到工程师,工程师却说实现需要两个月,而距这个项目的 Deadline 却只有一个月时间。这时产品经理就不得不思考如何修改原型,简化交互让工期缩减,待修改稿完成,时间又过去了半个星期。

做产品非常重要的一点是在有限的资源下(包括时间、人力和金钱),完成一个可衡量的目标,所以在进行产品设计的时候,就应该考虑好用户体验和开发资源之间的平衡, 适当的时候准备多个设计方案,以便开[……]

继续阅读