携帯いじりまくってたら通信料が60000円超えた


Androidで開発していると、ドコモだとどんな感じだろうとか、携帯向けサービスの現状ってどんな感じだろうとか気になるわけで、ちょこちょこ携帯に触ることが増えだした。


で、こないだ、パケット通信量が急激に増加していますなんていう通知がドコモから来ていて、それ見たら1ヶ月の通信料が60000超えてたんで、慌ててパケホーダイに切り替えた。


一度、使いだしてみると確かに便利なわけで、今までほんとに暇な時しか携帯に触らなかったのが、電車とかで移動するときなんかはほぼずっと携帯いじってるようになった。今じゃ携帯でネットしない生活が想像できない、今後モバイル市場が活性化していくとインターネットが家庭に普及し出したとき以上に人々のライフスタイルが大きく変わるだろうな。

Androidで対戦型ゲームを作ってみる


Androidの勉強がてらテトリス作ってみた。



Android Emulatorが強烈に重くて発狂しそうだ。おまけに不安定でとっても開発しづらい。キーボード操作ができるのはいいが、実際の携帯端末で動作確認すると、ユーザインターフェースの部分で色々調整が必要になりそう。(キー操作もそうだし、スクリーンの見栄えもそう)


これを対戦型にしたいんだけど、1台のマシンでEmulator複数起動できなかった。SDKを2つ用意してもうまくいかなかった。もうちょっと調べてみる。

とりあえずVMで仮想環境つくってそこに毎回apkファイルを持っていてインストールして、GTalk使ったP2P通信のテストやってるんだけど、動作確認やってるとあっという間に日が暮れる。


同じようなアプリ作ってる人どういう風に開発してるんだろう?

Android勉強会(第7回)に行ってきたぜ


勉強会/第七回 - Android勉強会
http://android.siprop.org/index.php?%CA%D9%B6%AF%B2%F1%2F%C2%E8%BC%B7%B2%F3


秋葉の出口間違えて3分ぐらい遅れて着いたら、すでに部屋にぎっしりで立ち見で聴講した。
ここの会場でやる勉強会に参加すると、いっつも思うんだけど声とマイクの音量が小さすぎてプレゼンターによっては何言っているんだか全然聞き取れない時がある。せっかくの内容の濃いプレゼンが台無しなんじゃないかなあと思う。



以下、自分用メモ。


キーテル?の人のセッション
iPhoneNDAが厳しくて何もしゃべれないらしい。



Googleの人のセッション
Apacheライセンスにこだわりがあって、libcなんかも一から実装し直している。ビジネスやライセンスの縛りはAndroid端末をリリースするメーカーやサービスを提供するキャリアがそれぞれ考えることでGoogle(OHA)としてはイノベーションを阻害するような制限は設けたくない。コードを自由に改編できるのでAndroid1.0が出た後に各企業独自のAndroidが派生していく可能性は高い。個人見解だが、あるAndroidアプリが動かないAndroidAndroidではないという認識がマーケットで生まれれば成功だろうとの話があった。
また、日本はモバイルにおいて先進国であるという認識を他の国のGoogle社員は持っていて、いろいろ聞いてくるらしい。



サイバードの人のセッション
Androidは携帯だけでなく、すべてのユビキタス端末のプラットフォームと成長していく。
様々なアイデアを妄想するのが楽しくてしょうがない。



ドワンゴニコモバ作った人のセッション
まだAndroidに対する具体的な取り組みはない。開発会社としては、Androidのもたらす標準化にはものすごく期待しているとのこと。

開発会社(アプリ屋)から見ると標準化は絶対してほしいことだが、メーカー(組み込み屋)から見ると独自性や優位性の縛りになるのであまり規定を増やして欲しくないという現実がある。



Googleセッションではプレゼン終了後質問が飛び交い、ものすごく答えにくそうにしていたのが印象的だった。とはいいつつも色々と答えていただいて、収穫も多く参加して良かったと思う勉強会だった。また次回も参加するんでヨロシク。

居心地の良い組織と刺激に溢れる組織は両立しない

人には個人差があって、ずっと同じ環境(場所、組織)で働き続けられる人間と、そうでない人間がいる。


同じ環境で働き続けられる人間(Aタイプ)

  • 新しい刺激よりも居心地の良さを求める
  • 自分の属する環境の居心地を良くしようとする方向へ思考が向く
  • 何かを維持・改善していくような作業に向く


同じ環境で働き続けられない人間(Bタイプ)

  • 居心地の良さよりも新しい刺激を求める
  • 現状に不満があると、もっといい環境を見つけようとする方向へ思考が向く
  • 新しい仕組みや製品を生み出すような作業に向く


Aタイプの人間が集まっている組織は、Aタイプの人間が働きやすいようにつくられていて、Bタイプの人間が集まっている組織は、Bタイプの人間が働きやすいようにつくられている。


ギスギスした人間関係なんかが嫌で会社を止めた人間が転職する場合、イノベーティブ至上主義みたいな企業を選んではいけないし、新しい刺激を求めて転職する場合は、離職率の低さや職場環境の良さをアピールしているような企業は選択するべきではないと思う。

Androidの存在意義


Google Android入門 ~携帯電話開発の新技術

Google Android入門 ~携帯電話開発の新技術


Androidの存在意義っていうのは、モバイルプラットフォームのアーキテクチャにオープン技術を用いることで、従来のメーカーや機種による違いを水平に統一しようとしているところなわけで。
開発者に課せられた様々な制限が取っ払われ、Web上のサービスを作るのと同じ感覚でモバイルアプリを作成できますと。


壮大な可能性を感じるぜ。


本書「おわりに」から引用

昨今の日本のモバイルコンテンツビジネスに勢いがありません。何か実現したいのだけど取り組めない、という閉塞感すら感じます。この状況を打開するのが、Androidと携帯電話の処理能力向上です。つまり、「やりたいこと」ができる「時期に来ている」のだと思ってやまないのです。しかもこのAndroidは、実にうまく業界のしがらみをバッサリ切り落として、潔白な状態で産み落とされた「赤ちゃん」のようだと私は感じています。

なんとしてもこの技術を成長させ、普及させなければという筆者の想いが伝わってくるよ。

Mobile&Cloudが切り開く未来


「21世紀はロボットの時代」なんて子供の頃よく聞いたフレーズで、大人になったころには一家に一台ドラえもんがいるような時代になるのかななんて漠然と考えていたけど、今ドラえもんに一番近い存在ってオープンな仕様のモバイル端末なんじゃないかと思う。少なくとも、どっかの自動車メーカーの作ったロボットよりかは活躍してくれている。


先日、友人とモバイルアプリのアイデアを考えていて、モバイル端末はドラえもんの四次元ポケットのようなものだよねという話になったんだけど、タケコプターも、タイムマシンも、もしもボックスも、どこでもドアも、擬似○○ならば全部すでに実現できている。


Webの向こう側へデータもサービスも移行してゆくにしたがい、個人の使う道具(PCや携帯以外も含めた全ての道具)はネット接続機能と機動性とユーザビリティだけが求められるようになる。


今の個人利用用途のPCはモバイル端末へと進化してゆくのが自然であり、今の携帯も同様にモバイル端末へと進化してゆくのが自然であることに疑いを感じない。そして既存のWeb上のサービスはモバイルからの利用に対応しないと生き残れない。言い換えると、Web上の全てのサービスは持ち運びが可能となる。


四次元ポケットはそれ自体はただの入れ物なんだけど、それはどこかと繋がっていて、誰かが作った無数の便利な道具が出てくる。これってやっぱりMobileとCloudのことだよなと思う。


自分の作ったアプリが、子供の頃に空想していた未来を実現する。人々のライフスタイルを変える。こんな感じで考えていくと、アプリのアイデアを考えるのが楽しくてしょうがない。時代の流れと自分のモチベーションがぴったりシンクロしているように感じる。


一番Androidに共感できるところは、過去の携帯コンテンツ開発のしがらみを取っ払ってオープンにしようとしている点であって、それはつまり、開発者の参入の敷居を大きく下げようとしているところだ。


未だにAndroid搭載端末の影も形も見えないじゃないかとか、所詮きれいごとの世界であって製品化して流通させるには問題が山積みだとか言われているけど、僕は今まで得てきたノウハウや作り上げてきた資産を全て投入してMobile&Cloudにコミットしてゆこうと思う。

Androidアプリケーションフレームワーク


ちょっとメモ。


View

  • XMLで画面レイアウトを定義。テーマの適用が可能(HTMLでいうCSSに相当)
  • 基本的な画面コンポーネントが提供されており、これらを拡張してカスタムコンポーネントを作成することも可能


Control

  • ActivityクラスでServiceの呼び出しや画面遷移の処理などをおこなう
  • 基本的に画面と1対1で作成する
  • 画面操作によって発生したイベントのハンドラメソッドを記述する
  • 画面上のデータを保持するフィールドを持つ


Model

  • データストレージとしてPreference、File、Database、Content Providerがある
  • Preferenceはプリミティブなデータ型をKey/Value形式で保存する(Cookieに近い)
  • データベースはSQLite3が組み込まれている
  • Content Providerでは複数のアプリ間でデータを共有できる

Binding

  • コンポーネントの登録や紐付けはAndroidManifest.xmlという定義ファイルに記述する
  • R Classで画像データやメッセージ文言などの外部リソースを定義し、Activityクラスなどからここを参照する(Eclipse Plug-inが自動で編集してくれる)