Windows系のあれこれ

港区の SIer で よくわからんことをしている SE みたいな人です。Xamarin 中心です。

de:code 2017(Day 1 / Day 2)が終わって

●本記事はポエムです。

2017/5/23-24 に開催された de:code 2017 の公式アプリを Xamarin.Forms で開発しました。

イベントアプリ自体は 2016/9 の Microsoft Foresight、2016/11 の Microsoft Tech Summit に続き3回目なのですが、de:code はデベロッパー向けのイベントのため今までとは反応が違うんだろうなぁ、と開催前から思っていました。
イベント自体の来場者数は Tech Summit と大差ないのにアプリのインストール数もざっくり3倍ぐらいです。
予想通りアプリ公開直後から様々なご意見が散見されて中には手厳しいものもあり、 Twitter を見るのが怖くなったり、イベントが継続不可能になるほど炎上している夢を見たり、自分のセッションの準備もあるわでだいぶてんやわんやでした。。

結果として正直、反省点だらけです。

スタンプラリー

今回新たに追加したスタンプラリー機能ですが、メッセージが適切でなかったり(iOS では位置情報の許可も必要なのに Bluetooth が無効と延々表示される)、スタンプが取得できないと問い合わせをいただいたりもしました。
これは確認漏れや、端末の個体差、会場の電波状況等々、こちらの考慮不足です。おそらく全員が問題なく使用できるようにするというより、Beacon を使用したスタンプの取得ができない方の救済措置があった方がよかったと思いました。QR コードや最悪、紙での代替などを用意しておけばよかったです。
元々、ブース出展社の方のお手を煩わせないように、という目論見もあり Beacon のみで行うことになったのですが、逆に問い合わせ対応が増えてしまったようです。
うまくできなかった方、問い合わせ対応で時間が取られた出展社の方にはご迷惑をおかけしました。申し訳ありません。

その他問題

アプリのリリース時期も色々あって、イベントの数日前になってしまいフィードバックを反映する時間もなく、ぶっつけ本番的な感じになってしまいました。
また、サーバー側の DB/API はウチの担当ではなかったですが、パスワードに記号が入ってるとログインできない(ログイン API 関連)、QR コードが出てこない(参加情報取得 API で正しい値が取得できない)、アンケートが出てこない(イベント受付時のデータ登録がうまくできてない)等々、アプリ外の問題も発生していて想定が甘かった箇所もありました。

Xamarin.Forms での開発

開発に関しては、まぁこれでいーんじゃない?とりあえず作りあげよう精神で突き進んで来ました。
今回は細かい部分の調整をする余裕があまりなかったため、利用者の方々にはご不満やご不便をおかけすることもあったかと思います。
「逆に Microsoft の技術のネガキャンになっちゃうんじゃない?」的なご意見も見かけました。
個人的には、Xamarin.Forms で全プラットフォームに対してベストなアプリを作るのは潤沢な工数、期間がないと難しく、Xamarin.Forms はそれなりの工数でそれなりのアプリを作れる(素晴らしい)開発環境だと思っています。(というか潤沢にあってベストまたはそれに近い UI を実現するのであれば Forms 使わない方がいいと思ってる。もちろんプラットフォームの理解も必要だけど。)
==================

  • ちょっと誤解を招きそうなので追記

当然ながら今回のアプリが Xamarin.Forms の限界なわけではありません。
色々妥協はしていますし、私たちがいたらない箇所も多々あったと思います。
==================

メモ:次回まで改善したい(とりあえず思いつくまま)

全体

  • ログインしなくても使える機能は開放する
  • セッション編集画面の自動スクロールの時間が Hour でやっているため次の次の時間帯にスクロールしてしまう可能性がある
  • フィルターの全クリア処理追加
  • 問い合わせ先を明記する
  • パスワード忘れのリンクをログイン画面に置く
  • ログイン時エラーの場合は中途半端なデータを作らない
  • マップ画像キャッシュ系(更新された時のためにキャッシュを無効にしているが、オフラインだと取得できない)
  • UI 全体的に見直し
  • スタンプラリーができない場合の救済措置(QR コードなど)
  • 空席状況をもっと厳密に出したかった
  • アプリ更新があった際のストアへの誘導

iOS

  • ステータスバーの色
  • Bluetooth と位置情報が必要なのに Bluetooth のメッセージしかでない
  • スクロールのパフォーマンス

Android

  • ドロップダウンのデザイン
  • ログイン画面のテキストの配色
  • 画像ピンチインやりにくい
  • 戻るでアプリ終了しない、もしくは再開時に復帰する
  • Push 通知が折り返さない、展開できない

UWP

  • 画像ピンチインできない
  • 早くスクロールすると黒くなる

さいごに

反省点も多々ありますが、なんとか終わり、ポジティブな感想をいただくとやっぱりうれしかったです。
そういったご意見にだいぶ救われました。
また、ウチはアプリ開発を担当しただけでイベント運営ではないですが、運営側に勝手に口出しして色々中の様子を見ることができ、とても勉強になりました。
運営の方々はほんとに大変そうで、来場者の方をどう満足させるかに全力を注いでいて、どんなイベント、サービスもたくさんの人々の努力によって形成されてることを改めて認識しました。
自分がユーザーの立場になった際にはいいと思った点もちゃんとフィードバックしようと深く心に刻みました。
(去年の de:code は参加者側で文句言いまくってた)