2009/07/11のブログです。


昨日、私はSilverlight 3の実力とExpression BlendのRelease Candidate版に
ついてアナウンスしました。


Silverlight 3の新しい特徴と改善点はブラウザ外でSilverlightアプリケー
ションの実行をサポートします。H.264/AAC/MP4 media playbackやGPU
サポート、pixel shadersを含むpixel API、perspective 3D、Silverlight
アプリケーション間のローカルメッセージング、改良されたビジネス
オブジェクトフレームワーク、SEOサポート、ベターなテキストクオリティ
などがあげられます。継続して革新を続けているVisusual Studioや
Expression Blend、Silverlight 3はcutting-edge Rich Internet Applications
やメディア体験をつくれるように.NET開発者を手厚くサポートします。

本日、私はこれらの特徴をより深く紹介しようと思います。


Perspective 3D


Perspective 3D Silverlightで2D要素から3D体験をつくれるよう開発者を
サポートします。Perspective 3Dはスクリーンのreal estateの操作性も
大きく改善しています。改良された視覚的効果とスクリーンのユーティラ
イズをどのように使っているかのシンプルなイメージビューを紹介します。
同じタイミングで示すのは、メインのイメージに完全なresolutionnを、
パースペクティブビューで片方または複数のイメージをあげているものです。


3Dプロジェクションのイメージを与えることで、ImageのProjectionプロパティ
で、PlaneProjectionをセットすることができます。PlaneProjectionは
あたかも3D空間にいるような要素を扱えるようにプロパティをセットします。
RotationYのプロパティを70にしてオブジェクトをY-Axisに沿って垂直に
70度に回転させます。これはあたかも回転がスクリーン上でperpendicular
に回転しているように作ったエレメントが現れるような効果があります。
次に、私たちは他のイメージとして正しくルームを作ってエレメントを
移動したいと考えます。これをするために、私たちは、GlobalOffsetXや
GlobalOffsetZプロパティをセットします。イベント作用をセットして、
パースペクティブ3Dのエレメントを設定するようにして、パースペクティブ
3D DataGridやTextBoxが3Dの変形に適合して完全に機能します。
最後にアプリケーションになるようにして、私たちは、4つのイメージを
わずかな角度で変形して進めます。イメージは左右に移動して異なる
GlobalOffsetXを左右に移動させます。

<UserControl x:Class="P3DSample.MainPage"

xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation "

xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml ">

<Grid x:Name="LayoutRoot" Background="Black">

<Image Source="Image01.jpg" Stretch="None">

<Image.Projection>

<PlaneProjection RotationY="-70" GlobalOffsetX="-300" GlobalOffsetZ="-100"/>

</Image.Projection>

</Image>

<Image Source="Image02.jpg" Stretch="None">

<Image.Projection>

<PlaneProjection RotationY="-70" GlobalOffsetX="-225" GlobalOffsetZ="-100"/>

</Image.Projection>

</Image>

<Image Source="Image03.jpg" Stretch="None">

<Image.Projection>

<PlaneProjection RotationY="70" GlobalOffsetX="300" GlobalOffsetZ="-100"/>

</Image.Projection>

</Image>

<Image Source="Image04.jpg" Stretch="None">

<Image.Projection>

<PlaneProjection RotationY="70" GlobalOffsetX="225" GlobalOffsetZ="-100"/>

</Image.Projection>

</Image>

<Image Source="Image00.jpg" Stretch="None" />

</Grid>

</UserControl>


最終的なイメージは以下のとおりです。


Databinding Improvements

ElementNameバインディングは、開発者にUIElementをバインドし、イベント
ハンドラを記述する替わりにXAMLを定義します。Silverlight 3では、新しい
BindクラスにElementNameと呼ばれる新しいプロパティを用意しています。
ElementNameがセットされると、バインディングエンジンは特定のエレメント
をバインディングソースとして利用します。Pathプロパティはソース上の
プロパティを参照してUIElementをバインドします。もしElementNameの
ポイントがDependencyPropertyへのポイントにセットされるとバインディング
エンジンはDependencyPropertyの変化をリッスンし、バインディングの更新に
そって対応します。ここにXAMLセグメントを記載し、Sliderコントロールが
ElementNameバインディングを利用している様子のイメージを紹介します。


<Grid x:Name="LayoutRoot" Background="Black">

<Grid.RowDefinitions>

<RowDefinition/>

<RowDefinition Height="50"/>

</Grid.RowDefinitions>

<Image Source="Image01.jpg" Stretch="None" >

<Image.Projection>

<PlaneProjection RotationY="-70" GlobalOffsetX="-300" GlobalOffsetZ="-100"/>

</Image.Projection>

</Image>

<Image Source="Image02.jpg" Stretch="None">

<Image.Projection>

<PlaneProjection RotationY="-70" GlobalOffsetX="-225" GlobalOffsetZ="-100"/>

</Image.Projection>

</Image>

<Image Source="Image03.jpg" Stretch="None">

<Image.Projection>

<PlaneProjection RotationY="70" GlobalOffsetX="300" GlobalOffsetZ="-100"/>

</Image.Projection>

</Image>

<Image Source="Image04.jpg" Stretch="None">

<Image.Projection>

<PlaneProjection RotationY="70" GlobalOffsetX="225" GlobalOffsetZ="-100"/>

</Image.Projection>

</Image>

<Image Source="Image00.jpg" Stretch="None" Opacity="{Binding ElementName=slider, Path=Value}" />

<Slider x:Name="slider" Grid.Row="1" Width="200" Maximum="1" Minimum="0" />

</Grid>


XAMLによるUIのイメージを紹介しました。slider changesを移動することでBlue Dragonの
イメージが完全にopaqueに透過されるようopacityを変更しています。

Out of Browser Support


Silverlightのブラウザ外部のサポートで、Silverlightの生成を
開発者が作れる点をサポートしました。これはブラウザ外部で
アプリケーションの実行を許容し、アプリケーションのAppManifest.xml
ファイルを編集できます。VisualStudioで、このファイルはソリューション
エクスプローラのプロパティノードに位置し、AppManifest.xmlファイルは
以下のように記述できます。


<Deployment xmlns="http://schemas.microsoft.com/client/2007/deployment "

xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml " >

<Deployment.Parts>

</Deployment.Parts>

<Deployment.OutOfBrowserSettings ShortName="My Silverlight Application">

<OutOfBrowserSettings>

<OutOfBrowserSettings.WindowSettings>

<WindowSettings Title="My Silverlight Application" />

</OutOfBrowserSettings.WindowSettings>

<OutOfBrowserSettings.Blurb>Description of my app</OutOfBrowserSettings.Blurb>

</OutOfBrowserSettings>

</Deployment.OutOfBrowserSettings>

</Deployment>


みなさんがアプリケーションを実行するとき、右クリックのコンテキストメニューで、
“Install My Silverlight Application onto this computer…”のような表示を
したいときがあると思います。これは以下のように、左の隅でコンテキストメニューを
みることができます。

もし皆さんがメニューアイテムをクリックして、みなさんのマシンにアプリケーション
をインストールしたいとします。以下のようにブラウザ外部からみることができます。


みなさんは ブラウザのバージョンの外部でアプリケーションのバージョンを閉じたいと
します。もしスタートメニューを開いたら、スタートからプログラムでアプリケーション
を起動できるショートカットを見つけることができると思います。皆さんは
ネットワークにつなげなくてもアプリケーションを起動することができます。


これらがSilverlight3の特徴です。より詳細な情報はこちらからごらんできます。

Namaste!

2009/07/10のブログです。


本日、私はSilverlight 3とExpression Blend 3 SketchFlowのRelease Candidateを
アナウンスできたことを嬉しく思います。加えてExpression 3のフルファミリー版が
一ヶ月以内に公開できます。


バージョン3で、Silverlightはリッチなインターネットアプリケーションの
キーとなるエリアにおいて革新と利益を配信することができる利点があります。
具体的には以下の点を含みます。


・ 高度なdefinitionビデオのサポート

・ビジネスサポートの改善、データのバリデーションや要素間のデータバインディング

・ データレンダリングコントロールのピクセルshaders

・90ものコントロールとテーマ、ソースコードやユニットテストを含む多くのSilverlight
Toolkit


 以前私はSketchFlowについて記述しました。SketchFlowは世界中で設計について議論
でき、確立したプロシージャやツールについてのアイデアを変えてプロトタイプから
製品へのシングルワークフローを確立するようにできます。そしてスケッチを顧客
デモに、プロトタイプをアプリケーションとして完成させます。


私たちのカスタマーリストは伸びているでしょうか?最近、Silverlightは
Roland Garros French Open 2009やWimbledon 2009で世界中への情報発信に
貢献しました。来年の冬には2010 Olympicsが高度なdefinition videoでカバーされて
詳細な情報を提供できるようになります。Continental AirlinesはSilverlightを
使って彼らのカスタマーサービス体験を改善しています。MGMはDeep Zoomを使って
オフィシャルなStargateサイトを構築しています。これは、ファンに
詳細なテレビ製品セットを紹介するのに役立てています。


そして本日、NBC SportsはSilverlightを使ってpredominant技術としてオンラインの
高度なdefinition videoをスポーツフランチャイズを通して配信できるように
なります。


この立ち上げの経験にあたって、seethelight.comはup-to-dateの状態で
最新のSilverlight開発をwww.microsoft.com/silverlight 上に公開しています。


新しくデザインされた Expression Communityサイトはより多くの情報を
Expression 3で公開し、コミュニティやExprssionについて学ぶことができます。


Namaste!

2009/07/07のブログです。


今日の午後早くから Imagine Cup ’09の Finals イベントに参加しました。

私はCairoのGiza PyramidsのふもとでImagine Cup Awardsのセレモニーを
開催できたことを嬉しく思いますがいかがだったでしょう?このような古代の
地で開催できたできたことはエンジニア史上初めてだったかもしれません。


この数週間を振り返り、また1ヶ月、1年の詳細な計画は今回のすばらしい結果
を導いたのだと思います。そしてもちろん、この成果は一人だけで作られたの
ではなく...多くのコラボレーションやチームワークのおかげだと思います。
4500年以上も前、Pyramidsの驚くべきパーツの1つ1つが古代建築設計の正確さを
示しています。今日でさえどのように彼らが構築したのか議論されているくらいです。


私たちは Image Cup プログラミングコンテストを7年前に開催しました。2003年には
11もの異なる国々から1000人もの学生に参加してもらいました。2009年の受賞者は
誰になるでしょう?今年は100以上の国から300,000人以上もの学生に参加してもらって
います。この記念すべき航海は7年以上も続いています。Image Cupは世界をかえるくらい
斬新なアイデアを駆使し技術を競う情熱とエキサイトのつまったショーケースを
学生の手で作成できるコンペティションなのです。


個人的に創造性はジャズのように興味深く、情熱と熱意は学生が共通して持っている
ポジティブなインパクトだと思っています。アイデアを導く革新的な熱意は、将来
持続していくもので、それは昨年のImagine Cupの決勝で目の当たりにしました。


昨年、アイルランドのチームが新しい創造を開発に組み込み、効率的な方法で
工場ベースの燃料をディーゼルから変換するものに貢献しました。実際い彼らは
投資をしてトラックをレンタルしたり、アイルランドからパリのImage Cupの決勝会場
まで運転し、燃料を開発に使いました。Chunnelからフランスへの交差でトラックは
壊れてしまったそうです。もちろんそれは燃料のせいではありませんでしたが、
メカニックの難しさを実感したそうです。彼らは立ち止まってしまいトラックを
直すお金も保険もなかったそうです。彼らが自分自身に問いかけたことは、
「コンペティションに間に合うか?」だったそうです。そして、彼らのローカルな
ADE (Academic Developer Evangelist)と呼ばれるようになり、トラックを直す
リソースを持つことができました。長い話を簡単に申しますとついには
Imagine Cup の決勝にたどり着き、第二位を勝ち取ることができました。
この学生たちが持つ情熱が問題解決を導き、技術やソフトウエアを利用してリアルタイムに
デモを欲していたことが全ての解決になったのだと思います。


Namaste!