福冨諭の福冨論

RSSリーダーではこちらをどうぞ→https://feeds.feedburner.com/fuktommy

Tropyの衝撃

駆け抜けたTropyTropyの設計判断を真似て書いてみる。

Tropyを知る

2005-11-08

雑談しながらリンクを貼るスレ@新月掲示板の書き込みがきっかけ。 面白いというよりも、悔しいというのが先だった。 以前似た要素を持つソフトを作り、全く受けなかったからだ。 それはTropyから編集機能とランダムジャンプ機能を取り除いたものだった。

FukTropyを作る

参考リンク: 駆け抜けたTropy

FukTropyを作ろうと思ったのは本家のソースが公開されていなかったから。 ここで先んじて公開すれば、多くのサイトで使われるだろうと読んだ。 しかしその直後に本家の稼働が停止、ソースの公開に至る。 目論みは外れた。

どんな機能を実装すればいいか、最初からわかっていたので、 作るに時間はかからなかった。 こういう仕事はあまり生産的ではないのだろうけど、楽しい。 本当にこれでうまくいくのか、と疑問を抱えながら作業するのが 本当に生産的な仕事だと思う。 それは辛いものでもある。

Pythonでコードを書くと早くできるので好き。 実質2〜3時間で最初の版が完成。

Ajax版を作る

Tropy上でアドバイスがあったことが1つ。 負荷を軽くするため、できるだけCGIを使いたくなかったのが1つ。 AjaxJavaScriptを勉強してみようと思ったのが1つ。 今は書き込み以外にはCGIは使わない。

Tropicalを知る

表示ページがそのまま編集ページというのは、 今考えてみるとWikiの一種にあったような気もするけど、 最初見たときはとにかく驚いた。 まだ名前がなかった頃のTropyを見たときよりも驚いた。 結城さんの紹介で「最初から編集モード」と書いてあったのに、見たら驚いた。

早速FukTropyにも採用した。

設計判断

オリジナルはIDが8桁の数字なのにFukTropyはMD5ハッシュ(32桁の英数字) になっていのは?:
前回作った「くっつきブログ」で パスワードをMD5ハッシュに変換して保存した。 今回もMD5を使いたかった。
明らかに覚えられなさそうなIDにすることで、 覚えるなというメッセージにしたかった。 オリジナルはUNIX時刻だと思い込んでいた。
MD5ハッシュの生成に時刻と書き込み内容を使っているのは?:
衝突を避けるため。
当初はPermalinkアンカーを使っていたのは?:
URLを記録するなら僕はアドレスバーを見るので、 アドレスバーにはIDを出したくなかった。
アドレスバーにIDを出すとランダム用のURLとPermalinkの2つが必要で、 ランダムジャンプのときのアクセス数が2倍になってしまう。 これを避けたかった。
5秒お待ちくださいは?:
オリジナルでは待ち時間にはページに何も表示されない。 そのため2度ほどリロードしてしまった。 負荷を下げるためにメッセージを出すようにした。
背景色が固定なのは?:
その方が安心できるから。 色は2chと同じ。
行数が無制限なのは?:
どの程度に制限すればよいのかわからなかったので。 繰り返すけど、 最初作ったときはオリジナルのソースはまだ公開されてなかった。
Powered by 表示があるのは?:
blogch」のデザインを考えてくれた人が、 Powrded by blogchと入れてくれたので、それを踏襲している。
改行を改行として扱うのは?:
2chと同じにするため。
Fuktommy作品で記法は揃えたい。 URLの自動リンクを考えていたのもそのため。
Ajax版でPermalinkを出していないのは?:
CGIのみ版では編集のときにどうしてもPermalinkが必要になる。 HTMLソースを読めばすぐわかる。 Ajaxだともうちょっと隠せる。
アドレスバーにPermalinkがあるとき、 リロードなしでランダム表示用のURLに切り替える方法がわからなかった。 Tropix みたいにすればできる。
ページリストを先に取得するのは?:
その方が負荷が軽そうだったので。 書き込み以外ではCGIは使わなくてよくなった。
反面、XMLを直読みされるとつまらなくなる。
ページリストがあるのに「戻る」リンクがないのは?:
便利すぎてつまらないかと思ったので。
白黒で平面的なデザインなのは?:
Tropicalの真似。 ボタンを平面にしたのは雰囲気を揃えるため。
書き込みをしてもSaveの色が変わるだけでわかりやすい変化がないのは?:
無愛想な方が面白いと思ったので。
Saveボタンが最初は灰色なのは?:
はてなの伊藤さんの真似。
Saveできなかったと思って連打する人を予想したため。
Create,Randomのボタンは灰色ではなく隠しているのは?:
ON,OFFの区別を、もっとはっきりさせるため。
行数制限をしていないためサイドバーが出るのだが?:
たくさん書ける方を優先した。確かに見た目が悪い。