麦芽を支える技術

麦芽(ばくが、英語:malt)とは、麦、特に大麦の種子を発芽させたもので、ビール、ウイスキー、水飴の原料となる。(Wikipediaより)

「EVENTech」というIT勉強会・イベント検索アプリをリリースしました

このエントリはQiita「個人開発 Advent Calendar 2018」の5日目のエントリとなります。


はじめに

ホントはアプリのリリースと同時にこういうエントリを書いて、それでアプリの告知とかすれば良かったわけですが、何かこうApple審査通ったらなんだかんだですぐリリースしたくなるもので、かつリリースを済ますとそこである程度満足感を得てしまうものですね。。

なので本エントリは、あえてAdvent Calendarに登録して強制力を持たせてブログを書く、という自分の尻を叩くプレイです。

というわけで、「EVENTech」というiOSアプリを個人で開発してリリースしました。

eventech.asmz.beer

EVENTech

EVENTech

  • Akira Shimizu
  • Business
  • Free

アプリ概要

IT勉強会・イベント検索アプリと言っていますが、実際のところIT勉強会管理サービスである「connpass」のクライアントアプリという位置付けで、connpassサービスのAPIを使用してconnpassに登録されているイベントを検索、表示し、最終的にはconnpass本サイトへリンクします。

f:id:asmz0:20181201223123p:plain:h300f:id:asmz0:20181201223447p:plain:h300f:id:asmz0:20181201223421p:plain:h300

コンセプトは「シンプル・サクッと」。 スマホで気軽にサクサクとIT系のイベントを検索できることを主眼に置いて作りました。

f:id:asmz0:20181201223931p:plain:h300 f:id:asmz0:20181201223629p:plain:h300 f:id:asmz0:20181201223639p:plain:h300

一応アプリの特徴として、イベント開催場所を地図で確認しながら検索できる「地図連動機能」があります。リストで一番上に表示されてるイベントが地図でフォーカスされ、リストをスクロールすると連動して地図のフォーカスも変わる仕組みです。この辺の話は後ほど。。

なんとなーく最近Apple公式アプリが使い始めたハーフモーダル的なUIを意識しています。

なんでこのアプリを作ったか

connpassさんにはいつもお世話になっているのですが、長らく利用しているとモバイル環境での利用に不満を抱くようになってきました。

  • モバイルサイト対応が不十分(一部ページのみ対応)
    • 検索条件入力画面がモバイル対応されていないので、入力しづらい
  • 検索機能が保存できない、履歴がない
    • 個人の興味分野ってある程度固定化されてくるので、割と同じ検索条件入力しません?
    • 先に書いた通り検索条件が入力しづらいにも関わらず、保存されないので毎回の入力が必要となり二重苦

で、じゃあ公式アプリはどうなのかと思ってみたら、なんとこっちにはそもそも検索機能自体存在しないという衝撃。

ではでは、API公開されてるわけだしサードパーティ製アプリは?と思い、iOS/Andorid共にいくつか触ってみても、なんか無料で気軽にAPI使えるせいかみんな勉強がてら「作ってみた」ような雰囲気のアプリが多く、標準的でない謎のUIだったり、メンテ放棄して動かなかったり、全面WebViewだったりと、自分にとってしっくりくる感じのアプリが見つけられませんでした。。。

それでもいくつか実際のユースケースに合わせて使って見るわけですが、検索結果一覧からタップするとほとんどのアプリがconnpassのWebサイトへ遷移してしまい、「いや、まだどんな内容のイベントかわかんないし、読み込み時間かかるからそっち行かなくていい...」と思ってしまうことがしばしば。

よってまとめると、ITイベント検索に対して以下のような課題意識を持っており、解決したいなと思っていました。

  • モバイル環境へのUI・使い勝手などの対応が不十分
  • 検索条件の入力手間をまだまだ減らす余地あり
  • イベント詳細見るたびにWebに飛ばされるのはユーザ体験としてあまり良くない(と感じる)

個人開発のモチベーションとして、「自分が使いたいアプリを作れる」というのあると思うんですが、この辺の課題が解決されたアプリなら使いたいなと思ったのと、これを最低限満たすアプリなら自身で作れるのでは?というところが今回の開発の強い動機付けとなります。

主な対応ポイント

基本的には上記で挙げた課題意識の話と逆になりますが、今回のアプリでは課題解決の為に以下を主な対応ポイントとしました。

  • iOSアプリとして普通に操作して違和感のないUI
  • 検索条件、検索履歴の保存
  • イベント詳細情報をWebページに飛ばさず閲覧

平たく言ってしまうと、いわゆる普通のUI、普通の検索画面、普通の検索結果一覧/詳細画面さえあれば、最低限としては十分かな、という感じでいました。これは上記で掲げたコンセプトである「シンプル・サクッと」という考えに通じる部分(コアバリュー)です。

という訳で、上記コンセプトを満たす最低限のアプリを作って、Apple審査へ提出したのですが...

Apple審査提出〜リジェクト

Apple審査に出したのは、とりあえずこんな感じの見た目のアプリです。

f:id:asmz0:20181202001520p:plain:h300

雰囲気はだいたい同じですが、アプリの特徴である「地図連動機能」がないヤツです。つまり、先に挙げた要件を単純に満たすだけなら、特に地図との連動などは不要だったのです。

そしたら、以下のような感じであっさりリジェクトされました...

f:id:asmz0:20181202001834p:plain
iOSアプリのリジェクト理由としては最高レベルにツライやつ

(意訳) このアプリ、モバイルWebブラウジングすんのと変わんないレベルの機能じゃないか。そういうのAppStoreに載せる意味ないし。

...いやーーそうなんですけど、、そうなんですけどー! そのサイトのモバイルWebブラウジング体験が十分でないからこういうアプリ作ったわけで...!

などとAppleさんに伝えられるわけもなく、ちょっとコンセプト自体変える必要が発生したわけです。

当時の心境↓

リジェクト対応検討

冷静になって考えてみるとAppleさんの指摘自体はあながち間違いでもないというか、そういったWebと同じ事するだけのアプリってユーザにとってあんまり魅力ない、というのは確かにあるかな、と思ってきました。

アプリとして出す以上、アプリならではの付加価値を付けることができるはずだし、そのためにAppleもデバイスに色々と魅力的な機能を用意してくれているわけなので、Apple的にはそれらをぜひ活用してより素晴らしいアプリを作って欲しい、と願っているのではないでしょうか。

そういった意味では、確かにこのアプリはだいぶ独りよがりな出来だなと。

で、一応「アプリならでは」という事で何らかデバイス機能を絡ませたりできないか?など考えていたんですが、コンセプトとして掲げた「シンプル・サクッと」を変えるような大掛かりな変更は自分としても望んでおらず、うまく今の動きを生かしたまま新たな機能はつけられないか?という観点であれこれ2週間ほど弄った結果、現在の地図連動機能が出来上がりましたとさ。(これで無事審査通過)

リジェクト対応からの学び

そんなこんなで今回のリジェクトは、ただ「アプリを作る」だけではなく「ユーザにとって魅力的なアプリを作る」にはどうすればいいかを考える機会を与えてくれたような気がします。

で、その結果大きく本来のコンセプトからズレる事なく、アプリに新たな価値をつけられたのは結果的に良かったかな、と今となっては思っています。

先に書いた通り個人開発って「自分が使いたいアプリを作れる」わけですが、その反面「それってホントにみんな使いたいやつ?」という観点を見失いがちです。なので、今回のように一度ちょっと立ち止まって「これは独りよがりになっていないか?」と俯瞰して見直してみる、というのは今後の開発でも生かしていきたいところですね。

おわりに

他にも技術的な観点とかアプリの構成とかconnpass APIサーバのパフォーマンスが悪いとかそもそもconnpassのAPI仕様が結構辛いとか色々書きたいことはあるんですが、だいぶボリューミーになってきたのでこの辺で。

あ、ちなみに自分はアプリの方作るので手一杯だったので、LPはうちの奥さん( id:miki_hw )に勉強がてら作ってもらいました。 お疲れ様でした。