相変わらず Notion が大人気だが,そもそも「知識を繋げる」みたいなことに価値を見出している人が少な過ぎる。もっと言ってしまうと,手書き再評価みたいな流れすらあるので,このままだとどこも Evernote 以上に成長しなかったりして。
昨日,寝る直前にまた脳爆発があり,今朝にかけて文字装飾記法とタグ記法周りの概念整理・仕様整理が急速に進んだ。
文字装飾記法は,「文字装飾を伴う慣用表現」のための記法と位置付けることにした。太字記法(##
),斜体記法(//
),下線記法(__
),打ち消し線記法(~~
,翌日のまとめで「打ち消し記法」から改称)の4記法を基本とし,それぞれ所定装体を伴う <b>
,<i>
,<u>
,<s>
HTML 要素に対応する。
@
を使った文字サイズ記法,%
を使った色記法も検討していたが,タグ記法の概念が出来たことで中途半端なものになるため,これは廃案とする。
実装自体は容易な部類で,記法も概ね固まっていたにもかかわらず文字装飾記法の実装に踏み切れなかった理由として意味論的な問題があり,これが思いのほか難題だった。実装方針は3通り考えられる。
記法の趣旨からしても,軽量標記言語の特性を考えても,1つ目に無理があるのは明らかだ。対応する HTML の <b>
,<i>
,<u>
,<s>
は,私が何度解説を読んでもややこしく感じる代物だ。それを多くの人が正しく理解して使うのは不可能だろう。そもそも「文字装飾記法」という分かりやすい説明体系を捨てることになるが,代替案があるわけでもない。
かといって,2つ目ももったいない。要は <span>
で装体指定だけにするということだが,例えば,太字にはしたいが <b>
にはしたくない場合,打ち消し線は引きたいが <s>
にはしたくない場合がどれだけあるのかと考えると,無難を通り越して臆病過ぎる。失う可接性や応用可能性と釣り合わない。
最終的に採用することになった3つ目も,全く考えなかったわけではないが,柔軟性に欠け,前の2つの悪い所が組み合わされる気もして,有力案にはなっていなかった。
この膠着状態を変えたのは,前日に概念としてまとまったばかりのタグ記法だった。
これまで,デラングにおける HTML は,どうしてもデラングで出来ない表現をしたい場合などの“抜け道”とか“救済措置”に近い位置付けで,積極的に使うことを想定していなかった。実際,個人的にはほとんど使っておらず,放置している不具合も多い部分だった。
デラングのタグ記法として間接的に HTML を使うことで,略記法の導入も可能になり,HTML 側の仕様変更に対しても一定の緩衝帯を設けることが出来る。ここに来て初めて,文字装飾記法でも「書き分け」が考えられるようになった。文字装飾記法に対応しうるのが全て1文字要素だったことも幸いした。
昨日の寝る直前に,##太字的な表現##
と <{font-weight:bold}>太字</>
のように書き分けるよりも,##太字##
と <b>太字的な表現</b>
のように書き分ける方がマシであることに気付いて,1つ目の実装方針案は完全に潰せた。
これにより一時的に2つ目の実装方針案が再浮上したが,標準的に使う記法として標準的な用途に最適化不足なのはやはり否めなかった。
最終的に,「文字装飾を伴う慣用表現」という用者が自然に理解出来る範囲での意味論的な位置付けを与え,逸脱する用途ならタグ記法で書き分けるのが使用頻度に対して最適だろうという結論に達した。3つ目の実装方針案を洗練させた格好になる。
例えば,##太字##
は「太字装体の <b>
」に対応する。装体が邪魔なら <b>太字的な表現</b>
と書けるし,意味が邪魔なら <{font-weight:bold}>太字</>
(略記法は検討段階)のように書けるが,これらの場合が稀少なのは明らかで,記述量に上手く釣り合う。ワープロならともかく,軽量標記言語を手書きしようという人にとって難しい使い分けではないだろう。
そもそも,<b>
,<i>
,<u>
,<s>
は,古くからある視覚的要素が HTML5 で慣用的な用途を引き継いで意味論化されたものなので,「文字装飾を伴う慣用表現」と非常に相性が良い。相互変換にも全く問題ない。
何より,直感的に入力すれば構造的に出力されるというデラングの理想に適っている。
文字装飾記法を「文字装飾を伴う慣用表現」と位置付けたことで,慣用表現を持たない文字サイズ記法・色記法は仲間外れになるが,タグ記法によって出る幕がなくなった感があるので,ここで廃案にすることとした。
第一に,タグ記法で略記法を整備した方が一貫性も応用可能性も高い。特定の値でプロパティを省略出来るようにし,<{white}>白い文字</>
のように書ければ,%white%白い文字%%
と書くのと記述量も大差ない。
もともとパラメーターを必要とする記法の異質感はあり,文字装飾記法の統一感を損うかという懸念はあったので丁度良かった。
これまで,複数の文字装飾記法の組み合わせは #/太字と斜体/#
のように,「記号を1つずつ逆さにした終了記号と挟む」といったややこしい説明を考えていたが,##//太字と斜体//##
のような「入れ子」を #/太字と斜体/#
と短縮出来るという考え方にした方が分かりやすいため改めることにした。
今回の検討で,タグ記法が早くも実践的な役割を持つことになり,デラングにおける存在感が一気に増した。
タグ記法に HTML の仕様変更に対する緩衝的な役割を持たせること,要素名の省略で <span>
にすることを考え始めた。
私は知識の保存・整理・交換のためのシステムを開発しているが,一方でアナログな「手書き」の効用に注目している。
例えば「ノートにペンで書く」という行為は,意外とデジタル的に再現するのが難しいところにその重要さがある。
第一に,「直感性」である。人は,頭が考えている事すべてをはっきりと言語化できるわけではない。しかし,デジタル・テキストは多かれ少なかれ形式的で,ある程度思考をまとめないと書き始める事ができない。一方で,ノートには「とりあえず書き始める」事で潜在的な思考の形を描き出す事ができる。始めは文字とも絵ともつかない落書きかもしれないが,自分でも気付いていないような微細な情報や,もやもやとした曖昧な情報を引き出す事ができる。これが思考の整理には重要である。
第二に,「単純さ」である。デジタル・ツールは,その性質故に機能を詰め込みがちになる。線の種類や色を変えられたり,画像を挿入できたり,といった事ができてしまうと,「とりあえず書き始める」前に「何の色にしよう」等と道具について考えてしまいがちになる。第一に挙げたような繊細な情報を引き出すには,こうした余計な思考を生む要素は少なければ少ないほど良い。
第三に,「不自由」である。紙は検索性が悪く,自由に内容の更新もできない。大きさも決まっている。そのために,出来るだけ明確かつ簡潔に思考を書き出さなければならない。つまり,書く事そのものは直感的でありながら,しっかりとまとめる事に動機付けがなされる。
第四に,「可搬性(ポータビリティ)」,つまり特定の環境に依存せずどこでも使いやすいか,という事である。これまでに挙げた事は,原理的には筆圧が感知できるタブレット・コンピュータ上のアプリで再現できる。しかし,どの端末を使うか,どのアプリを使うかをまず考えなくてはならないし,作ったデータが独自形式かもしれない。端末が壊れた時,電池が切れた時,アプリの提供が停止した時には使えない。
仮にこれらの条件を全て満たし,問題を解決したデジタル・ツールができたとしても,ノートとペンに比べて明確な優位性があるとは考えにくい。ほぼ全て,デジタルで再現できる事ではあるが,デジタルである必要がある事ではない。
これからのデジタル・ツールは,こうした外部的な要素といかに調和できるか,という事が重要になると私は考えている。つまり,連携手段,有効な使い分け方を総合的に提供するのである。UNIZ にも通じるが,デジタルに限らず全ての道具の性質・役割を見極めて,いかに活用していくべきかという事を考えていきたい。
さっき書いた「手書きはなぜ重要か(#F85E/A-EB2B)」を追う形になるが,漢字文化圏にとって手書きはもう一つ重要な役割を持っている。
それは,「漢字忘れ」の防止である。
アルファベットと異なり,「漢字を覚える事」と電子端末は極めて相性が悪い。例えば英語なら,ほぼ全ての文章はキーボードに刻印されている文字の組み合わせであるが,日本語の場合,変換機能に頼らなければ文章を書けない。変換機能も高度に発達しているので実用上の問題は無いといって良いが,その反面,「文章を書ける事」と「文字を書ける事」がかけ離れてしまった。
コンピュータ上でも漢字を自然に覚えられるような入力方式を考案すべきなのか,漢字を手書きする必要の方を無くすべきなのか,時代に合わせて漢字体系を改良してしまうか,観点は色々ありうるが,とりあえず現在の日本社会で漢字を書ける事はまだまだ必要とされている。過渡的であるにしても,手書きを併用する事のもう一つの効果として挙げておきたい。