「Digital General Construction 建設業の“望ましい”未来 」を読みました
はじめに
UI/UXデザイナーに転職して、もうすぐ2ヶ月。
業務にも少しずつ慣れてきましたが、まだまだドメイン知識が足りないと感じています。
転職先の会社は、多くの建設会社で使用されているSaaSを提供しています。
私は以前工務店で、木造の注文住宅のインテリアコーディネーターをしていました。一方、転職先のSaaSのメインターゲットは、RC造の建物を扱うゼネコンの施工管理の方々。
一部重なっている知識はあるものの、施工管理という仕事の全体像が分からないし、そもそも建設業界のこともよく知らないな...と思いました。
そこで、まずは建設業界の歴史や全体像が書かれているこちらの本を読みました。 今回はこの本の感想を書いていきます。
建設業の強みは「プロジェクトマネジメント」だった
第1章では主に建設業界の歴史について書かれていました。
私はインテリアコーディネーター時代に、大工・職人さんが手作業で住宅を建てる現場を見てきました。大工・職人さんへの連絡はメールや電話に加え、FAXを使用していました。
そのため、「建設業界はアナログで、昔から変わらないんだな」という印象を持っていました。
ところが本書では、ゼネコンが生まれた背景として、建設が「生活に欠かせないもの」から「利益を生み出すために工事を請負するもの」へと変化したと書かれていました。さらに、ハウスメーカーが生まれたのは、団塊の世代のための住居の需要が増えたことで「工業化」が進んだためと書かれていました。
建設業界は、実は時代に合わせて柔軟に変化してきた業界だったんだと、私の中で認識が大きく変わりました。
また、筆者はプロローグで「日本の建設業の強みはプロジェクトマネジメント」と述べていました。
最初は「何故技術ではなくプロジェクトマネジメントが強みなんだ?」と思いました。ですが、建設の歴史の中で請負業が開発され、組織として運営する技術を作ってきたと分かり、納得しました。
振り返ってみると、私が勤めていた工務店も自社だけで家を建てていた訳ではありませんでした。家の骨組みを建てる大工さん、設備工事をする電気・水道業者さん、内装工事を手掛ける専門業者さん。これらの方々と請負契約を結ぶことで成り立っていました。
また、建設は工程の後戻りができません。やり直す場合は最悪その場所を壊さないといけないため、大きな損失が出ます。
コーディネーター時代にも検査や現場状況のチェックの重要性を感じていましたが、戸建よりもはるかに規模の大きいビルの建設では、プロジェクトの複雑さや損失のリスクも大きいと思います。
だからこそ、マネジメントが重要なんだなと感じました。
建設業界にとっての建設テックの重要さ
第2章では現在も変化している「建設テック」について書かれていました。
最初に書かれている、建設テックの定義が印象的でした。
建設テックの本書での定義は、「建設業および関連会社で使われる情報技術や付随する革新的な動き」とします。
ITを代表とする多くの最新技術のほか、ビジネスモデルや働く人などもテクノロジーによる革新的な「動き」のことを指します。
私はこれまで建設テックという言葉を「アナログデータをデジタル化し、ツールを使って業務を効率化すること」という意味で捉えていました。 そのため、ツールの導入よるビジネスモデルや働き方の変化も「テック」に含まれるというのは意外でした。
働き方の変化について印象に残っているのが、「写真を画像ファイルではなくデータベースとして活用する」という話です。
私は「ファイルもデータベースもどちらも同じ写真では?」と思いました。
ですが、情報がない画像ファイルの状態だと、ツール内で検索したり、図面と紐付けるといった別データとの連携ができなくなります。
- 画像ファイル:色やサイズといった画像そのものの情報しかない状態
- データベース:画像に「場所・時刻・撮影者」などの情報が付与された状態
デジタル化と聞くと、デジタル上で完結して業務効率化を図ることだと考えてしまっていたのですが、「情報を後から活用できる『資産(データベース)』に変えること」も重要なんだな感じました。
建設会社がメタバース空間の建物を造る!?
第3章では、建設業界の未来の可能性について書かれていました。
この章では「これからの建設業界では、建設会社がメタバース空間の建物を造る」という仮説が展開されており、予想外の発想で驚きました。
ただ、CG技術も大きく発展してきているため、建設会社が建物を造るポジションを担うのは難しいのではないか、と思いました。
メタバースで生活する人が現れるのであれば、設計職なら現実世界での経験が活きると思います。ですが、メタバース空間に建物を造ることは建設会社でなくてもできるのではと思いました。
でも、この発想はとても面白いと思っています。
メタバース空間だとしても、巨大な建物になると関わるクリエイターやエンジニアの数が多くなると思うので、そのような場合は建設プロジェクトのマネジメントをする立場になるのかもしれない、と思いました。
終わりに
この本を読んで、建設業界に対する思い込みを取り除くことができ、良かったです。
- 日本の建設業は複雑な請負構造を実現するために、「プロジェクトマネジメント」が強みになった
- 建設テックは業務効率化だけでなく、ツールを使う人々のビジネスモデルや働き方も変える重要なものだった
私が今携わっているSaaSも、お客様の働き方を変える大事なサービスだと改めて認識できました。
今後も建設業界・現場での仕事に関する本を読み、知識と理解を深めていきたいと思います。
Linux環境で非人間型3Dアバターをオンライン会議で動かした記録④
はじめに
「Linux環境で非人間型3Dアバターオンライン会議で動かした記録」の第4回の記事です。第1回、第2回、第3回はこちらです↓
Linux環境で非人間型3Dアバターをオンライン会議で動かした記録① - Shiina’s blog
Linux環境で非人間型3Dアバターをオンライン会議で動かした記録② - Shiina’s blog
Linux環境で非人間型3Dアバターをオンライン会議で動かした記録③ - Shiina’s blog
今回は、フェイストラッキングツールのセットアップから3Dアバターを会議に動かすまでを行います。

3. フェイストラッキングツールをセットアップする
Webカメラを使用してフェイストラッキングをします。
OpenSeeFaceはLinux環境でも使用できるため、こちらをインストールしていきます。
github.com
私はPythonの知識がなく、OpenSeeFaceのREADMEに記載されている方法を読み解けなかったため、以下のサイトを参考にしながらインストールを行いました。 https://www.reddit.com/r/VirtualYoutubers/comments/vif26h/running_openseeface_on_linux_with_python_310/?tl=ja
まず、「pip」というパッケージ管理システムと「virtualenv」という仮想環境を構築するツールをインストールします。今回はUbuntuを使用しているので、以下のコマンドでインストールしました。
sudo apt-get install python3 python3-pip python3-virtualenv git
GitHubからOpenSeeFaceをクローンします。
git clone https://github.com/emilianavt/OpenSeeFace.git
OpenSeeFaceのディレクトリに移動します。
cd OpenSeeFace
OpenSeeFaceディレクトリで仮想環境を立てます。
仮想環境を立てる理由を調べたところ、OSに入っている既存のPythonライブラリと競合しないようにするためのようです。
source env/bin/activate
仮想環境上で、OpenSeeFaceのREADMEに記載されている以下のコマンド実行して、依存関係のライブラリをインストールします。
python -m pip install onnxruntime opencv-python pillow numpy
これでOpenSeeFaceの準備は終わりました。
以下のコマンドを実行すると、OpenSeeFaceのプログラムが実行されフェイストラッキングが始まります。「11573」はポート番号で、この番号を使ってUnityでデータを受信します。
python facetracker.py -c 0 -p 11573
Webカメラが起動してターミナル上にトラッキングデータが出力されます。頭や体を動かしてみると数値が変動しました。フェイストラッキングはCtrl + cで終了できます。
これでセットアップは完了です。

4. 3Dアバターとフェイストラッキングデータを連携させる
Unityでフェイストラッキングデータを受信する
ここではUnityで作業します。
今回はOpenSeeFaceSampleを使用して、Unityでのフェイストラッキングデータの受信と3Dアバターへの連携を行います。
github.com
OpenSeeFaceSampleの「OpenSeeFace」というディレクトリのみ使用します。このディレクトリをドラッグ&ドロップでAssetに追加します。 その後、「OpenSeeWebcamInfo.cs」は使用しないので削除します。

OpenSeeFaceからフェイストラッキングデータを受信するオブジェクトを作成します。
Hierarchyから空オブジェクトを作成し、「OpenSee」という名前にします。

OpenSeeオブジェクトに「Open See」スクリプトを追加します。これでフェイストラッキングデータが受信できるようになります。
「Liste Address」「Listen Port」には自動的に番号が入ります。また、「Listen Port」に入っている番号はOpenSeeFaceのポート番号と同じです。

3Dアバターを動かす
Hierarchyから「IK target container at head bone position」「Kinematic interpolation」「IK target」という名前の空オブジェクトを作成します。構成は画像のとおりです。

Kinematic interpolationオブジェクトに「Open See Kinematic Interpolation」スクリプトを追加します。

IK targetオブジェクトには「Open See IK Target」「Open See Expression」「Open See VRM Driver」スクリプトを追加し、それぞれ画像のようにスクリプトを割り当てます。
「Open See VRM Driver」では、顎のアニメーション「JawOpen」も設定します。

以上の設定を行うことで、IK target container at head bone positionオブジェクトの軸の原点が3Dアバターが動く起点になります。
そのため、原点を3Dアバターの頭の付け根の高さに設定しておきます。

次に、3Dアバターの頭をIK target container at head bone positionオブジェクトを使用して動かせるように設定します。
Fast IKというアセットを使用して、頭を起点に体が連動して動くようにします。
Fast IK | アニメーション ツール | Unity Asset Store
上記サイトからマイアセットに追加すると、UnityのメニューにあるAsset StoreのMy Assetsに反映されます。 FastIKをAssetsディレクトリに追加します。
3Dアバターの「head」にFastIKの「FastIKFabric」スクリプトを追加します。画像のようにスクリプトを割り当てます。

Unityで再生ボタンを押すと画面がSceneからGameに切り替わり、実際のアバターの動きを確認できます。 OpenSeeFaceを起動した後にUnityで再生してみると、3Dアバターが連携して動きました。
アバターの口の開閉が小さかったので「JawOpen」アニメーションを調整します。
Animation画面の中にある「Animator.Jaw Close」を選択し、Curvesをクリックします。値を上下させて、開閉の大きさを調整します。今回は「0」から「-3」に変更しました。

5. 3Dアバターをオンライン会議ツールで表示する
仮想カメラを設定する
まずは、OBSをインストールします。 obsproject.com
OBSを立ち上げると、初回はAuto-Configuration Wizardが起動するので、「I will only be using the virtual camera」を選んで設定を進めます。
設定が完了できたら「Screen Capture (Pipe Wire)」を選択して、Application WindowからUnityを選択します。これでUnityの画面を読み込むことができます。

Unityの画面は3Dアバターが映っている部分だけを表示したいので、「Edit Transform」で画面サイズを調整します。

「Start Virtual Camera」をクリックすれば、仮想カメラが立ち上がります。
これで仮想カメラの設定は完了です。
オンライン会議ツールで仮想カメラを使用する
オンライン会議ツールを開きます。今回はGoogle Meetを使用しました。
カメラの選択で「OBS Virtual Camera」を選び、カメラをONにします。

すると、3Dアバターが表示されました!
他にも、ZoomとRemoで3Dアバターを動かせることが確認できました。

おわりに
今回はLinux環境で使うということもあり、必要なツールが多くて大変でした。
例えばmacOSであれば、OpenSeeFace・Unity・OBSを立ち上げなくても「Vcam」というツール1つでアバターを動かすことができます。
vcamapp.com
ですが、自身で調べながらなんとか設定し、アバターが動いた時は本当に嬉しかったです! また、OSを問わずアバターを動かすために必要なツールや、知識を身につけられたのでとても良かったです。
パートナーにも無事喜んでもらい、制作して良かったな〜と思いました!
Linux環境で非人間型3Dアバターをオンライン会議で動かした記録③
はじめに
「Linux環境で非人間型3Dアバターオンライン会議で動かした記録」の第3回の記事です。第1回、第2回はこちらです↓
Linux環境で非人間型3Dアバターをオンライン会議で動かした記録① - Shiina’s blog
Linux環境で非人間型3Dアバターをオンライン会議で動かした記録② - Shiina’s blog
今回は、3Dモデルをアバターにするための変換作業を行います。

2. 3Dモデルを動く3Dアバターにする
今回VRM形式への書き出しはBlenderではなくUnityで行いました。
Blenderの「VRM Add-on for Blender」を使ってVRM形式で書き出しても、フェイストラッキングと連動させてモデルを動かすことができなかったためです。
原因は推測ですが、手足のボーンにウェイトがついてなかったり、ボーンがモデルから飛び出ているために、適切に認識できなかったのかもしれません。
そこで、Unityを使用して各部位のボーンが正しく認識できているかを確認してから書き出すことにしました。
Unityにモデルを読み込む
Unityで3Dモデルを読み込めるようにするため、BlenderではFBX形式で書き出します。 書き出しの手順については、こちらの動画を参考にしました。 www.youtube.com
ここからはUnityで作業します。まずは作業場所である新規プロジェクトを作成します。Unity HubからNew Projectを選択し、3D(Built-In Render Pipeline)というテンプレートを使用します。

プロジェクトが立ち上がったら、3DモデルをVRM形式に変換する過程でデータが増えるので、先に作業ディレクトリをAssetsに作成します。

作業フォルダにFBX形式の3Dモデルを追加します。その際にモデルで使用しているテクスチャも併せて追加します。こうすることで、3Dモデルにテクスチャが反映されます。

Hierarchyに追加して確認します。これでモデルの読み込みが終わりました。

VRM形式に書き出すための設定をする
Unityの標準機能では3DモデルをVRM形式に変換できないため、「uniVRM」というプラグインをAssetsに追加します。
バージョンがv0.130.0のVRM 0.x版をダウンロードしました。
github.com

読み込んだFBX形式のモデルもそのままではVRM形式に変換できないので、MaterialとRigを設定していきます。
まずはRigを設定します。ここでは「Humanoid」を選択します。

ここで「Configure...」から、設定したボーンが体の部位に割り当てられているかを確認しました。また、今回は顎のボーンを新しく追加しているので、こちらも割り当てられているかを確認しました。
全て緑になっていれば大丈夫です。

また、モデルを「Muscles & Settings」で動かし、実際の動きを確認します。
これでRigは設定は完了です。

次にMaterialを設定します。
「Extract Materials」を選択して保存場所を作業ディレクトリに指定します。保存するとマテリアルが作成されます。

作成されたマテリアルを全選択して、Shaderを「Mtoon」に変更します。3Dアバターでよく使用される質感で、見た目がよりアバターっぽくなります。また、Outlineで「WorldCoordinates」を選ぶと輪郭を出すこともでき、こちらも設定しました。

最終的にこのような見た目になりました。これでMaterialの設定も完了です。

モデルをVRM形式に書き出す
設定が終わったので、次は作業ファイルにVRM形式のモデルを格納するディレクトリを作成してから書き出します。
VRM形式に書き出した際にデータが複数作成されるので、データが分散しないようにするためです。

設定画面が出るので、「Tumbnail」「Title」「Version」「Author」の4つを記載すると書き出すことができます。

ExportをクリックするとHierarchyにVRM形式でモデルが書き出されます。FBX形式のモデルは使用しないので、Hierarchyから削除します。
これで3DモデルがVRM形式の3Dアバターになりました!

おわりに
今回がセットアップ全体を通して一番大変な工程でした。
最初はBlenderからモデルをVRM形式で出力しても動かすことができず、原因も分からずでかなり困りました。
調べてみた結果、Unityを使えばボーンの割り当てをチェックができることが分かりました。試してみると、ボーンの左足が割り当てられていなかったです。
視覚的に不足している部分を確認できるのはありがたいですね。今後もモデルをVRM形式にする際はUnityを使用しようと思います。
これで3Dアバターが完成しました!
次回は、フェイストラッキングツールのセットアップから、アバターをオンライン会議で動かすまでの手順を書いていきます。
Linux環境で非人間型3Dアバターをオンライン会議で動かした記録②
はじめに
「Linux環境で非人間型3Dアバターオンライン会議で動かした記録」の第2回の記事です。前回はこちらです↓
Linux環境で非人間型3Dアバターをオンライン会議で動かした記録① - Shiina’s blog
今回はアバターにするための準備として、Blenderで作成した3Dモデルにアーマチュアとウェイトを追加します。

1. 3Dモデルにボーンを設定する
アーマチュアの追加
VRM Add-on for Blenderを使用して、3Dモデルにアーマチュアを追加します。
vrm-addon-for-blender.info
VRM形式は人型のアバターに特化したファイル形式なので、体の部位に対応するボーンが割り当てられていないと書き出せません。そこで、必要なボーンが揃っているこのアドオンの人型アーマチュアを使用します。
ボーンはUnityでも設定できるようですが、私はBlenderの方が使い慣れているのでこのアドオンで設定しました。

アーマチュアを調整する
VRM形式で出力するための必須ボーンは以下です。これ以外のボーンは不要なのでアーマチュアから削除します。

今回は頭と上半身のみ動かしたいので、「Head」「Neck」「Chest」がモデル内に収まるようにサイズを調整します。
ここで親子関連を確認します。ボーンの順番はIK(Inverse Kinematics)で、頭を動かして体は固定するため、親子関係は「Chest→Neck→Head」になります。
手足のボーンは必須なので残しますが、今回は使用しないので小さくして視界の邪魔にならないようにします。
また、顔は顎だけ動かしたいので、ボーン(Jaw)を追加します。
ここもモデルに合わせてサイズや角度、位置を調整し、親をHeadにして関連付けします。

最終的にアーマチュアは以下のような形になりました。

ウェイトを追加する
ボーンの動きに合わせてモデルを動かすために、ウェイトを追加していきます。
まずはモデルとアーマチュアに親子関係をつけます。「With Empty Groups」を選択し、ウェイトをつけずに親子関係にします。
選択後、ボーンと同じ名前の頂点グループがモデルに作成されます。

モデルを選択してWeight Paintに入ります。
今回は「Head」「Jaw」「Neck」「Chest」を動かしたいので、各ボーンに対応する頂点グループを選び、モデルを動かしたい範囲のウェイトを塗ります。それ以外の部位は動かさないのでウェイトはつけませんでした。

塗り終わったら、Cleanを使います。私は公式の例と同様に、値を0.2にしました。
今回のように手動でウェイト範囲を指定した場合、視認できない不要なウェイトが残ってしまうことがあります。モデルが崩れる原因になるので、削除のため使いました。
docs.blender.org

最後にモデルの動きを確認します。
アーマチュアを選択してPose Modeに入り、ボーンを動かしてみると、ウェイトを塗った範囲でモデルが動くようになりました。

おわりに
今回大変だったのは、ウェイトを塗る工程でした。
最初はどれだけの範囲が必要か分からず、「With Automatic Weights」を選択して自動でウェイトをつけてみました。すると、全ての頂点グループにウェイトがつき、不要なウェイトを手動で削除することになってしまいました。
さらに、この状態でVRM形式で書き出してUnityで動きを確認してみたところ、モデルが崩れてしまいました。

当時はCleanの存在も知らなかったので、原因が分からないまま消しては確認するという作業を繰り返し、かなり時間がかかりました。
今回の経験から、モデルを部分的にしか動かさない場合は最初から「With Empty Groups」を選択し、自分で必要な箇所だけウェイトをつけるようにしたいと思います。
これでボーンの設定が完了しました!
次回は、3Dモデルを動く3Dアバターにするための手順を書いていきます。
Linux環境で非人間型3Dアバターをオンライン会議で動かした記録①
はじめに
パートナーがアイコンとして使用している、ウツボの3Dモデル。

「これをアバターとしてオンライン会議で使いたい」とお願いされたので、3Dアバター制作にチャレンジしました。Linux環境で動かしたいとのことだったので、今回はLinux環境でセットアップしました。
作業は大変でしたがとてもいい経験になったので、備忘録としてまとめます。
PC環境と使用ツール
PC環境
使用ツール
- モデリング: Blender 4.5.3
- フェイストラッキング: OpenSeeFace
- コミットハッシュ値dee5bb7をクローン(バージョンが付いていなかったので、ハッシュ値を記載します)
- https://github.com/emilianavt/OpenSeeFace
- 3DモデルのVRM形式への変換・VRMとフェイストラッキングの連携: Unity 6000.2.0f1
- 配信ソフト(仮想カメラ機能のみ使用): OBS (Open Broadcaster Software) 31.1.2
各ツールの役割
3Dアバターをオンライン会議ツール(Google Meetなど)で使用するには、以下の図のようにツールを連携させます。

まずOpenSeeFaceがWebカメラ映像から表情や顔の向きをトラッキング(追跡)してその結果をデータとして出力します。
次にUnityでトラッキングデータを受信して3Dアバターと連携させます。この時点でUnityで映像を再生すると、表情や顔の向きに合わせて3Dアバターが動きます。
ただ、このままでは3Dアバターをオンライン会議ツールで認識できません。
そこで、OBSを使ってUnityの画面を取り込み、仮想カメラのデータとして出力します。こうすることで、オンライン会議ツールでカメラとして認識され、3Dアバターを表示することができます。
各ツールのセットアップの流れ
以下の手順に沿ってセットアップしました。

次回からは、この手順を3回に分けて書いていきます。
Linux環境で非人間型3Dアバターをオンライン会議で動かした記録②
1. 3Dモデルにボーンを設定する
Linux環境で非人間型3Dアバターをオンライン会議で動かした記録③
2. 3Dモデルを動く3Dアバターにする
Linux環境で非人間型3Dアバターをオンライン会議で動かした記録④
3. フェイストラッキングツールの設定
4. 3Dアバターとフェイストラッキングを連携させる
5. 3Dアバターをオンライン会議ツールで表示する
One Phrase UI: AI時代のUIは、何を託されるのか - Plowing: AI UXに参加しました
One Phrase UI: AI時代のUIは、何を託されるのか - Plowing: AI UXに参加しました。
デザインイベントへのオフライン参加は何度かしましたが、交流会は今回が初めてで、とても緊張しました。ですが、実際参加してみるととても面白く、学びの多い時間でした!
セッションの印象
今回は登壇者の皆さんがそれぞれのOne Phraseを提示し、そのテーマについてお三方で議論を深める形式でした。とてもライブ感があり、プレゼンをただ聞くのとは違い、話題が広がっていくのが新鮮で面白かったです。
その中で特に印象に残ったのは、宮田さんのOne Phrase「生成AIのベストUIは本当にChatなのか?」です。
私も過去に問い合わせページでChat型AIと会話しても聞きたいことに辿り着けずもどかしさを感じた経験があったので、この問いには共感しました。
宮田さんも挙げられていたように、AIとユーザーの双方が相手へ情報を渡すことができないのがチャット型AIの難しい所だなと思いました。もしAI側がユーザーを理解しようとすると、ユーザーの考えを推察する必要が出てきてしまう。そうするとAIの更なる発展が必要なので、現時点での最適解ではないのかも、と思いました。
ではどんなUIがいいのか?はまだ自分も思いつけていないので、今後のUIデザインの勉強テーマとしてまた考えてみたいと思います。
交流会の感想
初参加で緊張していましたが、参加者の方から話しかけていただいたり、登壇者の方々と気さくに議論されているのをみて、皆さんの距離の近さに驚きました。さまざまな会社の取り組みや、登壇者のこれまでの事業の話、AI を組織にどう浸透させているかといった話題をうかがえて、とても刺激的でした!
正直に言うと、分からない部分も多かったです。ですが、過去にも同じ感覚になったことがありました。
インテリアコーディネーターになってすぐに建材メーカーのイベントに参加した際に、上司とメーカーの会話の内容がほとんど理解できませんでした。ですが1年ほど仕事を続けると、各メーカーの扱う商品や強みなのかが分かるようになり、イベントに参加したときにメーカーに具体的な質問ができるようになりました。
今回も同様に、まずは分からないなりに話を聞くことから始め、今後もイベントに参加して知識を広げていきたいと感じました。
おわりに
交流会は「一人になっても慣れることから始めてみよう」と覚悟して臨みましたが、予想以上に多くの方のお話を伺うことができ、とてもありがたかったです。
お話しいただいた方々、本当にありがとうございました。
次にイベント参加する時は、自分の中に「問い」を立てて、登壇者や参加者の方々とお話したいと思います!
自分のために感情日記アプリをつくることにした①
転職活動を進める中で、UIUXのスキルはどちらもまだ足りていないと感じていて、練習できる題材を探していた。そんな時にふと「あえて自分のためにデザインを作ってみるのはどうかな?」と思った。
デザインはサービスを使うユーザーのためにあるので、デザインは自分の思い込みで作るべきではないのは分かっている。
でも、自分自身のためのデザインなら、自分の悩みを深掘りして検証するサイクルを自分で体験できると思い、面白そうだと思った。
そこで、私が今抱えている「日記を習慣化したい」という悩みに応えるため、日記アプリを作ろうと考えた。
日記アプリを使う時の仮説を立ててみる
この時点ではNotionでフォーマットを作って日記を書いていたが、2週間ほどしか続かなかった。そこでまずは日記に対する不満と不満が無くなった理想の状態をざっくり書き出し、仮説を立ててみた。

また、既存の日記アプリをいくつか調査して、日記の基本機能を知った状態で一旦基本のUIを作成してみた。 けど、「結局このアプリで何を解決したいのか?」が分からない状況になってしまった。
今振り返ると、なんとなく不満だと思っているだけでは課題がまだ抽象的で、自分が本当に困っていることが具体的に見えていなかったからだった。
ワークショップで得た気づき
そんな時、たまたまUXリサーチのワークショップに参加する機会があった。
インタビューのサンプル動画を見ながら情報をメモするという内容で、その中でのインタビュー方法がとても参考になったのでメモしておく。
- インタビュアー:インタビューを行う人
インタビュイー:インタビューされる人
インタビュアーがインタビュイーの話に「関心がある」というリアクションをすると、インタビュイーはホーソン効果というバイアスにかかってその人自身の回答ができなくなるため、関心がある素振りは見せずに「なぜか?」と問うことに集中すること
- ホーソン効果:他者から注目が集まったときに、期待に応えようとして行動を変えること。ここでは、インタビュアーの期待している回答をインタビュイーが想像して答えてしまうこと
- インタビュイーの話が質問から脱線しても中断しないこと。インタビュイーにとっては話している内容は質問に対して大事な情報なので、傾聴すること
私も過去に自主制作のデザイン制作でインタビューをしたことがあるけど、インタビュイーの話に関心を持ったリアクションしてしまっていて、これが誘導になるのは驚きだった。
リアクションがないとインタビュイーはあまり話してくれないのではと思ったが、サンプル動画ではインタビュアーがリアクションせずに傾聴して質問するだけでも、インタビュイーは熱心に答えていたので、そのやり方でも問題ないことを実感した。
このワークショップを通じて、「セルフインタビューしてみれば自分の課題が見つかるのでは?」と思いつき、実際にセルフインタビューをやってみることにした。
セルフインタビューで見えた「自分の課題」
話すより書く方が言葉にしやすかったので、紙に質問と回答を書く方式を取った。
そうすると意外にも話が逸れてしまって面白かった。逸れた内容も大事な情報だからと思って自身の言葉に傾聴した。
また、インタビュー中は自分の回答を分析しないことも意識した。分析しながらインタビューをしてしまうと、インタビュイー自身もバイアスがかかって誘導してしまうとワークショップで学んだため。
回答の分析はインタビューが終えてから行った。
その結果、私のニーズは、日記を書くことを習慣化したいのではなく、日記を書くことで感情を言語化する練習がしたいことが分かった。
また、言語化を練習するために日記を書く上での、自分の課題も見えてきた。
- 一日の感情を振り返るとプラスやマイナスの感情の起伏が平均化されて全て「普通」になり、具体的に書けない
- 「普通」の感情が並んでいると一覧で見返したときに面白くなくて、やる気を無くす
- 感情を「楽しい」や「悲しい」といった単語で表すと、自分の感情に当てはまっている感覚がなくモヤモヤする
振り返ってみると、最初の時点で書き出していた不満の中に「感情を決めるのが難しい」と書いていて、ここが自分の本当の悩みだったのに分かっていなかったんだなと気づいた。
感情を言語化するためのアイデア
出てきた課題をもとに、「自分の感情を具体的に言葉にするにはどうしたらよいか?」を考え、以下のようなアイデアが思いついた。
- 一日の感情を平均化するのではなく、感情の起伏があったことを書く
- 感情を文章として自由に記入した後、単語に当てはめる
- 感情のジャーニーマップを作る
今後の取り組み
「感情を文章として自由に記入した後、単語に当てはめること」は既存の日記でもできる手法だったので、いきなりアプリは作らずにNotionの日記で一旦試してみることにした。
この結果をもとに、実際にアプリを作るか考えたいと思っているが、UIデザインの練習もしたいので、アプリを作る必要がなくてもUIデザインを作ることはやりたいと思う。