見出し画像

カレンダーのためのインターフェイス考察 設計思想編

こちらは「Timelab Advent Calendar 2023」5日目のアーティクルです。
現在私は本業とは別に株式会社タイムラボさんにてカレンダーソフトウェアの設計と開発に携わっています。その過程で考えた、ソフトウェアでのカレンダーインターフェイスに関する考察を簡単に書き起こしてみたいと思います。このあたりはきっとカレンダーを作る際の設計思想として根付いてくるものなので、仮にそれが世の中に発信するほどのものではないにしろ、言葉に起こすことは大切であろうと考え、筆を執りました。

Timelab Advent Calendar 2023


時間管理のための作業に時間が浪費されることを無くしたい

カレンダーやタスクリストといったツール系のソフトウェアは、私たちの予定や時間などを適切にかつ効率的に管理する目的で使われる道具です。しかし、時には私たちユーザーがツールのぎこちない挙動によって振り回されてしまうこともしばしばあるように思います。たとえばある予定を立てようとする場面では、時間入力のためのUI操作に手間が生じてしまったり、他の情報を参照する目的等で、入力最中の情報を一旦破棄した上でビュー切り替え操作をして、また始めから入力し直す、みたいなことです。ソフトウェアが“なめらか”に動くように設計されていないと、このようなことになりがちです。これは結果的にユーザーに負荷を与えてしまっているように思います。

カレンダーを使うユーザーの行動目的を分析してみると、すでに埋まっている予定を直接確認したい用途があるのと同時に、逆に予定が空いているところを見極める用途もあるようです。仮に「予定あり」ベースのインタラクションのみを想定してカレンダーを設計してしまうと、そのUIは予定のない部分をうまく表現しきれず、そこに注目したい用途に対応できなくなります。

時間というものはすべての人々が例外なく平等に使えるリソースだと考えると、時間軸の扱いやスケール度合いなどは概ね一定のパターンに集約できそうだし、それらはどれも似たようなUIで表現可能です。あとは想定されるユーザーのユースケースにうまく対応できていれば、少なくともカレンダーとしての表現を間違うことはないだろうと考えています。

このようなカレンダーのUIを問い直す活動は、今までなんとなく受けれてしまっていたカレンダーにまつわる「煩わしさ」と向き合うことにつながるので、とても有意義なことだと思います。

今携わっている仕事では、タイムラボCEOの保積さん (@hozumix_jp) やソフトウェアデザイナーの貫井さん (@NobtakaJP) たち面々と「時間をどう表現するのか」の議論や制作を日々行なっており、私としてはカレンダーソフトウェアとそのUIにまつわる課題を“より、なめらかに美しく”解決することに励んでいます。

メディア的なソフトウェア vs. ツール的なソフトウェア

私はソフトウェアデザインの初期段階によく「メディア的なソフトウェア」「ツール的なソフトウェア」という区別でコンセプト立てを行うのですが、これらの違いを意識できると、そのソフトウェアの方向性をはっきりと示しやすくなります。
(もちろん、これら2つに分類しきれないタイプのソフトウェアもあります)

メディア的なソフトウェア

メディア的というのは、ソフトウェアが情報送受信の手段として振る舞う性質を言います。メディア的なソフトウェアはコンテンツが主体になるため、サービスやデジタルコンテンツをユーザーに届ける用途に適しています。特にモバイルアプリケーションやWebはメディア的なソフトウェアをうまく扱いやすいプラットフォームです。

ツール的なソフトウェア

ツール的というのは、ソフトウェアが直接道具として振る舞う性質を言います。ツール的なソフトウェアとは昔からあるような道具として作られたソフトウェアのことで、小さな規模では計算機とかウィジェット、テキストエディタ、大きな規模ではグラフィックツールとかノンリニア編集ソフトウェアなどが該当します。ソフトウェアの主目的が何かのコンテンツをユーザーに消費してもらうことではなく、ユーザーが直接デジタルコンテンツの制作や編集をしてもらうことをコンセプトに掲げているものになります。

ハイブリッドなソフトウェア

中にはメディア的でありながら一部にはツール的な性質を併せ持ったソフトウェアもあります。例えばSNSクライアントアプリケーションは、基本の構えはメディアですが、投稿行為や何かユーザーがアクションをする場面に必要なUIはツール的に振る舞うこともあります。特に投稿をカスタマイズするような機能が充実しているものでは、その編集UIだけ特にツール的に振る舞ったりもします。

現実にはこれらの塩梅をどうバランスを取って設計するか、というところにデザイナーは頭を使うかと思います。そこは製品のコンセプトや事業戦略によって変わる部分なので、一概にどういうバランス感が優れているのかとはなかなか言い切れません。

Webやモバイルだとどうしても「メディア」に寄る

IT業界でクライアントワーク的な仕事をしていると、モバイルアプリケーションやWebアプリケーション、Webサイトの設計開発の案件が多いのですが、やっぱりどうしてもメディア的な性質に寄ったソフトウェアが多くなりがちです。ツール的なソフトウェアの仕事が一切ないわけではないのですが、仕事を通じた経験だけだとどうしてもメディアタイプに偏ってしまう感覚があります。

市場に目を向けると、昨今はSaaSブームなのでWebプラットフォームでもツール的なソフトウェアを作る機会が増えてきています。過去に私が携わったSaaS系Webアプリケーションの案件では、まずこのソフトウェアは単なるWebサイトではなく、Webブラウザで操作できるデスクトップアプリケーションであるため、振る舞い方はツール的なソフトウェアに寄る、とコンセプトを立てました。この設計思想があったおかげで、その後のさまざまな設計工程でこのことに振り返ることができ、いわゆる「Webサイトっぽい表現」を過剰に盛り込まずに済みました。

Webサイトっぽい表現とは、例えばフッターにいちいちサイトマップを設置するとか、「トップへ戻る」アクションだとかのパターンです。ああいったものはWebサイトの文脈で培われたパターンなので、デスクトップアプリケーションとしての文脈では場違いになりやすいものです。

このような発想に基づいて、じゃあカレンダーソフトウェアの場合ではどうでしょうかと考えてみると、やっぱりそれはメディアではなくツール的な性質を有するものだと思うし、そのことを意識することが大切なんじゃないかな、と思うわけです。

UIが主役

Timelabは複数のサービスやドメイン(仕事やプライベートなど)に跨るカレンダー情報を一つに集約し、プライバシーに配慮しながら同期できるソフトウェア・サービスです。今までは他のドメインに確保された予定を示すために手動で「ブロック予定」といったような設定を行なっていたと思いますが、そのようなイベントもうまく連携してくれます。

Timelabが良いのは、まったく新しいカレンダーソフトウェアで既存のカレンダーを置き換えます、というよりかは、今までの環境はそのままに、縁の下で賢く動いてくれるカレンダーの管理士、のようなイメージで振る舞ってくれるところです。今愛用しているMacやiOSのカレンダーでも、WindowsやGoogleのカレンダーでも、そのまま使いながら裏で連携できる点が魅力です。

ところで、カレンダーソフトウェアは2023年になっても雨後の筍のように常に新しいアイディアが提案されています。少し前からはCronが界隈で流行っている雰囲気がありますし、近頃はAmieが英語圏中心に「UIがクール」だと話題です。いずれもUIの魅力を全面に推しておりライバルでもありますが、もちろん私たちのデザインも同じようにイケてるUIに仕立て上げたいと考えています。

「イベント」では扱いきれない曖昧な情報

既存の有名カレンダーソフトウェアの多くは、基本的にはイベント単位でタイムラインにマッピングする表現を採用しています。確かにこれで時間や予定の管理の多くは十分なのですが、中には「なんとなく決まっているんだけど、具体的にはまだ時間が確定していない」イベントとか、「時間も厳密に決まっているんだけども、自分にとってはこの日が丸ごと『そのイベントの日』である」みたいな状況がちらほらあるんじゃないかと考えています。それらは終日イベントにするには特徴的すぎるか曖昧すぎて、かといって具体的な時間を設定しようにも、開始時間と終了時間をいちいち決めなければならないのは、少々手間で面倒です。

例えば旅行の日程を考えてみると、飛行機や新幹線、宿のチェックイン日時まで厳密に決まっていることが多いのですが、でも当事者にとってはそれらの日々が丸ごと「旅行の日々」と認識されると思います。一方で飛行機や新幹線の時間は「旅行」とは別に独立したイベントを登録する方が関連情報を扱いやすく、理に適っています。終日を活用する発想もありますが、何かもう少しいい感じに表現できないものかとアイディアを検討できそうです。

これらの間にある不思議なギャップを捉えてみることにデザインの意義がありそうです。カレンダーでは時間に厳密なことも大切なのですが、同時に“あいまいさ”をうまくUIで受け止められる仕組みも考えてみたいです。

参考:

フォームファクタとデザイン言語でインタラクションの形が変わる

ソフトウェアを作る立場上、プラットフォーム特性というものをどうしても考えざるを得ません。どのプラットフォームを狙うのかということなんですが、どこであれ、プラットフォームが想定している使われ方というものをきちんと見極める必要があります。

iOSとAndroidはモバイルプラットフォームの代表ですが、同じ「モバイル」の括りでも両者には設計思想の違いがあります。単に画面の大きさとかビジュアルスタイルとか、あるいは特定機能の有無だとかにとどまらず、そもそもユーザーとそれらのデバイスとが普段どのように関わっているのかをデザイナーが適切に理解してデザインしなければなりません。

同じように、「デスクトップ」の括りでもWeb(ブラウザ)とmacOSネイティブとWindowsネイティブでは、そもそもアプリケーションの作られ方、使われ方、設計思想の違いがあるため、完全に同じ思想で作ることはできません。デスクトップとモバイルの関係なら尚更です。あるデスクトップOS向けのカレンダーソフトウェアをそのまま画面サイズだけ縮小してiPhoneやApple Watchに持ってきても、そもそも片手の中や腕の上の小さな画面でデスクトップ的なインタラクションが通用するのかというと、そうではないだろうと強く言えます。操作方法も全然違います。

Apple WatchでQuakeをプレイする様子。できてるけど快適とは言い難い……。
https://gizmodo.com/play-quake-apple-watch-port-series-5-8-ultra-doom-fps-i-1849510303

デスクトップならではの振る舞い方、モバイルならではの振る舞い方、さらにはそれぞれのOSごとのルール、慣習、ルック&フィール。そういったデザイン言語をきちんと理解し適切にデザインすることによって、理想的なインタラクションを実現できるのだと思います。

ウインドウの枠にとらわれない発想

特にデスクトップでUIを考えていくと、ここではウインドウを飛び越えて自由な活動を行える世界が広がっています。ネイティブアプリケーションはアプリケーション内に閉じず、ウインドウからウインドウへ情報を移動させたり、並び替えたり、あるいは隠したり表示したりがとても自由に行えるのが魅力です。同じデスクトップ環境でも、Webベースではどうしても「ブラウザの枠」にとらわれてしまうため、ネイティブほどのウインドウ表現の自由さは実現しにくいように思います。

モバイルでは例えネイティブであっても、OSのデザインと制約により、アプリケーション間、ウインドウ間の情報移動には強く制約がかかってしまいます。でもデスクトップには元々自由なウインドウ表現ができる仕組みが備わっているわけですから、自由な発想で振る舞いを考えてみたいものです。

せっかく「なめらかで美しいUI」を考えるのであれば、ネイティブUIのポテンシャルを最大限に活かせるような仕組みを作ってみたいです。

ビューの切り替え行為に伴う「認知の途切れ」現象をうまく解決したい

カレンダーの月表示、週表示、日表示といったようなビューの切り替えの仕組みをよく議論するのですが、AppleのカレンダーやGoogle Calendarなど有名どころでは、それらは全く別のビューとして個別に実装し、タブなどのスイッチコントロールを使って切り替えられる仕組みを用意しています。機能的にはこれで十分な気もするのですが、実際のところこれが使いやすいのかどうか、という問いかけが必要です。要するにビューの切り替え時にある種の認知の途切れが生じてしまい、前のビューと今のビューとで、概念的には同じ情報を扱っているのだけれども、表現が瞬時に変化してしまうので、ユーザーがその差異を理解し受け入れるには負荷が大きいのではないか、という疑問です。

私たちが考えるところでは、時間というものは基本的に同じ単位で平等に存在するものだから、時間軸上にあるものは似たように見えるものなんじゃないか、しかもスケール値は表示範囲の縮尺でしかないので、ソフトウェアなのだから物理に縛られる必要もないのでは、という仮説があります。扱うスケールをダイナミックにすれば既存のカレンダーの使用で感じてしまう「認知の途切れ」的なものをうまく解消できるのではないかと考えています。キーワードはZUIです。まだ詳しくは明かせませんが、公にできるものが作れた頃にまた何かしらの発表ができたらいいなと考えています。

まだアイディアとプロトタイピングを行っている段階なので具現化はこれからなのですが、ここいらは時間をかけて表現を探っていきたいと思います。


この記事が気に入ったらサポートをしてみませんか?