うちあわせCastな木曜日

8:00

おはようございます。本日は午後からうちあわせCastの収録です。一応メモツールあらためアイデアコネコネツールの開発は今日までとしておきましょう。

Textbox:

着想メモを最終的にどう扱うか。つまり、コネコネした後にどうするのか。これを考えて、いったんの区切りとしましょう。

まず、まったく何も移動させないという方式があります。ただひたすらに増やしていく。で、一年くらいの区切りでその年のものをまるっと別ファイルに移動させる。あるいは、ごく一部だけ残しておく、というような運用。

その場合、すべての着想メモは一つのラインの中に残り続けます。あとはそれを検索したり、ハッシュタグでフィルターして使っていく、というスタイル。

非常に単純な一元化の方法。基本的にテキストを並べているだけなので、500行や1000行になっても表示が重いということにはならないと予想。これはこれでまあよし。

* * *

次に、いくつかの保存場所を分ける方法。たとえば、カテゴリ別のリストを作ること。この場合は、表示しているリストを切り替える方法と、homeから別のリストへ移動させる機能を実装する必要がある。

Move to のような動作でもいいし、表示しているリストから一旦どかすためのテンポラリーな場所を準備して、そこに動かしてから中央のリストの表示を切り替えて、テンポラリーな場所から一気に戻す、という処理でもいいです。ちょっとしたバッファーを使うようなイメージ。

* * *

あとは、削除やアーカイブの機能。削除の場合は、行単位の削除と子要素をすべて含むブロック単位の削除がありうる。

アーカイブは、消すわけではない処理で、いってみればこれはリストの移動と同じ構造と考えられます。あとはアーカイブは通常の検索ではひっかからない、的な感じになるでしょうか。

* * *

複数のリストに分けることで、Tweetdeckのような横に並べるコラム方式がとれる、という点はあります。

単にリストを切り替えるのではなく、新しいリストを追加で横に表示する、というもの。やってやれないことはありませんね。

つまり、リストを分けることの一つの意義として、複数のリストを並行で表示(閲覧)できる、という点があるわけですね。単一のリストしか表示しないなら、絞り込めば同じなわけで。

だとしたら、そのような複数のリストを横に並べていく機能が自分の用途において必要かどうかですね。あるいは、JSONなども実はそんな風に並べるのがよいのかもしれません。探究する価値はありそうです。

* * *

とは言え、複数のリストを開くと「保存」などがややこしい?

いや、そんなことはないか。どちらにせよすべてのファイルをセーブするわけで、ということは、開いたファイルを配列で持っておき、それらでfetchを複数回回すか、cgiの方で複数ファイルの保存に対応すればいい。

あるいは。

あるいは、ファイルとしては一つでも、見せ方として複数になっている、というパターンもありえる。

ようは内部的にはHTMLを生成しているのだけども、ボタンを押すまではdisplayがnoneになっていて、ボタンを押されたら表示されるという形。

たとえば、ハッシュタグなどで表示するリストを分けていく。最初にデータを読み込んで、一行一行処理していくときに、ハッシュタグの有無を見て、ハッシュタグが存在するならばhomeとは違うラインに描写する。違うライン用の配列を持っておき、発見したハッシュタグと配列を照合して、すでに存在するならばそのラインに挿入し、まだ存在しないなら新しいラインを作る。で、配列にそのハッシュタグを加える。

というやり方でいけるはず。

* * *

ハッシュタグでリストをわけるとする。すると、新規作成されたカードにハッシュタグが含まれているときに位どうなるのか。一つは、その時点ではhomeに表示されるというもの。その後、もう一度読み込んだときに別のリストで表示されることになる。一方で、ハッシュタグを見て、最初に表示させる段階で別のリストにいく、ということ。この場合、自分が今保存したものが表示されないのだから、ちょっと気持ち悪さが出てくるだろう。

ということは、その場合は、保存したそのリストを表示する動作が必要になるだろう。新しく横に追加するか、それともhomeの表示が変わるかは選択できるが、そういう動作が必要になりそう。

* * *

ハッシュタグでリストを別のリストとして再描写するのではなく、positionを強制的に置き換えることで、別の場所に再配置するという方法もありますね。これならば、保存するデータの列はまったく変わらない状態になります。

ULの列を上から眺めていき、探しているハッシュタグを含んでいるならば、そのpositionをアブソリュートにして、所定の位置(x,y)におく。で、二つ目が見つかったら、高さだけ変えて同じように配置する(x+カードの高さ,y)あるいは一つ目のカードの高さ+1pxで配置する、ということを繰り返していく。

すると、HTML的には一つのliが並んでいるが、表示的には二つのリストに分化したように見える。

ハッシュタグのリストから、別のリストを普通に切り出すと、データの保存がややこしくなる。つまり、切り出したリスト上で編集したときに、それを「元の場所」に返すことができない。切り出したリストは別ファイルに保存するというならば特に問題はないのだけども、一つのファイルに配置したまま、となると一旦切り出したリストを「元の場所」に戻す必要があるのだが、それがなくなってしまう。順番の入れ替えなどを行うとさらにややこしい。

ハッシュタグのボタンを押した段階で、それを別ファイルとして移動させる、という動作も一応ありうるか。

* * *

ショートカットキー。emcasのようにキーの組み合わせでできるかどうか。C-x C-cのような感じ。言い換えると、操作を構造化すること。