スバラシの設計思想、具体的設計、実装
スバラシは元々何のためのアプリなのか
「大学生の利便性と活動の活発化に貢献する、素晴らしいシラバス活用体験から始まる、本当に役に立つ学生向けアプリ」
利便性にどのように貢献するのか?
今までよりも簡単な方法で、大学生活における5W1Hに関する情報を集めることができる。
具体的には、時間割、地図、シラバス、サークル活動に関する情報、といったもの。
時間割や地図の表示にはシラバスの情報を活用する。既存のアプリが行ってこなかったような、情報をつなげることによる回遊性を実現する。
活動の活発化にどのように貢献するのか?
掲示板機能(→スバラシの掲示板機能)を提供する。
どうやって「本当に役に立つ」を実現するのか?
学生生活に必要な情報を簡単に利用できるように提供する。
「簡単に利用できる」とは?
その情報に辿り着くまでに必要以上に操作しなくて済む。
ユーザとアプリのメンタルモデルが一致している。
情報の見せ方、量をコントロールする。
mgn901のUI設計三原則のような分析をする。
学生がアプリを使う時に必要な情報は何かを考える。
例:業間休みに学生が時間割を見る時、他の曜日の時間割は必要なのか?他に学生が欲しがるだろう情報はないのだろうか?
具体的にどんな体験・ユースケースを提供するのか?
シラバスを検索して時間割をつくる。
スバラシのシラバス検索機能で、高速・快適にシラバスを検索できる。
打ち間違いを許容するので、入力する検索クエリの正しさに気を遣いすぎる必要がない。
とりあえず時間割に追加してあとで厳選するという方法も可能。
時間割からその科目が実施される教室の場所を確認できる。
情報をつなげることによる回遊性が実現されていれば、時間割の科目名をクリックしてシラバスを表示させ、シラバスの中の教室名をクリックして地図を表示させ、というような回遊が可能である。
場所の名前から教室の場所を検索できる。
情報をつなげることによる回遊性を利用して目的の情報に辿り着く方法だけでなく、名前を検索して目的の情報に辿り着く方法もある。
自分のサークルの公演を知らせることができる。その内容は時間割などユーザがよく見る画面に表示される。
日時が近い、場所が近いなどの意味でも関連性が高い情報を表示させることで、発信側も受け手側も互いにSNSほど張り付かなくても、最新の情報を入手することができる。
上記のような機能を実現するために必要な機能とは何か?
アプリケーションサーバはコンテンツ管理システムのような実装になりそうである。
様々な種類(シラバス、構内のPOI、サークル活動のイベント、……)の情報の作成、検索、閲覧ができる。
アクセス制御
コンテンツの蓄積、検索
さまざまな種類の情報を柔軟に検索できるようにしたい。
例えば、近い日時にある出来事(授業もイベントも)を同じ画面に表示したいのであれば、情報の種類を横断して検索できるとよい。
アクセス制御
ユーザの認証
システムを使用するクライアントとそのユーザを紐付ける必要があるので、ユーザ認証を設ける。
メール認証を行う。
ユーザのクラス分け
サークル活動のイベントなどの一部の種類の情報は、学生だけが作成できるようになっている必要がある。
組織のクラス分け
セキュリティ対策
APIのレート制限
メールの送信数制御