週アス誌面争奪GWアプリコンテスト応募記事【印象派なう】

【アイコン】

【基本情報】

アプリ名:印象派なう
料金:無料
ダウンロードURL:http://itunes.apple.com/jp/app/id477431391?mt=8&ls=1
サポートサイト:https://nomadarian.com/iphone/impressionismnow

【質問1】このアプリを着想されたきっかけは?

ブリジストン美術館でモネの《黄昏、ヴェネツィア》を観た時に、生まれて初めて絵を見て感動しました。自分でもこういう絵を描きたいと思いましたが、自分は絵が描けません。。そんなあるとき、大学時代に画像処理の研究で培った技術を使えば写真を印象派のように加工するアプリが作れるのではないかと思いつき、作り始めたのがきっかけです。ちなみに、アイコンの元になっているのが、モネの《黄昏、ヴェネツィア》です。

【質問2】このアプリの開発者的なセールスポイントを教えてください

このアプリの加工方法は独自の画像処理技術を使っているため、他の写真加工アプリとは異なる感じに加工出来ます。また、サインを保存できるのも、他のアプリではあまりないと思います。

【質問3】開発で苦労された、あるいは楽だったのは、どういう点ですか?

苦労したことは、写真を印象派のように加工する方法を0から自分で考え、試行錯誤しながら加工方法を創りあげていったことです。パラメータを細かく調整しながら、何度もプログラミングと画像の確認を繰り返し行いました。

【スクリーンショット】

最近、iPhone アプリの審査が変わってきた

ここ最近、iPhone アプリの審査が変わってきました。
具体的に変わったと感じた点は、以下の2点。

・In Review になるまでの時間が短くなり、その分審査期間が長くなった
・複数のアプリの申請をした場合、並列の審査から直列の審査になった

1点目ですが、以前は In Review まで 1 週間程かかり、審査はすぐ(数分〜数時間)に終わりました。しかし最近は In Review まで 3 日で、審査が2,3日かかりました。全体としては少し早くなっている気がしますが、もともと時期によってバラつきがあるので誤差の範囲かもしれません。

2点目、今回 3 つのアプリのアップデート申請をほぼ同時にしました。以前なら、3つほぼ同時に In Review、審査終了になりました。ところが、今回は1つずつ In Review、審査終了となりました。ただ、2つ目以降のアプリが In Review、審査終了になるまでの時間は短め(1,2日)で、単純に審査終了までの全体の時間が 3 倍になったわけではありません。

1点目は今のところ特に影響はなさそうですが、2点目は多数のアプリを開発している人にとってはマイナスかもしれません。

Application windows are expected to have a root view controller at the end of application launch storyboard

「心霊写真なう」のデバッグ中、表題の以下の警告でハマりました。

Application windows are expected to have a root view controller at the end of application launch storyboard

ググると、「application:didFinishLaunchingWithOptions: で、window の RootViewController を設定して下さい」というアドバイスばかり出てきます。

しかし、設定しても警告は消えません。そもそも、他のアプリではそんなことしてないし。。何か他の原因では??とググり続けたところ、下記ページを発見しました。

超簡単!iOSでたった数行でかっこいいローディング表示 – SVProgressHUD

これは、「心霊写真なう」で使っている「SVProgressHUD」を解説したページです。注目すべきは、「SVProgressHUDを使う際の注意点」の「viewDidLoad:メソッドでSVProgressHUDしないこと!」。

内容を要約すると「viewDidLoad でSVProgressHUD を使うと表題の警告が出るよ!」となります。


……
思いっきり、viewDidLoad で SVProgressHUD を使ってたorz

ちなみに、このエラーが出る状態では、SLComposeViewController や TWTweetComposeViewController  で、Twitter の投稿画面で文字入力ができなくなってしまいます。なぜか Facebook の投稿画面では文字を入力できますが。。

 

ということで、ライブラリを使うときは思わぬ警告やエラーに出くわすことがあるので、使い方には十分気をつけましょう!

デブサミ2013(1日目)に行ってきた

先週の木曜、デブサミ2013に行ってきました。

参加したセッションは以下の4つです。特に良かったものは赤色
・【14-E-4】 デザインを考えるときにデザイナーが考えること~デザイナーの頭の中~(秋葉ちひろ氏)
・【14-C-5】 O2Oのデザイン(河村奨氏)
・【14-C-6】 Enterpriseでもモバイルアプリ開発 ~サーバサイドも含めたアーキテクチャのパターン~(岡本充洋氏)
・【14-C-7】 真剣アラサーカタリバ(仮)

各セッションの所感を書いていきます。なお、今回は仕事の関係でPCを持ち込めず、ほとんどメモできませんでした。。

・【14-E-4】 デザインを考えるときにデザイナーが考えること~デザイナーの頭の中~(秋葉ちひろ氏)

自分なりに内容を一言でまとめると「プログラマーもデザインの基本的な知識を身につけよう」です。そのために、デザイナーが普段どういうプロセスでデザインを考えているかということを紹介しています。内容と直接関係ありませんが、スライドの色使いやアニメーション、発表時に立ち位置を左右に入れ替える所がプログラマーとは違うと感じました。

資料がアップされているので、詳細は資料を御覧ください。

 ・【14-C-5】 O2Oのデザイン(河村奨氏)

「リブライズ〜すべての本棚を図書館に〜」の紹介と、O2O(Online to Offline)とはどういうものか、の説明がありました。O2Oの事例として面白かったのですが、話があっちこっちに行って、かなり早い段階からついていけなくなりました。。

こちらも資料がアップされています。

・【14-C-6】 Enterpriseでもモバイルアプリ開発 ~サーバサイドも含めたアーキテクチャのパターン~(岡本充洋氏)

企業でサーバ(クラウド)連携をするモバイルアプリを作るには、どのようなアーキテクチャがあるかという紹介です。ただ、スピーカーがセールスフォースの方ということもあり、最終的にはセールスフォースの宣伝みたいな感じでした。

BaaSは知りませんでした。家に帰ってからググると、ParseというBaaSが人気なようで、月間100万APIリクエストまで無料で使えます。サーバー連携系は面倒くさそうと敬遠していましたが、Parseを使えば簡単に実装できそう。無料版だとストレージ容量が1GBまでだから写真投稿アプリとかは厳しいかなぁ。

BaaSに関しては、以下のページが良い感じでまとまっています。

「世界の全ての本棚を図書館に」──本と場所と人を結ぶ「リブライズ」、開発者が目指す大きな夢 (1_3) – ITmedia ニュース

こちらも資料があります。

・【14-C-7】 真剣アラサーカタリバ(仮)

エンタープライズ、ソーシャル、スタートアップの3つの世のバックグラウンドを持つエンジニア、海外のアラサー事情に詳しいエンジニアのアラサー4人が、キャリア/結婚/家庭について語る、というちょっと変わったセッションでした。
時間は、他のセッション(50分ぐらい)より多い85分で、途中でダレそうか心配していましたが、始まってみるとすごく面白く、あっという間でした。
5人(司会含む)中4人が転職経験者で、転職の経緯や転職に対する考え方を聞いているうちに、色々考えさせられました。僕の場合は、転職よりもネオニート(ry。
最後の方で5人とも既婚ということを知り、なんとなく切ない気持ちになって終わりました。やはり、仕事が出来る人はプライベートも充実してるんですね。。


全体を通して

今年は例年よりWebのセッションが多いように感じました。会社もプライベートもネイティブな僕は、受けたいセッションが少なかったです。去年はこんなんじゃなかった気がします。せめて簡単なサーバサイドぐらいは実装できるようになりたい、と改めて思いました。サーバサイド以前に、(Apple以外の)サーバ連携アプリを作ったことがないので、まずはBaaSを使ったアプリを検討するところから始めてみます。

 

デブサミ全体の資料まとめが公開されています。

デブサミ2013、講演関連資料まとめ:CodeZine

【書評】iOSデバッグ&最適化技法 for iPad/iPhone

メモリ管理方法やデバッグ作業の入門書です。

ARCの登場によってメモリ管理は楽になりました。しかし、メモリ管理の仕組みを知らずに実装しているといくらARCを使っていてもクラッシュしてしまうことがあります。

本書では、ARC の登場以前のメモリ管理の仕組みを、サンプルプログラムを交えて具体的に説明されています。個人的にはメモリの管理部分はARCに任せっきりで、何かエラーが起きたらググって対処するという場当たり的な対応をやっていたので、かなりスッキリしました。

他にも、これまでおまじない的に使っていた assign, retain, copy 属性の振る舞いが詳しく説明されていて、かなり理解が進みました。

また、デバッグの方法も丁寧に解説してあります。Visual Studio に慣れきって、Xcode のデバッグがよく分からないといった人(自分)にもオススメです!