By 陶国恩Gary gary_pm@foxmail.com
——————————————作者的几句话——————————————
笔者是一位大四的在校大学生,半岁的产品经理,从两年前便决定以后要成为一只安静而凶猛的产品狗。本文是自己的PM知识学习手记,想通过这种方式帮助自己沉淀一年多以来所获得的知识和思考,同时也希望能够获得线上众多大神的指正。因此文中的知识和观点不一定值得大家参考(反而很欢迎大家吐槽拍砖><),它只是我个人现阶段知识的一种总结和呈现,或许只是正确的废话,但也也期盼能够为大家带来启发!
由于是个人较长时间学习阅读后的总结,所以文章的部分内容可能摘录或受启发于某些文章、书籍却不自知,对于自己还记得或者保留了链接的内容我会在文中附上,如果大家有发现内容有相关信息源而我未注明的,请一定要在评论中指出,衷心感谢!
如果资料原作者拒绝转载,相关内容也会马上删除
最后,如果大家希望转载本文,请在评论区注明去向,并在转载中注明作者即可。建议大家持续关注本文,因为本文还会不断更新哦~(因为我也在不断成长哈哈)如果评论区中出现精彩的分享和建议,也会加入到手记中方便大家学习~
—————————————废话结束,正文来鸟————————————
由于文章太长超过了简书的字数限制...前半部分将放在《产品经理学习手记①》http://www.jianshu.com/p/162a8f3e2984
更新纪录:
4.15 —— 增加:交互设计-未归档小笔记(主要是导航设计及两平台区别);产品基础技术知识(前后端语言);其他-创造好社交产品的战术与战略
5.8 —— 增加:其他-卡片式设计
交互设计(待完成)
信息架构
原则
基于逻辑,趋于稳定
在宽度与深度中平衡
构建之初,就要方便日后新元素的加入
作用
让用户和团队都不会产生迷惑
让细节的增减无需伤筋动骨
让任务流程清晰直接,减少出错可能
任务流程
导航设计
顶部:最常用,网页上大家会往下滑动,悬挂在顶部不影响阅读。(有时候会和左侧导航一起用)
底部:移动端手指更接近底部。安卓的导航栏可以滑动,因为手机有退后按钮
左侧:自然使用习惯,左边引导右边,入口导航。(点击量会比底部更高,退一步海阔天空)
右侧:不会独立存在,辅助性,操作入口。一般不是全局导航
引导与反馈
用户引导
可采用的方式
大喊大叫式
填补空白式
全局导游式
任务引导式
新手练手式
榜样激励式
嵌入帮助式
注意事项
能少则少
不必一次性完成,可以随着使用程度加深而随之呈现
视频限制用户思维,而且令人感觉费时间。比较低效!
想教孩子一样去引导,参与式、游戏式的实现方式,可以用闪烁、振动等动态
限制用户
那些操作需要被限制
与当前状态相矛盾的操作 — 如单选关系下的子设置。
在当前状态下无法使用的操作 — 如需要输入留言内容,才能点击“留言”按钮完成操作。
干扰执行任务的操作 — 如靠近执行区域的无关操作。
限制的方式
把某些按钮或菜单选项设置为灰色让其不能点击
把不需要进行的设置选项隐藏起来
并不是所有情况都适用
视觉设计(待完成)
视觉设计的追求
设计的产品是否能让用户产生情感的寄托(情感化设计)
设计的创新是否超出和遵循面产品的延续(一致性)
设计和创新的内容是否可以低成本、高效率地被真实呈现(设计成本)
设计的形式是否可以不借助帮助系统而通过产品的语义被简便地传达(用户成本)
视觉布局
图标与文字
视觉注意力
设计规范
设计评估与优化(待完成)
快速检查清单
架构与导航
是否采用了用户熟悉或容易理解的结构?
是否能识别当前在网站中的位置?
是否能清晰表达页面之间的结构?
是否能快速回到首页/主要页面?
链接名称与页面名称是否相对应?
当前页面的结构和布局是否清晰?
布局与设计
是否采用了用户熟悉的界面元素和控件?
界面元素和控件的文字、位置、布局、分组、大小、颜色、形状等是否合理、容易识别、一致?
界面元素/控件之间的关系是否表达正确?
主要操作/阅读区域的视线是否流畅?
其他文本(称谓、提示语、提供反馈)是否一致?
内容与可读性
文字内容的交流对象是用户吗?
语言是否简洁、易懂、礼貌?
内容表达的含义是否一致?
重要内容是否处于显著位置?
是否在需要时提供必要的信息?
是否有干扰视线和注意力的元素?
行为与认知
是否告知、引导用户可以做什么?
是否告知需要进行哪些步骤?
是否告知需要多少时间完成?
是否告知第一步做什么?
是否告知输入/操作限制?
是否有必要的系统/用户行为反馈?
是否允许必要的撤销操作?
是否页面上所有操作都必须由用户完成?
是否已将操作步骤、点击次数减至最少?
是否所有跳转都是必须的(无法在当前页面呈现)?
产品分析(待完成)
竞品分析
基础理论——比较研究法(大家来找茬)
1.找出同类事物或现象
2.按照比较的目的将同类现象或事物编组作表
3.根据比较结果作进一步分析
实际应用
1.设定分析目标——竞争对手/同类产品:80/20原则,找出最关键的20%对手、最关键的20%差异点
2.将同类功能模块或交互、外观细节编组作表:
战略定位、盈利模式、用户群体、产品功能、产品界面(交互方式、视觉表现)
3.根据比较结果作进一步分析:差异的原因、结果、优劣;是否需要/可以复制
分析阶段
1.用户研究阶段。将竞品分析作为即将形成的用户需求文档(如人物角色)的参考。
2.概念模型或内容模型阶段。基于竞品分析构架模型,这个阶段的竞品分析倾向于功能分析、逻辑框架。
3.设计阶段(即高保真原型图、设计效果图)。竞品分析针对非常具体的设计问题,将其当作设计的源泉,并以此作为设计的依据。
4.可用性测试。主要是针对某一具体功能、问题做深入的对比,以此作为可用性测试结果的佐证。(10条可用性准则)
未归档小笔记
主要摘自
1.安卓的tab页签可以通过滑动切换,但ios只能通过点击切换,因为ios将滑动留给了单个item;tab页签的数量最好不要超过5个;
2.抽屉式导航普遍使用于:类目数量较多、类目的层级较深、某个类目需要频繁访问,但问题是类目之间的切换非常不方便
3.list模式适合以内容为主、内容很多但层级不深的产品或页面
4.安卓的单条item操作方式主要是点击和长按,滑动操作也越来越多(因为安卓没有边界),而ios主要是点击和滑动。个人体验,即使点击次数或者花费时间相同,长按+点击的体验要由于2次点击,可能是因为后者手指移动距离更大而且页面的切换使用户心烦。
5.实体键方面苹果只有1个home键,功能包括:按一次,回到桌面、双击,出现多任务界面、iOS8里面,轻触两下Home键,调出单手模式、指纹解锁;安卓则有4个(4.4以下)或3个实体键(少一个搜索),安卓的后退键在大部分情况下,和页面上的返回功效一样。不过,Android的back键可以在应用件切换,还可以返回主屏幕。这个iOS里面的键不能在应用间直接切换。
6.安卓有ios没有的浮窗
7.移动端的搜索设计:输入前后是否设置后退键?是否设置键盘自动弹出还是先展示一个搜索页或搜索历史?全删按钮?是否提供实时搜索(输入马上搜索无需点击)?
8.文档写作:
1.功能架构——用思维导图画出来
2.页面布局——把所有页面都列出来
3.顺细节——所有的步骤都要有,越详细越好
4.小组讨论需求、细节、文案、新手引导
产品运营(待完成)
运营是另一种形式的产品
内容运营
通过创造、编辑、组织、呈现网站内容,从而提高互联网产品的内容价值,创造出对用户的黏着、活跃产生一定的促进作用的运营内容
用户运营
以网站或者产品的用户的活跃、存留、付费为目标,依据用户的需求,指定运营方案或者是运营机制。
活动运营
通过举办和合办活动,提升产品指标或实现产品战略。
App运营推广
内容整理自以下两篇好文章:
APP运营推广超级攻略(2015新版)(二次转载自3W,遗憾未找到原链接和作者)
App推广中,我是怎么铺渠道的(转载自人人都是产品经理网站)
线上推广
方法
大型渠道准备好:大的应用商店都是网页端上传,可以同时开十几个页面一起上传,提前准备好标题、简介和描述;标题要遵循SEO规则,简介和描述中要对标题、简写、功能做详细介绍,方便搜索蜘蛛抓取。上线时间最好挑周四周五,因为周末是下载高峰。
中型渠道很可靠:中型渠道量不大,但胜在稳定,而且比较好商量,和运营人员打好交道能比较轻松地拿到好的推荐位,性价比很高。
小型渠道下功夫:小型渠道往往都被人忽略,但聚沙成塔,通过努力不懈的挖掘和提交收录,互联网的长尾效应还是能带来可观的流量的。挖掘小渠道的方法是看网站流量排名和查看网站的界面、活跃度(量小但活跃度高的渠道其实更有价值!)。
刷榜推广:国内大受欢迎的灰色手段,如今安卓榜单远比苹果容易刷,分为冲榜和维护两种,按天收费,前25名的一般要1W以上。价格详情参考
争取上大渠道推荐榜:各大应用商店平台都有为不同阶段的产品提供评优推广的渠道和要求文档,符号要去的好产品自然会得到平台的青睐。
渠道
应用商店:太多了
PC及WAP下载站:也太多了
App推荐媒体:最美应用、爱屁屁、少数派等等、ProductHunt
运营商渠道
手机厂商渠道
积分墙推广
广告平台
应用间换量:同级别、用户群相近App直接换量、小量级App可通过网盟、应用平台换
线下推广
渠道
手机厂商预装:转化率高,但周期长、成本高
水货刷机:单次成本低,但经常碰到重刷的现象所以总成本不低
行货店面:用户质量高,粘度高,用户付费转化率高,见用户速度快,但人员成本较高
社会化营销(这部分摊子可以很大,暂时还是先借用APP运营推广超级攻略(2015新版))
方法
互动媒体平台:自己掌握的(如微信、微博),首先要明确自身定位和资源,然后尽量为用户提供有趣、有价值、有用的内容和互动,注意它们不是广告墙、更不要发太多不想管的所谓热门文章,有损品牌形象。公共平台(如论坛),尽量争取中心化支持(版主置顶),核心是要找到高度相关或者高活跃度的「圈子」,质量>数量。
单向媒体平台(包括纸媒、互联网媒体和自媒体等):日常要提供日常稿件保持适当的曝光率,但关键是要懂得事件营销去制造爆点吸引广泛关注,毕竟现在互联网行业的媒体人也向狗仔队靠拢了。事件可能是内部事件(融资、产品有新话题等),也可能是外部时间(热点话题、撕逼大战等),都需要制定详细的传播方案,最好有专门的团队来负责跟进。
渠道
品牌基础推广
百科类推广:在百度百科建立品牌词条,建立SEO体系和百度指数;
问答类推广:在百度知道,搜搜问答,新浪爱问,百度经验等网站建立问答。
垂直社区:在知乎,豆瓣,微博等社交网络,要有相应的内容存在。
论坛,贴吧推广
第一阵容:机锋论坛、安卓论坛、安智论坛等;
第二阵容:魔趣网、安卓论坛、魅族论等;
第三阵容:风暴论坛、木蚂蚁论坛、DOSPY论坛。
微博推广
内容:将产品拟人化,讲故事,定位微博特性,坚持原创内容的产出。在微博上抓住当周或当天的热点跟进,保持一定的持续创新力;
互动:关注业内相关微博账号,保持互动,提高品牌曝光率;
活动:必要时候可以策划活动,微博转发等。
微信推广
内容定位:结合产品做内容聚合推荐,内容不一定要多,但是一定要精并且符合微信号的定位;
种子用户积累:初期可以给定个KPI指标,500个粉丝一个门槛,种子用户可以通过同事好友,合作伙伴推荐,微博引流,官网引流等;
小号积累:开通微信小号,每天导入目标客户群;
小号导大号:通过小号的粉丝积累推荐微信公众号,将粉丝导入到微信公众号;
微信互推:当粉丝量达到一定预期后,可以加入一些微信互推群。
媒体渠道
选择的渠道决定了传播的效果:
对于公司创始人的一些采访,我们可能更倾向于行业及财经相关的权重高的纸媒,有利于大面积的带动传播;
对于产品的发声,我们更倾向于科技类的新媒体,在行业内能引起更快速的关注力;而对于事件话题性的新闻,我们更青睐于选择大型门户类网站。
对于自媒体这领域,实力参差不齐,选择有中立观点和实力派的自媒体发声,不失为好的选择。但是成本对创业公司来说,并不是性价比最高的。
对于电视媒体,选择对和你潜在用户相吻合的节目,是一个能快速让产品呈爆发式增长的途径.
数据分析
来源
前期数据
上线后的数据(下载量、激活量等)
来自用户的数据
来自网站日志的数据:
(1)聚合度量
(2)点击流分析
(3)基于会话的统计
(4)基于用户的统计
竞争对手的数据
不同阶段的数据分析(摘自从零开始做运营--运营数据分析By MyKme)
网站或产品开通初期运营阶段:流量是关键指标,不仅仅是UV/PV、停留时间指标,更重要的是流量来源于何处。流量到来之后的操作、在哪里结束。
网站或产品的持续运营阶段:重在用户的留存、活跃指标、甚至是付费规模。需要跟踪所有流量来源的渠道质量,强化用户行为的分析,拆分出各个维度、各种路径的留存、活跃、转化的情况,用户的兴趣点,成长模型等。
网站或产品的成熟期:重在用户流失的速度、分析流失原因,对留存与活跃用户给与重点的关注。
网站或产品的衰退期:数据的保存工作。结束运营,要做好各种准备和通知。
各种运营核心数据
内容运营
1、内容的展示数据:是最基础的数据,意义和价值在于:提供给内容运营者一个直观而基础的数据情况,用来展示内容被点击、查阅的情况,从而分析内容是否为网站或产品提供了对应的帮助,内容的展示数据包括但不限于:内容的点击次数、内容页面的蹦失率、内容页面的停留时长。
2、内容的转化数据:是较展示数据更深层的数据,它往往用于判断内容是否能够促进用户的转化(从活跃到付费的转化),内容转化数据包括但不限于:内容中付费链接的点击次数、付费成功次数;内容页面广告的点击次数、广告的停留时间、二次转化成功率等等。
3、内容的粘性数据:考虑展示数据时,如果进一步分析用户重复观看的次数,那么结合每次观看的停留时间,就可以得到粘性数据。RFM模型分析获得内容或者用户的粘性值和分布。
4、内容的扩散数据:又称为“分享”数据,是社会化浪潮中一个新增可监控的数据,内容的分享频次和分享后带来的流量统计,可以说明内容对一类用户的价值和作用情况,对于需要通过分享带来用户的网站或产品,以及需要引爆热点和病毒式营销的运营项目有着重大的意义和价值。
活动运营
举例说明:一个网站的分享邀请活动,活动主旨:老用户带来新用户,可以通过社会化渠道、邮件、复制链接进行分享。新用户通过链接进入活动注册页面完成注册,进入网站,填写用户资料并完成登录,即认为是有效的。完成有效邀请的老用户和新用户,均可获赠一件小礼品。
对这类的活动,有几个关键的数据:1、分享的渠道--用来判断下次活动主推哪些分享渠道;2、受邀请的用户的注册率--用来进行发奖和判断活动质量;3、进行分享的老用户的参与度--用来进行用户分级,判断活动规则对老用户的吸引力,对未来开展类似活动,应当选择的用户类型是一种参考。
核心数据包括:1、各个分享渠道的分享次数、分享链接的点击次数、各个渠道注册--成功的转化率;2、总的注册--成功转化率、用户注册的蹦失节点、用户注册完成后引导过程的蹦失节点;3、参与活动的老用户总数、分享渠道按照使用次数的分布、对于使用了两个或两个以上分享渠道的老用户的日常行为表现(活动前后一个月的行为表现等)。
电商折扣活动例子:母婴用户折扣活动,希望带来日常销量2倍的活动时间内的销量增长。
关键数据:1、广告投放渠道的质量--用来判断目标用户的媒体触点,未来类似活动主要投放渠道的筛选凭证;2、单品销量的增长情况--用于判断目标用户对于什么样的产品更感兴趣;3、总体销量目标的完成度--用于判断活动是否达到预期;4、各关键节点的转化率--活动页面商品的点击次数--进入页面的流量、浏览--放入购入车/下单的转化率、购物车--付费的成功率、支付成功率。
核心数据:1、分渠道的广告展示统计--展示次数、点击次数,landingpage蹦失率;2、用户兴趣点分布--页面商品点击次数、单品浏览量、下单量、使用购物的用户数和商品进入购物车的次数;3、订单转化率--浏览--下单的转化率、购物车--下单的转化率;4、支付成功率----完成支付的订单数与提交的订单数比等等。
用户运营
用户注册数据:1、注册用户规模、增长速度;2、渠道质量--注册渠道有哪些,渠道的注册转化率如何;3、注册流程质量--完成注册的用户数、注册流程中用户蹦失节点统计;4、注册用户行为跟踪--完成注册后当时用户的行为统计。
用户留存数据:1、留存用户的规模,注册--留存的转化率;2、用户登录时间、频率;3、用户使用产品或网站服务的时间、长短、频率等。
用户活跃数据:1、活跃用户的规模、增长速度、注册--活跃的转化率;2、用户登录后的行为统计;3、用户使用产品或网站服务的频率、内容、行为等。
用户付费数据:1、付费用户规模、增长速度、注册--付费/活跃--付费的转化率;2、付费金额、频率等;3、付费用户的日常行为跟踪。
用户流失数据:1、流失用户的规模、速度;2、流失用户的日常行为跟踪;3、用户流失的原因分析;4、流失用户的挽回策略和效果分析等。
从数据分析人
1、抛弃预设立场(定位);
2、深挖用户行为(时间节点前后的持续行为)与系统事件(版本升级,服务器错误);
3、尝试换位思考;
4、整合关键数据:
(1)造成数据变化的原因究竟是什么?
(2)有什么办法可以改善或者促进数据的变化?
(3)获得经验,下次有类似的情况应该进行何种处置和预案。
数据会说谎
1.谁说的:
是否发布机构的原版文件、是否有加工处理?
数据发布机构是否权威可信?
2.数据是怎么来的:
数据采择面向的对象——是否存在普遍性缺失?
数据采集使用的方法——会否排除掉部分目标受访者?是否存在「刷」的可能?受访者有意或无意地提供错误数据?
3.数据的呈现方式:
可以夸大或缩小差距——图表长宽、取值间隔、取值时间、总和>1
伪造相关性——取值范围、故意选择有利样本
4.这个资料有意义吗
无意义的相关性——尼古拉斯凯奇在电影中的出镜次数和淹死在游泳池里的人数
无意义的结论——纵观漫长的世界杯史,中国队也仅输过三次
处理用户反馈
面对用户反馈,首先是明白聆听用户的意见≠按用户说的做,如同用户调研当中提到的那样,用户的反馈往往是基于个人喜好(例如偏好某种颜色,左右手操作等)和自己所想到的解决方案,这些反馈提出表层需求可能会千差万别,PM首先要做的便是判断:哪些问题的确是产品的问题?用户反馈背后的真实需求可能是什么?这需求是否广泛存在?满足该需求的解决方案是否可行、低成本?
然后PM便要根据该需求的广泛性、紧迫性、重要性和可行性进行综合分析排序,制定下一步的迭代开发计划。对于强调参与感的产品团队而言,计划制定后还可以发布到产品论坛上供用户了解和讨论。
产品经理的沟通之路(待完成)
产品的营销
无数位用不同的表达说过同样一句话:好的产品自己就有翅膀,而营销只是帮助它扶摇万里的风;坏的产品天生折翼,即使刮的是龙卷风,终究也会摔死。
PM应该了解的技术知识
前后端语言基础介绍
摘自《产品经理从零到一技术进阶:不懂代码也能愉快地与开发人员相处》
http://36kr.com/p/531771.html
原作者:张元一 产品原型工具墨刀的创始人
Web 前端语言
HTML 和带样式的 HTML
HTML 就是一组标签和文本的组合,是一个最基本的网页。它已经包含了网页常见的元素,实际上在 Web 早期的很长一段时期内,网页都是这个样子。后来随着使用网络的人群越来越广泛,在 HTML3.0 中引入了对网页样式的定义,某种程度上可以说,也是从这个时候开始产生了网页设计师的角色。
CSS
带样式的 HTML 也拥有一个缺点,它需要为每个标题和文字都设定样式,工作量非常庞大。 CSS 就是在这样的情况下诞生了。CSS ,又称叠层样式表,简言之是一种用来表现 HTML 文件样式的样式设计语言。CSS 能够对网页中的对象的位置排版进行像素级的精确控制,实现基础的静态的交互设计;而CSS 目前的最新版本 CSS3 能够真正做到网页表现与内容分离。
Javascript
差不多在 CSS 诞生的同一时间,大家开始觉得这样静态的网页似乎略显无聊,能不能给网页加入一些可以动起来的元素?比如点击一个按钮之后变个颜色。当时网景公司的工程师Brendan Eich 就给他们自家的浏览器引入了这种实现动态效果的脚本语言,这就是 Javascript(简称 JS)的诞生。所以通俗来说,Javascript 就是用来给 HTML 网页增加动态功能,实现更炫酷的交互。
提到 Javascript ,就得提一下 jQuery 。 jQuery 是一个优秀的 Javascript 库。jQuery 使用户能更方便地处理 HTML ,它能够使用户的 HTML 页面保持代码和 HTML 内容分离,通过 jQuery ,可以不用在 HTML 里面插入一堆 JS 来调用命令,只需要定义 ID 即可。此外,由 Twitter 设计师 Mark Otto 和 Jacob Thornton 合作开发的 Bootstrap 也是一个受欢迎的前端框架。
HTML5 简史和响应式设计
HTML 在刚诞生的前 10 年发展是非常迅速的,在 1999 年,我们现在常说的 HTML5 的上一个版本 HTML4.0.1 就已经发布了,那么为什么从 4.0 到 5.0 会拖了 15 年之久?
首先,HTML4 的发布时间和门户时代(即 Web 1.0 时代)是基本吻合的,也就是说 HTML4 实际上是为门户型网站设计的。在门户网站经历的 4,5 的年发展之后,大家开始觉得只是单一接受信息的互联网太过无聊枯燥了,差不多 2004、2005 年开始,大家希望在网页中加入更多的互动元素,也就是我们常说的 Web 2.0。
但是这个时候大家发现,为 Web 1.0 设计的 HTML4 无法胜任这个工作,但是有另外一个技术却非常适合,那就是 Flash。所以在 Web 2.0 的早期,当时最炫酷的网站有很多是完全用 Flash 开发的,在以后的很长一段时间里,有很多网站都是 HTML 和 Flash 的混合式网站。所以在 2005 - 2010 年这段时间,HTML5 中的新标准主要是为了取代 Flash。
刚刚搞定了 Flash,又进入了移动开发时代,所以 HTML5 又花了 5 年时间制定各种针对移动平台的标准。但是到目前为止,虽然 HTML5 已定定稿,但是对移动平台的适应其实还在进行中,所以在未来很长一段时间内,就像当初的 Flash 一样,我们会看到越来越多的混合式应用。
在 iPhone 出现之前,大家访问 Web 的主要方式还是通过桌面浏览器,所以设计网页时只要考虑桌面浏览器的显示效果就足够了。但是在 iPhone 和 iPad 出现之后,就需要考虑同一个网页在不同设备上的显示效果,第一个问题的答案就是响应式,响应式的核心就是让同一个网页可以在不同设备上呈现出不同的显示效果,主要是通过CSS来实现的。
除了响应式设计,HTML 在移动端遇到的另外两个问题就是如何利用移动设备的各种传感器,比如 GPS,摄像头等等;以及性能问题。为了解决这些问题,HTML5中添加了地理位置,拍照,3D 动画加速等等 API,可以部分的利用手机设备的一些新硬件,并且新的 API 还在不断的加入进来,这也是为什么现在的 HTML5 应用可以越来越炫酷的原因。但是,HTML5 并不是专为移动设备设计的,它是由 HTML5,CSS3 以及大量的 Javascript API 共同组成的一个标准合集,微信中的 HTML5 应用只是 HTML5 应用场景中的很小一部分。
前端学习资料
https://github.com/alex/what-happens-when
https://qdan.me/list/VNBugw7ObupFRdlE
后端服务器
后端的任务实际上就是向前端提供需要显示网页和 APP 内容的数据,可能是 HTML,也可能是JSON 数据,也可以是音视频或者 PDF 文件。简单的来划分,一个服务器包含3个部分:
1/ HTTP 服务器
2/ 应用服务器
3/ 数据库
HTTP 服务器的唯一任务就是把需要返回给客户端的资源文件封装在 HTTP 数据包里,这个资源有可能是它后面的应用服务器动态生成的,也有可能是保存在硬盘上的静态文件。这是所有后端程序都必须有的,也是直接和我们的浏览器通信,返回给我们数据的程序。它的作用就是把它后面的编程语言生成的各种 HTML/CSS/Javascript,打包成一个 HTTP 请求,然后再封装到一个 TCP/IP 的数据包里发回给我们。而最常用的两个 HTTP 服务器叫做 Apach 和 Nginx。
应用服务器就是通常意义上所说的码农负责的部分。他们的职责就是生成前端需要的HTML/CSS/JS 交给浏览器。
后端语言
1/ .net/java
庞大,复杂。但 Java 的优点就是适合处理特别大的数据量,如果你的项目会很快实现大爆发,需要处理海量的请求,那么 Java 是一个不错的选择。
2/ PHP
可以快速上手,相比其他语言,可以更快的为应用添加各种新功能。当然,可维护性就另当别论了。
3/ Ruby
非常接近自然语言,基本上即使不懂编程,也能看明白 70% 或 80%。04 年出现了一个用 Ruby 编写的 Web 开发框架 Ruby on Rails,当时的效果是非常震撼的,以前需要一个团队才能搞定的事情,使用 Ruby on Rails 后 1 个人就可以胜任了,所以 Ruby on Rails 在极短的时间内就成为了 Ruby 的代名词,也成为了新手学习 Web 开发的不二选择,但是 Ruby 语言也并非十全十美,快的同时,他的最大短板就是性能。Twitter 最早就是使用 Ruby on Rails 开发的,但是随着用户数的逐步增长,Twitter 的宕机开始变得非常频繁,后来他们迫不得已将整个系统从 Ruby 迁移到到了一个从 Java 派生出来的语言 Scala。
4/ node.js
简单来说,可以把 node.js 理解为跑在服务器上的 javascript,再直白一点,就是一个跑在服务器上的浏览器,因为 node.js 最早就是从 chrome 浏览器的Javascript 引擎 V8 中剥离出来的。相比 Ruby,Node.js 程序可以获得更高的并发性能,这在一些高并发的场景下(比如群聊,多人协作等)会很有优势。
5/ 其它(python,closure 等)
6/ 无后端(leancloud)
无后端编程是最近的一个新趋势,但她并非说是真的没有后端,而只是把后端交给一些第三方的云平台,比如 Leancloud,Firebase 等。如果你开发一个手机 App,这样的好处就是你可以在早期没有后端程序员的情况下快速开工,像Leancloud 这样的云平台已经可以胜任大部分的应用场景,如果后期业务逻辑复杂之后再寻找合适的后端工程师迁移也不迟。
7/ 最强编程语言 Lisp
如果要评选一个最强的编程语言,该是哪个呢?答案就是Lisp。为什么是 Lisp?Lisp 的作者在很早以前就从数学的层面总结了一个完美的编程语言应该具备的 9 种能力,而 Lisp 就是为了配合他的这个理论而产生出来的语言。Hacker News 是由 YC 的创始人 Paul Graham 开发的,而 Paul Graham 本身就是一个 Lisp 程序员,他为了开发 Hacker News,专门发明了一种新语言叫做 Arc,但因为它是基于 Lisp 的,所以也被归为了 Lisp 的方言之一。
数据库
我们平常访问的大部分网站都是需要登录操作的,登录之后我们看到的就是只和自己相关的那部分内容。这些用户信息是保存在什么地方的呢?这就需要用到数据库。关于数据库,代表性的有两个:
1/ MySQL
2/ MongoDB
MySQL 是最常用的结构化数据库,也是大多数创业公司的选择。为什么是结构化的?就是说它的表的结构是固定的,比如我们常见的 User 表在 MySQL 中就是这样的:
id name email password
1 一元 y@modao.io $2a$10$ZxNhLyDTdagtUc...
2 产品集小妹 xiaomei@36kr.com $2a$10$zK7TnBXYYFz...
如果我们需要取得一条用户记录来检查他输入的密码是否正确,这时我们就需要使用 SQL,SQL 就是结构化查询语言。
简单来说,SQL 数据库保存的是结构化数据,NOSQL 数据库则可以保存非结构化数据。举个例子,还拿上面的用户表来举例,如果我们现在想要给产品集小妹增加一些额外的属性,比如她给某个产品点赞可以效果 x2,那么如果是 SQL 数据库,我们就需要给数据库增加一个新的字段来保存这个属性:
id name email x2
1 一元 y@modao.io false
2 产品集小妹 xiaomei@36kr.com true
但是如果是 MongoDB 这样的 NOSQL 数据库,我们就不需要给所有用户都增加一个x2的属性,只需要给产品集小妹单独增加就可以了,NOSQL 中保存到数据是如下这个样子的:
{id: ‘1’, name: ‘一元’, email: 'y@modao.io’, password: ‘…’}
{id: ‘1’, name: ‘产品集小妹’, email: 'xiaomei@36kr.com’, password: ‘…’, x2: true}
Cookie 和 Session
服务器要处理成千上万用户的请求,那么他是如何区分每个用户,并返回给每个用户他所需要的内容的 ?这就要涉及到 Cookie 和 Session。我们可以将 Cookie 理解为是服务器给每个用户分配的唯一 ID,这个 ID 由用户浏览器保存,而 Session 则是服务器为了维护这个会话在服务器端保存的与 cookie 对应的用户数据。
移动开发
移动端和浏览器的区别就在于,大部分 App,我们打开的一瞬间,就已经看到了它的界面,而不用再去向服务器来拿显示界面的 HTML 等文件。所以移动端,开发原生应用所运用到的技术(比如 Objective C,swift)就相当于前端的 HTML,只不过它是直接保存在应用本地的。这样就产生了一个问题:如何来获取应用数据?如果是网页应用,我们可以直接将数据包含在HTML 中一并反馈给浏览器;但是对于移动应用就需要有一个专门的协议来传送应用需要的数据,这就是 JSON。
移动应用的前端技术,目前来说主要有以下三种:
1/ 原生
2/ 混合式
3/ HTML5
HTML5 必经要经过浏览器这个中间层,所以在性能上多少会有些损失,所以如果你的应用对性能特别敏感,原生就会是比较好的选择;对于普通的性能要求没那么严格的应用来说,HTML5是完全可以满足的。而如果已经有了一个移动端的网站,这种情况下混合式就会是一个比较好的选择,它可以最大程度的利用已有的资源。如果说你是从头开发一个移动应用,并且这个应用对用户体验的要求也不是特别严格,那么 HTML5 就会是一个很好的选择,HTML5 移动应用比较显著的应用就是 Dailycost 。
如果说开发一个原生应用需要 4-6 周,那么同样功能的应用如果我们把其中的一部分用 HTML来实现,那么可能就只需要 3-4 周的时间,但是如果我们全部使用 HTML ,可能就只需要1-2 周。
其他
创新行不行?
极端用户
边缘场景
敏捷开发
功能添加
作为一个有良好口碑的产品,每加一个功能都要考虑清楚,这个功能给10%的用户带来好感的时候是否会给90%的用户带来困惑。如果有冲突的要聪明点,分情况避免。每个功能不一定要用的多才是好,而是用了的人都觉得好就是好。
1、合理的用户(行为)维度
尽管QQ希望大家活跃,但是他没有选用“用户每天发送的信息量”来作为激励因素。原因有几点:
(1)容易让用户产生逆反心理
为什么要逼着我每天都发两条信息才能升级,真变态!!(特别是之前已有了挂机升级的潜在意识)。如果用户忙碌的时候,甚至会干脆取消挂机(反正挂机不能升级),从而降低在线用户数。
(2)行为很难定义
发送的信息是一句话还是一个标点符号,如果我每次发一个标点符号,发100次是否可行?这种很难说明的定义会造成用户的困惑或者“刷票行为”。
(3)阈值很难把握
个别活跃用户,每天发送成百上千条信息,一个月后是否就直接升到了成长体系的顶峰?这样的成长体系是没有太多意义的。
2、明确的激励目标
聊天软件追求活跃,下载软件追求下载次数,电商软件追求消费频次,论坛追求发帖数···不同类型的app要根据自身特性,明确自己的激励目标,从而选择合理的用户维度。
3、计算模型简单
模型简单的好处能然用户快速意识到“奖励机制”,同时有预期来作为成长的目标。
4、奖励可感知和差异化
通过等级提升,用户需要感受到带来的特权奖励。同时,不同级别的用户所享受到的特权是有差别的,等级越高特权越大。
创造好社交产品的战术与战略
摘自《浅谈“什么是好的社交产品?”》 原作者汪天凡
http://www.jianshu.com/p/3801d6d24704?utm_campaign=hugo&utm_medium=reader_share&utm_content=note&utm_source=weixin-timeline&from=timeline&isappinstalled=1
1. 做口碑,靠人性的光辉。
什么是人性?比如,对弱者的关怀,对强者的崇拜,对完美的追求,对于新事物的好奇,对于求真的迫切。人性,是最有口碑传播力的一种力量,因为它能代表真善美,符合人性的产品,体现在能够帮助用户获得安慰、获得知识、获得生活方式等等。典型的产品,是豆瓣和知乎。
2. 做启动,靠野性的力量。
什么是野性?比如,对性的渴望,对隐私的窥探,对仇人的重伤、对名人的嘲讽、对老板的抱怨、对弱者的挖苦、对弱者的歧视的等等。野性,是最能吸引用户来试一试的地方,一个好的野性产品,可以把按摩房做的像电影院,可以把游戏机房做的像私塾。典型的产品,是陌陌和秘密类。
3. 做人群,靠规则的潜力。
什么是规则?比如标签,遵循规则意味着一种归属,这种归属可以方便用户找到和剔除不必要的杂音。如果规则是打标签为王,那么爱秀名牌包的人,如果好职位title为王,那么在职场得意的人,最容易获得关注。好的规则,可以剔除杂音,可以聚拢精英。典型的产品,是nice、脉脉、小红书。
4. 做长线,靠技术的牛逼。
什么是技术?技术,可以解决高并发、可以让不活跃的用户开口,可以匹配一个相见恨晚的用户给你,可以将音频和视频以最低成本和最快速度展现给用户。同样的产品,走到几十万DAU以上的时候,无论是用户增长还是成本控制,技术的高低决定了一切。这时候,门槛已经摆在那里。典型的产品,是YY和Gif快手。
有了下面2个亮点,才是值得搏一把的,战略层面:
1. 新的内容和关系
关键在于“新”,回想起当年为何人人微博微信让用户如此兴奋的原因,从关系讲,人人让我与大学同学产生前所未有的虚拟交集,我还拓展到了同校的其他班级同学,从内容讲,我们分享了各种日志。微博也是一样,新的段子手和大V的言论得到展现,和大V互粉也是格外的令人兴奋。微信就更不用说了,爸妈因为通讯录的导入,瞬间和他们的小学同学聊起来了。这三个产品,异口同声的让用户找到了新的关系和新的内容。我觉得,更重要的是,“关系在先,内容在后。”,现在很多的社交产品,太过强调内容,搞了一堆所谓搞笑的东西放在里面,其实用户是把产品当做娱乐小报来看的,这是很可惜的。
2. 创始人:洞察力+定力+魅力
一个革命性的社交产品的创始人,需要如下3个素质:
第一,是洞察力。社交关于人与人之间的沟通规则。对于人性的把握,是我最渴望看到的。我希望创始人能够花路演90%的时间,来描述他对于产品用户的典型画像,用户在产品里到底在做什么,用户做什么是他关心的,用户为何会持续这么做下去,用户为何会激动,用户何时会回来。用户用户用户。这需要强大的洞察力。
第二,是定力。社交产品,不是在爆发中辉煌,就是在爆发中灭亡,这需要创业者有面对大流量和爆发后的定力,比如最近的足记,之前的脸萌和魔漫相机。同时,因为社交的商业化非常靠后,所以需要创始人有足够的人格魅力来稳住团队,这需要强大的定力。
第三,是魅力。在流量和开发需求越来越多的时候,寻找到更棒的技术和产品人才,并且由于路比较长,所以每一轮融资都需要创始人能够应付过来,因此,这需要强大的魅力。
卡片式设计
1.让形式服从于内容,框架有内容决定
2.能够适配不同尺寸的设备,小设备单栏,大设备两栏或三栏
3.内容上扁平化、碎片化,但体验上其实是拟物化的,可以滑动、堆叠等等
4.引导用户一直阅读下去
5.单个卡片承载的信息有限,信息/空间比较低,而且排版不方便,内容复杂或多图的不适合用卡片式
By 陶国恩 gary_pm@foxmail.com
———————————参考及推荐资料(我才没有做广告!)————————————
书籍:
启示录(我的第一本产品书)
缔造企鹅(第二喜欢的产品书,详实精彩但稍欠精炼)
结网(国内经典产品书,但个人感觉深度不足)
用户体验草图设计
精益创业(创业神书一)
重来(创业神书二)
创业维艰(创业神书三)
点石成金
破茧成蝶(里面有很多吐槽不靠谱PM的段子,自省之)
About Face 3.0
在你身边为你设计
营销管理(作为市场营销专业的学生,这是营销学的Bible)
用户体验要素(只读过读书笔记)
赢在用户(只读过读书笔记)
影响力(只读过读书笔记)
瞬间之美
文案训练手册(尽管应该是至少十年前的著作,但今天看还是很棒,未参透)
浪潮之巅
设计师式认知
线上资源
知乎(在此吸收了无数知识,可惜自己很少敢动笔回答,谢谢所有答题者!)
简书(大家都懂的~)
互联网巨头设计中心博客:腾讯CDC(至爱!)、ISUX;网易uedc;淘宝UED
腾讯大讲堂
个人博客:华为设计总监尤文文博客、龙爪槐守望者博客、阿黎手记(原载在小米后院,但建议直接搜索,已发的博文其实都已写入《参与感》,期待新文章)
w3school(在线、免费、靠谱的web技术入门教程)