5/29/2011

Developer Tools 7.1 の Windows Phone Emulator の IE で HTML5 Audio

Developer Tools 7.1 に付属している Windows Phone Emulator 内の IE で HTML5 Audio が動作するのか確認してみようと思い、依然紹介したTweetRadioで動作を確認してみました。


動作としては、JavaScript、HTML5 Audio は Windows の IE9 と全く同じように動作しており、CSS3も問題なく表示されている模様です。

なお、IE9でAudioを扱う場合の注意点はこちらです。

今後は、アプリ版も作ってみようと考えています。

PCが無くても手軽にどこでもだれでも、音声で情報を聞けるのは素晴らしいことですね。

5/25/2011

Windows Phone Developer Tools 7.1 Beta で 7.0 のアプリケーション開発

Windows Phone Developer Tools 7.1 Beta がリリースされました。このアップデートはMIX11で紹介された内容が含まれています。

http://channel9.msdn.com/Events/MIX/MIX11?sort=sequential&direction=desc&term=&t=windows%2Bphone

ツールのダウンロードはこちら

http://www.microsoft.com/downloads/en/details.aspx?FamilyID=77586864-ab15-40e1-bc38-713a95a56a05&displaylang=en

22のコードサンプルはこちら

http://go.microsoft.com/fwlink/?LinkId=219604

Windows Phone Developer Tools 7.1 Beta では、現行リリース状態の7.0のアプリケーションのビルドと、今後リリースされる7.1両方のアプリケーションをビルドできます。以下はVisualStudioでWindows Phoneのプロジェクトを新規作成した時に表示されるバージョン選択画面。


7.1からはSocketが使えるようになりましたので、AzureのWorkerRoleとの接続とかいろいろ楽しめそうですね。

5/19/2011

Seattle Downtown から Redmond の Microsoft 社への行き方!

シアトル観光といえば、ボーイング社の見学などありますが、インターネット上でマイクロソフト社への行き方を聞いている投稿などよく見かけます。そこで、シアトルのダウンタウンからレドモンドのマイクロソフト社までの移動方法を紹介してみようと思います。(とはいえ、マイクロソフト社には入ることができませんので、公道から建物を眺めるだけです。自分の職場環境と比較して雰囲気を楽しむ感じですかね)

さて、ダウンタウンからと書きましたが、旅に役立つルートマップの準備から紹介します。Sea-Tac Airport からダウンタウンまでは、 Link Light Rail で移動することができますが、その電車の中で、ルートマップをゲットします。

空港からLink Light Railまで移動します



ルートマップをゲット!
で、ダウンタウンに着きます。レドモンドへは、ルートマップのバス545に乗ります。





ダウンタウン内は午前6時から午後7時までFreeですので、キャッシュで運賃を払う場合は、レドモンドについてから払います。時間帯にもよりますが、片道3ドルあれば十分足ります。



で、やっぱり気になるのが降り方です。地元のバスを乗るときにもルールがわかっていないのに、異国の地のバスはドキドキですよね。バス停の説明を読むと、降りるバス停の前、1ブロックでベルを鳴らすと書いてあります。それなら日本でも押したことがある!と思うのですが。。。。
では、545に乗ります。


ダウンタウンから離れて、湖が見えてきました。ここらへんに住めたら気持ちよさそうです。で、30分ぐらいしたらつくのですが、バスの中には日本で見かけるボタンのベルがありません。


シアトルのバスは、写真のようにひもがついているので、これを触るようなのです。この文化を知らないと、545のバスの電子化された黄色い線は飾りに見えてしまいます。降りる場合は、黄色い線を触ってドライバーに知らせます。直接話してもいいと思います。


で、ようやく着きます。日本の会社からは想像がつかない場所ですので、かなりあこがれますね。是非、信号待ちして歩行者用のボタンを押してくださいね!

5/18/2011

IE9 の HTML5 Audio について

先月、東日本大震災 震災情報ラジオ TweetRadio (現在はサービスを終了しております)を作りましたが、IE9 の HTML5 Audio の動作が Firefox 、 Google Chrome 、Safariと動作が異なったので、IE9のAudioの振る舞いについて紹介しておきます。

Firefox、 Google Chrome、 Safari の動作
  1. JavaScriptでAudioオブジェクトを作ることができる
  2. AudioのSrcを他のドメインのオーディオファイルに設定することができる
  3. wavオーディオが再生できる

IE9の動作
  1. JavaScriptでAudioオブジェクトを作ることができないので、Audioタグを使う必要がある
  2. AudioのSrcを他のドメインのオーディオファイル(異なるドメイン名のサーバから取得する場合。今回はWindows Azure Blob Storage)にすると、クロスドメインアクセスとなりオーディオファイルがホストされているサーバに、「clientaccesspolicy.xml」か「crossdomain.xml」が必要となる。TweetRadioでは、Blobストレージの$rootにclientaccesspolicy.xmlを設置している。
  3. wavオーディオを再生することができない。Windowsといえばwavと思っていたのに不思議な感じです。今回はmp3にて再生。

IE9だけ動作が違うので、仲間外れっぽく見えますが、FlashやSilverlightで行っているクロスドメインアクセスなどの機能が入っていてしっかり作られているように見えます。

5/17/2011

WebMatrix とか MVC とか ASP.NET で SSO する

MIX11のキーノートなどで、WebMatrix とか Orchard とか使った Webアプリケーションの紹介がありました。勢いに圧倒されて、少し使ってみることにしましたが、沢山のWebアプリケーションを簡単にインストールできるのであれば、これらのWebサイト間の認証も気になります。今回は、いろいろなWebアプリケーション間のWebMatrixやMVCやOchardでも使えるSSO(シングルサインオン)について紹介します。

ASP.NETのフォーム認証のSSOについて簡単に説明を行うと、フォーム認証により認証された情報はCookieにより暗号化されて保存されます。このCookieにユーザ名などの認証情報が入っているため、各Webアプリケーション間で暗号化されたデータを取得できるように同じ設定にしてあげてユーザ名を取得できるようにするわけです。主な設定内容は以下になります。

・Cookieの名前を同じに設定
・Cookieが利用されるドメイン設定
・暗号化に使用するキー情報を同一に設定

たとえば、web1.mydomain.co.jp と、web2.mydomain.co.jp というWebアプリケーション間でSSOを行いたい場合は、各Webアプリケーションのweb.configに同じ設定を行います。設定内容は以下のような感じです。

<machineKey 
  validationKey="1230000000000000000000000000000000000000,IsolateApps"
  decryptionKey="12300000000000000000000000000000,IsolateApps"
  validation="SHA1" decryption="AES" />
<authentication mode="Forms">
  <forms
    name="SSO"
    loginUrl="/Account/LogOn"
    timeout="2880"
    domain="mydomain.co.jp" />
</authentication>

とりあえず試すには、Orchardで認証した後に、WebMatrixで作ったサイトにアクセスしてもよいのではないかと思います。

かなり、端折っていてすいません。

参考URLは以下です。

Explained: Forms Authentication in ASP.NET 2.0
http://msdn.microsoft.com/en-us/library/ff647070.aspx
machineKey 要素 (ASP.NET 設定スキーマ)
http://msdn.microsoft.com/ja-jp/library/w8h3skw9.aspx
FormsAuthentication プロパティ
http://msdn.microsoft.com/ja-jp/library/eazszwdc(v=VS.80).aspx