在今年微软TechEd 2011的技术大会上做了一个关于产品设计的演讲。我的演讲安排的是早上分会场的第一场,本以为时间太早,来的人很少,结果竟然满场。现场的气氛不错,听众大部分都是年轻人,沟通和互动的都很好,整个演讲一气呵成。
以下是这个课程的介绍:
“不想当用户的设计师不是一个好的产品经理。设计一款有用、可用、用户爱用的软件产品永远是产品经理和设计师追求的目标。然而设计者的想法和实际用户的需求之间往往有着巨大的偏差。你真的了解你的用户吗?如何理解用户?如何运用用户场景设计法?如何头脑风暴设计方案?如何创建原型并迭代改进……本课程将以实例为您介绍如何把“以用户为中心”的设计理念变成可操作的设计方法和流程。”
讲义PPT下载:TechEd2011_基于用户场景的产品设计.pptx

为Mac Office 2011中文版最新创作的视频。加入微软后先后拍摄了3部团队视频,这个算是最正式最官方的一个。从创作剧本、编写台词、排练、拍摄到后期制作,非常享受整个过程。感谢@愚人甲不听话的鼎力支持,感谢
@沃太咕和@月光下的涂鸦的出色创作,以及兄弟姐妹们的倾情出演。
自从来到微软以后,一直负责数据可视化Data Visualization方面的工作。数据可视化,顾名思义,就是以图形图像的方式把数据和信息展示出来,帮助人们去了解、理解和发掘数据背后的规律和趋势。
用这篇文章收藏一些数据可视化的优秀案例,与大家分享。
- 媒体的演化
http://openreflections.wordpress.com/2009/08/

- 2010年美国电影票房排行
http://www.xach.com/moviecharts/2010.html

- 美国航班飞行图
http://www.aaronkoblin.com/work/flightpatterns/

- 待续...
最近一位美国的朋友想了解一下中国软件外包行业,作为曾经置身其中如今也紧密联系的我来说,也借此机会收集了一些资料,并与大家分享我对中国软件外包行业的一些思考。
由于中国劳动成本低廉,每年30万之多的工科毕业生,以及国家政策的扶持,中国软件外包行业这几年的发展不可谓不迅猛。根据赛迪顾问的统计,中国外包产业规模的年增长率在30%左右。然而,在快速增长的背后,软件外包行业也面临着巨大的挑战。
- 利润率低
软件外包行业属于软件产业链的下游,整体的利润率都很低。以东软、文思为例,净利润率分别为10%和14%。而处于软件行业上游公司的利润率却高达:微软33%、苹果21%、Google 29%、百度44%、腾讯41%。由于软件外包公司的利润来源只是从每个人头或项目中赚取差价,因此增加利润主要是靠增加人数、扩大规模。从本质上讲,软件外包公司和富士康这样的代工工厂没有任何区别,都是利用中国廉价劳动力,赚取价值链条最后的一点点剩余价值。
- 人民币对外升值对内贬值
对于像文思这样以欧美为主的外包公司,对人民币的升值的影响是巨大的。比如一个1000万美元的项目,如果人民币汇率从7升到6.5,国内的外包公司就凭空损失500万人民币。更糟糕的是,国内通货膨胀造成人民币对内贬值。国内物价不断上涨,员工工资成本和企业运营成本都在大幅增加。外患+内忧,外包企业的利润空间不断被挤压。
- 人才流失严重
国内物价的不断上涨,加上个人经验的不断积累和丰富,员工对工资的期待也越来越高。然而外包公司每个职位从客户公司得到的金额是固定的,提高员工工资就意味着牺牲自己的利润,没有外包企业愿意如此。因此唯一的方法就是向客户公司申请,把这个员工的级别上升一级,这样外包公司就可以从这个职位得到更高的收入,自然就会分一部分出来为员工加薪。可现实是,客户公司的岗位需求可能并不需要太多的高级员工,一般的普通员工就足以胜任。显然,涨薪的这唯一一条路也很难行得通。另外一点,一般的外包公司都是用一个相对较高的薪水来掩饰非常低的福利,以达到吸引人才节约成本的目的。各种保险公积金都是以最低限度为员工缴纳,员工的后备保障不足。长此以往,军心动荡。
除了薪酬因素外,外包公司员工的成就感、归属感和荣誉感也非常低。一般来说,客户公司不会把核心的产品和技术交给外包人员来做,因此外包人员每天做的就是重复的、没有技术含量的体力劳动,久而久之,难免厌倦,更没有成就感可言。另外,外包公司的员工是在夹缝中生存的一帮人,既不属于每天为之工作的企业,也不会被自己的公司所重视,仅仅是自己公司赚钱的工具。但凡有些追求的人,在这样的环境下都会丧失归属感和荣誉感。
第三,从职业发展来说,外包公司的职业天花板是很低的,职业发展通道很窄,一般只有两条出路:要么成为外包公司的管理层,成为新的工头; 要么transfer到客户公司作为正式员工。能够得到这两个机会的人可以说凤毛麟角。
“ 薪酬福利低、精神激励差、职业发展难”,有经验的人不愿意来,涉世未深的新毕业生干两年明白其中门道后离开,因此外包公司的人才流失严重,人员流动频繁。
- 口碑品牌难建立
人才流失造成的不仅仅是生产力的下降,同时也造成了经验的流失。由新鲜血液为主组成的外包团队所交付的工作品质始终只能维持在一个较低的层次。这样给客户带来的是长期和深远的利益损害。甚至,迫于利润的压力,外包公司可能会利用客户出资组建的外包团队来为外包公司自己的项目干私活。由此一来,不仅会影响客户公司的利益,还破坏了彼此之间的信任。信任的破裂就像一个蚁穴,足以摧毁千里之堤,他所带来的损失是难以估计和弥补的。没有信誉、口碑和实力的公司永远只能在下游讨饭,一旦中国人力资源的优势不复存在,这类公司将很难继续生存。
软件外包业的发展虽然依旧如火如荼、霸气外露,然而像微软这样的公司已经意识到了软件外包的问题和隐患。重要的事情要自己做,不重要的事情也没必要做。因此,软件外包公司的地位愈发尴尬,前途渺茫。
中国软件外包业就像中国制造代工业一样,我相信只是在目前中国的情势下我们在国际市场中所临时扮演的角色。软件外包行业其实属于服务业,并不等于一个国家的软件业,造就不了一个国家的科技繁荣。
上一篇博客的发表时间是整整两年以前了。两年没有更新博客原因很多,但主要有三点。
- 加入了微软,繁忙的工作占据了大部分时间,便没有以前那种记录生活的心情了。当初一直想写一篇微软面试心得的文章,也搁浅了。
- 一年前博客被黑客攻击,由于没有时间维护便索性关闭了。
- 写博客需要更多的时间成本,微博、开心等快捷SNS成为了发泄的主要渠道。
周末把博客收拾了一下,重新开张。不由感慨,物是人非。曾经很多活跃的博客,现在域名都已经失效。曾经的4分的PageRank,现在被清零。曾经的访客,现在已不知何处……再想想自己,这两年的改变也确实不少,换工作、结婚……
两年,博客的空白,生活的精彩。
宋祖英鸟巢演唱会在一片欢乐祥和的气氛中胜利闭幕。与会代表周杰伦、多明戈、郎朗紧密围绕在以宋祖英为核心的表演团队,完美的实现了民族音乐与流行、美声和古典的完美碰撞,撞出了不错人气和票房。做为一项重要的政治任务,各路明星纷纷前来捧场,现场好不热闹。整场演唱会相当的奢华,舞台、服装、音响、灯光、乐团都达到了国嗓应有的规格。
在鸟巢停车是个令人绝望的问题,鸟巢周围的停车场全沦陷为了内部人员停车场,没有关系没有身份没有地位的野车只能被拒之门外,让我感慨自己的卑微和祖国的强大。离鸟巢远一些的停车场虽然开放,但也都借机抢劫,停车费100!要么有权势、要么不差钱,否则您就别来鸟巢了,这不是咱们人民大众的体育场。
好在鸟巢的景色让人感觉无限美好。傍晚的阳光穿过云层洒在鸟巢的钢架上,反射到湖面,再跳入镜头,一刹那壮美的瞬间成为永恒。

阅读全文
纵贯线演唱会简直就是4万人集体KTV。没有太多的作秀,只有经典而熟悉的旋律。他们,真正爱音乐的人,曾经各霸一方,如今打包出售。4大门派的粉丝也终于一统江湖了。
开场前

阅读全文
在ASP.NET网站项目中添加Others.browser内容如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
| <browsers>
<browser id="Safari3" parentID="Safari1Plus">
<identification>
<useragent match="Safari/\d+\.\d+" />
</identification>
<capture>
<useragent match="Version/(?'version'\d+\.\d+)" />
</capture>
<capabilities>
<capability name="browser" value="Safari3" />
<capability name="version" value="${version}" />
</capabilities>
<controladapters>
<adapter controlType="System.Web.UI.WebControls.Menu"
adapterType="" />
</controladapters>
</browser>
<browser id="GoogleChrome" parentID="Safari3">
<identification>
<useragent match="Chrome/(?'version'\d+\.\d+)" />
</identification>
<capabilities>
<capability name="browser" value="Googlebot" />
</capabilities>
</browser>
</browsers> |
ThinkPage天气预报终于发布了广大网友期待已久的两大重磅功能:
- IP自动识别:自动识别访问者IP所在城市,显示相应城市天气。如IP无法识别则显示默认城市的天气。目前只支持国内IP的自动识别。
- 多天气数据源选择:之前TP天气预报只支持MSN一种数据源。由于MSN天气数据有时不太准确,因此经过重新架构,目前支持了多数据源选择功能。已经支持MSN和Yahoo两种数据源,国内天气预报权威机构的中央气象台数据源也即将上线。

另外一个新的功能是温度单位选择,之前只支持摄氏度C一种单位,现在也支持了国外用户更习惯的华氏温度F。更符合英文网站用户。
现在就试试这些新的功能吧!http://www.thinkpage.cn/weather/
感谢大家对ThinkPage天气预报一直以来的支持,您的需求就是TP天气预报的驱动力。
众所周知 .Net中Random类生成的随机数是假随机数,关键要看构造函数里的种子
如果你做个实验
1
2
3
4
| for (int i = 0; i > 100; i++)
{
Console.WriteLine(new Random(i).Next());
} |
就会看到很有规律的一串数
许多人想到时间,DateTime.Now.Ticks,首先这个属性是long,与Random构造函数的参数不符,你需要做一定处理,而且在机器很快的情况下,短时间内这个数字不会有变化,生成的“随机数”也就都是一样的。于是网上介绍的许多方法会用Ticks相乘、或者乘以i等做一些处理,让这个种子看上去随机一些,不过还是显得麻烦。
其实,在.Net中,说道随机,最先想到的就是Guid.NewGuid(),但Guid是Guid的格式,怎么转换成你自己的格式呢?
HashCode!
.Net中,所有类继承于object,而所有的object都会有Equals()和GetHashCode()两个方法,而GetHashCode()的返回值,正是Random类构造函数所需要的int,这么方便的东西,我们当然要利用一下,所以,很容易写下了如下代码。
1
2
3
4
5
6
7
8
9
10
| static string GetCode(int num)
{
string a = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
StringBuilder sb = new StringBuilder();
for(int i = 0; i < num; i++)
{
sb.Append(a[new Random(Guid.NewGuid().GetHashCode()).Next(0, a.Length -1)]);
}
return sb.ToString();
} |
转自:http://www.cnblogs.com/Mirricle/archive/2008/06/02/1212003.html