Silverlight的业务场景

下文是我目前正在写的Silverlight White paper其中一章,主要用来介绍Silverlight的业务场景,还没有最终定稿,现在发布在此处,希望征集一些大家的意见反馈,同时,也欢迎更多的朋友来交流Silverlight的业务场景。

1.1 视频分享平台

目前在国内有很多的视频分享平台,大部分使用非常类似的技术架构,为最终受众提供多媒体体验。但基于目前其类似的技术构构,大部分用户体验都存在以下的一些不足之处:

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. 价格非常高:业界目前普遍使用的解决方案,其工具以及服务器价格都是非常高昂,尤其是服务器,如果以不限流量的解决方案价格对比,微软的解决方案是对方的十分之一。

同时微软还兼顾了与其它解决方案的兼容性,对于现有解决方案,可以在共存时进行逐步的迁移。

微软提供了整个视频分享平台的架构解决方案,依赖这套解决方案,可以在节约成本的前提下,快速建立一套视频分享平台。

image

通过这些解决方案,我们可以尽享以下优势:

image

1.2 Rich Interactive Application

由于目前网站的主流标准还是采用HTML + CSS + Java script来呈现内容。其表现方式以及交互方式都比较单一,在很多时候,并不能提供非常好的用户体验。而Silverlight则可以为普通的基于网页的应用程序提供更加丰富的交互性富媒体体验。

由于Silverlight在前台使用XAML来进行内容呈现,而业务逻辑使用Java Script或者C#以及Ruby等语言进行构建,对于开发团队来说,学习成本降低。

同时,Silverlight由于支持互联网一些标准协议,如RSS、ATOM、Web Service等等,具有非常高的扩展性。

image

1.3 边栏小工具(Sidebar Gadget)

随着越来越多的最终用户采用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边栏小工具的测试版。

1.4 在线休闲游戏

在线休闲游戏目前已经成为互联网业界的新的战场。越来越多的互联网内容提供商开始构建自己的在线休闲游戏平台。在目前,很多在线休闲游戏所使用的平台都是在使用自己的ActiveX控件,但由于国内恶意软件的现状,使得很多用户不敢下载相关的ActiveX控件,降低了普及率。而微软的Silverlight则在很短的时间内获得了全面的普及。同时,其先天性对于游戏特性的支持,也使其成为在线休闲游戏平台的第一选择。

同时,Silverlight在1.1版本的后台业务逻辑将使用编译型语言,如C#、VBx或者Ruby等来进行构建,相对于Java Script这种解释型脚本语言来说,前者的执行效率相当于后者的一千倍,对于复杂的业务逻辑计算提高了响应时间。而且对于开发人员来说,面向对象的编译型语言更加易于学习,降低了学习成本。

Windows Live Writer Beta 2版本发布

上一个版本还是去年十一月份发布的,现在终于等到新的更新了。开心过去一直使用一个Internal Dogfood的版本,有很多小Bug,比如发布的时候会报一个类型转换错误,让开心苦不堪言,不过作为Dog foot,还是不错的。

现在这个版本界面更加清新,安装过程也非常棒,最主要的是:它已经开始提供中文版了。虽然很多翻译,开心感觉很不满意,比如将“Tag”翻译为“标记”,我的天呐!做翻译的这哥们是不是从来不写Blog呀?

下图就是这个新软件的截图,想下载可以从http://get.live.com/betas/writer_betas 得到,同时还可以下载Windows Live Mail。

我有一个比较Crazy的Idea,目前很多网友喜欢在博客中发布一些动态化内容,比如视频或者一些小型的游戏内容,可否让Windows Live Writer支持Silverlight发布?甚至支持Popfly提供的Mash-up的聚合内容?如果是这样,博客就可以更加动态化了:)

Silverlight开发基础答疑(5)

很好玩的是看到了Silverlight目前在国内受到了很多开发者的热情拥护,“自由、创新、研究、探索”先生在Google Groups里面创建了一个讨论组,开张不到一个月,就有176名成员参与。而Silverlight中文社区也很快就开张了,当然,到现在为止,我还不知道站长是哪位,如果是您,请您在Comments里面说一声。嘿嘿,我还得向你收小道消息费用,估计你之所以抢注到这个名字,和我这个贴子还是有一些关系的。

8. Silverlight为什么不支持中文?有没有别的途径可以解决这个问题呢?

问题描述:我相信凡是准备采用Silverlight技术或者正在使用Silverlight构建应用程序的开发者,很多人已经开始怨声载道了,为什么Silverlight不支持中文(严格来说,是中日韩等字体)?其实原因很简单,这是一个法律范畴的问题,因为每个字库都有其版权信息,而且大部分字库是不允许转移使用的(比如常见的将Vista中的微软雅黑字体复制到XP或者手机上使用应该是非法的)。

解决方案一:请参见http://blog.joycode.com/joy/archive/2007/04/06/100553.aspx中的第二项解答,即使用Glyph来代替TextBlock;但这种解决方案存在很多问题,即Glyph本身不支持换行等操作,意味着你只能把它当作标签字体来使用,而无法用其来显示正文。另外,每次浏览这个页面时,都需要下载完整的字体文件,请注意,仅微软雅黑字体(不含粗体部分)就有15M左右大小。虽然现在使用宽带的人员越来越多,但仍然是一个非常大的负担。

解决方案二:使用ODTTF文件,所谓的ODTTF文件,其实是XPS所带的嵌入式字体文件,这种字体会自动从原字体文件中提取所需要的字样,而不是简单的拷贝原字体的所有字样。操作方法如下:

  • 首先使用Word或者写字板应用程序,使用您中意的字体输入你的Silverlight中所需要的文字;
  • 然后在Word或者写字板当中选择“打印”功能,打印机选择Microsoft XPS Document Writer(在您安装了.NET 3.0 Framework)后会自动增加;
  • XPS Document Writer本身是一个打印到文件功能,在其文件选择框中选择文件路径,并且给出相应的文件名;
  • 打印完成后,在文件浏览器中找到完成的XPS文件,并且将其后缀名由”.xps”修改为”.zip”;(其实微软的好多文件格式目前都使用了ZIP格式,比如Office 2007中的DOCX、PPTX、XLSX等等,都可以将名字改为ZIP后缀名,并且使用WinZip或者其它文件压缩程序打开)
  • 直接找到这个压缩文件包中的“\documents\1\resources\fonts”中的文件,并且将其提取出来,这个文件名大部分为一个GUID加一个ODTTF后缀名;
  • 将提取出来的ODTTF文件再次使用ZIP格式打包成myfonts.zip文件,并且放在您的Silverlight应用程序的根目录中;
  • 假设您的XAML中的TextBlock的名字为textBlock1,那么在其后端所跟的JS文件中使用Downloader控件进行修改,大体如下:

function onLoaded(sender, eventArgs)
{
  var control = sender.getHost();

   var downloader = control.createObject(“downloader”);

   downloader.addEventListener(“Completed”, “onCompleted”);

   downloader.open(“GET”, “myfonts.zip”, true);//注意此处的myfonts.zip,根据您的实际情况进行更改

    downloader.send();

}
function onCompleted(sender, eventArgs)
{
var myTextBlock = sender.findName(“textBlock1”); //此处是TextBlock的名称

myTextBlock.setFontSource(sender);

myTextBlock.fontFamily = “Microsoft Yahei” ;//注意此处的字体名称,我这儿是使用的“微软雅黑”字体,您可以根据实际情况使用

myTextBlock.text = myTextBlock.text;
}

 

总结一下,这样的解决方案在目前应该是最有效的解决中文显示问题的,当然,在您使用部分字体时,您必须要注意一下相关的法律问题,是否取得了所使用的字体文件的跨平台授权。(该解决方案对于动态显示文本仍然无效)。

解决方案三:Silverlight产品团队目前正在致力于该问题,解决此问题目前主要的困难并不是技术问题,而主要是法律上的一些issues.

 

我已经为解决方案二编写了一个小型的Demo,如果您感兴趣,可以在留言中留下您的邮件,我可以发送给您。(由于本人工作繁忙,无法全部发送,所以我只会发送给前五位留下邮件地址的朋友,后来的朋友可以给这五位朋友写邮件索要)。

 

参考信息

http://blogs.msdn.com/webnext/archive/2007/05/25/silverlight-font-embedding.aspx

http://wpf-e.spaces.live.com/blog/cns!2B248D261D0E0035!122.entry

我就是那个福娃

很小以来,对于大型充气玩具一直充满好奇,也曾经在麦当劳门口看到麦当劳叔叔的充气娃娃,甚至过去和他握手,询问他在里面感觉如何。而在刚过去的五一节当中,我也体验了一把做充气娃娃的感觉。(本来想让大家猜猜的,结果让思归泄密了,呵呵)。

与北京奥组委、搜狐的朋友这次赶到拉斯维加斯参加了MIX大会,准备在大会上展示我们的秘密武器,即奥运火炬传递项目。在过去一月内,一直在使用SilverLight构建此项目。此项目也曾经在北大BillG的活动中进行过展示,但由于众所周知的原因,那天发生的事件使得焦点发生了转移,我们一个月的努力可能没有多少人记得。

开心于4月29日来到了旧金山,在旧金山过了一晚,拜访了当地的唐人街以及传说中的金门大桥。然后于第二天来到了拉斯维加斯,说起来可能很多人不相信,没有去过美国之前,可能认为美国到处都是纸醉金迷,夜夜笙歌,而实际上,即使如西雅图这样的城市,到了晚上六点钟左右,街上就基本上没有什么人了,商店也关了门,Downtown基本上成为死城。

而拉斯维加斯却是越夜越快乐,开心所住的威尼斯人酒店,基本上就是一个巨型赌场(当然,赌城的酒店基本上都是赌场了)。半夜的时候,还有很多人在赌场中奋战,开心鼓励自己多次,但始终没有拿出一美元来小试运气,到最后也只在商场抱回来一个小型老虎机玩具,自己回家来试运气了,基本上每次都赢。

第一天的会议中,我们在Ray Ozzie的Keynote中看到了我们的项目被提及,非常开心,这应该是微软全球会议中第一次提及来自中国的项目,而且先后有两张PPT出现了我们项目的截图。在随后的Scott Guthrie的Keynote当中,先后公布了多项新技术,这些思归已经介绍了,我就不再多言了。唯一需要说的就是,Scott长得太像那个尼古拉凯奇了,刚开始我还以为是请了影星上台了呢。 :) (最后一天,我们拜访了好莱坞的星光大道,还特意拍了一下尼古拉凯奇的手印脚印)。

我们的课程被安排在第二天早上八点半的第一场,在赌场奋战一夜的战士们可能都比较疲惫了,大部分人估计在九点左右才起床。为了吸引大家参加我们的活动,我钻进了那个福娃晶晶当中(绿色那个),在会场上走来走去,吸引很多外国友人上来与我拍照。由于效果奇好,在下午的时候,MIX TV决定为我们制作专题,而这次我钻进了福娃欢欢当中(红色那个)。

说说在里面的感觉吧,虽然通过福娃的眼和嘴部位可以从里面可以看到外面,但背着一个大电池的充气机,还是很累的,尤其是要伸胳膊伸腿,不是非常舒服。最主要的是,由于气体太浓,听觉上有些问题,其它的就没有啥了。

欢迎大家查看这次的视频。:)(我就是那个红福娃欢欢)

Silverlight 1.1的海报

相信大家在五一的时候,都已经知道了Silverlight的消息,其实在此之前,开心也曾经介绍过相关的信息,只不过有一些比较详细的信息没有说而已。

今天,除了大家可以使用SDK来体验Silverlight 1.1以外,MS也推出一个图片,用来让大家了解Silverlight 1.1的全景。

下载下来,并且把它打印出来吧:)