昨日、AppBankさまに音DEレインボーが紹介されました。AppBankさま、ご紹介ありがとうございます。
音DEレインボーとは
無料の子供向けiPhoneアプリです。描くたびに可愛い音が出る、きれいで楽しいお絵描きアプリです。
虹色のペンやきれいなスタンプがたくさん用意されており、描くたびピコピコ♪やキラキラ♪と音が鳴ります☆
小さなお子さまがいるパパママは、ぜひダウンロードしてみてください。
なお、実際に使ってみたデモ動画が下記にありますので、アプリをダウンロードしようとしている方や、記事で紹介されている「ポワワワワァ~ン」とか、「バイーン」などの音を聞いてみたい方は下記を覧くださいませ。
なお、最近音DEレインボーでペンギンやウサギ描いてみました。
ペンギン。
ウサギ。
というわけで、小さなお子様が喜びそうな音DEレインボー。無料ですのでよろければダウンロードしてみてください。
なお、iPad用の音DEレインボーfor iPadもあります。iPadは画面サイズが大きいので、ペンやスタンプの太さを変える機能もついています。
音DEレインボーfor iPadで描いたアンパンマンがこちら。なんというか大迫力。
音DEレインボーfor iPadのダウンロードはこちら。
iPhoneという小さなデバイスを快適に操作させるためには、ユーザーの状況や目的、人間工学に基づいたアプリの設計が必要になると実感し、とても勉強になることばかりです。
そうしてしばらく読んでいる中で、ふと気になった点がありました。
「右手使いの人(ユーザーの約85%から90%)に対して最適化すると、左手使いの人に対しては使いにくくしていることになります」
あれ?私はiPhoneを左手で使うんだけれど、ということは私は残り15%~10%の少数派なのだろうか?
ユーザーがみな右手で使っているにも関わらず私が左手で使っていては、ユーザーの使い勝手を実感することができません。これではいかん。
しかし、当たり前のように左手でiPhoneを使っていた私としては、とつぜん「おまえは社会の少数派だ!」という事実を受け入れ難く、
ちょっと街で調査してみました。
調査の内容
- 街で目にとまったiPhoneユーザーがどちらの手でiPhoneを操作しているかをチェック。
- 男女年齢問わず。とにかく目にとまった順にカタッパシ。
- iPhoneを手に掴んでいるだけの人はカウントしない。あくまでも「操作している」ことが必須条件
- 対象人数は100人。
調査といえばカッコイイですが、実際は会社がえりにキョロキョロしながらメモするだけです。
結果発表
というわけで道や電車内で周りをキョロキョロする不審な行動を2日間行い、なんとか「この人さっきから怪しいです。」と通報される前に調査を完了。
その結果は下記のとおりでした。
右手でiPhone使ってる人
57人
左手でiPhone使ってる人
22人
両手でiPhone使ってる人(左手でiPhoneを支えて右手で操作)
21人
うーん・・・
まとめると、基本的にはやはり右手ユーザーが多いが、左手ユーザーも思ったよりいるという感じです。
左手の割合が予想より多かったのは、お国柄かなんかでしょうかね。まぁ調査人数が100人しか見ていないのでブレは大きいかもしれませんけどね。
しかし、全体を通してやはり右手使いユーザーの方が倍以上多いため、オライリー本の通り基本は右手使いをターゲットとして設計することで間違いなさそうです。(もちろん、それぞれのアプリの特性によりますが。)
特筆すべきことがあるとすれば、両手使いのユーザーの存在でしょうか。
両手でiPhoneを操作しているユーザー21人のうち実に20人が女性でした。
そのうち一人になぜ両手で使っているのかアンケートを取ってみたところ(僕の奥さんですが)、「手が小さいから片手じゃ指が届きにくい」と「重たいから両手じゃないとうまく支えられない」とのことでした。なるほど。
確かに男性と女性の手のサイズはだいぶ違うため、そのあたりで操作性も変わってくるのかもしれません。
特に赤ん坊や幼児向けの知育アプリなどは、幼児が両手で持つ以外にも「お母さんが支えて赤ん坊がタップする」、もしくは「地面や机にiPhoneを置いて、赤ん坊がタップする」という私用状況が推測されるので、通常の「片手で使う」という意識とは程遠い設計が必要になるわけですね。
右手か左手か、という調査の結果自体はあまりパッとしませんでしたが、両手持ちの女性の存在を知ることで「ユーザーがどのような状況でiPhoneやを使っているか具体的に知ること」の重要さを実感しました。
PICxPIC,Incより日本赤十字社へ、東日本大震災義援金を50万円寄付いたしました。
なぜか今日、私の愛するiPhoneが上のように悲しい姿になってしまいました。
まぁ、私がiPhoneを頑強なコンクリートに落としてしまったことが原因でございます。
いままで30回くらい落としても全然平気な顔をしていたiPhoneくんでしたが、やはりガラス面からの落下では受身も取れなかったようす。
しゃーないので、Appleに修理を頼もうかと思ったのですが、調べてみるとApple以外の修理屋さんに頼むとAppleにたのむよりずっと安くてすむとのこと。それはすばらしい。
というわけでいってきました。
今回いってきたのは あいらぼ 明大前店さん。
明大前から徒歩5圏内にあるお店でした。iPhoneの状態を見てもらうと、なんと30分で修理完了するらしい。しかも、液晶フィルムをプラス400円(女性は無料キャンペーン中)で貼ってくれるとのこと!
30分なんで明大前駅前のスターバックスでちょちょっと休憩すれば経っちゃうでしょう。
しばらく緑色の液体を飲むことにする。
「トールエキストラホイップマッチャクリームフラペチーノ~!」。
ハリーポッターに出てくる魔法みたい。
「トールエキストラホイップマッチャクリームフラペチノーサ!!!」。
そして再度あいらぼさんへ訪問。
もどってきたのが、これ。
おぉ!!!よみがえった!
新品みたい。
ヒビ割れが特にひどかった左下の部分もホレこのとうり!
液晶フィルムも貼ってるかどうかわからないくらいの完璧な仕上がり!うーんステキ。
お値段は液晶フィルムと合わせて9400円、Appleに頼むと3万円近くかかるらしいので、とってもお得ですね!
Androidやガラパゴス携帯などはメーカーごとに画面サイズやその他部品が異なるので修理も大変ですが、iPhoneはiPhone3GS(3G)、4と現状2種類しかないので、そういった面からもコストを下げることができるのかもしれませんね。
なんにせよ安く復活できてよかったです。
Adwhirlを入れてはや1ヶ月くらい経ちました。
現在入れているのはiAd、Admob、Admakerの3つですが、iAdはあまりにも効果が少なかったため、その分の通信時間がおしかったので非表示にしてあります。そのため実質AdmobとAdmakerの2つですね。
で、私は広告が表示されていないときは広告のビュー自体を透明化(なんたら.view.alpha = 0.0;)していて、広告を受信したタイミングで透明化をオフにしている(なんたら.view.alpha = 1.0;)のですが、なぜかAdmakerではこれがうまくいかない。Admobではちゃんと動いているのに。
というわけでいろいろ試してみたところ、広告が受信されたタイミングで実行されるAdwhrlの関数である「adWhirlDidReceiveAd」が、Admakerでは実行されていない感じでした。Admobではちゃんと実行されるので、もしかしたらユーザー側で追加した「Custom Event」では「adWhirlDidReceiveAd」関数は呼ばれないのかもしれません。
というわけでしょうがないから下記のようにAdmaker側の広告を受信したタイミングで実行される「didLodAdMakerView」関数の中で不透明化(なんたら.view.alpha = 1.0;)を実行させることで対応しました。
ソースの一部は下記のとおり。
- (void)viewDidLoad {
[super viewDidLoad];
// 以下、Admaker-----------------
AdMaker = [[AdMakerView alloc] init];
[AdMaker setAdMakerDelegate:self];
[AdMaker setFrame:CGRectMake(0, 0, 320, 50)];
[AdMaker start];
// 広告が受信されるまではAdmakerの広告枠自体を非表示
AdMaker.view.alpha = 0.0;
// 以上、Admaker-----------------
//adwirl
[super viewDidLoad];
self.awView = [AdWhirlView requestAdWhirlViewWithDelegate:self];
[self.view addSubview:awView];
awView.frame = CGRectMake(0.0, self.view.frame.size.height -
GAD_SIZE_320x50.height - 44,GAD_SIZE_320x50.width, GAD_SIZE_320x50.height);
awView.delegate = self;
awView.alpha = 0.0;
}
// Adwhirl側の広告受信時に実行される関数
- (void)adWhirlDidReceiveAd:(AdWhirlView *)adWhirlView{
// Admobは広告受信時のこの関数が実行されるが、Admakerはなぜか実行されない
awView.alpha = 1.0;
}
// AdMaker側の広告受信時に実行される関数
- (void)didLoadAdMakerView:(AdMakerView*)view{
// しょうがないのでAdmaker側に「awView.alpha = 1.0;」を追加
AdMaker.view.alpha = 1.0;
awView.alpha = 1.0;
}