中大生の「困った」を解決するアプリ『Chuinfo』を作って学んだ、UIと実装の話
こんにちは!GDGoC Chuo でアプリ製作を行っている学生エンジニアです!
皆さんは大学生活を送っていると「あの課題の締め切り、いつだっけ?」「今、生協って開いているのかな?」と情報を探して、ポータルサイトや大学のHPをあちこち回る時間が意外と多いことに気づきませんか?
そんな情報の散らばりを解消し、中大生の毎日をもっとスマートにするために開発したのが、スマホアプリ Chuinfo です。 この夏休みにサークルのプロジェクトとして制作したのですが、いざ形にしようとすると技術的な壁やデザインの難しさに何度もぶつかりました。
今回は、開発の裏側にある「こだわり」と「苦労したポイント」を詳しくご紹介します!
1. 『Chuinfo』とは?:学生の「今」をサポートするツール
『Chuinfo』は、一言で言えば 中大生のための情報集約プラットフォーム です。
- 課題提出の管理:ポータルサイトの情報を集約し、期限が近いものを一目で確認。
- 施設の営業状況:学食、生協、各施設の「現在の営業状況」をリアルタイムで表示。
- 自動ログイン:manabaやCplusの自動ログイン機能を搭載。
中大生の皆さんの生活を少しでも便利にできれば嬉しいです。ぜひダウンロードして使ってみてください!
2. 「迷わせない」ためのUIデザインと情報の取捨選択
デザイン面で最も意識したのは、 情報量の削減 です。
余白と色の制限
多機能なアプリであるほど、画面に情報を詰め込みたくなります。しかし情報が多すぎるとユーザーは疲れてしまいます。そこでChuinfoでは、あえて使用する色の数を絞り、メインカラーである
#52A6D4
をベースとして十分な余白を確保しました。
これにより、重要な通知や期限が自然と目に飛び込んでくるレイアウトを実現しました。
ユーザーの真のニーズに寄り添う
例えば、学内施設の営業時間においてユーザーが最も知りたいのは、「明日や明後日の詳細なスケジュール」ではなく、 今、この瞬間に開いているのか、閉まっているのか という情報です。
そのため、画面中央に「営業中」あるいは「営業時間外」というステータスを大きく配置し、一瞬で判断できる設計にしました。あえて詳細な情報を一歩下げることで、情報のノイズを減らしています。
3. 「5秒の壁」を乗り越えるためのパフォーマンス・ロジック
技術的に最も苦労し、かつ工夫を凝らしたのがスクレイピングの処理です。
体感待ち時間をゼロにする工夫
複数のサイトから情報を取得し、解析して表示するまでには、どうしても約5秒の時間がかかってしまいます。スマホアプリにおいて「5秒間待たされる」というのは、ユーザーにとって非常に大きなストレスです。
そこで、アプリを起動した瞬間にバックグラウンドでスクレイピングを開始するという仕組みを導入しました。ユーザーがアプリを開き、トップ画面を見てから「営業時間をチェックしよう」と画面を遷移させるまでの数秒間を裏側での処理に当てることで、ページを開いたときには既にデータが準備されている、という待ち時間ゼロの状態を作り出しました。
サーバー負荷への配慮と効率化
また、頻繁にサイトへアクセスすることは、大学側のサーバーに負荷をかけてしまうという懸念がありました。これを防ぐため、更新ボタンが押されるたびに通信を行うのではなく、「スマホ内に保存された前回のデータ」と「現在時刻」をアプリ内のアルゴリズムで照らし合わせる方式を採用しました。 これにより、通信回数を最小限に抑えつつ、常に正確な営業状況を表示することが可能になりました。
4. ダークモード実装という「設計」の難所
最近のアプリでは当たり前となった「ダークテーマ」の実装ですが、保守性の高いコードを書こうとすると、その管理は非常に複雑になります。
単に色を反転させるだけでなく、以下の4種類のカラーファイルを定義・連携させる構造を構築しました。
- ライトモード専用のカラーファイル
- ダークモード専用のカラーファイル
- 空のカラー変数を定義したファイル
- モードに応じて各モードの色と変数をつなぎ合わせるファイル
この構造を作ることで、メンテナンス性に優れた設計を実現できました。
5. 最後に:GDGoC Chuoでの活動について
今回の開発を通じて技術的なスキルはもちろん、ユーザーが何を求めているかを深く考える大切さを学べました!
私が所属しているでは、今回のようなアプリ開発をはじめ、最新技術の研究やメンバー同士の知見共有を積極的に行っています!
「プログラミングに興味がある」「自分の手で誰かの役に立つツールを作ってみたい」という方は、ぜひ一度私たちのコミュニティを覗きに来てください!初心者・経験者問わず、モノづくりが好きな学生の皆さんの訪問を心よりお待ちしています。
一緒に、大学生活をテックの力でもっと楽しくしていきましょう!