产品经理如何做好产品规划

Posted in 产品设计 on 六月 1st, 2011 by Yhostc – Be the first to comment

产品规划的概要说明

最近有朋友向我咨询,说自己是一个新入行的[wiki]产品经理[/wiki],自己的职责也比较明确了,但是感到还是无法下手,主要就是搞不清楚产品设计的流程,不知道从什么时候就是开始,什么时候就是结尾,我当时也无法说清楚,只是答应下来我会想一想,看如何才能比较准确的说明这个问题,这段时间工作比较忙,虽然想的差不多了,但是一直没有记录下来,今天恰好有些时间,就抽空写了出来,供各位新入行的朋友参考。

以下的说明都是我工作中的个人经验,切不可当成理论知识,仅供参考。

其实说到产品设计流程,我感觉不如从一个产品的规划周期说起,其实整个产品设计流程就是包含在这个周期当中的,理解了这个周期,那么具体在设计过程中就能明白自己应该担负的责任和工作范围。

产品周期一般分为五个阶段:

1 概念化阶段:这个阶段主要是提出一些产品概念,市场需求,对于产品而言,仅仅是一些描述而缺乏具体的量化指标,但是这个阶段是周期的基础,只有积累一定量的需求,才能为产品经理的具体工作提供依据。

在这个阶段中,产品经理主要是负责提出概念和进行概念表述,描绘一个产品的轮廓,让相关部门和高层接受这个概念,得到支持和资源分配。

这个阶段可以分为两个步骤:市场数据获取和需求分析。

出现的成果主要为:《市场需求反馈记录》和《需求分析报告》

2 产品化阶段:这个阶段主要是对概念进行图纸化和量化,设定产品指标,形成可设计的功能和产品原型,并且通过公司认可,纳入公司产品开发计划中。

在这个阶段中,产品经理主要是负责对产品进行量化的工作,量化的内容应该包括产品功能,产品模型,开发进度,所需资源。

这个阶段可以分为三个步骤:市场沟通,产品设计和计划确认。

出现的成果主要为:《产品设计文档》,《产品开发计划》和《产品立项单》

3 技术化阶段:这个阶段主要是把图纸化的产品原型进行物理化,依据产品设计文档开发出具有实际操作价值的实物(这里的实物是指可以实现具体功能的物理载体)。

在这个阶段中,主要依靠研发生产部门进行,产品经理的职责就是协调各种资源,全力保障技术化阶段能够按照产品开发计划进行。

这个阶段可以分为两个步骤:产品开发和产品验收

出现的成果主要为:可交付的产品和《技术白皮书》

4 商品化阶段:这个阶段主要是把交付的产品形成具有销售价值的商品,就是对该产品进行商业化包装,这个包括两个部分:内涵商业化和外延商业化。

内涵商业化是指对产品本身进行的商业化过程,比如产品说明书,销售手册,包装元素等;

外延商业化是指促进商品销售的元素确定过程,比如媒体准备,软文准备,渠道准备等。

在这个阶段中,产品经理的主要职责就是负责内涵商业化的整体过程,协助销售部门完成外延商业化的过程,完成产品发布。

这个阶段可以分为两个步骤:商业化和产品发布

出现的主要成果为:可销售的产品和产品发布,以及大量的商品化元素。

5 市场化阶段:这个阶段主要就是跟踪产品发布后的销售进度(我习惯于跟踪3个月),积极推动销售部门完成销售任务,并随时了解销售反馈,进行记录,调整产品在一个产品年度的策略,并对产品的下一步发展提供依据。

在这个阶段中,产品经理的主要职责就是和销售部门进行沟通,协助解决销售过程中遇到的产品问题。

这个阶段可以分为两个步骤:产品跟踪和产品总结

出现的主要成果为:预定的销售渠道完成和销售反馈记录

一般的产品规划周期就是由这五个阶段组成的,在进入到市场化阶段后,其实就可以进入到第一个阶段中了,产品规划的周期本身就是一个螺旋史式发展的过程,从概念开始,逐渐完成一个完成产品的周期,其中包含了多个这样的产品规划周期,而产品经理作为产品的全程参与者,其责任将大大超出横向部门的职责范围,其重要性和不可替代性也是显而易见的,我们可以看到,在那些产品经理体系建立比较完善和重视的企业,其产品的市场感知度相当强烈,产品的市场替代能力也非常强,从而也推动了企业的产品创新能力和开发能力。

我记的有人曾不解的问“你们产品经理到底是干什么的?感觉你们什么都干,但又好象什么都得依靠其他部门!但是好象还没有什么权利,都得靠和人家说好话来进行”我笑了,我说“产品经理就是一个产品的父亲,虽然能够主导产品是什么样子,但是还得依靠他妈不是!再说了,你看见现在有几个当爹的在家里有权的!”

 

如何做好一个合格 de 产品经理

Posted in 产品设计 on 六月 1st, 2011 by Yhostc – Be the first to comment

蚂蚁一直在想如何做好一个合格的产品经理
何为产品经理,必须有敏锐的洞察力,要深入群总,知道目标用户群的需求,你弄出来的产品其实只要符合目标用户群的需求,又有着自己的一些优势,让用户觉得值得放弃自己原先使用的产品。那么这就是一个好产品。

记得今年以华军 天空为首站长圈都出来反迅雷,木蚂蚁见华哥站出来了,做兄弟的也首当其冲,但是迅雷还是越来越强,有句话说得民心者得天下,站长虽大,但是在无知的情况下协助了这个产品的推广,大家都有机会体验到产品的优势,那么不是说你站长要反就能反得了的,民心所向,得到实惠的是大众,拉暴的站长服务器,又不经过WEB页面,站长当然不乐意了,不乐意也没办法,这个产品+运作,实在是太棒了,不是一般的强! 所以我佩服迅雷的产品加运作!      牛~~~      腾讯也是 ,后期运作比较牛!有了用户基数后,一个QQ秀卖10元,是把 一张虚拟图片卖的最贵的一个产品,佩服!既然你不懂产品,就要记得去模仿产品,这就是我最近妥协一个产品的缘故,我放弃了我坚持的观点,我要学会妥协理解和尊重,其实这是稳中求胜之策,我后来想想领导的决定,也不是没有道理的!我的太冒险了,虽然可能会很成功的一个方案,但是相对于稳来说,我的确实不够稳。把握性确实不怎么强!!

下面说说怎么做好一个产品经理的角色:
在产品管理中,产品经理是领头人,是协调员,是鼓动者,但他并不是老板。作为产品经理,虽然针对产品开发本身有很大的权利,可以对产品生命周期中的各阶段工作进行干预,但从行政上讲,并不像一般的经理那样有自己的下属,但他又要运用很多资源来做事,因此如何做好这个角色是需要相当技巧的。

产品经理

★ 不要想,这个以后再解决

一个产品的开发过程牵扯到很多环节,有些很小的问题你会想以后可以轻松解决,而事实并非如此.有时候你会想,这个问题等页面切割的时候再解决,或者这个问题等程序开发完了再解决!到最后你会发现,什么都变的很难解决了!有时候产品完成后你会觉的这根本不是你要的样子。为什么?问你自己去!

★ 形成文档

把你要做的事情,技术要做的事情,以及程序的修改都写成文档列表.然后与技术协商,排出优先级.不要总是突然出现在技术面前告诉他要修改什么地方。第一次他可以接受,但是次数多了,他会变的很不耐烦,并最终导致整个开发流程混乱,技术会逐渐失去方向。而产品也会变的越来越不稳定!

★ 细节还是细节

不要等待,您要做的事情还很多.当用户的操作无效时该怎么办?你的网站的排行机制是什么?细节都是留给你的,有的用户会仅仅是因为你的注册表单没有对齐而放弃使用你的产品!这可不是开玩笑,在互联网这个产业中,很多人都做的是同一件事情,拼的都是细节!

★ 不要推卸责任

不要推卸责任,也不要告诉你的领导产品的延误是因为技术,设计等等这样那样的原因.通常是这样的:如果一个产品很成功,领导会奖励你和技术人员,而如果一个产品失败了,受到惩罚的,只有你。

★ 解决问题,而不是逃避问题

由于公司体制或其他原因,产品经理的生存环境有时候相当恶劣,技术,ui甚至编辑都要给你脸色看,挫折是难免的,这时候要学会解决问题,而不是逃避和没完没了的发牢骚,保持积极主动,如果连你都变的消极,难道你指望技术会积极吗?主动谦逊的去找大家沟通,发现问题的所在。

★ 做产品就是做人,学会反思与换位思考。

人际关系的处理往往是最另人头疼的。通常技术人员和产品人员都会陷入自己的思维里。技术人员会觉得产品无所事事,而产品人员总觉得技术在偷懒。矛盾总是再所难免的。这时候要学会站在别人的立场上考虑一下,多检讨一下自己,赌气和吵架只会让问题变的更糟糕!另外处理与各部门leader的关系也非常重要。尤其在一些上下关系复杂的“大公司”。不要把技术当作你的部下一样随意使唤,这样会发生重大的事情的。

转自:http://hi.baidu.com/9495/blog/item/2b334dd9393816e838012f4d.html

通过网络传输图片的解决方案

Posted in Javascript, PHP on 六月 1st, 2011 by Yhostc – Be the first to comment

今天项目中遇到了向远程资源服务器上传图片的问题,研究了下,已经解决了。
1、项目客户端通过表单上传图片至项目服务端

2、项目服务端获取图片二进制代码,并经过base64编码

3、将编码后的第字符换中的”+”替换为“|”,因为传输过程中不能传输”+”

4、通过POST方式发送数据至资源服务器

5、资源服务器通过POST接收数据,再通过BASE64解码,然后生成一张图片文件即可!

 

相关知识扩展:前端也是可以接收经过base64编码字符串的:

<img src="data:image/gif;base64,R0lGODl(这里省略部分BASE64字符串)CAgAOw=="/>
background:url("data:image/gif;base64,R0lGODl(再省略部分字符)CAgAOw==");

据说,声音,视频都是可以通过此方式进行传输的,你有空?那么请研究研究吧?

 

关于地图svg图层实现分析

Posted in GIS, Javascript, 前端技术, 杂七杂八 on 五月 5th, 2011 by Yhostc – Be the first to comment

在Js地图中,要完成基于地图的svg绘图可真不是一件简单的事情,但Google、Baidu地图、QQ地图、MapABC地图(Openlayers)地图各有自己的策略实现。我今天并非要探讨如何使用svg,而是对基于地图的svg实现策略进行分析。以下,我将根据绘图、平移(即拖拽)、重加载三部分进行分析。

首先,让我们来熟悉一下svg的几个参数,这几个参数将是至关重要的。

绘图参数组合也是一个很有意思的问题。其一是style的width、height属性;其二是dom的width、height、viewBox组合。无论哪一组均可实现绘图,但不同的组合有其不同的实现途径。还是邓总工程师说的那句话“黑猫白猫,能抓到老鼠就是好猫”。

【Google地图】我们先来说说google地图,google地图在绘制覆盖物的时候会计算出一个绘制viewbox,正如下图的”152 -14 600 124″一样,地图通过left、top属性保证了整个图形所在地图位置的正确。当然这样子处理就像是地图添加了一个覆盖物一样,拖拽地图容器,地图容器下的这个“覆盖物”也跟着被拖动了。

地图zoom级别改变时,再重新计算viewbox,从而保证了绘制的图形在拖拽和重加载时的正确性。google这种实现机理无疑是一种不错的实现方式。如果你仔细看到下面path的d属性时,是不是很茫然?觉得很不可思议,对,的确很不可思议。如果我们将d属性的第二个点,“746,746”修改为“346,146”,那么我们就发现了其中的奥秘。原来d属性已经进行了人为混淆,让人难以对这种实现机理进行分析(在非viewbox画布范围内增加了一些点,这些线不可见,所以路线正确)。分析结束,感叹google的强大!

【Baidu地图】接下来我们再来讨论下baidu的实现机理。下图为初始绘图的svg属性。我们来看看以下属性的来源意义。地图容器大小为1000×275px,width、height属性就不用我说了吧。left、top属性很明显取自一个常量值(也有可能是地图容器高度的2倍),貌似并无甚意义。也就是说,第一次绘图时,属性就如此而来。一般而言,第一次加载时是不会看出任何问题的。

当我们向左拖动50px,向上拖动40px的“过程中”,我们根据firebug检测到,所有属性均未进行任何变化,由此我们不难看出图形容器是随着我们拖拽而移动的,但在地图视野范围内无论我们如何拖拽,我们都不可能看到非绘制容器部分。所以绘制的图形永远都会在我们的视野范围内正常显示,不会出现图形大于绘制viewbox的问题。

当我们拖拽结束后,我们就看到了以下的结果:

<svg version=”1.1″ type=”system” style=”position: absolute; top: -460px; left: -450px; width: 2000px; height: 1275px;” x=”2000px” y=”1275px” viewBox=”-450 -460 2000 1275″>

很明显,地图拖拽结束后,绘制容器也向左上角移动了(50,40)像素,所以绘制的图形也会完整的出现在我们的视野范围内。

当ZOOM级别放大一个时,不用做任何处理。

【MapABC地图】Mapabc采用Openlayers的内核,我们首先看看其绘制容器

<svg id=”Mapabc.Layer.Vector_153_svgRoot” width=”987″ height=”325″ viewBox=”0 0 987 325″>

如果我们截图发现,地图容器正好也是987*325,但不禁有人要问,如果拖拽的时候怎么办?原来,地图拖拽时是不会对绘制造成任何处理,所以当我们拖拽绘制的图形超过绘制容器时我们就看到了比较明显的问题,即绘制图形并未完整的体现在我们的视野范围内。当拖拽结束后,地图再重新计算绘制图形的坐标位置,才可看到完整的图形。如果我们有1000个图形,拖拽一次就重新全部计算一次位置,那可就悲剧了……

【Aliyun地图】接下来我们来看看马云的aliyun地图,看到aliyun地图,心里一阵兴奋,这应该是国内做的很不错的地图了,在某些方面甚至比baidu还要好一些。aliyun将线路的拐角变得圆滑,并且实现了缩放ZOOM,不闪现绘制图形的技术,在这一点上,连google也竟差一级。好了,不废话了,我们先来分析分析他们是如何做svg绘制的。
如上代码,是我用鼠标测距随意画的几个点,组成了一条线。在鼠标拖拽地图时,SVG容器及其path都未产生任何变化。在更改ZOOM的过程中,aliyun竟魔术般的使用了“transform=”scale(0.5)”,在缩放变化的过程中,通过scale来调整显示比例大小,并拖过left、top、width、height来控制其位置,即实现了绘制图形随地图缩放(不像其它地图一样闪现)。这一招应该是最高明的办法了。在连续缩放多个级别的时候,貌似连续一直使用scale去处理,或是和重绘交替进行的吧,待有心人比我分析更为彻底吧。接下来我们再看看公交路线的结果

看到这一段的确很惊喜,因为aliyun在拐角处加了代码,实现了圆滑的效果。

【QQ地图】QQ地图在加载时即计算好了svg容器的left、top、width、height,在拖拽地图的时候同样没有对其容器进行任何操作,在更改ZOOM级别的时候和google,Baidu一样进行了重绘操作。

至此,我们发现,SVG绘图处理方法基本都是这样,并非想象中的那样难以攻克(aliyun那样的的确有些难度,呵呵,日后再详加分析吧)。

百度Hot spot分析

Posted in GIS, HTML+DIV+CSS, Javascript, 前端技术 on 四月 23rd, 2011 by Yhostc – Be the first to comment

【获取数据方式】以切片ID为单位,获取热点数据,以下是对数据的分析:

【baidu实现原理】以下为根据其造成的结果进行的推理结论,因源码已加密和混淆,无法跟踪证实:

绑定鼠标移动事件mousemove -> 检查当前切片是否已经异步记载热点数据,无则加载并继续;是则遍历该切片ID(及其周围4个切片)区域范围内的热点数据,并判断鼠标当前位置是否在每个热点的Bounds范围内,无则不作处理,是则调整div内图标,并将其显示在热点所指定的位置。

【探讨问题】

1、当某标注是跨切片的时候,就会造成问题,所以,至少要遍历该切片ID及相邻3个切片,共4个切片范围内的数据(通过严格计算或将减少为1至3个切片)。

2、 Mousemove移动事件,本身就很频繁,每移动一个像素就会触发mousemove事件,并遍历该切片下热点数据数组,我分析了下,在繁华路段,适合的级别,每个切片最多可达到8个热点,所以每移动一个像素,会遍历24至32个热点数据,并判断当前鼠标位置是否在每个热点bounds范围内,这样做效率会比较低,但是否还有更高明的实现方法,还有待考证。

 

【其它分析结论】

1、从热点的数据来源看,热点效果是以百度地图的“应用”身份出现,而不属于API引擎部分。

2、从造成的DOM影响效果来看,是以API的Icon方法添加上去的,并未一次添加所有标注,而是动态更该指定ID的内容。

 

以上属于我的研究结果,如有不妥,请各位指正。