開発

Self Sizing Cells 選択時にセルの位置がずれてしまう問題を解決

問題

iOS8からはtableViewのセルの高さを動的に計算できるようになった。使ってみるとひとつ問題が発生。セルを選択して次画面にナビゲーション遷移する場合、選択直後にセルの位置がずれてしまう。

原因

セル選択時にestimatedHeightForRowIndexPathが呼ばれて、セルの高さが一斉にデフォルト値に調整されているっぽい。なぜかは分からない。

解決策

セルの表示タイミングで実際のセルサイズをキャッシュして、estimatedHeightForRowIndexPathでその値を返すようにすることで対処できた。

2015-04-25 | Posted in 開発No Comments » 

 

Xcode6でのローカライズの流れをメモ

ローカライズが必要なのは以下のもの

1. Storyboard
2. Info.plist
3. 各ソースコード

1. Storyboard
Storyboardのローカライズ情報は.stringsファイルで管理できる。UIに使われているラベルの値が関連づけれらて設定可能になる。各国に対応した画像を使う場合は.stringsではなくstoryboardの追加が必要。これらはUIの編集に伴う更新は自動では行われない。自動化のスクリプトが出回っているのでそれを使う。

2. Info.plist
アプリ名なんかのローカライズはここでやる必要がある。

3. 各ソースコード
Localizable.stringファイルを作成して管理。genstrings -a $(find . -name “*.m”) で自動生成可能。

上記3種の設定は XLIFF (XML Localization Interchange File Format) 形式での書き出しが可能。このファイルを設定して再度読み込めば、元の設定を更新することも可能らしい。翻訳のみ他の人にお願いするときに便利っぽい。

2015-04-23 | Posted in 開発No Comments » 

 

UI考察:Alfred, Flashlight

AlfredFlashlightが便利なのでUIを考察してみた。Alfredは以前からよく使われているMac用のランチャーアプリ。FlashlightはYosemite用Spotlightのプラグインで最近評判がいい。

Alfred

スクリーンショット 2015-04-20 0.06.59

・あくまでランチャーアプリの枠を守っている気がする。起動するのみで、あとは起動後のアプリでおまかせ。
・反応が早い。気持ちいい。
・入力枠の影や黒ぶちのおかげで起動時の登場感が強い。呼んだら即座に反応する執事みたいだ。
・コマンドが補完がされるのは便利。しかもアイコン付きで視認性がよい。
(よく考えたら開発用のIDEなんかはUIの工夫の塊なのでこちらももっと見ておこう。)

 

Flashlight

スクリーンショット 2015-04-20 0.07.16

・Alfredに比べて、より開発者向けで先進性を感じる。
・検索結果の起動だけでなく、もっと色んなことをSpotlightの入力枠ひとつでやってしまおうとしている。電話の発信やgithubのissue登録までできてしまう。
・結果が同じウィンドウ内に表示されるのは断然心地いい。
・結果ウインドウの表示非表示アクションがうっとおしい。反応も遅い。もうすこしシームレスに動いてほしい。
・追加されるプラグインの羅列にワクワクする。ニュースアプリなんかにもこういう流れがあるな。

 

全体

入り口が一つであることの安心感を感じる。拡張性により可能性を感じるものほど入り口がシンプルな方が感動が大きいかも。入り口がシンプルで、代表例をひとつ、ふたつ示してあるだけであとはユーザ自身が考えたくなる流れができてる気がする。また、ローカルにとどまらず、オンラインのあらゆる機能の具体操作にアクセスし始めているのが印象的。同じサービスでも時代と環境に応じて対象が変わっていくんだな。Flashlightは多少覚えなければならない操作もある。でも使いやすさ、分かりやすさが第一というよりは多少学習コストがあっても操作ステップが短い方喜ばれるんだろうな。学習による達成感、優越感みたいなものもある。

2015-04-22 | Posted in デザイン, ブログ, 開発No Comments » 

 

UIデザイン用のモックアップツールを選ぶ

WebおよびモバイルアプリのUIデザインをやることになりそうなので、モックアップツールを調べた。どうやらUI用のモックツールは以下の2種に大別されるらしい。ここにシンプルにまとまってた。

1. 画面遷移をつくるもの
2. 単一画面内の動きをつくるもの

今回欲しいのは後者。特定の画面内の情報のレイアウトや表示方法、反応をモックで確かめたい。お金をかけてもいいのでとにかく素早く!!素早くやりたい。候補として上がったのは以下のもの。

1. Origami by Facebook
2. Pixate
3. Adobe After Effects
4. Adobe Flash
5. Flamer
6. Mitya
7. Noodl

考えた結果、AfterEffectesとPixateを利用することにした。スピードではAfterEffectsが一番っぽいけど、インタラクションを含むものではPixatesがよさそう。その他はコーディングが必要だったり、仕組みが古かったりでNG。Pixateはモバイルに特化してるのが弱点。でも利用者は画面サイズを変更して対応する人もけっこういるみたい。

2015-04-19 | Posted in デザイン, ブログ, 開発No Comments » 

 

フォーリーアーティスト

テレビでフォーリーアーティストとやらの特集をやっていた。フォーリーアーティストは映画の音を作る人たちのこと。驚いたことに映画の音の80%くらいは別途作成されて後で追加されるらしい。その製作方法がとても面白くてハマってしまった。

特集されていたのはカナダで活動する小山吾郎さんという人。一見してとてもコミカルな作業だけど、真剣に細部を追求していて引き込まれた。足に木が触れる音、床で滑る「キュっ」という音など、本当に細かい。自分が感じることをとても大事にしてるのがよく分かる。この人がこの道を目指すきっかけになったのがTrack Starsというショートムービー。フォーリーアーティストの仕事をそのまま映画にしたような内容。めちゃオモロい。

2015-04-18 | Posted in デザイン, ブログ, ライフNo Comments » 

 

Amazon Mobile Associates APIについてちょっと調べた

 

Amazon Mobile Associates APIとは

モバイルアプリでAmazonの商品を扱うためのAPI。アプリ内で購入まで完結させる機能もある。商品が売れればアプリの開発者は最大6%のマージンを受け取ることができる。この内容を見るとすごく魅力的。

前提

これまでモバイルアプリではAmazonの商品情報を取得するAPIを使用する事ができなかった。そんな中でこのAPIが公開されたのは2013年の話。最近になってアプリ内で購入まで完結させたい開発の機会があったので、ちょっと調べてみた。

 ざっくり概要

  • モバイルアプリ内で商品の検索、詳細表示、購入などが可能
  • Android端末では利用可能だがiOS端末での利用に関しては検討中
  • ユースケースを提出しておけばいいことがあるかもしれない
  • 取り扱える商品は1000まで(後述)
  • 商品が売れた場合には最大6%の報酬を受け取る事ができる(詳細)

associates_rates_table_20141101._V320966667_

 

具体的な機能

① Direct Linking To Amazon
WebViewやブラウザ等にAmazonの情報を表示できる。個別の商品ページ、検索結果ページ、Amazonのホームページなど。

direct-link-to-search-page

 

② In-App Storefront
ASINを元に商品の詳細情報を返してくれる。返却された情報を元にどういう風に商品を見せるのかは自分次第。ユーザが商品を選ぶと、Amaozon購入用のページが表示される。(たぶんwebView)ユーザはアプリから退出せずに商品を購入することができる。

inappshoppingexperience

【条件】

  • AmazonAppStoreが端末上にインストールされていること
  • アプリがUSで公開されていること
  • ユーザはUSのAmazonアカウントでログインしていること

 

③Testing the Mobile Associates API
APIをテストするためのツール。Amazon Appstoreにアプリを提出する前の段階で購入テストできるApp Testerと、Amazon Appstoreにアプリを提出後に購入テストができるLive App Testingがある。

 

使えない理由

とても興味のあるAPIだけど結局は使えなさそう。理由はいくつかある。

理由1:日本で使えない

アプリがUSで公開されている必要がある。また、ユーザはAmazon USのアカウント保持者でなければならない。つまり日本で公開するアプリに関しては、購入や個別の商品情報取得の機能が使えない。ダイレクトリンクに関してはこの限りではない。

理由2:取り扱える商品が少ない

説明を見ると、1つのアプリで扱える商品はひと月1000までとある。ん!? 1000!? それはちょっと少なすぎだろう。と思って、フォーラムのQ&Aを漁ってみた。その結果以下のような事がわかった。

  • まず確認として、ひとつのアプリというのは、One installed appではない。あくまで One developed app。つまりユーザひとりにつき1000個のプロダクトを扱える訳ではなく、自分が開発したアプリひとつにつき1000個のプロダクトしか扱えない。
  • なぜ1000個までなのか。理由はMAAはそもそもたくさんの優良なコンテンツを有するアプリに広告の手段として利用してもらう事が前提だから。つまりショッピング用アプリを開発してもらうために作ったAPIではない。

 

2014-12-07 | Posted in 開発No Comments » 

 

John Muir Trail 感想

シエラの自然はダイナミックだった。でも一番印象に残ったのは自然ではなく、ハイカーの文化だった。老若男女、色んなハイカーがいた。カップルで歩くハイカー、熟年の夫婦、中年の友人同士、ソロのおじいさんなど。こんなに多彩な人たちが、ただ歩くという行為をそれぞれのスタイルで楽しんいる事に驚いた。

 

「それじゃ、気をつけて」
日本で山を歩いていて、会話した後にはこんな風に別れる。「気をつけて」はよく使われる言葉だ。山でなくても、友人と別れる際には挨拶としてごく普通に使う。相手を気遣うやさしい言葉。

「気をつけて」の代わりにトレイルで頻繁に使われるのが「Enjoy !」「Have  fun !」だ。少しでも立ち話をすれば、別れる時には必ずこの言葉が出てくる。最初はとても不思議だった。楽しむなんて行為は、わざわざ心がけるほどのものではない思っていた。

でもそれは違った。出会ったハイカーたちの楽しみ方はすごく魅力的だった。全力で楽しんでいた。楽しもうという意思の強さを感じる。

旅を楽しむという事には小さな罪悪感がつきまとう。生産的な行為ではないし、ましてや仕事なんかではない。仕事だと「仕方ないね、大変だね」という雰囲気になるが、楽しむためだと「奥さん、よく許してくれたね」という雰囲気になる。人は「仕方ない」という言葉には弱い。でもそれはもったいないことだ。

今回、純粋に自分が楽しむ目的だけのためにこれだけの時間やお金を使うには、それなりの努力も必要だった。でも、きっかけは妻が作ってくれた。我が家のトイレの壁にはジョン・ミューア・トレイルの写真が貼ってある。雑誌の付録か何かだったと思う。最初にJMTの話をした時に、じゃあ、その希望が叶うようにと妻が貼ってくれたものだ。毎日用を足しながらその写真を眺めていたら、少しづつ準備せずにはいられなかった。するといつの間にかチャンスが訪れていた。

おかげで最高の時間を過ごすことができた。妻には感謝。ありがとう。本当に行ってよかった。

おわり

 

SONY DSC

2014-12-06 | Posted in ライフ, No Comments » 

 

John Muir Trail – Day 21 登頂

2014年9月17日  Tyndall Creek → Guiter Lake
起床 5:30 気温 4℃

周囲のハイカーが準備する音で目が覚めた。どうやら自分が一番のんびりしていたようだ。なんとなく自分も急いで準備。朝食はいつもより多めにとった。天候は晴れ。今日はマウントホイットニーに登頂する。JMTの最終日だ。登頂後はホイットニーポータルという登山口まで降りて、そこからヒッチハイクで町に出る予定。

ギターレイクから本格的なスイッチバックまでの20分ほどで暑くなってしまった。レイヤーを調整。そして急登開始。

DSC00041__1417225295_58.85.255.147
体が軽い。リズムカルに登ってぐんぐん高度感が増す。13000フィートオーバーの分岐点まで、2000フィート以上を一気に登ってしまった。この分岐に荷物をおいて、頂上までは片道1.5時間ほどのピストン。水と行動食のみを持って頂上へ出発した。いよいよ最後の登り!

 

DSC00044__1417225432_58.85.255.147
DSC00047__1417225610_58.85.255.147
ガレガレでけっこう歩きにくい。歩きながら、頂上に着いたらどんな気分なんだろうなーと考えていた。最初は地図上で果てしなく遠く感じたこの場所を今歩けているのが嬉しかった。

 

登頂

DSC00050__1417225700_58.85.255.147

DSC00052__1417226050_58.85.255.147

IMG_0036

登頂した。標高4421m。頂上で写真を喜んでいるハイカーたちが見える。なんとなく、居場所に気を使いながら歩いている内に登頂してしまっていた。想像していたほどの感動はない。 ただ、これまでの旅を思うと開放感充実感に溢れている。なんだかとても穏やかな気分。まあたぶん、ゴールはそんなに重要ではないんだろうな・・・・。15分ほど写真を撮ったり、休んだりして早々に下り始めた。 ジョン・ミューア・トレイル340kmの行程はおわった。

 

ローンパインへ

16:00くらい、にょろにょろと伸びた道路が見える場所まで降りてきた。ホイットニーポータルだ。ここからはヒッチハイクで15マイル先のローンパインまで移動する。ただし、オフシーズンのこの時期では車はつかまえにくい。難しいようなら今夜はここにキャンプを張るしかない。

運良く車にのせてくれる人をゲット。トレイルの終了の感慨にふける間もなく、下山3分後には車で移動していた。ものすごいギャップだ。高度がどんどん下がってゆく。景色の流れがものすごく早い。車ってこんなに早かったのか。自分があれだけ時間をかけて歩いた距離や高度を、車はあっというまに消し去ってしまった。なんて残酷なんだろう。30分後にはローンパインに着いた。

ローンパインではハイカー御用達のホステルに滞在。歩いてる時に出会ったハイカーが集まってて同窓会のような雰囲気。

シャワーを浴びてすっきりし、近所のカフェでステーキを食べた。あったかいお湯を好きなだけ使える。肉や野菜が食べられる。夜になっても起きてられる。寒くない。全てが贅沢に感じる。でもそれはこの時だけ。あっという間に文明生活に馴染んでいった。

 

SONY DSC

翌朝、荷物を整理していると余った食料がとても汚く見えた。ちょっと寂しい。未練たらしくホステルの敷地内でストーブを使ってお湯を沸かし、フリーズドライの食料を食べた。あまり美味しく感じなかった。道路越しに見える山がもう遠い。

 

 

map-21

2014-11-29 | Posted in ライフ, No Comments » 

 

John Muir Trail – Day 20 コンサートホール

2014年9月16日  Tyndall Creek → Guiter Lake
起床 6:30 気温 5℃

ラスト2日。今日はマウントホイットニーへのアプローチだ。いつもよりゆっくり歩いて残り少ない歩数をかみしめた。

DSC00005__1417012959_58.85.255.147
SONY DSC

空が広い。

SONY DSC
倒木がたくさんある。一体いつからここにあるんだろう?自分が生まれる前かな?

 

SONY DSC

いつもの行動食。疲れた時にはカントリーマアム。お腹が減ったら柿ピーかトレイルミックス。毎朝その日の分を小分けにして歩いている。

 

SONY DSC

DSC00023__1417013341_58.85.255.147

マウントホイットニーまで11.7マイル。最初は210マイルもあったのに、こんなところまで来たのか。しばらく歩くと湖越しにマウントホイットニーが見えてきた。たぶん、あの辺りだ。

 

コンサートホール

ギターレイク到着。これまでで最も高い場所でのキャンプ。すでに2組ほどのハイカーが小さなテントを張っている。ここはマウントホイットニーへのアプローチサイトになってるっぽい。

SONY DSC

SONY DSC

14:30くらいにはついたのでゆっくり体を洗い、ツェルトを設営した。キャンプも最終日を迎えて最高の設営ができた。ポールの高さをこれまでの95cmではなく105cmに設定する方が格段にうまく張れることに気づいた。見とれるほどにキレイな空間ができた。

 

SONY DSC

ここはまるでコンサートホールの客席のようだ。明日、登る山を見渡しながらゆっくり寝っころがってくつろげる。時間が経つにつれて山の色がどんどん変わっていくので、大きなイベントを楽しんでいるようだ。

16:00くらいになって 3~4人のハイカーが続々と到着しだした。
近くにテントを張ったハイカーはドイツからの旅行。有給を5週間とってきたそうだ。うらやましい。ハイキングの話はせずに仕事環境のことばかりを聞き倒した。

 

でも会話の最後に彼が思い出したように一言。

「明日はいい山にしよう」

そうだね、いい山にしよう。明日はとうとう最終日。マウントホイットニー(4421m)の山頂に向かう。

 

map-20

 

2014-11-27 | Posted in ライフ, No Comments » 

 

John Muir Trail – Day 19 歩きながら考える

2014年9月14日  Vidette Meadow → Tyndall Creek
起床 6:30 気温 5℃

今日は最後のパス、フォレスターパス(4023m)に向けて1000m以上のupだ。これを超えれば残るはラスボス、マウントホイットニーだけ。ちなみにJMTの全行程でピーク(頂上)を踏むのは最後のマウントホイットニーだけなのだ。

朝、起きていつものように準備。もうすっかり定着した日課。
まずは30m先に置いてあるベアカンを持ってきて朝食の準備。いつもスープとお粥の組み合わせ。お湯の待ち時間に適当にトレイルミックスをかき込む。食べ終われば歯磨きをしてテントの片付け。湿ってるばあいは少しだけ乾かす。全てを片付け終えたら最後に水汲み。水を濾過する作業は冷たいので、いつも最後。 乾ききらない洗濯物とサンダルをバックパックににくくりつけて準備完了。

DSC09951__1416928028_58.85.255.147

すっかり準備を終えたバックパックに朝日が当たってキラキラ光っていた。なんだか急に、愛おしくなってしまった。

 

DSC09953__1416928076_58.85.255.147

DSC09955__1416928137_58.85.255.147

フォレスターパスまでは7.8マイルの登り。11000フィートを超えた辺りから木が無くなった。1000フィート登るたびに休憩を入れる。体は順調そのもの。

 

DSC09965__1416928271_58.85.255.147

途中ふりかえると、今まで歩いた道が遥か遠くに伸びてる様子が見えた。セルフタイマーで写真を撮ろうとするけどうまくいかない。何度も何度もやったけど、ダメ。いつもセルフタイマーで写真を撮る時にもバックパックを背負う事にしている。これはただの見栄。この見栄のせいでうまく撮れない。

 

フォレスターパス踏破

SONY DSC

DSC09986__1416928378_58.85.255.147

ラスト500フィートのスイッチバックが特にキツい。でもなんとかクリア。
いつもよりも大きな達成感がある。岩に腰かけてちょっと休憩。これまで歩いた道を4000mの高みからゆっくりと見下ろした。最高の瞬間だ。

 

最高の下り道

フォレスターパスからティンダルクリークまでの4.7マイルの下り道。この下り道の景色が最高だった。本当に素晴らしくてずっと見とれながら歩いていた。

DSC09994__1416928424_58.85.255.147

DSC09995__1416928591_58.85.255.147

DSC09999__1416928767_58.85.255.147

ぼんやりと色んなことを想像しながら歩いた。悩みを持つ人間が、いきなりこの場所に来たら何を感じるんだろうな。

でっかい地面、、、というか地球と一体感を感じるようなこの幸福感。来てよかった。
もうすぐ終わってしまう。何十年か経ったとき、自分はこの景色を覚えているんだろうか。この感覚を忘れていないだろうか。ちゃんと覚えていたいなあ

写真をとりまくった。あとから来た2人組のハイカーがその様子を見てシャッターを押してくれた。

 

map-23

2014-11-26 | Posted in デザイン, ライフNo Comments »