Capacitiesに自分で定義しているオブジェクトタイプの話。今回はWebクリップについてです。

 全体像について書いた時、クリップ系として以下の二つのオブジェクトタイプを挙げました。

  • Article

  • Coding(プログラミング関連)

 Web記事をコピペして保存するのがArticleオブジェクトで、プログラミング関連だけは特別扱いにしてCodingオブジェクトになっています。

 しかしその後(というか直後)、Articleオブジェクトは要らないという結論に至り解体してしまいました。

 

Webクリップはオブジェクトか

 最初はWebクリップというものを「きちんとオリジナルを保存しておくもの」と見なしていたので、個々の記事がオブジェクトであることに何も疑問を抱いていませんでした。そのオブジェクトがどんなオブジェクトタイプとして定義されたらちょうどいいかということを考えていて、まあやっぱり「記事」だろう、という感じでArticleオブジェクトを設けました。

 しかし、検索をかけた時にそのページが検索結果に並ぶと、大きな違和感を覚えました。その記事のタイトルは私にとって「あれ」と指さしたい形のものではないからです。

 そもそもなぜ記事を読むのか。多くは以下のどれかがその理由です。

  • 筆者に興味があるから

  • 知りたいことについて書かれているから

  • たまたま見かけて興味を惹かれたから

 後から自分がクリップした記事を探そうと思った場合、それぞれ「筆者」「その時知りたかったこと」「興味深かったキーワード」を手がかりにして検索することになります。余程印象的でない限りはその記事がどんなタイトルだったかは思い出せませんし、最初から内容とタイトルに関連が薄いこともままあります。

 ということは、自分にとって「あれ」と指させるものは「筆者」「その時知りたかったこと」「興味深かったキーワード」の方です。

 これまでのツールでは、記事にそれらをタグとして設定するなどして自分の中の「あれ」と結びつけるということをしていました。しかし自分にとってのオブジェクトというものをより重視するならば、オブジェクトとしてはっきりしているものの下に位置づける方が自然ではないか、と考えるに至りました。

 つまり、例えば筆者についてのPersonオブジェクトの中に記事を丸ごとコピペしてしまう、というようなことです。折りたたみ不可能なツールではこれは全く現実的ではない作戦ですが、Capacitiesではトグルがあるので、余程長大でない限りはひとつのページにどかどか貼っていくことができます。

 

 なお当たり前のことですが、これは私の個人的な感覚を綴っているだけの話なので、他の人にとってもそのようにするのが自然だということではありません。ただ、如何にもオブジェクトっぽいものを手に入れたからといって、それを自分の世界でもそのままオブジェクトとして扱う必要があるわけではないということは言えるかと思います。

 

Coding

 「Coding」はプログラミングに関わるノートを扱うオブジェクトタイプです。大きく分類した時に他のどのタイプとも違っていたのでクリップ系ということにしましたが、Webクリップだけというわけではありません。自分が書いたコードなども含みます。

 コレクションは各言語です。Capacitiesの使い始めは言語をタグにしていましたが、プログラミングの世界以外に使うことがないのでコレクションで分類することにしました。逆に言うと、「各言語がコレクションになるようなオブジェクトタイプ」ということでCodingオブジェクトというのが出来上がりました。ボトムアップでの定義というイメージです。

 Codingオブジェクトとして各言語やライブラリ、ランタイムのページを作っています。「JavaScript」「React」「Deno」といった形です。「Denoで~~するには」みたいな内容は、基本的には「Deno」ページの中に全部列挙していきます。細かいページはあまり作りません。ある程度以上の規模のコードを書かなくてはならないようなものだけ個別のページにします。

 なお、Codingオブジェクトのページには「正規表現」や「Git」など、コーディングそのものではない周辺領域のものもあります。それがプログラミング言語の話と並んでいるとやや変な感じではありますが、自分用のものなのでそれらが混ざっていても気にしないでいます。

 

非アトミックということ

 倉下忠憲さんのこちらの記事に我が意を得たりな表現があったので引用します。

認識の中の「物」 - トンネルChannel

もう一つ言うと、オブジェクトは「それ以上分割ができないもの」ではありません。ノートパソコンとキーボードのように注意の対象を変えればより細かいものはいくらでも見出せます。その意味で、オブジェクトはアトミックではありません。あくまで、通常の自分の認識において「単位」として機能しているというだけです。

 アトミックに考えるということが私の視界の中で流行っていたこと、そしてその用途に向いたツールを使っていたこともあって、その勧めの趣旨を超えて何でもかんでもアトミックにしようとしてしまっていた節があります。誰もそうしろとは言っていないはずです。

 しかし、どんどんページを作ってリンクすることができるツールを使いながら「アトミックではない何か」を扱おうとした時、それをなんというカテゴリのものと呼べばいいのかわからなかったために、方法論として考えることができなかったように思います。

 複数のWebクリップをひとつのページの中に貼るということをすればそのページはどんどん膨張していきます。それでも、ページを分ける必然性が自分の中にないならそれでいいわけです。困ったり気持ち悪く感じたりしたら分ければよい話です。自分の主観で「もはやひとつの塊とは言えない」となるまではまとめて扱うのがオブジェクトベースだと言えるのかもしれません。

 

 ということで、Webクリップは基本的には私の中でオブジェクトと見なされなくなり(内容によって例外はあります)、Webクリップを扱うためのオブジェクトタイプは消滅しました。代わりに自分の中でオブジェクトとして存在感の強いものにそれらの内容が付属する形になり、情報のありようとしてより自然な形態になったと感じています。

 

Backlinks

関連度が高いかもしれない記事

他の「Capacities」タグの記事