編集に関するいろいろなUI.
ページ編集のためのUIについて。
→ :t/編集 :t/UI
- あとでなおす
- 編集/UI
- 引用にはタイトルを
- 個人用スタイル、ビュー
- テキストエリアを使わずに(テキストで)編集したい
- マウス用UI
- 次へ
- 編集直後のページ表示では、編集した行に「更新した」というマークを
- 編集後は差分表示へリダイレクト
- 追加用のテキストエリアを一行テキストボックスに変更可能に
- ページ/継承欄
- プレビューは入力欄と違うページに
- プレビュー不要
- プレビューでも「ページ/最新の差分を強調」
- 消すボタン封じ
- リロード時のページ破棄封じ
- フォーム
- 間違えにくいショートカットキー
- ヘルプ内検索ボックス
- テンプレート一覧
- とりあえず投稿
- 型やフォーマットよりも用途を選ぶ
- 新規作成時に既存ページ名を参照したい
- 新規作成時、履歴が目に留まるように
- 新規作成時、Googleのサジェストを見たい
- ページ/編集ページにGoogle検索リンクを載せたい
- ファイル取り込み
- 画像を貼りやすく
- WYSIWYG編集
- 早く入力するために
- 方法
ボタン †
:i/ページを書くときのUI †
中心はエディター。その左右に関連情報を表示。エディターだけを表示すること(ディストラクションフリーモード?)も可能に。
よく使うボタンが強調表示になるだけでもいい!!
→ :i/よく使うボタンを強調表示
書くときの一覧 †
Wiki内に存在する言葉を一覧化。書くときはそこからコピペしたり自動補完(オートコンプリート)したり。
ページ名をコピペしやすいように †
編集時、ページ名はコピペしやすいようにテキストボックスで表示。編集ページなら「[ページ名]の編集」のように。
リンクにはしない。それはトピックパスにあるので。ページ更新はトピックパスの末尾(ページ名)クリックか、ブラウザーの機能で。編集を頻繁にするなら→:編集者モードで常に編集ビュー。
ページ名を表示するようなブックマークレットがあればiPhone版Safariでも便利。
ページ名になる記法をページ編集以外にどこでも使えるようにすることでも解決できそう。
:i/コピペ用テキスト
あとでなおす †
メニューバー †
編集/UI †
多彩な記法で書くテキストエリア使用時でも閲覧ビューを再現
編集対象になっていない部分を閲覧ビューのままで表示。
閲覧ビューの中に編集ビューがあるような印象に。
その場編集でUIを作成する機能。
閲覧ビュー/編集ビューの差を減らして分かりやすく。
ブックマークを作るようにメニュー項目作成。
メニューに載せるページで「+」アイコンクリック→メニューバーに追加。
ページ内のリンクをメニューバーにドロップ→メニューバーに追加。
メニューバーの専用編集モードでドラッグして順序入れ替えとか。
引用にはタイトルを †
1行目または最後の行にタイトルを書けるように。
記法/タイトル記法?
個人用スタイル、ビュー †
あまり深刻にならない範囲で、認証済みユーザーはビューを選択可能に。
1.スタイルシートだけ
工夫なしにできる。
2.ビュー全て
システムの既定値と互換性がないと。
メニューバーをショートカットキーヘルプにするのも。
メール投稿 †
ビューとはページ。内容はフォームも含めてNotationになっているのでページ化できる。
つまり個人用編集ページ。
メールで投稿。:/Twitterからとも似ている。
追加。
機能/メール取り込み。mailin.
追加用スペースに。「*草稿(追加待ち)」wikiの組み方で。システムがサポートする機能ではなく。
メールだと元になった版が分からないし、元とする版を取り寄せてから編集、投稿では手軽さが無いので。
テキストエリアを使わずに(テキストで)編集したい †
編集した行頭にマークを付けようとしても、テキストエリアの中にマークを入れないといけないが、送信されたときにマークを削除しなければならなくて不便。
(クライアント側で調整しない限り)テキストエリアでは閲覧時とフォントが異なるため、閲覧ページと同じ文字で編集したい。
- 誰でも可
- 承認したアドレスからのみ可
アカウントと合わせて。 - 投稿用アドレスを隠す
投稿結果を返信。
対象ページへのリンク付き。
後でメール投稿したページを再編集しやすいように。
マウス用UI †
例えばリスト編集専用の、ドラッグ操作で項目の順序を入れ替えるUI。
編集ページはテキスト用なので、閲覧用ビューか、また別のビューで。
次へ †
誰かの利用者ページ(のサブページ)に追記出来れば、メールとして使える。
音 †
→iPhone用なら、ページングか、WikipediaのようなCollapse/Expand式に。
編集直後のページ表示では、編集した行に「更新した」というマークを †
章立てになっていても、1つの章が長い場合もあるので、行単位で。
- CreateJS
http://www.createjs.com/
音声を読み込んで再生。
つまり、差分表示のページへ遷移。
差分表示はWikiTextソースではなく、閲覧用の表示で行ないたい。
見やすいので。
環境音を加工したり、環境音に連動して何かを鳴らせないか
参考:OmmWriter
編集後は差分表示へリダイレクト †
誤った編集をしても、前のページが表示されているのですぐにコピペできる。(リバートは場合によっては適切ではない。やり直しになってしまう。やり直しよりは編集前を見ながら訂正した方が簡単)
差分表示にはWikiTextのほか、HTML表示(閲覧時そのまま)も付けて。
追加用のテキストエリアを一行テキストボックスに変更可能に †
Enterで送信できるのが良い。
この場合、改行を別の文字で代用。送信されると改行になる。
記法
で良い。閲覧時に<br />に変換。編集時に置き換えなくてもいい。
一行タイプにするかどうかは追加コマンドとは別に「一行追加コマンド」でも作ればいい。
付け足しだけで実現できる。
挙動はGoogle:checkpad.jpのように。
ページ/継承欄 †
なおす。
ページ/継承される可能部分を書く。
ページの属性を決めるような機能はページ本文とは別に書きたい。
本文を書くときに邪魔になったり、いつの間にか重複していたりするので。
欄内では呼び出し記述ごとにソート。
テキストエリア。
1行に1つ。
閲覧時展開で本文とマージ(連結)、1つのテキストとして処理するので、本文内に書いた場合と変わらない。
編集ごとにソートされる点が本文欄と違う。
ソートされることを利用して、こちらに本文を書くこともできる。
編集時に本文と別れていればいい。
プレビューは入力欄と違うページに †
新しいウィンドウかインラインフレームで。
本当のページでなければプレビューにならない。
プレビュー不要 †
戻しやすく戻したときに跡が残らない「更新」を導入する。
→これで編集とプレビューをまとめる。
→他ページから参照される部分もプレビューできる。プレビューが他のページに影響を与えるところも確認できる。
プレビューページは参照不可能でそのうち削除されるページ。
プレビューでも「ページ/最新の差分を強調」 †
章のサブページ化があるので変更した部分は追いやすくなるけど。
消すボタン封じ †
IEであってもESCキーで消えないように。
ESCキーは「範囲選択を解除」とか「IMEの状態を初期化」だけでいい。
リロード時のページ破棄封じ †
ページの有効期限を適切に付けて。
またはページ遷移封じを。ページ遷移でフォームの内容が残るならリロードだけを封じて。
フォーム †
ページを作るボタンにはテキストボックスを。つまり「…というページを作る」ということ。
「ページを作る」よりも「見たいページ」のほうがいい。「…というページを見る」。作成と閲覧と検索のUIを一つに。
検索ボックスでいいかも知れない。検索結果にはページ作成フォームがあるので。
「…というページはありません」ではなく「…について書いてください」というメッセージ。
間違えにくいショートカットキー †
ヘルプ内検索ボックス †
編集中にヘルプを読みたいことがある。
- 編集ページにヘルプへのリンクを
- ヘルプには類義語を含めて、検索しやすいようにしておく。
(コンテンツだけの話。システムではサポートしなくていい) - テンプレートもヘルプの一種
テンプレートはそのサイトのローカルルールのヘルプ。
テンプレート一覧 †
編集欄の傍らにテンプレート一覧とその検索ボックスを。ヘルプ検索と統合してもいいかも。ヘルプは見るだけの(コピペしない)テンプレート。
テンプレート項目は1行〜3行程度。
検索ボックスに入力→絞り込み、ソート順は前方一致したもの>部分一致したもの。第二キーは辞書順。
アクセスキーやマウスで選択→カーソル位置に挿入。
例えば…
[[Googleで検索:検索キーワード]]
テキストボックスが文字装飾可能なら、「検索キーワード」の部分は淡い文字で表示。
テンプレートの他、添付ファイルの一覧も同じ一覧に含めて。添付ファイルを埋め込むような記法で。
とりあえず投稿 †
一部でも投稿できるように。
Wikiは推敲できるのが特徴だから。
ページ名が無い、内容が無い、機能に必要な引数が無い、設定が無い、クエリーが無いなど。
後で編集できるように。
※作成時と同じUIで。
型やフォーマットよりも用途を選ぶ †
一つの用途は複数のデータ型でできている。
一つのフォーマットを返すだけで完結するユースケースはまずない。
が、一つのユースケースは、フォーム呼び出し→入力(Ajaxでの入力補助含む)→リクエスト→レスポンス、で達成されるのがいい。リクエストがバックグラウンドで行われるなら、リクエストとレスポンスの代わりに「ユーザーが結果に満足して次へ」になる。
なので、一つのレスポンスにはそれだけでユースケースを達成するように複数のフォーマットを混在させることになる。
新規作成時に既存ページ名を参照したい †
→追記先検索の機能で。
新規作成時、履歴が目に留まるように †
ページ新規作成時の追記先探しにそのページ(が削除される前の)の履歴も含める。
新規作成時、Googleのサジェストを見たい †
吹き出しで、Google先生はこうおっしゃっていると。
ページ/編集ページにGoogle検索リンクを載せたい †
編集ページの定義に、ページ名(フルパス)を検索するリンクを入れればいい。
ルートページの名前も含めれば、そのWikiに関連するページだけが検索されるはず。
コンテンツだけで可能。
ページ名をスペース区切りにするような機能も必要?
ファイル取り込み †
特定ディレクトリに置いてあるファイルを自動的に取り込む。
拡張子次第で取り込み方振り分け。
結果は取り込みログ専用ページ(単一)に。取り込みがあれば通常通りのページ更新。通知機能なども働く。
ログ内容は記録とすぐ活用するための何か(イメージなら貼り付け用の記法など)
この一覧のテンプレートはページになっていて、編集可能。
:t/インポート
画像を貼りやすく †
- -
→テンプレート一覧に添付ファイルも含める機能で。
どこにも貼られていない添付ファイルが分かるような色づけで。
WYSIWYG編集 †
利点
早く入力するために †
続けて新規作成 †
新規作成ページはページ一覧を備える。
で、送信後にまた空の新規作成ページを返すように。
続けて新規作成ができるようになる。
新規作成ページを別フレームにするのもいい。
コンテンツだけで可能。
投稿時にページ遷移なし †
編集・投稿→そのまま。投稿処理はキューイング。
投稿に必要なトークンは更新するか再び使用可能。
投稿後に閲覧ビューを呼ぶと2つのユースケースを同時に行うので遅い。分ければ体感速度は早くなる。
フォーム2つに †
フォームを2つ用意、Tabキーでフォーカスを移して、1文字でも入力した時点で前のフォームを(バックグラウンドで)送信。
というのもいい。
1文字入力を待つのは間違い防止のため。
全てのページを打ち終わったら「送信」ボタン。最後のフォームを送信してページ遷移。
コンテンツの追加だけで可能。
テキストボックス化 †
最近編集したページ一覧で。
ページ名を選択するとテキストボックス化。ページ内容が読み込まれる。
編集後、送信。ページは更新され、テキストボックスはページ名に戻る。
編集日時などは更新してもページリロードまでソートしないこと。
「かんたん機能入力サポート」 †
@wikiの「かんたん機能入力サポート」のようなものはどうか?
要はパラメータの意味を出すヘルプがあればいい。入力欄は分けないほうがいい。
打っているそばから表示更新…はカーソル位置が得られないと…差分を得て…は重くて無理。
→選択すると表示。
→テンプレート一覧のような検索可能な一覧で実現。
クリックで章追加 †
最初の章と最後の章には「ここに追加」ボタンを。
全章に付けてもいい。
ページの途中、任意の章の前に追加するのをやりやすく。
ユニバーサルエディットボタン(Universal Edit Button) †
<link rel="alternate" type="application/wiki" title="このページを編集..." href="?%E3%83%9A%E3%83%BC%E3%82%B8%2F%E7%B7%A8%E9%9B%86%2FUI&cmd=edit" />
†http://universaleditbutton.org/日本語
方法 †
よく出てくる単語(頻出語)の一覧 †
新しいページを作るきっかけなので、「新規ページ作成」ボタンの前に利用者に見せたい。
新規作成のページで表示するのもいい。ページ名を統一するために。似ているページ名を探すのに役立つ。
独立したページにすべき。
活用しやすくするため。1ページが1つのDBテーブルのようなもの。
頻出語のリストには、最後に発見された(システムが見つけた)日付も。
データを活用するために。
→:i/機能/テンプレート生成[?]
削除できない †
「削除」という言葉を排除。管理者以外は削除できないので。
代わりに「アーカイブにしまう」か「履歴にしまう」か「用済みにする」か「無効化する」という表現を。
付け加えるなら「最新版を見えなくして」とか「最新版を削除して」…
フォーム生成時すでにパーマリンク †
永続的なURIでページ作成。
戻るボタンを押して戻れたり、ページ作成画面をブックマークできたりするように。
「存在しないページは新規作成」なので、予めURIを作っておいたほうが実装はシンプルになる。
編集キャンセルはリンク †
ページ移動するだけなので。プレビューWiki終了にしても一時データはまだある。ブラウザーの戻るボタンで戻れるように。
一定割合以上変更されるなら確認 †
SPAM対策と誤り防止。
一定割合以上変更されたら(編集前後の共通点が一定割合以下なら)確認のページ。権限は特に要らない。
割合はサイトの設定による。
閲覧時編集 †
チェックボックスなどは閲覧時に編集したい。
検索:チェックボックス
チェックを入れるとページ更新