4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Obsidianユーザに知ってほしいTADjs Desktop、BTRONの世界観

Posted at

はじめに

ハイパーテキストをOSレベルで採用していたBTRONのユーザで、TRON配列の自作キーボードを製作しているsatromiです。
Obsidianユーザの方にも便利に使ってもらえるBTRON環境を再現したハイパーテキストエディタ「TADjs Desktop」を開発しているので紹介したいと思います。

Obsidianを使っていて「ノートをリンクでつなげる」体験に魅力を感じている方は、メモを記載したノート同士の関連性、リンク構造の可視化、タグ付けといったことを意識してセカンドブレイン、第二の脳として使われている方も多いと思います。

そんなハイパーテキストをOSレベルで実現したBTRONという日本生まれのOSがありました。TRONプロジェクトリーダである坂村健先生のデザインのもと、松下電器産業(現パナソニック)、パーソナルメディアが主に1開発していましたが、現在は超漢字という製品2があります。ちなみに、日本航空123便の事故とTRONの結びつけは陰謀論で無関係です。

BTRONでは、ファイル→実身、リンク→仮身、タグ→続柄という名称になっており、ファイルをフォルダ管理せず、自由に配置することができます。また、TAD3という共通データフォーマットで、文章、図形(画像)、表計算、音・映像4を混在して表現5することができました。
このように便利なBTRONなのですが、有償のOSであり、機能開発が滞ってしまっているということもあり、なかなか手を出しにくいのが実情です。

そこで、BTRON環境、実身/仮身とTADのデータ構造を再現したデスクトップ環境を再現すべく、Windows向け6ハイパーテキストエディタ「TADjs Desktop」を開発しています。
Obsidianで言うところのノートのリンク、デイリーノート、マインドマップ(CANVAS)といった機能がBTRONの思想に基づいて実装されています。
まだ、開発中のアプリなので不具合、不備もあるかもしれませんが、使ってみてご意見頂ければと思います。

TADjs DesktopとObsidianの対比

下の画面を見てみてください。

TADjs Desktop画面イメージ
左上のBTRONというのがルートのフォルダ(BTRONだと仮身一覧と表現)になっており、そこに配置されたファイルのリンク(仮身)を辿っていくと、ファイルにたどり着くことができます。
「仮身サンプル」のファイル(実身)では、いくつかのリンクが並んでいますが、ファイル(実身)のリンク(仮身)自体をカードのように扱えますし、「基本図形編集サンプル」のようにファイル(実身)の中身を表示したリンク(開いた仮身)という形でメモをCANVASに配置していくような操作も簡単にできます。

実身/仮身がハイパーテキストの核心

このTADデータを管理する仕組みが「実身/仮身(じっしん/かしん)」という概念です。これがBTRONの根幹をなす思想です。実身は、実際のデータ本体のことです。そして重要なのは、実身の中身はTAD形式だということ。つまり、一つの実身の中に、文章メモも図形、表計算、画像がすべて混在できるのです。
Obsidianでいえば.mdファイルに相当するもの…と言いたいところですが、BTRONの実身はマークダウンよりもずっとリッチなデータを持てます。
仮身は、実身へのリンク(参照)です。ここが面白いところなのですが、BTRONでは仮身は単なる「リンクテキスト」ではありません。仮身はそれ自体が画面上に表示されるオブジェクトなのです。
Obsidianでいうところの[[wikilink]]に近いのですが、BTRONの仮身にはいくつかの表示形態があります。

  • 閉じた仮身:アイコンのような小さな表示。クリックすると実身が開く
  • 開いた仮身:実身の内容がプレビュー表示される。Obsidianでいう![[埋め込み]]に近い

そして、開いた仮身で表示されるのは、TAD形式のデータ全体です。テキストだけでなく、図形や表計算、画像も含めて、その場でプレビューされます。また重要なのは、一つの実身に対して、リンク(仮身)はコピー(仮身複製7)して複数持つことができるので、同じ実身への仮身を、いろいろな文書の中に配置できます。
また、ファイル(実身)を複製するとリンク先のファイル含め複製されます。
リンク(仮身)のサイズ、色などは変更8できるようになっているので、ファイル(実身)に応じて色を変えて管理することができます。
また、リンクを(※TADjs Desktop内で)他のファイル(実身)を開いているウインドウにドラッグ、コピー、移動することができます。

リンク(仮身)ネットワーク機能
また、仮身ネットワーク機能9では、あるファイルを起点としたリンク構造を簡単に参照できます。
発想を繋げていくことが簡単にできるようになっています。

TADjs Desktop/BTRONでの新規ファイル(実身)の作り方

BTRONのファイル作成はちょっと特殊です。原紙箱というアプリがあるので、原紙箱のウインドウを開いてそこに並んでいるファイル(原紙)を配置したい場所にドラッグすると、名称入力した上でファイル(実身)作成することができます。
原紙箱

仮身化:メモを別ファイル(実身)に切り出す

文書を書いていて、「この部分は独立したデータとして管理したいな」と思ったとき、その範囲を選択して「仮身化」を実行すると、選択した部分が新しいファイル(実身)として切り出され、元の場所にはそのファイル(実身)へのリンク(仮身)が残ります。
たとえば、長い報告書を書いていて、途中の図形部分を独立させたくなったとします。その図形を選択して仮身化すると、図形データは新しいファイル(実身)になり、報告書の中にはそのファイル(実身)へのリンク(仮身)が配置されます。見た目は変わりませんが、図形データは独立したファイル(実身)として、他の文書からも参照できるようになります。基本文章編集というアプリで編集している状態であれば、文字列を選択した状態でCtrl+910を押せば、それだけで仮身化が完了します。

アプリの使い分け

基本的に、文章メモを作成したい場合は基本文章編集というアプリ、図形・画像メモを作成したい場合は基本図形編集というアプリ、ファイル(実身)を管理したい場合は仮身一覧というアプリで行います。
また、文章中や図形に画像を配置したい場合は、元のファイルをドラッグすると取り込むことができます。

基本文章編集アプリ

基本となるメモ帳アプリです。フォント、サイズ、文字色など文字修飾に対応しています。

基本図形編集アプリ

まだ、あまり機能が多くないので、今後要望に応じて昨日追加していく予定です。
基本図形編集アプリ

URL仮身

リンクを保存、ブラウザを開くためのアプリです。まず、URL仮身のファイル(実身)を原紙箱からどこかに配置して、右クリックメニューの実行から基本文章編集アプリで開きます。URLを入力して保存、ウインドウを閉じて、後はダブルクリックするだけでブラウザが開いてリンク先に移動します。

既存データ起動(小物、ファイル取込アプリと連動)

既存のExcel等のファイルをTADjs Desktopに取込たいい場合のアプリです。
まず、右クリックメニューの小物から"ファイル取込"アプリを起動し、ファイルを指定して取り込みます。
後は、取り込んだファイルのリンク(仮身)を好きなところに配置して、ダブルクリックするだけで取り込んだファイルのデフォルト起動アプリで起動します。
いわば、
※ただし、複数ファイルが必要なようなアプリのファイルは現状取込できません。

これが非常に実用的な機能で、ExcelファイルやPDF、Word文書、画像ファイルなど、TADjs Desktop/BTRON以外のアプリケーションで作成されたファイルも、リンク(仮身)として文書内に配置できます。
たとえば、プロジェクト報告書の中に「予算計算.xlsx」へのファイル参照仮身を埋め込んでおいて、ファイル参照仮身をダブルクリックすれば、Excelが起動してそのファイルが開きます。
Obsidianでも外部ファイルへのリンクはテキストのような形で書けますが、BTRONのファイル参照仮身はより直感的です。ファイルをドラッグ&ドロップするだけで仮身として配置でき、アイコン表示やファイル名表示など見た目も選べます。

Obsidianユーザーに注目してほしい機能

いくつか、Obsidianユーザーの方に特に興味を持っていただけそうな機能を紹介します。

予定表

予定表

Obsidianのデイリーノートのような形で、ファイル(実身)をカレンダーに日ごとに並べて管理できる予定表、カレンダーツールです。
作成したカレンダーは仮身一覧アプリでも開けるので、日ごとのファイル(実身)のリンク(仮身)を他のファイル(実身)に貼り付けたり、予定表アプリのカレンダー表示に開いた仮身のリンクを貼り付けて、ポストイットメモ代わりに使ったりということができます。

仮身ネットワーク

前述した、Obsidianのグラフビューに相当する機能です。実身/仮身のリンク構造をネットワークグラフとして可視化できます。Obsidianのグラフビューでは、ノード(点)がノートを、エッジ(線)がリンクを表しますよね。仮身ネットワークも同様に、ノードが実身を、エッジが仮身による参照関係を表します。どの実身がどの実身から参照されているか、あるいはどの実身を参照しているか、リンクのネットワーク構造を俯瞰できます。
特定の実身を起点にして、そこから何段階先までの参照関係を表示するか指定することもできます。「この実身に関連するデータだけを見たい」というときに便利です。

リンク(仮身)ネットワーク機能

実身仮身検索

全文検索機能です。Obsidianの検索機能と同様に、実身の内容をキーワードで検索できます。
検索対象は実身の中のテキストデータです。ヒットした実身の一覧が表示され、そこから直接実身を開いたり、仮身として別の文書に配置したりできます。
BTRONの実身/仮身システムでは、データがネットワーク構造で管理されているため、「どこにあるかわからない」という状況が起きやすいのですが、全文検索があればその問題を解消できます。

仮身属性

BTRONの仮身には「仮身属性」という概念があり、仮身の見た目をカスタマイズできます。
具体的には、仮身の表示幅や高さ、表示形態(閉じた仮身か開いた仮身か)、枠の有無などを個別に設定できます。同じ実身への仮身でも、配置する場所によって異なる見た目で表示できるのです。
たとえば、ある実身への仮身を、あるページでは小さなアイコンとして表示し、別のページでは内容をプレビュー表示する、といった使い分けができます。
Obsidianでいえば、同じノートへのリンクでも[[ノート名]]と![[ノート名]]で表示が変わりますが、BTRONではもっと細かく見た目を制御できるイメージです。

続柄(タグ機能)

BTRONには「続柄」という概念があります。これは仮身に対して設定できるメタ情報で、Obsidianでいうタグに近い機能です。
続柄は、実身と実身の「関係性」を表すラベルです。たとえば、プロジェクトの実身から議事録の実身への仮身に「議事録」という続柄を設定したり、人物の実身から会社の実身への仮身に「所属」という続柄を設定したりできます。
Obsidianのタグは主にノート自体に付けるものですが、BTRONの続柄は「リンクに付けるタグ」と考えるとわかりやすいかもしれません。同じ実身への仮身でも、参照元との関係性によって異なる続柄を設定できます。
実身仮身検索では、この続柄を条件にして検索することもできます。「『参考文献』という続柄で参照されている実身を探す」といった使い方が可能です。

仮身化

前述した「仮身化」操作で、テキストや図形の範囲を選択して仮身化すれば、その部分を新しい実身として切り出せます。
長くなった文書を分割したり、再利用したい部分を独立させたりするのに便利な機能です。

原紙箱 ユーザ原紙機能(テンプレート機能)

BTRONには「原紙箱」というアプリがあり、新しい実身を作成するときのテンプレートを管理できます。TADjs Desktopでもこの機能を実装しています。
面白いのは、ユーザーが自分でテンプレート(ユーザ原紙)を作れることです。やり方は独特で、原紙箱アプリを一度閉じて、原紙箱の実身を仮身一覧プラグインで開きます。すると、通常の仮身一覧と同じように仮身を配置できる状態になります。
ここに、テンプレート化したい実身の仮身を配置しておけば、それがユーザ原紙として登録されます。原紙箱を開いたときに、自分で作ったテンプレートから新しい実身を作成できるようになるのです。
元々のプラグインアプリの原紙と混同しないように、実身名称を変更したり、仮身属性で仮身の色を変えておくと区別しやすくなります。
Obsidianでもテンプレートプラグインがありますが、BTRONの原紙箱は「テンプレート自体が実身であり、原紙箱自体も実身である」という、実身/仮身システムの一貫性が感じられる設計になっています。

リンク仮身・ファイル参照仮身

前述した多彩な仮身の種類も実装しています。
リンク仮身を使えば、インターネット上のURLを文書内に仮身として配置できます。参考資料のWebページへのリンクを、他の仮身と同じ操作感で扱えます。
ファイル参照仮身を使えば、TAD形式以外のファイル(Excel、PDF、画像など)への参照を文書内に配置できます。TADjs Desktopの外にあるファイルも、ハイパーテキストのネットワークに組み込めるのです。

TADjs Desktopを作っている理由

ここで自分の話になりますが、なぜTADjs Desktopを作っているのかを説明させてください。
超漢字は唯一無二のハイパーテキストOSで素晴らしいOS環境なのですが、松下電器(現パナソニック)撤退後はパーソナルメディア社だけで開発されていて、最新のハードやソフトに追従することが難しくなっています。VMware上で動作する形態になり、搭載しているブラウザもMozilla Firebird 0.7止まりと、単独で使うのが厳しい状況です。
今になって後出しじゃんけんのように批判する人もいたりしますが、1990〜2000年代までは、それなりに頑張ってやっていたんじゃないかなと思います。当時は、PCをBTRON/超漢字だけで使うというのもそれなりにできました。
とはいえ現状は、BTRONデスクトップ環境を使い続けるには厳しい状態で、もう自分でいっそのこと作りなおすか?という状態になってきているのが正直なところです。
ただ、BTRON仕様のデスクトップOSを一から作るのは個人では無理です。ファイルシステム、各種デバイスドライバ、日本語入力システム、デスクトップ環境、ブラウザと全て揃えて使えるようにするのはさすがに無理です。
そこで、 ブラウザベースでBTRONっぽい見た目で実身/仮身とTADが扱えるハイパーテキスト環境作れればいいんじゃね? という割り切りをして開発しているのが、TADjs Desktopです。

おわりに

まずは、TADjs Desktop、BTRONの世界観を知ってもらえれば良いかなと思います。
実際使ってみていただくと、まだ不具合、不備も多くあるかも知れませんが、ハイパーテキストっぽい何かが編集できるエディタにはなってきたかな?という状態です。
皆さんに使ってみていただき、ハイパーテキストをもっと便利にしていければと思っています。

  1. 松下電器産業(現パナソニック)、パーソナルメディアだけでなく、沖電気工業、ヤマハ、JALなどの様々な企業が開発に参画していました。

  2. 様々な横やり(日本航空123便の事故との結びつけ陰謀論で無関係です)があり松下電器産業の開発半ばでの撤退もあり、パーソナルメディア社単独で開発、製品化を進めたため商業的には成功せず、現在は超漢字Vという形でVMWareという仮想マシンの上で動作させる製品になっています。

  3. TAD(Tron Application DataBus)として、実身/仮身のファイル、リンク、図形・画像が混在できるデータフォーマットになっていました。

  4. 楽器とコンピュータを繋ぐ方向性での検討でヤマハがTRONプロジェクトに参画していたので、文章、図形に音・映像を混在させられるデータフォーマット拡張が検討されていました。この検討を直接用いていない可能性がありますが、Panacal ETという製品では音・動画再生も可能でした。BTRONは音も出せないというのはデマです。超漢字でも、PCIのサウンドドライバ、USBサウンドドライバが製作されています。

  5. コンピータ、Windowsに詳しい人だとOLE(Object Linking and Embedding)を想像されると思いますが、あれは別フォーマットのファイルを埋め込むための技術で、共通データフォーマットという感じではないです。

  6. ElectronというVS Code、Obsidianと同じマルチプラットフォームのフレームワークを採用しているアプリなので、要望次第ではMac版やLinux版を開発することも可能です。ただ、Mac版は開発者登録が有償なのが今のところのハードルです。

  7. ちょっと操作が特殊で、リンク(仮身)を左クリックしてから右クリック、両ボタンクリックしたままでドラッグして、左ボタンから離すという操作をするとマウスでコピーできます。右クリックメニューの編集でコピー、Ctrl+Cでコピーもできます。

  8. 仮身を選択した状態で右クリックメニューの仮身操作、仮身属性変更で変更可能です。

  9. ファイルを選択状態で右クリックメニューの実身操作、仮身ネットワークで表示されます。

  10. 右クリックメニューの編集、仮身化でもできます。

4
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?