2026年11月11日
自社製グループウェア「Ulala Hub」の開発ストーリー、5回目です。グループウェアの中心は予定表です。見た目は単純なカレンダーですが、データをどんな形で持つかで、できることと使い勝手が決まります。
予定の最小単位は「社員 × 日付 × 勤務状態」
1件の予定は、「誰が」「いつ」「どんな状態か」の3つを必ず持ちます。勤務状態は、出社、在宅、外出、休みなどです。開始と終了の時刻、予定の内容、備考は、入れても入れなくてもかまいません。
時刻を必須にしなかったのは、「今日は在宅」「今日は休み」のように、時刻のない予定が実際には一番多いからです。1日に入れられる予定の数に上限はありません。午前は外出、午後は在宅、という日も、2件入れるだけです。
勤務状態は会社が自分で決める
「出社・在宅・休み」で足りる会社もあれば、「現場」「夜勤」「研修」が要る会社もあります。勤務状態は、会社ごとに管理画面で追加・並べ替え・色の指定ができます。色を指定しなかった場合は、あらかじめ用意した12色から自動で割り当てます。色を決めるのが面倒で設定が進まない、ということを避けるためです。
複数人の予定は「1件に参加者を付ける」
会議のように複数人で同じ予定を持つとき、やり方は2つあります。
- 人数分の予定を複製する。
- 予定は1件のまま、参加者を付ける。
Ulala Hub は後者です。予定は1件で、参加者全員のカレンダーに表示されます。複製する方式だと、時刻が変わったときに全員分を直す必要があり、直し忘れで食い違いが出ます。1件しか無ければ、直すのも1か所です。
予定を作れるのは本人だけ、という決めごと(第1回)とも合います。作った本人の予定に、ほかの人が参加者として付く形です。
「期間でまとめて登録」は、日ごとの予定を束ねる
3日間の出張、1週間の休み。こうした予定を1日ずつ入れるのは手間なので、期間を指定してまとめて登録できるようにしました。
ここでも持ち方は2つ考えられます。「開始日と終了日を持つ1件の予定」にするか、「日ごとの予定を複数作る」か。選んだのは後者で、日ごとに1件ずつ作り、同じ「束の印」を付けています。
理由は、あとから直すときの自由度です。5日間の出張のうち3日目だけ在宅になった、ということは普通に起こります。日ごとに分かれていれば、その1日だけを直せます。束の印があるので、全部をまとめて直すこともできます。1件にまとめる方式だと、途中の1日だけを変えるには、予定を分割する処理が必要になります。
社員の登録は1か所だけ
ログインするための「利用者」と、予定表に名前が出る「社員」は、データとしては別のものです。ただ、別々に登録させると、利用者はいるのに社員がいない、といった食い違いが必ず起きます。
そこで、利用者を作ると社員が自動でできるようにしました。社員だけを直接追加する画面は用意していません。入口を1つにすれば、食い違いは起きません。
まわりの機能も「毎日の実際」に合わせる
- 電話の伝言メモ:保存すると、宛先の人にメールで知らせます。メールの送信に失敗しても、メモそのものは必ず保存します。通知は補助で、記録が本体だからです。既読にできるのは、宛先の本人だけです。
- 社内文書:ファイルは「版」で持ちます。新しいファイルを上げると版の番号が自動で1つ増え、前の版も残ります。「最新はどれか」「前はどうだったか」が分かります。
- 天気:社員ごとに地点を設定できます。天気のデータは、表示のたびに取りに行かず、いったん保存したものを使います。外部のデータが一時的に取れなくても、画面全体が遅くなったり止まったりしないようにするためです。
まとめ
データの形を決めるとき、基準にしたのは「あとで直すときに困らないか」でした。予定は必ず変わります。入力のしやすさだけで形を決めると、変更のたびに無理が出ます。直しやすい形で持っておくことが、結果として毎日使われる予定表につながると考えています。


