Jazzと読書の日々

iPadを筆記具として使う方法を模索します

Obsidian Boxes は触覚誘発型デザインを目指す

Scrapbox風のホームページを作るスクリプト。 今はサイドパネルに格納しています。 「検索できるファイル履歴」という感じで、よく使う。

ただ、スタイルが反映しない場合が多いので書き換えました。

Boxes.md

検索対象を x.path にしたのでフォルダでの絞り込みもできます。 たとえば検索欄に「Inbox/」と入れればInboxフォルダのファイルを一覧表示します。

```dataviewjs
s = "background:ivory;width:120px;height:112px;border:1px solid #eee;padding:3px;border-top:8px solid gold;border-radius:3px;margin:3px;overflow:hidden;float:left;"

const p = dv.el("input")
p.placeholder = "..."
p.style = "font-size:18px;background:whitesmoke;"
const btn = dv.el("button","+")
btn.style = "font-size:14px;"
dv.paragraph("---")
const b = dv.el("div","")
b.style = "font-size:small;font-weight:bold;height:6000px;"
disp()

p.onkeyup = function(){
  disp()
}

btn.onclick = function(){
  open("obsidian://new?file=" + encodeURI(p.value))
}

function disp(){
  d = dv.pages('').file
  .filter(x => x.path.includes(p.value))
  .sort(x => x.mtime, "desc")
  .limit(120)
  .map(x => "<a style='" + s + "' href=obsidian://open?file=" + encodeURI(x.path) + "> " + x.name + "</a>")
  b.innerHTML = d.join("")
}
```

表示数を120まで増やしました。

dv.pages('') のところを dv.pages('"Inbox"')にするとInboxフォルダだけを検索対象にします。 OR で繋ぐとフォルダを増やせます。

インポートの仕方

下記リンクをタップするとObsidianが起動し、Boxes.mdというファイルをルートに作ります。 これをブックマークしたり、左サイドパネルにドラッグしたりして、お使いください。 タブを長押しして「ピン」を忘れずに。

Import Obsidian: Boxes

使い方

プレビューすると履歴がカード形式で表示されます。 タップすると、そのファイルを開きます。 検索欄にキーワードを入れるとファイルを絞り込みます。

「+」をタップすると新規作成になります。

ファイル履歴

History.mdで考えたスクリプト。 考えてみるとDraftPadがこれでした。 「ファイル」を見せないヒストリー。 Scrapboxのホーム画面もその発想に基づいています。

通常のファイル管理と何が違うのか。 何も違いはありません。 修正日順に並んでいるだけです。 平面に展開する。 でもそのことで「最近触れた」という触覚が現れます。 この触覚を物質化したのが「カード」ではないでしょうか。

たとえばカレンダーはそうしたデザインです。 ガンチャートのような線型性ではありません。 曜日が周期し、螺旋を描きながら下降していく。 時間がくるくる渦巻く。 かき混ぜるような運動感覚。 ここに導入されているのが触覚です。

畳に並べられたカルタも接触を求めてきます。 ホーム画面に並ぶアイコンも。 視覚や聴覚は距離を置きますが、触覚は距離をゼロにします。 触れることのアフォーダンスを持っている。 一つずつが「ボタン」になる。

たぶんそれがリストとの違いだろうと思います。 リストは行動を求めるけど触れてはこない。 番号を振れば音声で応答しやすい。 それに対し、カードはこちらに「私に触れて」と言ってくる。 なので音声入力で扱うことは難しい。

まとめ

大きくても小さくても「ボタン」にならないのはなぜ?