« 2012年4月 | メイン | 2012年6月 »

2012年5月 2日

「覚えない」のススメ

覚えるのが苦手です。
自分の記憶力にまったく自信がありません。
だから、自分で覚えておくというのはできるだけ避けたいのです。

プログラミング言語を覚えない

僕の仕事は「プログラミング」です。いろんなデバイス、いろんな環境、いろんなプログラミング言語でします。
さっきまでPHP、今Objective-Cみたいに一日で言語が変わるなんてことも良くあります。
たくさんの言語や、たくさんのSDK、API。僕の記憶力では全部覚えるなんて到底無理です。
だから、覚えません。
例えば書式文字列とか、日付の書式とか、あんなの全部覚えられないです。ググります。
APIとか、iOSのメソッド名とか、覚えられないです。開発環境や、エディタの補完機能を使います。
確かに、覚えていれば調べる時間がいらなくて効率的な気もします。
でも、コードを書く前に「どうやって実現するか」を考える時間に比べたらゴミみたいなもんです。

TODOを覚えない

やるべきことも覚えません。
例えば、コードを書いていて、あとでエラー処理した方がいいかも、ってところには

//TODO:あとでエラーを処理する

ってソースコードにコメントしておきます。
あとでやろうとか、自分の頭で記憶しようとしたら、絶対忘れる。
grepで「//TODO:」を検索したら、やること全部出てくるよ!
あと、メモリを確保したら、解放もペアで先に書いておく。allocしたらreleaseする(Objective-Cね)。

UIView *view = [[UIView alloc] initWithFrame:frame];
[self.view addSubView:view];
[view release];

こんな時も、self.viewにお任せして、release送っちゃう。
もう少し、きちんと説明つきで書いておきたい時は、redmineに自分あてのチケット切っておく。

予定を覚えない

いつまでに○○するとか、そういうの絶対忘れる。
予定が決まったら即Googleカレンダーに登録。もしくは、redmineに期日つきチケットで登録。

最近音楽制作が忙しくなってきて、同時に複数の楽曲制作が動いていたりもして、そうなると、何をいつまでにやらなくちゃいけないか覚えておくの不可能なので、音楽制作用のredmineを作りました。
楽曲名のチケットを切って、その子チケットとして「作曲」「アレンジ」「ミックス」「マスタリング」ってのを期限付きで切ります。
こうすると、ガントチャートで可視化できるし、作業中にどこまで進んだかをまめにメモしておけば、どんなペースで進めればいいかも一目瞭然です。

覚えておくとちょっと便利は覚えない

いわゆるTipsとか、食べに行きたいお店とか、知り合いの電話番号とか、そういうの覚えません。覚えられません。
WEBにあるものなら、はてなブックマークにブクマか、Evernoteに保存。
電話番号はiPhoneの連絡帳に追加。
忘れないだろうと思っていることは、だいたい忘れます。

日報のススメ

最近、僕自身はあまりやっていないのですが、日報つけるのもおすすめです。
今日何をやったか、これから何をするのか。
これを毎日書きます。
紙のノートでもいいし、エクセルでもいいし。
頭の中で、これらを抱えてると、つねに気忙しさが残ります。
いつもなんだかやることがいっぱいであたふたしてしまいます。
頭の中からすべて出して、外部に書き付けましょう。
あれですよ、何年か前に流行ったGTDですよ!
実際、妻の人に日報をすすめたところ、すごく頭がさっぱりして楽になった(散髪のせいかもしれない)と言っていたので、おすすめです。ソースは俺の嫁。

おわりに

ここに書いたことって、当たり前のことで、みんなやってることのような気もします。
GTD流行りましたしね。
でも、なんか周りを見ていると、みんな忙しそうでやることもりもりで、なのに、全部頭に抱え込んでる人多いような気がして、おせっかいながらエントリ書いてみました。
覚えるのすごい大変だよ。忘れてもいいように、外部に全部出しちゃいましょうよ。
楽になるよ。

投稿者 CHEEBOW : 14:01

[ MONOLOGUE ]

2012年5月 7日

なぜ、iPhoneは写真にアクセスするだけなのに、位置情報を利用したがるのか

iPhoneアプリ、特に、写真をあつかう系アプリで

「"***"は現在の位置情報を利用します。よろしいですか?」

という、ダイアログが表示されたこと、ないですか?

「写真やビデオに含まれる位置情報の利用を許可します。」

と出るけど、僕は自分で撮った写真をどうこうしたいだけなの!! 位置情報とか関係ないの!! って思ったことないですか?

僕はあります。
そして、開発者としても、最初、カメラロールの画像を一覧表示したいだけなのに、なんで、ユーザに位置情報の利用を確認しなくちゃいけないの? と不思議に思ったのでした。

はてなアルバムというアプリがリリースされました。

使い方 - HatenaAlbum

iPhoneで撮った写真でアルバムを作れるサービス用のクライアントアプリですね。
このアプリで、写真を追加しようとすると、こんなダイアログが出ます。

はてなアルバムの確認ダイアログ1

続いて、

はてなアルバムの確認ダイアログ2

こんなダイアログが表示されます。
前者は、「はてなアルバム」が表示しています。後者は「iOS」が表示してます。
写真を取得したいのになぜ位置情報? その疑問に先にこたえるために、前者のダイアログをはてなは用意したのだと思います。

しかし、写真と位置情報の利用、一瞬「関係ないのに位置情報をこっそり盗むつもりだな!」って思っちゃうかもしれません。
でも、写真には実は位置情報が含まれている場合があります。iPhoneの標準のカメラアプリでも、位置情報の利用を有効にしていると、撮影した写真に撮影場所の情報が付加されます。位置情報を有効にしているかどうかは、設定アプリの、位置情報サービスで確認することができます。

なんで、こんなことになってるの?
当然の疑問です。
でも、これ、開発者がどうにかできるものではないのです。
なぜなら、後者のダイアログ、これは、ユーザの写真にアクセスしようとするときに、iOSが勝手に出すダイアログだからなのです。

iPhoneでアプリが、ユーザの撮った写真にアクセスするためには「ALAssetsLibrary」というiOSが用意した仕組みを使う必要があります。
他のOSのように直接ファイルシステムにアクセスして、ファイル列挙して一覧ゲット! とかできないのです。
例えば、カメラロールに保存されている画像の一覧を画面に表示して、それを選択させるようなUIを作りたいとします。
カメラロールの中から、1枚だけ画像を選択させるのであれば「ALAssetsLibrary」を使わず、「UIImagePicker」という別の方法で取得することができ、この場合は、位置情報うんぬんのダイアログは出ません。
しかし、複数の画像を選択させたいという用途には、「UIImagePicker」は使えないので、「ALAssetsLibrary」を使うことになります。
この「ALAssetsLibrary」は、一覧を取得するだけではなく、画像の情報(画像そのもの、ファイル名、メタ情報)も取得することができます。このメタ情報に位置情報が含まれていて、これを利用「できてしまう」のです。
自分の開発しているアプリが、これを実際に取得するかどうかは関係ありません。取得出来てしまうのであるからユーザには許可を取るべき! 確かに、正しい動きだと思います。
ただ、ユーザも戸惑ってしまうし、開発者もユーザにどう説明したらいいのか難しいところではあります。
今回のはてなアルバムのやり方は、数段階でアラートを出しています。とても行儀が良いと思います。
でも、それでも、なかなかユーザには伝わりにくいんですよね。
位置情報を取得する、その直前までダイアログは出さずに、取得するその直前でダイアログを出していくれたらいいんですけど、メタ情報の一部に含まれる位置情報なので、その取得方法を考えるとちょっとこれは難しいのかなとも思います。

このあたり、今後のiOSでもう少しうまい対応がされていくと良いなと思うのですが......。

※できるだけ、開発者でないユーザにも分かるように書いたつもりです。が、そのため、若干開発者が見ると、ちょっとニュアンスが違うと思うところがあるかもしれません。もし、誤解を招きそうな記述がありましたら、ご指摘いただけるとうれしいです。

投稿者 CHEEBOW : 18:55

[ iPhone ]

2012年5月22日

愛乙女★DOLL「GO!! MY WISH!!」本日発売!!

GO!! MY WISH!! ジャケット

本日、HMVから「愛乙女★DOLL」のCD「GO!! MY WISH!!」が発売になります。
僕が作編曲しています。

この曲です!
個人的にも思い入れのある曲で、これがついにCD化ということで感無量であります。
お近くのHMVがネットでぜひご購入下さい。

【ローソン / HMV限定盤】 GO!! MY WISH!! / LOVE & PEACE|HMV ONLINE

オリコンチャートに入るとか、まじで夢なので!!!
あと、off vocalも入っているので、僕の音作りを「ふーん、CHEEBOWくんってこういうのが好きなんだ......」って感じで聞くことも可能です。
@nipotanの超絶ギターソロも聞きどころです。

投稿者 CHEEBOW : 11:22

[ IDOL ]