37
WindowsMobileでのTwitterはじめかた。~ tmytの場合 スマートフォン勉強会@関西 #9 tmyt

Smartphone workshop kansai #9

  • Upload
    shigure

  • View
    745

  • Download
    3

Embed Size (px)

Citation preview

Page 1: Smartphone workshop kansai #9

WindowsMobileでのTwitterのはじめかた。~ tmytの場合 スマートフォン勉強会@関西 #9

tmyt

Page 2: Smartphone workshop kansai #9

かるく自己紹介

はじめましての方、はじめまして。

tmytっていいます。

大学院生になりました。

スマートフォンはWM派です。

あと、男です。

今日の格好は@Hisumiにやらされました。

Page 3: Smartphone workshop kansai #9

おしながき

Azureaの紹介

Twitterのはじめかた。

Twitterのはじめかた – Phase.2

ちょっぴり開発者よりなおはなし

WorldViewしてみたよ!

Page 4: Smartphone workshop kansai #9

Azureaってなんだろう

拙作のTwitterクライアント。

WindowsMobileで動きます。

僕が快適に使えるクライア

ントを目指しました。

とある方面にも好評なよう

です。

Page 5: Smartphone workshop kansai #9

ついったー楽しいですね

ついったー楽しいです

お外にいるときでもわりとついったーしちゃいますよね

Twitterドラマ(笑)も始まって絶好調ですね

Page 6: Smartphone workshop kansai #9

ついったーのはじめかた ~ 普通の人の場合 ~

まずTwitter (http://twitter.com/)へアクセスして

今すぐ登録 ボタンをおして

フォームを記入して

アカウントを作成 押せば登録完了!

これであなたもついったー廃人!

Page 7: Smartphone workshop kansai #9

いや、 そんなことはどうでもいいんだ

Page 8: Smartphone workshop kansai #9

ついったーのはじめかた ~ tmytの場合 ~

とりあえず登録する。

端末を買う

とりあえずAPI仕様書を読む

とりあえずクライアントを書く

なんてかいてき!

Page 9: Smartphone workshop kansai #9

とりあえず端末購入して悩む

i-mate 8502という端末がありました。

なんと製造していた会社が倒産しました。

すると、なんということでしょう。 5,6万する端末がなんと驚き1万3千円。

あれ、手元になにか増えてる。

Page 10: Smartphone workshop kansai #9

端末を購入した結果

ストレートQWERTY最高!

QVGAせまい!

EbIRCでTIGもいいけどもっと快適についったーしたい!

アプリ書けばいいじゃん。

Page 11: Smartphone workshop kansai #9

結果Azureaを作りました。

TIGでリプライを追う拡張も作ったけど入力めんどい。

もっと快適にリプライおいたい!

そうだツリービューで追えたらかっこいいじゃん!

そんなアプリないのかな。

(約30分後)いいや作ればいいじゃん!

Page 12: Smartphone workshop kansai #9

UIの必要条件としたもの

非選択項目は1行で表示される。

全文は項目を選択することで表示する

項目は子アイテムを持つことができる

QWERTYで快適に操作できる

それなりにタッチスクリーンでも使いやすければいいや。

Page 13: Smartphone workshop kansai #9

必要条件を満たすコントロール

標準コントロールで使えそうなもの

LISTBOX

SysListview32

SysTreeview32

さてどれなら必要条件を満たすコントロールを作れるでしょうか

Page 14: Smartphone workshop kansai #9

では検討してみましょう。

Page 15: Smartphone workshop kansai #9

LISTBOXでやってみる

項目の高さをフレキシブルに変更できない。

変更可能なのは項目が追加されたタイミングのみ。

結論:つかいものにならん。

Page 16: Smartphone workshop kansai #9

SysListview32でやってみる。

項目の高さをフレキシブルに変更できない。 全部同じ高さ or それぞれ違う高さを設定できる。

しかしどちらも1回しか変更できない。

ツリービュー風味のことはVisualStudioで実装されているがあれは気合いらしい。

結論:つかいものにならん。

Page 17: Smartphone workshop kansai #9

SysTreeview32でやってみる。

項目の高さをフレキシブルに変更できない。

リストビューっぽくするにはほとんど全部オーナードローとかしないといけなさそう。

結論:つかいものにならん。

Page 18: Smartphone workshop kansai #9

標準がこのざまじゃ… しかたないですね…

Page 19: Smartphone workshop kansai #9

リストビューを作ってみよう!

リストビューを作るといってもそんなに難しいことはありません。

どこかに項目情報を持っておいて表示させるだけです。 std::vector<ITEMINFORM>

std::deque<ITEMINFORM>

etc…

あとはコントロールの制御を書いて、ほらできあがり!

Page 20: Smartphone workshop kansai #9

リストビューができました

やっぱ全部自作のコントロールはかっこいいですね!

表示がかっこよくなったら次に問題になることがありますね。

挙動

操作した時のみため

etc…

いろいろありますが…

Page 21: Smartphone workshop kansai #9

それは 速度 ですね

Page 22: Smartphone workshop kansai #9

描画を高速にしましょう

Azureaが高速化のために行っているのは次のようなこと。

計算はできる限りキャッシュする

とくに文字を描画した時の幅とか高さとか

必要な領域以外は描画しない

スクロールする際にはビットマップを保持してスクロールするAPIを利用する

ScrollWindowEx

ScrollDC

Page 23: Smartphone workshop kansai #9

速度は問題ない。次は?

パンスクロールを採用したい。

どうする?

気合で実装する

OSにおまかせする

OEM実装のものにおまかせする。

さてどうしよう。

Page 24: Smartphone workshop kansai #9

OEM実装のものにおまかせ

OEM実装におまかせ。 つまり端末メーカの独自実装におまかせ。

一番楽。

何もしないで大丈夫。

HTCの場合だとTouchFloの世代からは大丈夫。

スクロールバーがあるとドライバレベルでフックしてスクロールしてくれる。

Page 25: Smartphone workshop kansai #9

OEM実装におまかせ(2)

FTouchSLというアプリケーションがあります。

こいつもHTCのキネティックスクロールみたいなことができます。

インストールするだけ。

らくちん。

Page 26: Smartphone workshop kansai #9

OSにおまかせ

必要条件

WM6.5 lator

Native Application

WM6.5 DTK

コントロールにスクロールバーがあること

TKSetWindowAutoGesture を呼ぶ

あとはコントロールをはじくとスクロールできます。

らくちんですね。

Page 27: Smartphone workshop kansai #9

じゃぁ気合で実装するには?

マウスメッセージをハンドルする。

WM_LBUTTONDOWN

WM_LBUTTONUP

WM_MOUSEMOVE

WM_MOUSEMOVEで前回との変位量をもとにコントロールをスクロールする。

文字に起こすとこれだけ。

意外とらくちん。

Page 28: Smartphone workshop kansai #9

でも慣性が…

指を離した後もしばらくスクロールしたい。どうするか。

WM_MOUSEMOVEで移動量と時間から速度と加速度を求める。

求めた値を保存しておいてWM_LBUTTONUPが来た時にタイマーをセット。

あとはタイマーの実行ごとに保存した値をもとにスクロールさせるだけ。

ね?かんたんでしょ?

Page 29: Smartphone workshop kansai #9

もっとListViewっぽくしたい。

WM6.5からシステムコントロールのデザインを変更できるようになりました。

リストビューのスタイル情報はレジストリにあります。

HKEY_CURRENT_USER¥Software¥Microsoft¥Today¥ListView

ここに画像のパスとかパディング情報とかがあるので気合でがんばりましょう。

UxThemeも実装されているようです?(未確認)

Page 30: Smartphone workshop kansai #9

DEMO

ネイティブコードでいろいろ頑張ると... こういうこともできます。

Page 31: Smartphone workshop kansai #9

MARKETPLACEで海外進出!! WORLDVIEWで海外へ!

Page 32: Smartphone workshop kansai #9

WorldViewとはなんぞや

Marketplace for Windows Phoneでアプリ

ケーションを翻訳せずに別の国で出品するもの

一切翻訳できません!

もちろん、アプリケーションの紹介も翻訳できません!

でも英語ができればそれでいいんです

Page 33: Smartphone workshop kansai #9

とりあえずWorldViewしてみよう

Page 34: Smartphone workshop kansai #9

WorldViewする上での注意点

アプリケーションの紹介ページは翻訳されません!

つまり日本語版をWorldViewすると日本以外では化け化けで読めません!

en-USを追加の地域で申請してから、それをWorldViewするといいとおもいます

Page 35: Smartphone workshop kansai #9

WorldViewするとこんなにいいことが!

日本とかいうしょーもない規模のマーケットから世界のすばらしいマーケットに進出できます!

日本の4倍~6倍のダウンロードは見込めるんじゃないでしょうか

英語もしくはそれ以外の言語でメールとか飛んできます!怖い!

自分が読み書きできない言語でもロケールファイルを書いてくれる人とかいることがあります!

なんてすばらしいんでしょう!

Page 36: Smartphone workshop kansai #9

みなさんWORLDVIEWで世界へ!

Page 37: Smartphone workshop kansai #9

ご清聴ありがとうございました