Archive for 9月 2010
萌えキャラ路線
(hatenaに書いてたけども、こっちで「C# たん」カテゴリ/タグの下で書いた方がいい気がしてきたんで再投稿。)
まあ、もうかれこれ1年くらい、↓こんなことしてるわけですが。
実は作った当初のこと言うと、あんまり乗り気じゃなかったんですよね、擬人化やるの。正確にいうと、「ただ絵にして終わり」ってのはやりたくなかった。もしやるのであれば・・・
- 半端はやっちゃいけない
- 基本的に、擬人化とかは突っ込みどころ満載なので、いっそのこと「もう突っ込んだら負け」って言わせるレベル目指さないと。
- 不自然にキャラが露出するのは嫌
- そんなところにキャラを入れる意味はあるのか?みたいなのになるのは嫌。
- 無意味にトップページからキャラ入ってるとか、全ページのわきにキャラ入ってるとか、ちょっと。
- 見たい人が見るのと同じくらい、見たくない人が見ないで済むってのも尊重したい。
- キャラの絵があることを有意義に使いたい。
- そんなところにキャラを入れる意味はあるのか?みたいなのになるのは嫌。
- 一過性のものにするのは嫌
- なんか、一過性のものって「その後、あれどうなってるの?」とか言って検索した時に残念な気持ちになるので。
- あのキャラ、その後どうなったんだろうなぁ・・・
- なんか、一過性のものって「その後、あれどうなってるの?」とか言って検索した時に残念な気持ちになるので。
「やる」と決めたのは、C#擬人化の一次まとめ – 猫とC#について書くmatarilloの日記 ←このあたりの話題がきっかけなわけですけども。これを見てていろいろとイメージ固まったんですね。ガチで、継続的にやれるイメージ。
- なんかいろいろ裏設定思いついちゃった
- これ単体で独立したコンテンツにもできそう
- 不自然な場所で露出する必要ない
- http://ufcpp.net/ の各所にキャラが出てくるとかいううざいことする必要ない
- ほんとはブログも分けたいくらいだったけど、管理手間大変だから断念
- せめてもと、タグはちゃんと設定
- 不自然な場所で露出する必要ない
- ちょうど絵の描ける知り合いがいたので、練った設定持って行って描いてもらうことに
- ただ働きさせ続けるといつかくじけるだろうから、ちゃんとギャラ払ってやってもらう
とはいえ、最近、月1更新程度になってるのが惜しいところ…
やっぱ自分1人じゃ限界があるんで、いろいろと他の人巻き込みたいんですけどもね。まあ、実際、数名巻き込んでますけども。「みんな、C# たん描いて Pixiv ででも共有して!」とかやってるのもその一環。
ぶっちゃけ、商用利用含めて自由に使ってほしかったり。ライセンスがらみの条項、練らなきゃなぁ。C# の普及に一躍買ってくれるなら商用利用可!とか(線引き面倒だし public domain でいいかもしれない)。夜の方面にもうるさく言わないよ!自分じゃやらないけど、2次創作で色々やっていただいても。目指すはさのすけ(実は、C++ たんの部屋にさのすけいたりする。)。
MS 台湾始まった\(^o^)/
Silverlight の公式サイト、台湾版がすごいことになってる。
- http://www.microsoft.com/taiwan/silverlight/
- http://www.microsoft.com/taiwan/silverlight/resources.htm
クオリティ高ぇなぁ。日本、負けてない?(そこで勝ってどうする)
それにしても、この国、ほんと親日だなぁ。キャラ名、藍澤 光(Hikaru)ですって。日本人名にもほどが。
さて、WordPress になったところで再度、PowerPoint 貼り付けテスト
今度はどうかな?
ちなみにこの資料、書くに至った経由は以下のような話と、それに付随する twitter でのやり取り。
式ツリーを使ってデータバインディング簡素化、Code Contracts更新、VBでWP7開発、等々
- Simplifying (View Model-) Data Binding Using Expression-Trees
- int Sum { get { return X + Y; } } ってあったら、X と Y の更新時に Sum に対しても PropertyChanged イベント出さなきゃいけないというやつを、式ツリー使って自動化。
- int X { get; set; } みたいなのに対して、setter 中に RaisePropertyChanged(‘X’) を追加するようなプロキシはよくあるので、それとこれを組み合わせれば手間だいぶ減りそう。
- Code Contracts が更新されてました
- Visual Studio 向けの拡張機能も追加されたのは大きい。
- Visual Basic Comes to Windows Phone 7
- VB でも WP7 開発できるようになったって。
- Generate QR Codes with Asp.Net C#
- アメリカでも QR コード利用伸びてるんでしたっけ?
- Graphical Tools for SQL Server CE 4.0
- Visual Studio 拡張で SQL Server Management Studio 的な DB 管理できるツール。
- Adding A Dynamic JumpList to My Site’s Pinned Application in IE9
- こないだ、++C++; にもジャンプリストを足したわけですけども、ブログとか持ってると JavaScript 使って動的にジャンプリスト作った方がいいのか。
- Windows Phone 7のアプリケーションにTrial版の機能を搭載
- WP7 アプリの試用版の制限のかけ方。
- Windows Phone 7 で3Dアプリケーションを作るためのツール
- すでにβテスター募集期間終わってた・・・
- ボーン アニメーション凝った FBX とかも読めたりするとうれしいんだけども、どうなんだろう?
PowerPoint 埋め込みタグのテスト
SkyDrive にアップした PowerPoint(と Excel)、いつの間にか iframe で任意のページに埋め込みるようになってたのね。
http://sqljp.com/yoshihirokawabata/archive/2010/09/24/27108.aspx
で、試してみようとしたものの・・・
↓
↑
Live Writer 上は表示されてるんだけども、実際アップロードすると iframe タグが消える・・・
連携取れてないなぁ・・・
固定サイト(pinned site)
IE 9 β、微妙なところも結構あるので Connect に要望入れたりもしているわけですが。
とりあえず、Windows 7 のタスクバー統合機能(固定サイト(pinned site)機能)を試してみたり。++C++; のトップページに meta タグ色々追加。あと、これだけのためにアイコンいくつか作成。
固定サイトの詳細に関しては、以下のページ参照。
WP7、IE9、等々
IE9 βと同タイミングで、なんかいろいろと。特に、WP7 がらみの話がかなり一気に。
- WP7 がらみ:
- Windows Phone Developer Tools RTW
- Windows Phone 7 Training Kit for Developers – RTM Refresh
- 開発ツールのリリース版出ました。
- トレーニングキットもリリース版対応。
- Microsoft Advertising SDK for Windows Phone 7
- あなたのアプリに、テキストあるいはバナー式の広告を簡単に。
- OData Client Library for Windows Phone 7 Series CTP
- WP7 から OData 読むライブラリ。
- XNA Game Studio 4.0 Available for Download!
- XNA Game Studio 4.0 もリリース版に。
- IE9 がらみ
- ダウンロード&デモ ページ
- Download 押すと標準で英語版だけ出されるんで最初気が付かなかったけども、日本語も選べた・・・
- しかも、一度英語版インストールしちゃうとダウンロードのリンク消えるし・・・
- http://windows.microsoft.com/en-US/internet-explorer/download/ie-9/worldwide ←ダウンロード ページに直リンク。
- ダウンロード&デモ ページ
- Internet Explorer 9 Beta 開発者ガイド
- Download Internet Explorer 9 Product Beta Guide
- 公式ページ出来てた。
その他:
- FiddlerCore Update
- Fiddler(ネットワーク監視アプリ)って、コアの部分を .NET ライブラリとして使えたんだ。
- 「Lync」–MSの次期VoIP/会議「OCS 14」クライアントか?
- LINQ と音が被るなぁ。MS Lync とか呼ばれるのかな。
- nRoute
- これも WPF/Silverlight 向け MVVM 支援フレームワーク。
- 色々できそうだし、見た感じサンプルもいっぱいあるけど、サンプルのダウンロード リンクがまとまってないんでめんどくさくてまだ見れず・・・
構造体とクラス
こういった話が。→ Design Guidelines– Classes vs. Structures
C# で、構造体とクラスの使い分けはどうするの?ということで、以下のような記述が。
- Consider defining a structure instead of a class if instances of the type are small and commonly short-lived or are commonly embedded in other objects.
- Do not define a structure unless the type has all of the following characteristics:
- It logically represents a single value, similar to primitive types (integer, double, and so on).
- It has an instance size smaller than 16 bytes.
- It is immutable.
- It will not have to be boxed frequently.
これ、最近は MS から出てるガイドライン含めよく見る文面で、荒く訳すと:
- クラスではなくて構造体の利用を考慮する場面: 小さくて、寿命が短いか、他のオブジェクトに埋め込んで使う場合に
- 以下の条件全てを満たす場合に限り構造体を使う
- 論理的に単一の値を表現する、(整数、浮動小数点数などの)組み込み型に似た型
- インスタンスのサイズが16バイト以下
- 不変(コンストラクターで値を初期化して移行、プロパティの書き換えなどをしない)
- 頻繁にボックス化されない
この条件満たすことってあんまりないんですよね。パッと思いつくのだと以下のような:
- 数学で使う複素数、有理数、3次元ベクトルとかその手のものとか
- 内部データとしては何かのハンドル値持ってるだけの型とか
- 「ちょっと複雑な enum」みたいな型とか
こういう条件が課されている理由は、以下のような感じですかね。
- 論理的に単一の値:
- ユーザー定義型と組み込み型との一貫性?
- 組み込み型で値型なものって、数値系のものしかないわけで
- 16バイト以下、低頻度でボックス化:
- 効率の問題
- 間接参照のコスト下げれても、コピーのコスト大きかったら本末転倒
- ボックス化しまくるくらいなら最初から参照型で
- 不変(immutable):
- 例えば、Center を構造体のプロパティとして、circle.Center.X = 10; みたいなコードは書けない(X が set アクセサ持ってても無理)
- 同上、var p = circle.Center; p.X = 10; みたいなコード書いても circle.Center.X が書き換わらない
- クラスと構造体でこの辺りの挙動全然変わるけど、利用側でぱっと見、構造体なのかクラスなのか区別つかないし(IDE 前提で、var のところにカーソル持っていけばわかりますけど)
- ↑の人的エラー回避のために、var p = circle.Center; circle.Center = new Point(10, p.Y); みたいなのを強要したい
- 上記の「論理的に単一の値」を満たすなら、不変(コンストラクター以外で値を書き換えられない)で困ることそうないと思うし
現状のスマートフォンやら WP7 に対してぼやき
twitter でぼやいてた内容、ブログにもしとこうかと。
ケータイで大量に文章書くよ
まず、↑この記事曰く:
競合製品には備わっている重要な要素がいくつか欠けている。その中でも無視できないのが、コピー&ペーストがサポートされていないことだ。筆者は携帯電話で電子メールを頻繁に利用する。そのときに1つの電子メールから大量の文章をコピーして、それを別の電子メールに貼り付けることができれば便利だ。筆者は時折、「BlackBerry」で1本の記事を丸ごと執筆することがあるが、Windows Phone 7でそんなことはできない。
これ、結構僕もやるんですよねぇ、電子メールとかからのコピペ含め、それなりの記事を全部携帯電話で書いちゃうっての。例えば、「釣り記事書いたらほんとにホットエントリーになっちゃった」で有名な「僕が TeX を使うのを辞めた 10 の理由」は、ほんとに電車の中で、立ったまま、片手で全部打ったものです。それを家宛に送って、hatena 形式に整形&動画貼り付けだけして投稿。
あと、記事だけでなく、実は毎日日記付けてたり。ブログみたいなのじゃなくて、ほんとに公開しないプライベートなやつ。もうかれこれ10年近く、ほぼ全部ケータイで。だいたい、500~2,000文字くらいですかね、ファイルサイズからすると。大体これも電車の中で。
なので、文章打ちにくいとか、かなり死活問題。qwerty 配列とか、そりゃ PC のキーボードで、座って両手で、フォームポジションで打つものだから。それを親指だけで打つとか無理。というか、「立ったまま片手で」が満たされない限り、無理。
脱 qwerty
あと、ケータイにずっと期待していたのは、脱 qwerty だったんですけども、これだけスマートフォンに qwerty キーボードが載っちゃったら、もうそのチャンスはないですよねぇ。非常に残念。もはや、qwerty キーボードとか、人類の負の遺産だと思う。COBOL 並。
ちなみに、dvorak ならいいってもんではないですから。キーボードの時点でナチュラルじゃない感じが。
もちろん、じゃあ、手書きがいいかというと、タイピング慣れた人なら手書きよりも qwerty キーボードで打つ方が速いわけで。何か、もっと早く文字入力できるメディア出ないとダメでしょうねぇ、置き換えは。dvorak は慣れると速いって言いますけど、せいぜい数%でしょうしねぇ。数%じゃ置き換えは無理ですよね。
で、ケータイに限っていうなら、サイズの制限で qwerty キーボードでまともなスピード出ないわけですよ。親指だけで使うという制約上、どうやっても。その制約下なら、いくらでももっと早く打てる方法があるはず。自分なら、10キー使ってベル打ちが相当早いですし、iPhone のフリック入力とかはかなりいい感じだと思います。
特に日本語は、ほぼ子音と母音が交互に出て来る、というか、50音表みたいなきれいな文字分類がされてるわけで、ベル打ちの2タッチ入力ってかなり合理的なシステムだと思うんですけども。もちろん、日本語だけがターゲットだと市場狭すぎですけども、同じような考え方、韓国語とか中国語でも行けそうに思うんですよね。少なくとも、韓国語は日本語同様、子音1つ+母音1つですし(末尾に限り子音だけ部分がありますけど)。中国語も、声調の扱いだけクリアできればいけないかなぁ。
触覚
ずっと昔から繰り返し言ってることですけども、タイピングは目で見てやるものじゃなくて、触覚使ってやるもんなんですよね。ボタンに触れてるというフィードバックがないとちょいきつい。てか、タッチタイピングできる人ならわかると思いますけど、目は、出てきた文字の方見てないと打てないでしょう。
で、ちょっと期待したいのが↓これ。
記事中ではエロい方向に妄想膨らむような紹介のされかたですけども、そんなのじゃなくてまずタイピングだろうと。
特に、これ、やりようによっては「触覚フィードバック付きのフリック入力」とか作れるんじゃね?という淡い期待が。ぽっちをぐにぐに動かすことでタイピング。結構いい具合にタイピングできる気がするんですけども。
そして WP7
ローンチ時には qwerty キーボード搭載機が多そう?スクリーン キーボードは qwerty のみ?スクリーン キーボードのカスタマイズ不可?
うーん。
業務端末としての WP7
そんな感じで、まあ、出た直後はまだまだプライベートの利用はきついかなぁと思うものの(でも人柱として買っちゃいそう)、業務端末としては期待されてるんじゃないかなぁという感じも。ハンディ端末の類。
実際、最近、Android や iPhone はおろか、Nintendo DS 使った業務アプリ結構増えてるって聞きます。というのも、専用のハンディ端末作るくらいなら、DS のハードウェアのお値段考えると、多少ソフトウェア開発に金かけても十分安くなってしまい。あと、ゲーム会社の持ってる UI 的なノウハウを使って、端末の UX 高められないかという発想も当然あり。
そこで、WP7 で Silverlight ですよ。UX!UX!UX!(大事なことなので3回叫びました。)PC 向けとハンディ端末向けで2重開発の苦が軽減されるのもポイント。
Cinch、WP7 “Find My Phone”、Infer.NET、等々
- Cinch(A Rich Full Freatured WPR/SL MVVM Framework)
- 結局まだソース見れてないんだけども、トップページに書かれた機能一覧見る感じなかなか。
- 誰か、MVVM Framework の類についてまとめてはくれまいか。
- Windows Phone Live: Overview of the upcoming “Find My Phone” feature
- Map it: よくある、GPS 情報元に Bing マップに今いる場所投稿
- Ring it: 部屋でケータイ見つからない!みたいなときに60秒間音鳴らすサービス
- Lock it: なくしたり盗まれたりしたときに、ロック掛ける(と同時にメッセージの表示)
- Erase it: 見つけるのあきらめた時に遠隔から情報消せるって
- .NET 向けのベイジアン推定ライブラリ。MS Research 製。
- クラス分け/クラスタリング等の基礎的な問題含め、機械学習の類の解決にどうぞ。
- Koduの言語仕様が公開されたって。
- Kodu はゲーム向けのビジュアル言語。
- ロボティクスの影響受けてるとのことで、各オブジェクトが周りの状況センシングして、自立思考的に動くような感じ。
- Kodu はゲーム向けのビジュアル言語。
- 要素の位置が変更されたときに、なめらかに動くアニメーションが自動的に働くビヘイビアー。
- View 側ではビヘイビアーの設定だけ書く。
- View Model 側では要素を移動させるだけ。
- 例えば、あるリストボックスから別のに移す場合、片方のデータソースを Remove して、もう一方に Add するだけ。
- ビヘイビアーは奥深いなぁ。すごい。
- Professional でも動いてくれれば・・・
- MVP 取って以来、自分は気兼ねなく使えるものの、記事には書きにくく。
- よくある簡単な TIPS かと思ったら、ものすっごい事細かに書かれてる。
- パフォーマンス求められるようなアプリ書くことありそうなら見とかないと。