十二月 15th, 2009

第一次兼PM心得

1 Comment, 其它, by army8735.

严格意义上来说这并不是我第一次带项目,第一次尝试Project Manager是不久前的Only Lady相册。不过那次是在产品设计早已完成的基础上自主进行的,仅由我和永赞两个人快速完成,需要协调和把握的东西很少。完成后想要出的前后端配合方式ppt也一直没来得及去弄~

这次则不一样,我不仅负责前端开发,还是带项目的,同时还涉及到部分产品经理的职责,可谓一次性扮演了3个角色,2个PM(Project + Product)。看过别人博客那么相关文章,这回也轮到我来喷一喷了,结合下实际情况,总结几点吧:

1.产品和项目

说实话,当产品和项目同时落到你头上的时候,你能够决策的地方就非常多了。省去产品和项目之间的沟通是件好事,在规模不大的情况下还能够承受,但一旦规模增长,它只会让你力不从心。因为人的时间和精力是有限的,所负责的东西越多,就要越抽象。潘潘前端时间就在会议上说过类似的情况:作为产品经理不仅需要做到本职工作,诸多大小琐碎事务都必须亲自动手,最后导致的结果就是把自己累死,手下可以利用的资源却一直空闲。这是个恶性的循环,会将导致自己越来越忙,而其它人一直赋闲。

我研究心理学也不少日子了,武志红老师曾经在《宽容自己,才能宽以待人》中举过关于诸葛亮的例子:

作为中国历史上的文人典范,诸葛亮也是“严于律己”的代表。治国上,他是“鞠躬尽瘁,死而后已”,同时,他似乎也做到了“宽以待人”,你很少会找到他没有道理地苛责别人。他杀马谡,废李严,设计斩魏延,仿佛都合情合理,都是依法办事,或是形势所迫。

然而,在我看来,他这些做法的内在逻辑一样是“严以待人”。这个逻辑也体现在他的“鞠躬尽瘁”上,蜀国大大小小的事件,他都要过手,意识上,他说是要对得起刘备的看重,但潜意识上,这里面有很深地对别人的不信任,他对人才的要求太高,这种高标准最终导致,因为缺乏锻炼机会,蜀国优秀的文臣武将越来越少。

这是过于“严于律己”的一个必然结果,诸葛亮对自己苛刻的同时,最终也苛刻地对待别人,尽管从大面上看,他并没有做错什么,但整体上,这形成了一种苛刻的气氛,令他和蜀国很难锻炼人才。

信任下属,重用下属,用人不疑。让别人参与进来,让专业人员作出专业决策,不仅能带动整个团队氛围,也能让所有人有归属感。

2.倾诉

由于项目时间紧张,似乎人人都有危机感。在第一天时,设计和开发人员就不停地向我抱怨、倾诉,诉说各种各样的不满。说实话,第一次接受这么多的牢骚真得让我很紧张。但是转念一想,这也说明了信任我。当其它人向我倾诉时是件好事,怕得是没人说出心里话。一旦所有人开始支持并理解你的时候,一切就事半功倍了。

在整个过程中我希望自己是个服务者,而不是高高在上的管理者。随着项目的进展,所有人都变得非常主动,终于感觉这次PM没白当。:)

3.攻人之过勿太严,要思其堪受;教人以善勿过高,当使其可从。

这是我最喜欢的名言之一。别人有错,职责时的方式该如何?不应过严,要考虑他的心理承受能力;引导别人,该怎样去衡量标准?不应过高,要考虑他的实际改善能力。我相信能做到这两点,就能至少赢得下属的尊重和信任了。

4.初期定位

初期的产品定位和策划不明确,是件很恐怖的事情。假如时间再紧,就更雪上加霜了。这次项目就有这个特点,中间进行修改使得很多人都不爽。细节的完善并不会影响到人的情绪,大方向的调整会给人一种“我白做了那么多”的感觉。这是要极力避免的现象。

5.交流工具

我想任何企业都有内部的交流工具,比如MSN、RTX什么的。但我感觉,除非很简单明了的事情,否则一切都不如当面叙说来得好!面对面的谈话所传达的信息非常多,也利于理解和加深双方的熟悉感。前端时间豆浆和我在改一个小东西时就因为误解邮件中的一句极简单的话造成许多无谓的错误和重复工作,如果最初当面花1分钟说清楚的话,一切就简单多了。

6.懂技术的产品经理

PM懂技术是优势,因为能更好地把握产品和理解开发进度。但是技术出身的PM也具备一般程序员的弱项——主观意识强、交谈口才欠缺等。世界上果然没有十全十美的东西。

暂时写这些,后续想到补充。

十二月 9th, 2009

第四届 D2前端技术论坛

No Comments, 其它, by army8735.

2005 年前端工程师的职位开始在中国出现,2007 年第一届 D2 前端技术论坛在杭州举行,从此 D2 伴随着中国的前端一起成长,从此越来越多的互联网产品的背后有着职业前端工程师坚定的身影。在 D2 上我们曾交流过某项具体的前端技术,也曾探讨过团队协作的方式,那些美妙的话题都深入到我们频繁敲键盘的指尖。当架构、安全、性能等等在前端的领域扎根的时候,我们自己也在悄然发生质变,而推动这些变化的人和事正是 D2 想告诉你的。

我报名了,不知道何时能审核:
第四届 D2前端技术论坛 (12月19日·杭州)
宣传视频:

十二月 8th, 2009

逐渐使用css3

1 Comment, 前端开发, by army8735.

pchome首页右栏今日进行了调整,最初设计稿效果如图:
pchome-right

可以看到,浮动框出来的样式,如果用以前方式来处理的话,需要拼合几张图片才能做到,而且产生的多余tag亦会让人不爽。基于渐进增强的思想,似乎使用css3来做是最好的办法。

来看个例子/wp-content/uploads/2009/12/pchome-right.html

在支持css3的浏览器下,浮动框的阴影效果很好的表现了出来;然而不支持css3的浏览器在使用上并没有任何的影响——右侧和下方的阴影消失了——甚至以美学角度来看都无伤大雅。这种效果的代码结构和可维护性都很好,综合考虑下来最为可取,那么css3在是否可以以后的运用中越来越多地出现呢?

至于为何浮动层的矩形边线没有完整封闭,那是因为将其藏在右边列表下面,被列表的背景色给覆盖住造成的假象。

十二月 4th, 2009

夭折的视频播放器

4 Comments, as、flex, by army8735.

最近onlylady有一个需求,要制作一款自定义flash视频播放器。晕啊,as视频编程我可没有接触过,以前只是拖个组件写个列表,为pchome视频频道页做过,和如今的要求相差太远。没办法,目前能写as的也只有我了,硬着头皮上了。好在今天完成了基础功能,心想总算过来了,哪知最坏的消息过来了……

早上收到美国总部CBS邮件通知,这款播放器初衷是和CBS的全球视频播放器接口相通,由他们提供各种信息资源,我们来播放就够了。orz,产品部在最初就弄错了,可谓相当大的失误。而以我们的技术实力,能不能做到还是个未知数。面对CBSi的密密麻麻的英文文档,我只有傻眼的份……

早上和前段时间刚离职的zol中关村在线同事聊天,还在说些技术和工作上的事。silverlight不知何年何月能够占有比较大的份额,那时不知我会不会去瞅瞅。如果sl也深入的话,一个人的精力恐怕是不够的。广泛和专精,似乎永远都是鱼与熊掌。前端这个领域,不知道我涉及得到底是不是正好呢?

目前做到的程度,视频是我曾经传到土豆上的一段游戏结尾曲《月空下的思念》(幻世录2):

PS:期间把土豆和优库的视频播放器外壳下来看了下,两者都在100k左右,土豆的稍大一点。比较奇特的是两家风格大相径庭:土豆用了flex和pureMVC;优库完全自己的库,最吃惊的居然还是基于as2的。最终我只能远观了,视频编程方面我并不擅长,也没打算深入过。

PS2:更新了lrc支持。

十二月 1st, 2009

JAse开发点记

2 Comments, JAse, as、flex, by army8735.

JAse开源项目缓慢进展中,许多地方和许多算法不断地颠覆、重写,这也是预料当中的。目前来说总体架构是不会变的了:以一个swf文件为基础提供文本框和一些菜单栏的基本功能;语法分析插件以不同语法分发为各自的swf文件,用到的时候才去读取。

当然,所有的语法文件都是面向接口编程的(实现IParser接口即可,这个理念继承自jssc5),这也使得按需加载成为可能。废话不说,来看几张预览图。

开始的选择画面:

jase1

第一个被我“强奸”的是js(最熟么),其它的会陆续添上。我默认放了一段Mootools的代码:

jase2

拉一拉滚动条,性能还不错,就是有不少bug还没修正:

jase3

至于语法编辑器用到的破损、修复、高亮模型,我非常感谢http://www.cppblog.com/megax/archive/2008/07/09/55753.html这篇文章给予的提示,同时也感谢其作者和我互通邮件的帮助。不过Megax所采用的依然是分区正则法,并非DFA状态图分析。而C++的性能远非as3所能匹敌,所以JAse目前仅能做到千行级代码,上万行后就会感觉到卡。

as3的性能瓶颈其实并不是主因,主因是textfield的性能太弱。实际测试中只是在第一次装载大量文本(万行)会卡,在拖动分析的过程中却非常流畅。今天我装了CS4(以前一直用CS3),启用了GPU硬件加速来提高渲染textformat的速度,所以如果不计textfield的拖后腿的话,预计是能达到十万行的量的。如果分析状态的数据结构由数组换成Vector(类似Java的泛型ArrayList,基于性能考虑我决定JAse将基于Flash Player 10),那么百万行级也不是不可能。

所以在JAse基本完成后,如果自定义优化textfield的性能,则是重点。目前思路有点苗头,是否能实现就难说了。另外Text Layout Framework中并未包含什么高效的input组件,本来还想瞅瞅,结果失望而归。