很久没有讲过Web cast了,上一次讲Gadget是一个应景之作,没有做太多的准备,所以效果其实并不是非常好。本来预计从上周开始,在每周五下午进入到Silverlight风云演义系列的课程,但由于临时出差来到了南方,所以第一堂课的时间改为了下周二(2007年8月7日)下午,这堂课的名字为《从“我佩服”谈起》,顾名思义,我们第一堂课是归纳一下WPF的相关特点,以及与Silverlight相关的特性。如果您对这堂课感兴趣,可以到上面的链接之中直接预订该课程。
风云演义系列将会是我今年下半年的一个重点Web cast课程,希望通过此系列的课程,让大家能够对于Silverlight有一个通盘的了解。当然,由于这是一个新的技术,所以我本人也在学习当中,如果在课程当中有误解的地方,希望大家可以及时给我提出来。
以下是本次课程的第一系列的主要环节:
1. 从“我佩服”谈起(嘉宾:黄继佳)
我的一位同事在某次TechED大会上将WPF(Windows Presentation Foundation)称之为“我佩服”(以拼音首字母组字),从而使之在微软技术界就已经形成了固定的代名词。WPF发展到现在,有哪些比较Cool的应用?我们在本次课程当中给出一个大阅兵,让大家来体验一下借助于“我佩服”之力全球应用开发商所开发的应用程序。WPF----作为“武林至尊”的宝刀----究竟又有哪些特性,使得其能够拥有自己的一片天地呢?
嘉宾介绍:黄继佳先生现任微软(中国)有限公司平台及开发技术部技术经理。现主要面向互联网企业,独立软件开发商提供微软公司基于互联网新技术的技术合作,从而更好地提升互联网用户的潜能。在加入平台及开发技术部之前,黄继佳先生曾担任微软亚洲工程院移动技术中心新技术孵化项目项目经理,青檬网络联合创始人。
讲义下载:您可以从此处下载从“我佩服”谈起
2. “闪亮”不出,谁与争锋(嘉宾:温飞飞)
从当初的“WPF/e”,到现在的“Silverlight”,齐集天地之灵气的“闪亮”(Silverlight的中文非官方简称)即将横空出世。作为微软最新面向Web开发的技术,“闪亮”吸引了无数技术以及设计人员的目光。在本次课程当中,我们将一睹“闪亮”的艺术气质,并且了解其底层的技术方向。
嘉宾介绍:温飞飞,网名ai829。知名Flash开发爱好者,精通Adobe全系列产品,对于表现层技术有着多年的研究经验,现就职于搜狐,负责新技术,新产品的研究与推广工作,其博客地址为:http://blog.80s.net.cn
3. “工欲善其事,必先利其器”上之Expression篇(嘉宾:李超)
本课程主要面向设计人员,也适合对Expression感兴趣的开发人员。主要讲解微软最新推出的设计工具Expression Studio,分别会介绍其中的Expression Design,Expression Blend,Expression Media以及Expression Web,其中前两者将会重点介绍。在Expression Blend当中,我们会分别制作WPF/Silverlight的“Hello World”应用程序,与大家对比其中的不同点。
嘉宾介绍:李超,网名Allan。原闪客帝国网站运营总监,AMG WORLD WIDE创意总监,创意与交互设计领域资深设计人,对于表现层技术有着多年的研究经验.著有《CSS网站布局实录》一书,其博客地址为:http://allan.flashempire.net/blog/。
4. “工欲善事,必先利其器”之下Visual Studio篇(嘉宾:秦海鹏)
本课程主要面向开发人员以及项目经理,讲解如何利用Visual Studio 2005以及Visual Studio 2008 (Codename: Orcas)来制作WPF/Silverlight应用程序,在Silverlight环节,我们会分别使用C#/Javascript语言来编写相应的业务逻辑。同时,面向项目经理也会介绍开发人员与设计人员的协作问题。
嘉宾介绍:秦海鹏,网名 HopeQ。中国汽车网技术总监,在Web开发方面有丰富的经验,曾开发与实施过多个基于Flash、FlashCom技术的RichMedia 商业产品。其博客地址为http://blog.joycode.com/hopeq .
5. 亲自动手制作视频播放器(嘉宾:范蕊)
本节课,我们将使用上面所介绍的工具动手做一个“视频播放器”,将会使用到上述介绍的工具,即Expression 以及Visual Studio等。在制作完成后,我们还将学习如何部署该应用程序到各种Web Server上,甚至发布视频到Silverlight Streaming(http://silverlight.live.com)上。
嘉宾介绍:范蕊,网名teajava。现效力于百度用户体验部,主要负责MP3、音乐掌门人、搜藏、日文等项目的界面制作,专注于Web开发,实战经验丰富,希望与大家共同交流探讨网络的最新进展。百度空间为: http://hi.baidu.com/GPRS。
6. 与现有网站集成(嘉宾:刘俊民)
如何将Silverlight集成到现有网站当中?如何使用ASP.NET Future当中的“<ASP:XAML>”以及“<ASP:MEDIA>”等标签?在本课程当中,我们将完成这最后的一步,将您的Silverlight创作完美的集成到您的现有页面中。对于Silverlight集成时需要留意的一些特殊的技巧以及注意事项都会涉及。
嘉宾介绍:刘俊民,网名宝玉,知名ASP.NET技术MVP,专注于Web开发基础,现任开放实验室网站站长,有丰富的Web开发经验,尤其在社区软件方向。其博客地址为http://blog.joycode.com/dotey.
除了第一堂课,其余每堂课在不出意外的情况下,都会在每周五下午14:00准时与大家在MSDN China Webcast平台上与大家见面,欢迎大家届时收看收听。在听课之前,为了保证您进入课堂非常顺利,建议大家事先做好以下准备:
1. 操作系统
该课堂支持Windows 2000以上的操作系统,IE支持IE6.0 SP1以上的浏览器;
2. Office Live Meeting 2005会议控制台
MSDN Webcast课程全部基于Office Live Meeting 2005会议控制台进行讲授,如果您尚未安装该控制台,可能届时您进入课程需要花费一定的时间,建议您可以先预安装该平台,点击此处查看详细信息。
3. 其它
为了不影响他人工作或者休息,建议您在电脑上配备专用耳机。如果您想实时感受我们在课程当中所演示的应用程序,或者想进行开发实战,建议您安装以下软件:
- .NET Framework 3.0(这是浏览WPF DEMO的必需安装,.NET 3.0必须安装在Windows XP SP2以上操作系统上)
- Silverlight 1.0 RC & Silverlight 1.1 Alpha Refresh(这是浏览Silverlight DEMO的必需安装,请至http://www.silverlight.net上进行安装)
- Visual Studio 2005 Or Visual Studio 2008 Beta 2(这是进行开发实战的必须安装,还需要安装Cider插件,以便支持Silverlight开发)
- Expression Blend 2八月社区技术预览版(这是进行设计实战的必须安装,请至http://www.microsoft.com/expression上进行安装,请注意,是Blend 2,不是Blend)
有任何建议或者意见,欢迎大家在此处留言提出,非常感谢!
下文是我目前正在写的Silverlight White paper其中一章,主要用来介绍Silverlight的业务场景,还没有最终定稿,现在发布在此处,希望征集一些大家的意见反馈,同时,也欢迎更多的朋友来交流Silverlight的业务场景。
目前在国内有很多的视频分享平台,大部分使用非常类似的技术架构,为最终受众提供多媒体体验。但基于目前其类似的技术构构,大部分用户体验都存在以下的一些不足之处:
1. 搜索引擎不友好:PV(Page View)对于网站的发展非常重要,而PV的来源中很重要的一部分是来自于搜索引擎的索引。但目前大部分视频分享平台网站所使用的技术基本上都无法达到SEO(搜索引擎优化/友好)的要求,从而造成了搜索引擎收录偏低的现状。这也是很多运营视频分享平台最为关心的地方,虽然有些网站采用Meta Data的方式来提高收录数量,但效果并不理想。而Silverlight中的页面描述采用了XAML这种XML文本文件格式,并不编译为二进制文件,其天生支持SEO。另外,Silverlight中的各种资源文件均是作为单独文件方式存在,而不是作为二进制文件的内嵌式资源文件存在。
2. 互操作性:目前业界使用的视频分享平台解决方案在业务逻辑代码中采用了非标准的脚本代码,对于开发人员以及设计人员来说,需要额外的学习。并且这种代码非常难以与平台的业务逻辑代码,如PHP、ASP、JSP或者ASP.NET技术进行系统级的交互。而微软的Silverlight在1.0时使用的是Java script作为业务逻辑代码,在1.1中又使用了C#、Ruby等编译型语言,使得学习成本降低,提高了交互性,同时在运行效率上也得到了极大的提高。
3. 视频质量很差:由于体积上的压缩和编码上的简单化,省略了较多的画面细节,目前市场上广泛使用的视频格式的视频效果并不理想,较为粗糙,难以满足较长时间观看的要求。而Silverlight则通过获艾美奖的Windows Media技术,传输流量可降低46%,并且和现有的Windows Media流量配置方案兼容。如果采用下一代Windows Server系统中的IIS媒体包,流量还将进一步下降。VC-1编码的高清晰视频,也可以在当前网络条件下进行传输。
4. 价格非常高:业界目前普遍使用的解决方案,其工具以及服务器价格都是非常高昂,尤其是服务器,如果以不限流量的解决方案价格对比,微软的解决方案是对方的十分之一。
同时微软还兼顾了与其它解决方案的兼容性,对于现有解决方案,可以在共存时进行逐步的迁移。
微软提供了整个视频分享平台的架构解决方案,依赖这套解决方案,可以在节约成本的前提下,快速建立一套视频分享平台。
通过这些解决方案,我们可以尽享以下优势:
由于目前网站的主流标准还是采用HTML + CSS + Java script来呈现内容。其表现方式以及交互方式都比较单一,在很多时候,并不能提供非常好的用户体验。而Silverlight则可以为普通的基于网页的应用程序提供更加丰富的交互性富媒体体验。
由于Silverlight在前台使用XAML来进行内容呈现,而业务逻辑使用Java Script或者C#以及Ruby等语言进行构建,对于开发团队来说,学习成本降低。
同时,Silverlight由于支持互联网一些标准协议,如RSS、ATOM、Web Service等等,具有非常高的扩展性。
随着越来越多的最终用户采用Windows Vista操作系统,Windows边栏(Sidebar)也引起很多互联网内容提供商的注意。越来越多的互联网厂商或者独立软件开发商已经开始开发Windows边栏小工具(Sidebar Gadget)。
使用边栏小工具,对于互联网厂商,具有以下优势:
1. 提高用户忠诚度: 由于Windows边栏小工具是安装于Windows操作系统平台上的,并且会随着Windows自动启动运行,所以利用Windows边栏小工具可以极大的提高用户的忠诚度;
2. 提高访问量: 利用Windows边栏小工具,用户可以在不打开浏览器的情况下访问互联网厂商所提供的服务,无形中为互联网厂商提高了流量。部分业务,如股票或者天气信息,基于特殊要求,需要定期刷新。即使用户没有做任何操作,在用户开机期间,仍然为网站提供固定的流量来源;
3. 扩展赢利模式:目前很多OEM厂商希望借助于Windows Vista实现同类产品的差异化,而互联网内容以及服务与Windows边栏小工具的结合,会帮助OEM厂商实现这个愿望。进行适当的商业交流,互联网厂商可以借助Windows边栏小工具创建新的赢利模式。
目前,业界常见的Windows边栏小工具大部分使用HTML形式呈现,内容表现单一。而Silverlight则可以提供更加丰富的表现形式。当前版本已经支持用以创建Windows边栏小工具,而AOL(美国在线)已经推出使用Silverlight所创建的Windows边栏小工具的测试版。
在线休闲游戏目前已经成为互联网业界的新的战场。越来越多的互联网内容提供商开始构建自己的在线休闲游戏平台。在目前,很多在线休闲游戏所使用的平台都是在使用自己的ActiveX控件,但由于国内恶意软件的现状,使得很多用户不敢下载相关的ActiveX控件,降低了普及率。而微软的Silverlight则在很短的时间内获得了全面的普及。同时,其先天性对于游戏特性的支持,也使其成为在线休闲游戏平台的第一选择。
同时,Silverlight在1.1版本的后台业务逻辑将使用编译型语言,如C#、VBx或者Ruby等来进行构建,相对于Java Script这种解释型脚本语言来说,前者的执行效率相当于后者的一千倍,对于复杂的业务逻辑计算提高了响应时间。而且对于开发人员来说,面向对象的编译型语言更加易于学习,降低了学习成本。
为了表示对与会嘉宾的尊重,按照业界活动的惯例,开心穿上了正装。其实开心几乎三四年没有穿过西装了。在加入现在公司后,这套西装仅仅在结婚时派过用场。而我的太太昨晚为了帮助我准备西服,一直忙到半夜十二点,找出柜底的西装,帮助烫熨领带衬衣等等。
由于住在通州区,今天早上六点钟就起了床,太太开着车带着我来到了北大三角地附近的百年纪念讲堂。我的太太是个路痴,如果不是我的GPS的帮助,估计我们不可能在七点二十左右到达会场的。之所以这么早来,是因为要参加创新盛会的VIP早餐会。
在早餐会之前,开心犯了烟瘾,于是跑到一个隐蔽的出口处开始抽烟,结果碰到了王开源先生。其实在此之前,在CSDN英雄会以及Donews的“优酷第二天”聚会上均与王先生有过会晤,但今天碰到他我非常奇怪,询问其怎么也来参加此次活动。正在此时,我那个路痴太太打过来电话问路,因为她在回公司的路上找不到四环了。王先生拿过电话来,通过如何辩别太阳等等常识帮助我太太找到了回公司的路。当时真的非常感激他,而后由于早餐会开始了,我在道谢后赶快回到了会场。
而后发生的事情却让我感觉非常诧异。虽然我尊重王开源先生自己选择的信仰,但这种方式却让我无法认同,实际上,我个人感觉这样的做法是出于其它的目的。做为一个跨国组织的首席代表,竟然使用这种方式来做市场营销,却在其“愿歌”中写上“帝国列强作秀狼”,似乎其代表的组织就是国粹了。这难道是一个业界人士的Professional的行为?
开心曾经写过JoyHelper, JoyMSN,JoyDB等小软件,也曾经发布过.Text第一个版本的汉化版,这些软件均是以源代码方式提供,但后来业界抄来抄去的风气,却让开心实在拿不出勇气再来开源。我使用各种搜索引擎查找了一下,似乎没有发现王开源先生有过任何开源的软件发布,或者写过任何类似的教程教大家如何使用开源软件。
Borload公司的Danny Thorpe先生曾经说过一句话:Show us the money,没有利益的事情谁也不会做,因为“我们不会为了艺术的理由去做一个艺术品”。王开源先生所代表的组织在国内做的也不是慈善活动,其考试费用高达RMB1,000元,通过两级考试需要花费大约四千元人民币。
每个公司有自己的业务模式,王开源先生所代表的组织使用培训以及认证来收取费用,我们不会反对,互联网公司使用广告建立利润,我们也不会反对。微软公司则使用产品销售来获得利润,同时微软公司为了研发相应的产品,投入了大量的人力财力,而其软件费用在业界并不是您想象中的最高(请从投入产出比等角度来衡量)。
我尊重你说话的权力,尊重你表达不同意见的权力,但你是否也应该尊重一下别人?想像一下,如果是你家邀请了一些客人举办宴会,有一位邻居跑到您家客厅大叫“强烈要求免费午宴”,您会开心吗?为了举办这个宴会,你自己可能操劳了几个星期,花了一笔费用,被别人闯进家里面闹一下,你会如何感想?站在门口表达意见与闯进门内大吵大闹是完全不同的概念。每个人都有表达自己不同意见的权力,但同时他是否也应该对别人的劳动表达一下尊重呢?请别忘记,现场还有很多听众,这种行为,难道对于听众不也是一种不尊重和冒犯吗?
本次大会上,以“创新·中国·未来”为主题,在“创新无名英雄”环节有代表性地选出了各行业几位创新实践者予以祝贺,他们在自己的本职工作中踏踏实实的辛苦工作,为中国的未来而努力创新。正在北京工业大学的学子们准备与现场的观众们分享他们的喜悦时,这个插曲的出现,却使得他们被喧宾夺主。而在其后的媒体报道中,也为了吸引眼球,而忽视了这些创新英雄,过分报导了一个花絮。不知道王开源先生,您在考虑自己组织利益的同时,是否体会到他们的心情??
王开源先生,您也是一个有家有口的人了,请成熟一些!(另外,您那首所谓的诗有抄袭汪精卫那首诗之嫌呀)。
在去年的时候,我曾经写过一篇贴子,称之为“办公室里面可以洗脚”,估计很多朋友可能看过。当然,也有一些反应过激者,认为我是出于公司立场写这篇文章,有失偏颇。
其实我的主要意思是想讲讲一个公司应该使用什么方式来进行公关,从而树立自己公司在其公众中的一个印象。如果是某个著名西餐厅大张旗鼓动用公司公关力量来招聘大厨,我想得到的反应肯定会非常棒。而如果是类似于Google公司在自己的本土化策略还处于焦头烂额的时候,就使用“办公室可以洗脚”、“穿着睡衣上班”、“国家一级大厨”这样的噱头来树立公众形象,会适得其反的。
如果其表现一直如人们所期许的那样,本土化策略实现非常顺利,各项业绩喜人,那么可能是锦上添花,但一旦出现某某风波的时候,这种策略可能会搬起石头砸起自己的脚,让亲者痛,仇者恨。
其实说白了,目前的外企的员工待遇大体上都差不多,办公环境、免费饮料、免费水果、出差可以住高级酒店等等,差异的可能只是细节。而且公司提供这种氛围最主要的是希望员工能够在这种氛围中迸发出更多灵感,创造出更多伟大产品。但工作就是工作,工作可以是兴趣,但不能完全取代生活。我们不能奢望员工能够乐于“以公司为家”,而忘记了家庭,吃在公司、住在公司、娱乐在公司...
我也曾经在去年写过“我的创意2-关于中文输入法”,好象在那之后坐的那个航班上,我遇到了李开复。但我从来没有想到会把他与搜狗输入法扯在一起。所谓的“词库门”,就在我没有想到的时候发生了。我无意介入这件事情,只是想说:你们洗脚洗得还舒服吗?:)
2004年1月25日,Moslem同志曾经写过《从春节看国外IT公司的本地化》,对进入国内的外企挨个进行了点评,当时评为“差”的有微软以及其它相关的企业,今年看来做得仍然不好,还是没有以任何形式祝大家新春快乐(尤其是微软,怎么着也得让比尔同志发表一个热情洋溢的拜年视频吧)。
让我比较吃惊的是Google公司,在2004年曾经被评为“良”,而今年,这个号称“做最好的自己”的“已经彻底完成本地化”的公司,竟然王小二过年,一年不如一年了。在2004年,它们至少还有一个像样的创意图标,而今年图标却没有变化,甚至包括http://www.google.cn,都是平日的那种图标。
而百度(当然,情理上这不是一家外企)的图标今天已经变成了一个可爱的小猪。
希望越来越多的外企在国内积极推进“洋节”的时候,也注意一下国内的传统节日。
自从使用了Windows Vista上的IE7来浏览网站的时候(其实从IE6 SP2开始),经常会发现一些视频或者Flash网站出现了“单击此处以激活控件”的现象。现象就是在某些视频播放控件(Windows Media Player或者Real Player),或者是Flash动画,或者是其它有可视化界面的ActiveX控件的周围有一个虚线框,当鼠标移上去后,会显示“单击此处以激活控件”,只有当你在该控件上用鼠标单击或者按一下空格键,这个虚线框才会去掉,该ActiveX控件才可以正常使用。
其实要解决此问题非常简单,如果我们去看一下这个控件的代码,所有的ActiveX控件是使用内嵌式写入的。那么解决它就需要调用一下Java Script代码来解决。在JS中调用document.write("<object classid='XXXXXXXX'...的方式来往页面上写ActiveX控件就不会解决此问题。
为什么会有这种提示呢?原理也很简单,目前Web 2.0的出现,使网民开始当家做主。所有的网民均可以使用HTML Editor控件往我们的网站中输入内容,如果有人心怀恶意,用这种方式种一个木马ActiveX,而客户在不知情的情况下下载使用了,可能会带来灾难性的后果。所以微软会在IE6 SP2以后,提供这种方式以便对这种ActiveX的行为进行限制,只有当用户确认了才会激活此控件,允许它进行操作。
所以一些大型网站目前需要更改一下它们的代码,不要再使用内嵌式方法写入ActiveX控件,而改用Java script动态加载。比如CSDN目前的视频栏目其实就有这个问题。上周末在厦门参加IDG VC互联网创投大会时,发现与会的很多Web 2.0视频分享网站也都有此问题,在此向各位提醒一下。
据相关报道,Blog的写手明年将会达到一个峰值,即1亿人。1亿人呀,好大的市场!但是再看看中国的BSP,仍然是春秋战国,层出不穷,而且合纵连横,无所不用其极。国内的各大BSP都相继推出了搬家服务,希望通过努力,把别的BSP上的博哥博姐们挖到自己的地盘上,这样获得人气,获得眼球,获得PVs,获得VC的青睐,大赚一笔。
除了推出搬家服务,各大BSP也在不停的翻新自己的建筑,请来顶尖的设计师、装饰师为自己的地盘添砖加瓦,然后用扩音器进行宣传。更有甚至,很多BSP甚至还没有拿到预售证(Beta阶段),就开始让业主入住,此中风险,一概不管了。因为葛优老师有话曰:“下馆子,哪儿人多我去哪儿”,写Blog,哪儿人多我搬家到哪儿。
但是这年头谁也不比谁傻多少,而且技术已经不是障碍了。你刚推出一个新功能,我的弟兄们加班加点就Copy to my space了。再者,现在的人容易见异思迁、喜新厌旧,很多都是墙头草,今天搬到这,明天搬到那儿已经不是希奇事。毕竟BSP为我们提供了很多的搬家工具,条条大路通罗马。
这段时间一直在给各大网站讲Gadget。讲着讲着,突然发现其实不止Windows Vista有Sidebar,大部分Blog空间都有所谓的Sidebar即侧边条呀,而且侧边条上除了“友情链接”、“我的相册”、“存档”外,也有各种各样的功能性扩展插件,比如开心这个地盘的左侧就有一个Mapbar的“我的博客地图”的功能性扩展插件,更多的可能是Google Adsense的功能性扩散插件,也有很多业主在博客堂自己做了“我正在阅读的书籍”之类的插件,很有意思吧?
其实写博客的人也最喜欢看别人的博客。我保票说,来看开心博客的人大约有60%的人也有自己的博客空间,甚至不止一个。群众的眼睛是雪亮的,群众的抄袭特性也是可以发挥的。毛主席他老人家说:博客是宣言书,博客是宣传队,博客是播种机。所以通过博客间的口碑相传也是很好的一种手段。
想让自己满院子飘香,其实并不需要把人家院子里面的花都搬到自己院子里。所以BSP可以提供一些真正实用的、让博客得到切身利益的功能性插件,让其它BSP院子中的鲜花也可以使用,一样可以起到聚集人气的目的,不是吗?:)
那么如何来做吗?其实大的BSP,很多其实也是门户网站,BSP只是其扩展性业务,或者说其中一个频道,每个频道其实都可以提供一个或者数个面向BSP的扩展性插件,比如汽车频道提供“我的爱车”展示,音乐频道提供“我的排行榜”插件,地图频道提供“博客地图”,女士频道提供“我的化妆品”,图书频道提供“我在阅读的书籍”。除了面向自己网站的BSP博客提供外,也对外以JavaScript的方式提供给其它网站的Blogger免费使用。又有PVs,又有人气。何乐而不为?
刚才也突然间看到Donews在测试“我的IT装备”的BSP功能性扩展插件,不错的创意,赞一个。
闲来无事,在CSDN上闲逛了一下,看到孟岩、韩磊两位老兄所写的《这一天终于来了》以及《“这一天终于来了”》,还有孙辉先生发表的《WPF,一次洗牌...》。顿时感到这一天真的来了,随着无数传教士(Evangelist)在全球范围内的摇旗呐喊,大家逐渐从站在远观望而慢慢围拢,WPF从远观之物变为亵玩之物也。
孟夫子、韩老兄,将进酒,杯莫停! 与君歌一曲,请君为我侧耳听!

在韩磊老兄的文中提到孟岩曾经说过:“战术上成功,战略上失败——以后谁还肯为Windows做应用……”。但开心有不同意见,因为要想开发WPF,或者想运行WPF,机器上必须有.NET 3.0,而可以安装.NET 3.0的机器只有Windows XP(SP2+)、Windows Server 2003(SP1+)、Windows Vista以及Windows “Longhorn” Server。所以随着WPF应用的普及,这些操作系统也会逐渐普及。从而维护Windows的霸主地位。其实慢慢琢磨一下也可以看出来,微软的全套开发产品均是服务于Windows以及Office两大产品线的。大旗一竖,无数英雄豪杰聚集在其下。如果将Linux看作Windows桌面端的竞争对手,那么现在Linux平台上的应用缺少是一个无法逃避的事实。窃以为:IBM投资Eclipse实在是一个明智之举。
另外,韩磊也提到了另外一个感想,即Expression套件的直接竞争对手是Adobe,这有些短视了(韩磊莫怪)。当然,不可否认,很多受众,包括开心自己,在第一次看到Expression的演示时,都会有这种感觉。这与Adobe的产品线实在是太平衡了,简单就是短兵相接。但研究越久,越会发现,这种观点实在是有些太小看Bill Gates了。Bill Gates创建微软时曾经有一个梦想,要让每家每户的桌子上都有一台电脑,而且这台电脑上运行微软的软件。从1975年开始,整个微软就在为这个观念而奋斗。历史发展到21世纪,软件从当初注重性能(硬件的限制)、功能(大而全的软件)而逐步发展到更加注重用户体验。之所以出现这种趋势,是因为软件已经逐渐走下神坛,成为人们日常生活中所不可或缺的。而人们对日用品的选择标准就是:价廉物美。价廉促使SaaS产生,而物美导致软件厂商对于用户体验的重视。
正是在这种大势之下,微软才会推出WPF对整个软件生态链催熟。WPF的出现解决了三个问题:
- 更快速的开发更丰富的用户体验:使用WPF,可以在更加快速的时间内开发出来更加丰富的界面,满足用户的需求。所以我感觉孙辉先生学习WPF有些误入歧途,长此以往,会走火入魔的。如果仅仅是使用控件,建议您还是使用GDI+或者ASP.NET或者MFC等等就够了。
WPF之所以有那些控件,我个人认为主要是为了向下兼容。WPF的目标应该是消除控件,让您开发出来的软件根本看不出来控件的特征,软件世界再也不是由Button+Textbox组成的怪物了。请注意左图,此款使用WPF开发的应用程序,你还能看到哪部分是控件吗? - 消除用户界面差异:也请注意左图,这就是一款使用WPF开发的应用程序,而且它是以IE为宿主的。如果只是看这部分截图,你可以区分它是Windows Application还是Browser Applicaiton吗?历史在1995进入一个鸿沟,开发人员突然变成了两大阵营:B/S开发人员以及C/S开发。而现在到了应该弥补这个鸿沟的时候了。WPF正是背负着这个历史责任;
- 软件开发团队的协作问题:软件开发团队的日常协作是一个非常大的问题,除了需求变更以外,第二个影响开发进度的就应该是团队协作性了。在软件团队中,我们比较熟悉Developer、DBA、Tester、IT Pro、Architect等。Designer可能往往被我们忽视,但实际上,Designer的工作成果才是与客户距离最近的。而且Designer与Developer如何配合工作,是很多团队所头疼的,而WPF正可以解决此问题。这儿对孙辉先生再说一句:XAML并不是WPF的另外一个名字,它是使用声明性编程方式实现WPF的一种文件格式。
我最近疯狂迷上了一些美国科幻剧:《24》、《Lost》、《Prison Break》、《Heros》、《The 4400》,在里面经常会有一些使用电脑软件的镜头,而且那些软件界面真的越炫(Lost中那个只能输入4 8 15 16 23 42的不计入内),曾经记得Jack Bauer的那个PPC与电脑同步的镜头,让我感觉在Redmond看研究院的同事做Demo一般。或者随着WPF的出现,这种炫界面的应用程序会很快进入我们的日常生活当中了!
孟夫子,韩老兄,将进酒,杯莫停!!
由于空中交通管理原因,我所乘坐的FM9111航班又推迟起飞了将近一个小时。现在终于在天上了。好了,书接上回,我们继续开侃。
不知道有多少人了解过RSS为什么会红火起来。想当年,在Netscape快要日落西山的时候,为了挽救颓势,他们提出了网络上“推”的概念,即要把网上的内容由客户端拉转成服务器端推。而其提出的其中之一的实现方式就是RSS。微软当然也不示弱,马上推出了自己的类似协议,即CDF(Channel Defination Format)。而如今,Netscape已成昨日故事,引人扼腕顿足,而其遗腹子RSS却突然红遍全球,甚至成为Web 2.0的标志性之一。而反观微软的亲生儿子,CDF却不再见踪影,在Windows Vista自带的随机帮助中甚至搜索不到其字眼(Vista中对于RSS的支持却是非常的友好,IE7, Sidebar Gadget等)。怪哉,此世界!
在Netscape与IE混战的时候,中文输入法也陷入类似的混战,各种输入法层出不穷,比较有名的故事就是“码根码”,我还曾经为码根码的作者写过一篇文章,以示纪念。而N年了,输入法市场开始风平浪静,似乎进入到互联网时代,人们就不再使用输入法了。但输入法仍然是华人进行计算机活动的主要工具以及入口。不过正因为其普遍,也恰恰成就了我们忘却它的理由。直到Windows Vista中的IE7自带的保护模式的出现,才使得我再次注意到了它。
如果您已经安装了Window Vista,也体验了IE7的保护模式。你就会知道,在IE7启用保护模式时使用中文输入法是一个多么困难的事情。按照Windows Vista自带的帮助文档定义:Internet Explorer 的保护模式是使在计算机上安装恶意软件更为困难的一项功能(Windows Vista中定义的恶意软件不等同于流氓软件,外延更大一些,它包含病毒、木马等)。正是由于这种保护机制,它禁止在此模式打开时,软件往非沙箱区写入数据,从而使恶意软件无法从网络上启动,但却牵连了输入法会由于向其词库(该词库处于沙箱区外)写数据,而导致了输入法无法使用。唯一可以做的就是禁用保护模式或者等待各个第三方中文输入法进行Vista更新。
不好意思,又扯远了。进入到一个软件即服务的时代。中文输入法应该也有一个飞跃的发展,而不只是一个简单的文字输入工具,但一直写到这儿,我突然发觉我原来的创意已经不好意思拿出手了,所以就来一个虎头蛇尾吧,希望各位见谅。
本文写就于飞机上,但由于虎头蛇尾,一直不敢发出来献丑。
目前,在微软与博客堂的协助下,中国汽车网已经发布了其第一个Sidebar Gadget(即边栏小工具),其发布主要位于:http://gadgets.chinacars.com,欢迎大家浏览并且下载,如果在使用中,如果发现Bug或者有任何新的创意,均可以通过此页面上的一个邮件与ChinaCars联系,并且有望得到以下奖品:Windows Vista RC1光盘或者车载吸尘器。
在上一个SideBar Gadgets教程中,曾经呼吁希望开发Gadgets的国内的大型网站的技术决策人员与我进行联系。也收到了一些部分网站的反馈,在此继续呼吁大家与我联系。当然,技术可以不限于Gadget,可以是GRACE中的任何一部分:Gadget、RSS、ASP.NET Ajax、Card Space或者Expression(WPF, WPF/E)。以上大部分技术并不要求网站平台采用ASP.NET 2.0。(joycode # gmail.com)
相关新闻:
国内17家厂商将生产预装Windows Vista操作系统的电脑 Windows Vista最终版制作完成
期待您的邮件。
话说从前,书接上回。开心已经向大家提出了一个需求,并且给出解决技术难题的思路,不知道有多少位朋友已经开始尝试编写自己的第一个非“Hello World”的Sidebar Gadget了。那么今天开始,我们就开始逐步介绍开发Sidebar Gadget的具体方式。
使用Gadget.xml来定义Sidebar Gadget
就像计算机语言都会有一个入口函数一样,Sidebar Gadget在启动时也会有一个主入口,而这个主入口文件呢就是Gadget.xml。但该文件你可以存放在多个区域,即Gadget的根目录,或者Gadget的地区语言(如zh-cn, en-us等)目录。按照我的理解,Gadget应该先会找最适合地区语言目录下的Gadget.xml,其次再找根目录中gadget.xml,而一个典型的Gadget.xml文件结构如下所示(Vista自带的时钟Gadget的描述文件,文档中红色文字为开心的注释文字,而注释中的数字标识与附图中的数字标识一一对应):
<?xml version="1.0" encoding="utf-8"?>
<gadget>
<name>时钟</name> 定义Gadget名称(1)
<namespace>microsoft.windows</namespace> 定义Gadget的命名空间,与JS交互
<version>1.0.0.0</version> 版本信息(2)
<author name="Microsoft Corporation"> 作者信息(3)
<info url="http://go.microsoft.com/fwlink/?LinkId=55696" text="www.gallery.microsoft.com"/> 作者网站的链接地址
(4)
<logo src="logo.png"/>作者的Logo信息(5)
</author>
<copyright>? 2006</copyright> 版权信息(6)
<description>查看您所在时区或全球任何城市的时钟。</description> 功能描述信息(7)
<icons>
<icon height="48" width="48" src="icon.png"/> 显示在小工具待选箱时的图标(8)
</icons>
<hosts>
<host name="sidebar">仅支持Sidebar,未来如果大一统了,可能Live.com或者Slideshow都会使用统一的方式
<base type="html" apiVersion="1.0.0" src="clock.html"/>type仅支持html,未来有可能会支持WPF,WPF/E或者AJAX;src用以指明主界面的HTML源文件
<permissions>full</permissions>目前仅可以设置Full,请参阅此文
<platform minPlatformVersion="1.0"/>
<defaultImage src="drag.png"/>在从小工具备选箱用鼠标拖到Sidebar时所显示的Logo
</host>
</hosts>
</gadget>
通过上面的信息,Sidebar可以得到Gadget中的相关信息,但一个Gadget还不止如此,比如上面的这个时钟显示在Sidebar当中时,应该如 左图所示。在这个截图中,我们注意到有一个小扳手式的图标,使用它可以选择自己心爱的钟表外型或者进行其它的自定义设置,那么此部分是如何反应在源代码中的?
还有,有一些Gadget,比如自带的RSS Reader,当单击某文章标题时,会自动在左侧弹出来一个Flyout窗口,这个窗口的设置如何在源代码中反应呢?
还有,系统自带的那个CPU以及内存使用量的Gadget,类似于汽车的转速表,它又是如何得到这种实时的系统信息的呢?
还有,当把一个Gadget从Sidebar拖到桌面时,其页面大小会发生改变,这又是为什么呢?
还有,Gadget中有很多透明效果,比如那个表的周围就是透明的,呈一个圆形,或者其它类型,而不是我们常见网页的矩形,这又是为什么呢?
还有,Gadget中的服务器端与客户端交互实现局部刷新却又没有使用ASP.NET AJAX框架,这又是为什么呢?
呵呵,如果你感兴趣,欢迎继续阅读本教程,今天就先到这儿吧。
我一直使用五笔字型输入法,所以在没有加入微软之前,我比较喜欢写字,而且也写了好多字。后来,上台的机会多了,用嘴越来越多,不过时至今日,普通话以及英语口语仍然是问题。
写字写多了,对于中文输入法也有一些想法。我使用过的五笔字型比较多:王码五笔86版、五笔加加、小鸭五笔、极品五笔等,甚至我之所以将我的手机选定为多普达838,也是因为这个手机有键盘,可以输入五笔字型。目前在PC上,我比较钟爱的五笔字型是极品五笔,原因呢,就是外观风格我喜欢,其它就没有什么了。我打五笔比较快,不使用词组,只是逐字输入在思路清楚时每分钟也可以达到120字。我很少使用词组输入的方式,因为我总是感觉拆词组是一个比较烦的事情。
前段时间,看到搜狗出了一款拼音输入法,真的很激动。想出这个创意的人是一个奇人,在这个市场上已经很少有让人眼前一亮的创意了,我非常喜欢。但是,很显然,我普通话不好,使用拼音输入法对于我来说简直是一种折磨,所以一直在期待他们可以出一款五笔输入法。
中文操作系统与英文操作系统除了一些显而易见的差别外,最主要的就是输入法了。所以搜狐在这上面做些文章,的确非常正确。但也非常明显,直到目前为止,搜狗输入法还没有很好的商业思路,创意有了,但如何把创意变成金钱还是一个问题。我求他们,千万别把这块市场变成另一个竞价排名市场了,这样就可怕了。
中文输入法还有什么可挖掘的创意吗?我认为还有很多很多,将客户端软件与网络结合起来,会产生非常多的创意,当然了,清平世界也更容易滋生“流氓”。
马上要登机了,先去抽颗烟,就先暂时到这儿吧,容我在飞机上再想想,继续再补充。也欢迎各位看客贡献一下自己的创意。
开心写于上海虹桥机场A2登机口,也不知道有没有朋友在这个登机口前等着上飞机
在Web 1.0时代,由于内容是由网站专职的编辑来提供的,所以需要使用CMS系统,供这些网站编辑来提交新内容。在Web 2.0时代,网站是由人民群众创造的,所以出现了很多各式各样的开放式系统,比如使用BlogMetaDataAPI来提交内容的系统。
BlogMetaDataAPI目前被很多BLOG系统所使用,包括博客堂所采用的基础架构.Text。虽然在Web 2.0初期,大家都在使用在线Web编辑器为BLOG提交内容,但这种提交总得来说还是有很多局限性的,比如:
- 用户体验不一致:由于Web的性质决定,很多客户体验与普通的Windows Application并不一致,比如在Word中我可以先按PringScreen键拷屏,然后直接粘到编辑器中,但在Web中就做不到这一点;
- 响应时间慢、易崩溃:如果增加了过多的文字或者调用到一些特殊的属性。很容易出现响应时间慢的特点,并且导致崩溃(现在崩溃现象越来越少见了)。
- 需要在线写:在不联网的情况下,你必须要先写到记事本或者Word文档中,等到联网的时候再提交。
- 浏览器标准的兼容性:比如博客堂使用的在线Web编辑器在IE6中工作良好,在IE7中就无法正常显示(相信很多博主已经遇到此问题了)。
我也是基于以上原因,以及工作繁忙,有将近一年的时间没有写BLOG。所以最近当我提高了发文数量后,很多人感觉到很诧异:开心怎么了?其实我只是有了一件顺手的工具,即Windows Live Writer。当然,使用Word 2007也可以直接发送博客,不过一来程序太笨重,二来博客堂对Word 2007的发布功能支持的并不是非常好。
一年前,曾经也有过一个构想,就是采用Outlook发送邮件的方式来发布博客。很显然,Live Space已经实现了这个功能,不过只能发给它自己。所以豆腐与宝玉已经完成了大部分代码,实现功能大体如下:
- 在网站(这个网站一直没有时间开发)上使用邮件注册一个帐号,并且关联自己的博客地址以及帐号信息(可多选);
- 在注册通过后,会得到一个特殊的邮件地址,然后就可以使用任意邮件客户端(Outlook, Outlook Express,Web mail)将自己写好的文章发到该邮件地址中;
- 文章实时张贴在自己关联的各博客地址上;
- 同时服务器端保留了你发送的BLOG文章的内容,我们还可以使用这个内容做“博客搜索”、“博客搬家”等等更有创意的内容。
由于豆腐先生已经移民到加拿大了,宝玉与开心的工作也很忙,这个项目也暂时搁置了。我想,是否可以把此项目已经开发完成的代码放在Codeplex上,做成一个开源项目,大家一起来参与开发呢?:)
回到Web 1.0,毕竟现在国内排名前几名的网站大部分还基于网站编辑。我的想法就是,虽然Web 2.0的人民群众们已经享受到了Windows Live Writer等带来的好处了。为什么不让我们的网站编辑们也享受一下这种好处呢?
可不可以把网站的CMS系统使用MetaDataAPI来进行开发,不使用在线编辑器,而是直接使用Word、Windows Live Writer编写自己的CMS系统呢?有人说,Word和Windows Live Writer很难自定义。Oh my god,你难道没有听说过Smart document (Kaneboy & QiangLi快来给大家补补课),以及Live Writer SDK?
Any feedback? :)
开心经常在各种活动中担任讲师,有时候会经常碰到一些熟悉的朋友,基本上是逢会必参加。无论在什么地方都可以见到,可能就是俗话说的“会虫”吧,当然,我没有任何对这些朋友的不敬。当然,讲课讲多了之后,我也收到很多大家的反馈,比如在TechED上有人就告诉我,听完课后,对这个技术还是不太了解云云。
我不知道大家是如何看待这个问题的。对于TechED这样的活动,我在加入MS之前,都是抱着交朋识友、朋友聚会以及了解微软未来技术方向去参加的。因为通过60分钟或者75分钟的课程,一个讲师很难把一个技术的方方面面讲清楚。不知道各位是否有这种感觉。所以我认为来TechED听课,应该抱着来感觉微软未来的技术方向,并且借此机会认识一下业界的朋友,毕竟天南海北的朋友一年见次面也不容易。
那么我们需要什么样的培训呢?我个人把所有的培训形式罗列了一下:
1. 大型峰会:微软的TechED,英特尔的IDF均是属于这种情况。各厂商的峰会均是总结厂商的过去的进展,分享该公司未来的发展。通过这种峰会,可以得到厂商Overview层次的技术方向。
2. 深度式培训:类似于我去年做过的TechReady(1, 2,评论)以及其它同事所做的Workshop,均是此种培训,通过此种活动,可以非常专注的就某一专题得到相关的学习,但一般来说,这种培训均是需要收费的。另外,很多的CTEC(微软认证培训中心)或者相应的其它厂商的培训中心也提供类似的培训,但培训效果有些参差不齐,所以需要认真选择。
3. On-site培训:有些公司会投入一些资金来邀请一些讲师到公司来进行讲授。我个人认为这种培训会非常有效果。因为在培训之前,讲师一般会进行课前准备,就实际情况选择内容,并且会认真准备Q&A的内容,从而达到因材施教的效果。
4. 产品推广会:厂商的产品发布大会或者路演活动均属于此类,通过这种培训可以了解某一产品的基本特性。但同样也不适合深度学习。
5. Tech Talk: 有些公司会在每周或者每月组织公司内部的技术人员,进行技术探讨。这种内部交流我个人认为效果会非常好,讨论的问题均是单位内部最显著的问题,但如果没有人认真准备,勇于担当主讲,此类活动容易流于形式,最终不了了之。
应该还有其它的培训形式,欢迎大家补充。所以在选择各种培训活动的时候,大家应该事先了解这种培训的目的,对活动形式、活动内容均需要了解,然后再根据个人的实际情况决定是否参加。