AIに記事を作らせようとしたら全然ダメだったので人間が手動で作ります。
なぜアプリはサービスの顔なのか
アプリは、ユーザーがサービスと対話する主な方法です。
アプリが使いやすく、視覚的に魅力的であり、ユーザーのニーズを満たすことができれば、ユーザーはサービスに前向きな印象を持つ可能性が高くなります。
アプリが遅く、クラッシュしたりエラーが発生したりすると、ユーザーはサービス全体に否定的な印象を持つ可能性が高くなります。
アプリが良ければいいわけではないですが、アプリが悪いと全て悪く見えてしまいます。
バグについての視点
アプリのバグの種類には、色々あります。
・アプリの想定していない動作によるバグ
・アプリの試験の甘さによるバグ
・サーバーダウンによりアプリの基本機能が失われるバグ
・サービス提供者による運用手順ミスによるバグ
主なバグをいくつか上げてみましたが、これはあくまでもエンジニア目線のバグです。
サービス利用者には以下のようにしか見えないでしょう。
・アプリが自分の思うように動かない
アプリエンジニアとしては、「サーバーが止まったのが悪い」だったり、「運用手順通りにしないのがわるい」だったり思うことはたくさんあると思います。
でもサービス利用者はそんな事情をわかってくれません。
アプリが思うように動かない!!なんなん!!!となります。
バグが起きるとどうなる?
言うまでもなく、サービスの顔が潰れます。
サービスに不満を持ち、イライラする事間違いないです。
バグ報告してくれるユーザーはほんの一部で、大半が他のサービスに乗り換えてしまいます。
アプリのレビューは荒れ果て、挙句の果てには個人情報の取扱についても疑心暗鬼になるでしょう。
じゃあどうしろってんだい!
アプリを作るところから丁寧に。
当たり前ですが、アプリの質は高ければ高いほどいいでしょう。
例えば、push通知が機能しなくなったら?連絡が取り合えなくなります。Firebaseに依存するアプリが大半ですが、大きな障害時に使えなくなったらどうするかちゃんと考えていますか?クーポン表示時にサーバーが止まっていたら?新しいクーポンは取得できませんね。
このように考えることはいっぱいあります。なんたって、顔ですから。
使いやすさがまず第一
アプリは使いやすく、直感的に理解できる必要があります。ユーザーは、アプリを使用して簡単にやりたいことを実行できることを望んでいます。
迷子になったりイライラしたりするべきではありません。
視覚的な魅力を前に出す!
なんたって顔ですから!!!!!!!!!
アプリは視覚的に魅力的で、ユーザーフレンドリーである必要があります。アプリはユーザーに楽しんでもらい、使い続けたいと思って貰わないといけません。
ユーザーのニーズを考えて
アプリは、ターゲットユーザーのニーズを満たす必要があります。アプリがユーザーが求めているものを提供していない場合、ユーザーは使用したいと思う可能性が低くなります。
例えば、時計アプリにミニゲームをつけるのは良くないです。必要なものを必要なだけ実装してあげるべきです。求められていないことをやるのは「余計なお世話」になります。
絶対的安心感を
アプリは信頼性が高く、クラッシュしたりエラーが発生したりすることはありません。ユーザーは、アプリに依存でき、必要なときに機能することを期待しています。
たまに使えなくなるお粗末なアプリは提供するべきではないです。
自分目線でのセキュリティ
アプリは安全で、ユーザーの個人情報が保護されている必要があります。ユーザーは、アプリに個人情報を入力することを心配する必要はありません。何に利用するかを明示しておきましょう。
ユーザーフレンドリーさ
アプリはユーザーフレンドリーで、サポートが受けやすい必要があります。ユーザーは、アプリを使い始めるのに苦労したり、サポートを得るのに苦労したりするべきではありません。
チュートリアルが無いアプリもありますが、複雑なアプリを作る必要がある場合、チュートリアルを作るべきです。子供は公園に連れて行かれても遊び方を知っているわけが無いのですから。
ユーザーフレンドリーさ2
サポートにも種類があります。決済機能やリアルタイムを重視するアプリでは電話での窓口がない場合ユーザーに不信感を抱かせる可能性があります。すぐに対応できる手立てをリリース前に考えておきましょう。
テストの濃度
確認作業を怠らないでください。出かける前に鏡を見て前髪を整えるのと一緒です。鼻毛一本見落とさないように、自動化するのもありですが、やはり人間の手作業が一番。
最後に
バグ発生後の対応についてはあえて書いていません。
バグありきで開発するエンジニアはいないですし、それを誰も望んでいません。
最後に2
アプリはサービスの顔です。
サービス提供者にとっては自分の一部のようなものです。
それを我々エンジニアは責任持って作り上げる必要があります。
すべての人のために。