2022年4月12日火曜日

Twitterにおける新たな削除機能の提案 (既投稿ツイートの編集機能よりもマシな手法として) / Proposal of a new deletion function on Twitter (as a better method than the editing function of posted tweets)

(Click to English translated version.)

本稿はTwitterの一利用者としての思いつきを書いたものであり、実際に採用するには、実装やユーザインタフェース等の一層の検討が必要と思われる。しかしながら、Twitterがより良くなる一助になればとの思いで書いた。
 

提案する削除機能


本稿で提案したいのは、現在のTwitterのツイート削除機能の変更、あるいは第2の削除機能の追加である。

Twitterでは、個々のツイートにはURLが付与されており、その一つ一つがあたかもWebページのように閲覧できる。次のURLは私が投稿したツイート例である。

https://twitter.com/tsaka1/status/1511731179846012928

WebブラウザでこのURLをアクセスすると、内容が
「This is a test tweet.」
であることがわかる。

このツイートを削除すると、そのURLをアクセスすると
「このページは存在しません。他のページを検索してみましょう。」
のように削除されている旨のメッセージが表示される。そして、このツイートに対するリプライも表示されなくなり、リプライのリンクも解除されていることがわかる。

リプライツイートを見ると、リプライとしてツイートされたことはわかるが、リプライ先ツイートが削除されている旨表示されるのみである。

ここで提案する新たな削除機能では、削除された際に、単に削除されたことだけでなく、例えば
「このツイートは2022年4月11日 0時50分に削除されました」
と削除された日時を表示する。そして、リプライやコメント付RTからの参照は削除前と同様につながったままとするものである。

リプライやコメント付きRTなどの参照関係を維持することで、ツイート内容の訂正に相当する機能を実現すると同時に、削除したときにスレッドが分割されてしまうような事態を回避する。

例えば、内容を訂正したいツイートがあれば、訂正済内容のツイートをそのリプライとして投稿し、元のツイートについては本提案における「削除」を行う。そうすれば、元のツイートに対するリプライやコメント付きRTのツイートから元のツイートを閲覧しようとすると、削除されていることがわかり、そこにぶら下がっているリプライで訂正後の内容を知ることができる。
 

既投稿ツイートの編集機能との比較


最近、Twitterで既投稿ツイートを編集する機能を設けるべきか否かという話題が盛り上がっている。しかしながら、単純に自由に編集できるようにすると、例えば次のような困ったことが生じる可能性がある。

本来AとBは異なるのに、ある人が「A = Bである」とツイートしたとする。それに対して大勢の人が「このツイートは間違っている」とリプライした後で、その問題のツイートを「A ≠ Bである」と編集してしまうと、リプライの方が間違っているかのように見えてしまうだろう。

以上のことから、ツイート編集機能を設けるのなら、編集履歴を閲覧できるようにするべきだという意見もある。それによって上記のような事態でも編集履歴を確認できれば、後でツイートの内容を覆したこともわかるだろうという考えであろう。確かに、誰もが自由に編集できるWikipediaも編集履歴も自由に閲覧できることからも、妥当な発想に思われる。

しかしながら、例えば[1]などのように、ツイート中のリンク先を見ない人が多いという問題がしばしば話題になっていることを考えると、その編集履歴がどの程度閲覧されるかについては疑問がでてくる。

本稿で提案する削除機能であれば、この例のような場合も、削除して訂正ツイートをしていることがわかり、その削除済ツイートに大勢のリプライがぶら下がっていることがわかるわけである。

以上のアイデアは筆者が昔使用していたUSENET NewsシステムのSupersedes機能の利用経験からの発想したものである。

References

[1] 現代人は読まない…。リンク先を見ずにリツイートしまくる人が大半であると判明 https://www.gizmodo.jp/2016/06/22_5.html


2022年1月29日土曜日

WindowsのファイルにZoneID属性を付与して、外部から持ち込んだOffice系ファイル等の安全性を高める

 タイトルに書いたとおりです:-)

Windows10等では普通にWebブラウザでダウンロードしたファイルには「外部から持ち込んだよ」的フラグがついて、例えばExcel等はそのまま開いてもマクロなど実行されない「保護ビュー」モードになります。

この解除はExcel等の中で保護ビューモードをやめさせるか、エクスプローラーなどでファイルのプロパティを開いて、最下部にチェックを入れる等すればよいのですが、その逆ができるようにはなっていません。

一方、フリーソフトウェアの中にはダウンロードしたファイルにこのフラグを付与しなかったりするものが有ります。また、外部からファイルの持って来る方法として、例えばネットワークドライブとしてマウントするような方法だとフラグは付与されません。

これはちょっと不安なので、フラグを立てる方法を探しました。ぐぐるとなんぼでも見つかりますが、私が注目したのは次のページです。

ZoneID を付与する方法など - setodaNote

なんと notepad.exe で付与できるとあるじゃないですか。。。あと属性の内容を閲覧する際に、more にリダイレクトで与えています。 

ということは、リダイレクトで属性の付与もできるのではないか?と思い、やってみたら無事できました。

その結果を受けて、安直なバッチファイル(CMD.EXE用)を書いてみたのが以下の7行です。

@rem ZoneIDを付与して、Office系ファイルなどのマクロ実行を禁止する
@echo off
for %%f in (%1) do (
  echo %%f
  echo [ZoneTransfer] > %%f:Zone.Identifier
  echo ZoneId=3 >> %%f:Zone.Identifier
)

これで、一応Windowsのワイルドカードにも対応できます。ただ、複数のファイル名を空白などで区切って列挙するのには対応していませんね。その辺がほしければ、コマンドライン引数の受け取り方等をちょいちょいといじればよいでしょう。

例えば、この内容を「addflag.cmd」というファイルに保存して、Windowsのセキュリティで実行許可があるとすれば、次のように実行すると、

addflag *.xlsx

カレントディレクトリにある、Excelのファイルすべてにフラグが付与され、以降解除の操作をしない限りExcelで開くと保護モードになるというわけです。

これで、外から持ち込んだファイルでも多少は安全に開くことができるでしょう:-)