2012年10月19日金曜日

実践 スマートフォンアプリケーション開発




実践 スマートフォンアプリケーション開発 の献本頂きました。
ずっしりと大きい堂々の541ページ! 

この本は、iPhone, Android, WindowsPhone についていろんな側面から比較されています。
スマートフォンと一言でいってもiPhone, Android, WindowsPhone のプラットフォームにより、
  • 機能としてできること/できないこと
  • 用意しないといけないリソース類
  • 申請に必要なこと
...などなど差があります。
それらの差はどんなものがあるのか? というのが比較されているので、

  • スマートフォンアプリを作ってみたいと思っているが、iPhone, Android, WindowsPhone... どれでいこうか? と悩んでいるの方。
  • iPhoneアプリ/ Androidアプリ の開発者だけど、他のプラットフォームにも手を出したいと考えている方。
  • iPhoneアプリ/ Androidアプリ のデザイナーだけど、他のプラットフォームにも手を出してみたいと考えている方。
  • iPhoneアプリ/ Androidアプリ をリリース済みだが、他のプラットフォームにも出せるか検討してみたい人。
  • iPhone,Android, WindowsPhone 上で使われているUIの名前を覚えたい人 

などなどの方には、手っ取り早く比較ができるのでとても助かると思います。
WEB上で情報を拾おうとすると結構大変なはず。
目次から見たい内容を引けるので辞書的に手元においておくと便利そうです。

ページ数は多いですが、内容は難しくないです。
逆に、3つを比較するためにはこんなにページ数がいる情報になるんだなー こりゃ大変! と思いました。

私は、iPhoneばかりやっていたので、
通知バーとかシステムトレイとか...Android,WindowsPhone上の名前は良く混乱しますw
正確な名前がわからないと検索もできないし、会話もできないので名前ってとても重要!

WindowsPhoneはやりたい...というか、やらねばあかんやろっ いつかはっ
と思っているのでとてもためになりました。

発売日は2012/10/24で、現在予約受付中です。
興味ある方はぜひどうぞ!


最後に、レビュー時に声をかけてくれた @hyoromo さんに感謝! おつかれさまでした!

• • •

2012年10月12日金曜日

1日は24×60×60秒とは限らない

24×60×60=86,400秒 ではない日 というのは、
サマータイム や DST(daylight saving time) の開始日/終了日。

本日の日付の00時00分00秒を起点にして、
1日後は + 24×60×60
2日後は + 2 × (24×60×60)
のような感じで作っていくと、計算が合わなくなります。

カレンダーを使って、ちゃんと日付をとりましょう。

NSCalendar *cal = [[NSCalendar alloc]initWithCalendarIdentifier:NSGregorianCalendar];
NSDate *today = [NSDate date];

NSDateComponents *components = [cal components:NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit fromDate:today];
components.day += 1;
 NSDate *tomorrow = [cal dateFromComponents:components];

かく言う私は、このバグを埋め込んでしまった人。
時間で足した方が、処理も早いやん!と単純な発想でミス。

「英語圏の人はIMEに不具合いれてくるわー」とぼやいていた私ですが、逆に私もやってしまった感。
気をつけます...
• • •

2012年10月2日火曜日

iPhone5は縦長だ!

4インチ iPhone5 皆様楽しんでいらっしゃるでしょうか! 
実機を手に取って操作すると、縦長になった事にはすぐに慣れ、 iPhone4に戻ると
ちっさ! 使いづらい!!
と思うようになってきました (笑)

 使う立場からみるとそんな事を思う訳ですが、アプリ開発者の立場から見るとかなりの大きなサイズ変更で、うわーーっ となります。
テーブル表示のように元々縦長のコンテンツをスクロールで表示していたような画面では特に問題ないのですが、画面ぴったりのサイズに合うようにデザインしていた画面では、最悪デザインしなおしの勢いが必要なのではないかと思います。 

どんな対応にすべきかは、画面の内容次第。
少し、例をあげてみる。


ある部分を縦にのばせばOKなパターン 

Path の詳細画面は地図部分を縦にのばす対応をしている。
こんな感じで対応できるのであれば、自然な感じだしまだ楽デス。

 

サイズは一緒で場所だけいじるパターン

標準アプリ 時計 のタイマー は、ドラムの部分以下全てが下寄せになっている。
これでおかしく見えないのは、ドラムの位置が タブバーを除いた画面領域の中央ぐらいにあるようにみえるから... かな。



均等にサイズを大きくするパターン

標準アプリの電卓。
各ボタンの大きさが均等に縦長になるようになっています。



iPhone4ではスクロールしてみえるようにするパターン

Pintarestの詳細画面。
写真が入るような画面だと、写真の縦横比率を変える訳にいかないので難しいです。
iPhone5で綺麗にみえ、iPhone4だとスクロールしてね って妥協案は現実的かとおもう。



iPhone4とiPhone5でレイアウトを変えてしまうパターン

FreshPantryの詳細画面。
どーすっかなーといろいろ悩んで結局デザインを変えました。




今後は.....
縦のサイズが変わっても対応しやすいように、縦にスクロールして全てが見れる画面が増えるかもしれないですね。
でも、縦がのびたことにより、画面上部のボタンが、かーなーり押しにくくなりました。(遠い!)

手が小さい私としては、
よく押すボタンは下の方に配置
もしくは
スワイプなどの操作と関連して動作できる
というのが使い勝手と密接しそう。

どんなのが操作しやすいのか、しにくいのか というのは実際に操作しないと分からないので、はじめに紙上でデザインしてそのままOKになるのはよほど慣れた人だけなんじゃないのかなー と思う日々。

ま、それはそれで、面白くなってきたんじゃないの!? とも思う訳ですがw

• • •