認知的プログラミング−Silverlightプログラミング
本日のハマりごと
アプリケーションの中から、メーラを起動してメール送信画面を表示しようと思い調べてみると…
HtmlPage.Window.Naviage(new Uri("mailto:hoge@hoge.com"));
とやれば良いとのこと。なので、キー入力ハンドラから上記を実行すると、Access Denied エラー。結果から言えば、ボタンハンドラから実行すると、正常に実行される。何で?
その後
セキュリティ対策として、ユーザーが明示的なアクションを起こした場合のイベントハンドラ以外からは実行できないそうです。理にかなっていると言えばかなっているが、アプリケーション設計の際に結構大きな制限となりそうな気がするのだが、どうなのだろうか。
認知的プログラミング − Silverlight プログラミング
卒論の実験のために、Silverlight プログラミングを始めました。多数の人に気軽に実験に参加して欲しかったので、Web ベースのアプリケーションを利用して実験を行おうと、Flash か Silverlight か悩んだのですが、Flash はアニメーション時のインターバルタイマーの精度があまり良くないと感じたことがあったので、Silverlight で制作することにしました(実際は、Silverlight も、フレーム更新のインターバルタイマー精度は良くなかったのですが)。
また、ActionScript は、2.0 から以降ご無沙汰だったのと、.NET/C#/VB.NET は仕事で常用していたのも Silverlight を選択した理由の一つです。
卒論のテーマ
テーマは「落下する物体のイメージと人間の予測する加速度の差異」なのですが、簡単に言えば、人間が予測する落下する物体の加速度と見た目によるバイアスを調べようというものです。
地球上では、空気抵抗を無視すれば質量の違いによる重力加速度の差はほぼありませんが、実際のところ、重い物体の方が何となく速く落下しそうな気がするという人は少なくないでしょう。実験のための仮説としては、人間は落下する物体の質量によって、キャッチしたり避けたりするアクションのための準備行動に差があるため、質量が重いほど速く準備を始めなければならず、その影響で重いものほど速く落下すると感じるのではないかというものです。
今回の困りごと
実験では、画面上に円形や矩形のオブジェクトを表示してから、被験者のアクションによってオブジェクトを下方向へ落下アニメーションさせ、一定の場所で止めてもらおうと考えました。
このとき、Storyboard と Doubleanimation を利用してアニメーションさせるのはお決まりの手続きなのですが、実際にアニメーションをさせてみると、ちらついてとても使い物になりません。
GDI や DirectX でこの手の処理をする場合には、ダブルバッファリングをするのが定番なのですが、調べてみた限り Silverlight では既にダブルバッファリングは行われているとのこと。
背景の再描画を止めれば良いのだろうかとか、描画オブジェクトをトランスペアレントにすれば良いのかなどと考えても見ましたが、今時の PC でこの程度の処理が重いはずもなく悩んでいたら、気になる記事を発見。
http://stackoverflow.com/questions/3951250/silverlight-image-flickering-how-to-avoid-it
私は、VisualStudio 2010 で開発を行っているのですが、もしかして、この EnableGPUAcceleration なのかなぁと思い調べてみたら、Silverlight デバッガでデバッグを行った場合に自動生成される xap ファイルをホストする HTML には、GPU Acceleration の設定がないではありませんか!
結果、HTML の自動生成を止めて、の一行を HTML に追加したら、ちらつきはピタッとなくなりました。
うーむ、先が思いやられる。
今回のキーワード(本件で困っている人用):
Silverlight アニメーション animation ちらつき ちらつく フリッカー flicker flickering
リビングIT−Apple AirPlay に思うこと
新 AppleTV が発表され、iOS4.2.1 も発表されて、AirPlay でビデオも楽しめるようになりました。
gizmodo のビデオでは、非常に簡単に手元の iPad/iPhone で再生中のビデオを AppleTV にリダイレクトして再生しています。手元で見ていた YouTube 動画を「おっ、これ大画面で見たい」と思ったときに、非常に便利そうです。動画探しは手元で、じっくり見たいと思った動画が見つかったら大画面のテレビで…なんて使い方が思い浮かびます。
でも…これって、DLNA で既に実現できている機能ですよね。
Apple はなぜ、独自規格にこだわるのでしょうか。確かに iPhone 見れば、ハードウェアとOS、UI の開発を一つの企業が行うことの優位性を感じることができます(iPhone の操作性の高さとその仕上がりは Android と比較になりません)。しかし、家電の世界はどうなのでしょうか。
DLNA 自身が、対応機器のサポートするメディアフォーマットに依存してしまう仕様からか、その相互接続性に問題があるのは事実ですが、それを補って余りあるほど、テレビ、BDレコーダなど多種多様なデバイスが既にリリースされています。
それでもなぜ独自仕様にこだわるのか…
それはおそらく、ジョブズが使い勝手にこだわる余りの結果だと思うのです。例えば、AirPlay が DLNA と互換性を持っていて、iPhone から DLNA 対応テレビに出力しようとした時に、そのテレビが H.264 に対応していなかったらどうでしょう。おそらく一般のユーザーは、「iPhone では、このテレビに出力できない」事実を iPhone のせいにしてしまうでしょう。
ジョブズはきっと、自分の管理権限が及ばない範囲で、自分の責任でもないことを自分のせいにされてしまうのが、死ぬほど嫌なのです。
新 AppleTV の先に見えるものは…Google TV 対抗のテレビ組み込み型 AppleTV なんでしょうねきっと。
# AppleTV を購入しようと思っているんですが、テレビの HDMI 端子の残りがもうありません。どうしたもんでしょう。
参考URL:
清水理史のイニシャルB
http://internet.watch.impress.co.jp/docs/column/shimizu/20100112_341012.html
Gizmodo Japan
http://www.gizmodo.jp/2010/11/airplay.html
モバイラー的進化論
今日は月末。モバイル環境の見直しです。
WiMax
ワイヤレスゲート・ヨドバシプランを契約していました。繋がれば非常に速度も速く快適なのですが、屋内などでは電波が届かない場合がしばしばあり、また、最近は初年度月額¥1,000-引きなどのキャンペーンも行われているので、解約してみました。
契約手続き時の手数料が無駄にはなりますが、縛りが一切なかったので、気軽に解約することができました。
公衆WiFi
ワイヤレスゲートを解約して、mobilepoint と Livedoor Wireless が使えなくなり、その代替として FON を使うことにしました。安価な LaFonera が無かったので、オークションで中古品を落札しましたが、既に登録済みだったので、FON のサポートに連絡して登録を解除してもらいました。
最近は、良く FON のアクセスポイントを見かける気がするので、ドコモの mopera 公衆 WiFi と、FON だけでどこまで行けるかを少しの間試してみたいと思います。
3G
この前、iPad(WiFi) を購入したのですが、iPod touch(2G) を iOS4 にバージョンアップしたらモッサリになってしまい、非 JB ではマルチタスクもサポートしないので、iPhone4 の SIM フリー版を、香港の知り合いに頼んで注文してしまいました(到着は9月末の予定)。
ところが、巷で話題の日本通信 SIM は評判が悪く、しかも明日の apple の新製品発表では、iPod touch の 3G 版が出るという噂。ソフトバンクで SIM ロックされていれば仕方ないですが、日本で 3G の SIM フリー版もしくは、ドコモ版が出れば、こちらも良いかなと思い出してしまいました。
とりあえず明日からは、N-06A 経由での 128K 通信と、mopera 公衆 WiFi、FON の組み合わせで頑張ってみようと思います。
#128K で耐えられなくなり、7.2M を使ってしまわないかが不安
#HotSpot を割引で契約するために So-net から OCN に移行するべきか悩んでいます。ドコモ 7.2M を使うなら要らないような気もするし。うーん。
モバイラー的進化論
iPad 登場の影響かは判りませんが、新たなモバイルルーターが発売されたり、コモンキャリア各社のデータ通信プランの内容が変更されたりと、モバイラーの周辺環境も新しい時代の香りがしてきました。
イーモバイルはデータ転送量規制を強化するようですし、ドコモ3Gも最近少し遅くなったような気がします。私はWiMaxで割に快適なモバイル通信ができていますが、もう少し自宅周辺でも電波が強化されたらなぁと思う今日この頃。
iPad その後
Wyse PocketCloud ですが、キーボードが英語として認識されてしまうのは Remote Desktop サーバー側が、接続端末を英語端末として認識してしまうことが原因のようです。対策はまだ見つけていませんが、Wyse PocketCloud は無実でした。すみませんw
また、Wyse PocketCloud で接続したとき、画面の右端と下端をクリック出来ないと思い込んでいたのですが、これは画面を左もしくは上へ移動させれば大丈夫であることに気がつきました。最初から考えられていたのですね。これもまたすみません。
ただ一つだけ不満があるのが、Alt キーの扱いです。iPad は XGA(1024x768)なので IE をメニュー非表示で使用していますがこのメニューを表示させたい時、PC では Alt キーを押すことでメニューを表示することができます。けれでも、Wyse PocketCloud では、単なるメタキーとして設定されているようで、Alt + 何かのキーを押すときは利用できるのですが、Alt キー単体を押した場合にキーコードが送られないようです。仕方ないのでメニューは常時表示にしておいて、フルスクリーン(Ctrl+F11)モードに切り替えて使っていますが、改善されるとうれしいですね。
プロバイダ解約で思うこと
先日、ヨドバシカメラで WiMax の契約をして、ワイヤレスゲートの公衆 WiFi が付いてきたので、ワイヤアンドワイヤレスの公衆 WiFi を解約しました。最近では良くあることですが、今回も解約手続きページも、解約方法を書いたページも見つかりませんでした。グーグル先生で色々と検索した結果、FAQ ページの中の一項目内にひっそりとリンクが貼られていました。
しかも、FAQのトップページからは判らず、FAQ 全ての一覧ページへ一度飛んで、そこからブラウザを使ってページ内検索をしないと見つからない念の入れよう。
また、HotSpot が OCN で \350 になったので、自宅プロバイダを so-net から OCN に切り替えようと解約方法を調べていたら、so-net のホームページ上には解約方法の記載がなく、解約方法は電話で問い合わせるしか無く、しかも解約は書類を FAX しなければならず、しかもその用紙を郵送で受け取らなければならないという話が。
しかも、解約用紙はダウンロード可能で概要 Web ページは存在するのに、そのページへのリンクはどこにもないという、まさに詐欺まがいというか情弱いじめのような仕打ち。
http://d.hatena.ne.jp/akizukid/20100304/1267672216
昔 AOL を解約しようとすると、電話でしか受け付けておらず、しかもその電話が全く繋がらないという話を聞いたことがありますが、こんなことで良いのでしょうか。
米国式の商法なのかなぁとも思うのですが、日本ではこのような商法はあまり広がって欲しくないものです。
「解約手続きから見る、プロバイダの信用度」的な情報ページが必要だなぁと思っていたら、各プロバイダの解約方法をまとめたページが。いろいろと大変ですなぁ。
http://www.provider21.com/0007/0102/49.php
モバイラー的進化論 ー iPad
iPad を購入しました。先日購入した Aspire REVO を自宅サーバーにして、外出先からリモート接続で操作しようと画策しています。
無料で行うには、VNC という選択がありますが、解像度の自動調整や音声の転送も考慮に入れて、Wyse PocketCloud という製品を購入しました。
以前のバージョンは、日本語の入力が不可とのことだったので、Jaadu Remote Desktop を購入しようと考えていたのですが、最新バージョンでは対応したとのことだったので、\1,700と少し高価かなとも思いましたが購入してみました。
テストのため、Vaio Z に、11n 経由で接続してみましたが、UNCでは接続できず、IPアドレスを直接指定したら、接続できました。
気になった点
- キーボードが英語キーボードとして認識される
日本語キーボードで英語版Windowsを操作した時になるアレです。アットマークを入力すると、ダブルコーテーションが入力されてしまいます。
接続先の Vaio(Windows7/x64) に接続した瞬間、画面右上にENと表示されるので、英語モードのクライアントから接続されたと認識されているようで、何とかしたいのですが、いまのところ対応策が見つかっていません。
- 画面の下と右の端がクリック出来ない
Vaio Z は、画面の縦幅が短いので、タスクバーを自動的に隠すよう設定しているのですが、このRDPクライアントで表示されるマウスカーソルのアイコンが画面の左上を向いているため、隠されたタスクバーを表示するために、画面の最下部まで下ろす事ができません。
何かしらの方法はありそうですが、未だその方法を見つけられていません。
現状は、まだ使い方になれていないので、何とも言えない部分はありますが、高速な回線経由で使用すれば、結構使い物になりそうな予感がします。
今後は、外出先から接続できる環境にして、状況をレポートしたいと考えています。