2015年3月29日日曜日

公開について

今日は疲れきっていて少ししか進みませんでした。

公開について書いてみたいと思います。私の公開に対する考え方はここ最近の間にずいぶん変わり、専ブラ公開へのハードルがどんどん高くなっています。

専ブラを公開した時に、最高の結果は「この専ブラはいいな。ブラウザで見るのをやめて専ブラで見よう」であったり、「この専ブラはいい。2chはやめてRedditに移動してこれを使おう」といった感じだと思います。

悪い結果の方はといえば「何だこの専ブラは。二度と使うか死ね!」となってしまうことです。そして今の段階ではどちらかというと悪い結果の方に近いことを招くんじゃないかと考えています。

私の専ブラはまだ絶対に必要な機能がいくつか足りていません。この段階で公開して不満や要望を求めた場合、当然「必要な機能をはよ実装せえ」というところに集中することになります。それならばまだ良いのですが、今は専ブラが求められているので、おそらくは気を使って、誰もがこの「当然の機能をよこせ」といいたくなるところをグッとこらえて、当り障りのない応援メッセージをいただいたりすることになります。

新機能実装に心を注いでいる結果、不具合の方は見て見ぬふりも多く、不具合報告を頂いても後回しにしてしまったりしてきました。これもまた心苦しいことですし、アプリに対する印象を一番大きく損なうのもその不具合という部分になると思います。

専ブラ開発を応援して頂いていて、自ら不具合のあるアプリを実行してくださる方がいる一方で、そうでない、普通に専ブラを求めている方もいらっしゃいます。そういった方は不具合だらけで機能が足りない物を見せられたら、当然不満に思い、完成後にもう一度実行してもらうチャンスもなくなってしまうかもしれません。

ちょっと調べれば分かる不具合はそんなに時間をかけずに直せることが多いですし、アプリの使い勝手の大半は細かい部分で決まることが多く、そこは細かい作業を積み重ねればかなり改善できます。機能が足りないというのは一朝一夕ではなかなかうまくいかないのですが、そういったブラッシュアップは少しの時間で出来ます。最低限それは公開の前に行う必要があると思っています。

そして最低限「まだ実用にはならないけれど、この専ブラは面白いな。機能が揃ってきたらもう一度試してみよう」と思ってもらわなければいけません。ここまで辿り着けなければ、公開はマイナスの結果になると思います。そのために、そんなに時間はかからず実装できて面白い機能をチョコチョコ入れることにしました。

ただそれでもその最低ラインに到達できる自信は今のところあまりありません。出来ればもっと機能が揃うまで公開を避けたいくらいですが、わざわざこんな僻地にまでブログをチェックしにきてくださる方もいらっしゃいます。そういった方には進んでますよというところをお見せしたいと思っています。

しかしそのために、ブログ限定でも公開してしまえば、Redditの方でブログソースで記事にしたりも自由にできますし、それをやめてくださいといえるような立場では私はありません。アプリ作者としてアプリの事を紹介してもらうのはそれ自体は大変ありがたいことです。ただそれによって、多くの人が専ブラを試し、結果として私の専ブラに対する失望が生まれてしまうのは避けたいところです。

なのでブログ限定でも公開する場合はある程度ブラッシュアップした状態で出したいと思っています。今取り組んでいる不具合の根がかなり深く、解消までかなりの作業が必要になるので今日明日というわけにはいかないかもしれませんが、少しお待ちいただければと思っております。

2015年3月28日土曜日

進捗

大きいサブミになってくると不具合が噴出してきてなかなかヤバいです。今朝方気づきましたが、大きいサブミでは評価の低いコメントが省略されますが、これはAPIからも取れないようです。一つ一つ「省略されたコメを読む」みたいなのを探索していく処理をAPIを使って書けば取れますが、「並列で複数箇所から取らないように」とAPIドキュメントで注意されてるのでゆっくりバックグラウンドで一つ一つ取っていくぐらいしか実質取る方法はなさそうです。

大変そうなので今のところは省略されたコメには手を付けられそうにありません。

2015年3月27日金曜日

進捗

既読管理はうまく動いてるような気がしますが既読情報の保存がまだ出来ません。それと、わざわざRedditで専ブラを使う大きな理由の一つになればいいなと思っている機能が入れられそうです。デバッグがすんなりいけば明日公開できます。

2015年3月26日木曜日

進捗

既読関係の実装は出来たのですがバグだらけでまともに動いていません。

おそらくもうちょっと頑張れば終わらせられるのですが、身の丈を超えた頑張りがよい結果に結びつかないのはもう十分身にしみました。肛門をいたわりながらやっていく必要があるように思います。

痔の方は痛みも腫れもなく、ただ出っ張っているだけなのでもうほとんど治ったんじゃないかと思います。ご心配をお掛けして申し訳ないです。ジットリとした疲労はありますが、よく食べよく寝てプログラミングに集中できているので体調は良いと言っていいんじゃないかと思います。

2015年3月25日水曜日

ダメでした

絶対に今日中と言っていましたが、ドツボにハマってしまい確実に終わらない情勢です。コメが消されたり復活したりするRedditの未読という概念は2chよりだいぶ難しいようです。全く読み違えていました。

3/25 今日の目標

「絶対に」今日中に公開する

昨日のうちに未完成、バグありのまま放置する部分と作る部分を峻別しておいたので、妥協の上での公開を目指そうかと思います。

2015年3月23日月曜日

出来たところまで β5.1

https://drive.google.com/file/d/0BzP_9LiaNnm1U241Y01tMGNHYmc/view?usp=sharing

ようやく配置変更と記憶が出来るようになった、ように思います。

あとずっと言われていた「板ソート時にスクロールしていると結果がズレる」というバグを更新時のことだと勘違いして放置してしまっていたのですが、今回直せたんじゃないかと思います。話をきちんと聞いておらず非常に申し訳なく思っております。

とりあえずソースウインドウに戻る進むぐらいはつけないといけませんし、タブは右クリックから閉じられた方がいいと思いますし、いろいろやることはあるのですがあと少しで公開出来るはずです。

2015年3月22日日曜日

今日の進捗

分割切り替えできてそうなところまでは出来ました。しかし板一覧画面の格納がまだ出来てません。

もうここができたら贅沢言わずにとりあえずサブレ作って公開したいです。

http://i.imgur.com/62ZqH2I.png

今日の目標

痔も痛くなくなったのでガンガンやっていこうと思います。

今日は
板一覧の格納
設定画面追加
配置変更
配置を覚える(配置設定、スライダーの具合、ソースウインドウの位置)
新着コメ数、未読コメ数の表示
ageのシミュレーション
マウスのショートカット

ここまでやってredditchanサブレを立てて公開が目標です


あとやはり書き込み画面の分離もやりたいです

2015年3月21日土曜日

出来たところまで β0.5

https://drive.google.com/file/d/0BzP_9LiaNnm1YWp6YjNmSDhzTVU/view?usp=sharing

とりあえずタブが閉じられるようになり、ソースの位置を変えられるようになりました。

あと細かい修正点:

ポップアップに枠を付けた
ソース表示中にポップアップしてソースを消さないようにした
Youtube等がソースを消しても止まらない不具合を修正?

既知の不具合:

ソースとしてasahi.comを開くと軽くフリーズする


雑記:
なかなか進みません。

今日の目標

痔も小ぶりになってきたと思うのでそろそろエンジンをかけていきたいです。

今日中に
ageシミュレーション
タブをちゃんと閉じられるように、順番入れ替えられるように
ソースブラウザの位置を変えられるように、その位置を覚えられるように
板一覧の格納、画面配置を変更できるように、覚えられるように
マウスを使った便利なショートカットを入れる

ここまでやって公開と同時にredditchanサブレも立てたいと思っています。

痔がかなり酷いです。体力が落ちると吹き出物が出来たりイボ痔が出来る体質なのですが、このところの無理がたたって盛大に膨れ上がってしまいました。

今回はボラギノールも効かず、治りそうもなかったので肛門科への通院も考えたのですが、イボ痔を肛門で挟み込んで括約筋で締め付けたところ潰れたようでそれからは小康状態です。おそらくニキビとかと一緒で潰せば治るのではないかと思います。やったことがないので分かりませんが。

この治療法が成功すればアプリの開発ペースが上がると思います。

出来たところまで β0.4

https://drive.google.com/file/d/0BzP_9LiaNnm1dzFud0NiVU1jUDQ/view?usp=sharing

2chの調子が悪いということでこれは更新のチャンスだと思いましたが、うまく進みませんでした。
スレ立ても面倒なのでブログでひっそりアップしてみます。

そもそもredditchanサブレを立ててそこにスレを立てるという予定だったのですが、せっかくサブレを立てるならもうちょっとまともなアップデートで立てたいところです。

やったことはこのあたりです。

タブブラウザ化 ソースとスレの同時読み込み&表示

ポップアップの修正(バグなくなった?)
サブレディット内のサブミ一覧表示でスクロール中に更新すると位置がずれるバグの修正。
サムネポップアップを修正


ただ致命的な欠陥があってまだタブを閉じられません。
板一覧の格納ボタンも付いているのですが動きません。

2015年3月18日水曜日

マークダウンについて

今日はずっとマークダウンについて考えているのですが、もう忘れて実装に移らないといけないので一旦書き出します。

最近はかなりReddit慣れしてる方が増えてきて、マークダウン記法もよく出てくるような気がします。私のアプリは全くマークダウン記法に対応できていません。

専ブラは、HTMLを出来合いのブラウザで表示しながらその上に機能を拡張するタイプか、自分で描画するタイプかに分かれます。私はブラウザで描画せず自前で描画したいと考えています。自前描画のほうが自由に出来る部分が大きくなります。

ただ自前描画でマークダウンに正しく対応するのはなかなか面倒です。β1の後に少し立ち止まってデバッグを行い正式版に移行しようと思うので、その時のついでにでも地道にやろうかと思っています。

追記:やっぱり正式版の前にはマルチレディット対応が必要になると思い直しました。

もう一度バグ修正(3b0)

報告を頂いた再認証がまだ出来てないということと、スレッドの最初が途切れる問題、それに勢いの数値を直したバージョンになります。
 https://drive.google.com/file/d/0BzP_9LiaNnm1NE05RmNhUHFDNzg/view?usp=sharing

2015年3月17日火曜日

バグ修正

バグ報告を頂いた、再認証時のメッセージボックス出現バグと日付がおかしいというバグを直したバージョンを作りました。

https://drive.google.com/file/d/0BzP_9LiaNnm1UDVYNWZJWURHYlk/view?usp=sharing

β1の予定

ようやく体調が戻りました。

作る内容と予定を宣言しないと動けない体になってしまったのでとりあえず宣言したいと思います。

急遽作ったバージョンはβ0ということにして、次がβ1ということになります。

β1では、 タブブラウザ化 ソースとスレの同時読み込み&表示 板一覧画面を格納可能に 画像サムネ 画像のアプリ内表示
ageのシミュレーション 未読レス数の表示 終了時の画面の状態を覚える

といったあたりを作っていこうと思います。普通に作ると4日かかるところですが、3日で終わらせようと思います。

RedditのOAuthは一時間ごとの認証が必須ではなかった

必須ではなかったということです。教えて頂いた方ありがとうございます。

インストールするアプリはウェブアプリとは違ってパスワードみたいなものをアプリに埋め込むと漏れてしまうので、そういうものは与えない、ということが書いてあってそれはそうだと思ったのですが、その意味するところは「パスワードが空白でも認証が通る」という意味だったようです。確かにそういったことは書いてあったのですが、英語なので「まさかそんなことはあるまい、何かの誤読だろう」と思ったのですが、本当に空白でも通るという話を聞き、ものすごく驚いています。改めて自分は何も分かっていないと思い知りました。

雑記

昨日はニュー速Rがreddit運営に選ばれて?トップページにリンクが載ったとかで外人さんがたくさん来て、私も浮かれて外人さん用にちょっとredditchanを英語にしたバージョンを作ってアピールしてみたりしました。

しかし、奇妙な英語を話す怪しい奴が薦めてくる変なブラウザを起動する人は稀のようで、かなりいい評価も一部ではいただけましたので良かったのですが、浮かれて作った自分の期待値はさすがに上回りませんでした。

外人さんが押し寄せてくるのを見て急遽頑張って(朝の四時までかけて)作ったのですが、その頃には外人さんもあまりいなくなってました。急遽作ったという割に、OAuth対応というセキュリティ上ものすごく重要なアップデートも行っていて、それがredditchanの新バージョンであることも言わずに変な英語で外人さんだけに向けてアピールされていて、、なんだかちぐはぐな感じがしたので日本語でも投稿しなおしてみましたが、あまり反応もなく、何事も浮かれてやってはうまくいかぬものだと認識しなおしました。

昨日頑張りすぎたためか今日は指一本動かせないぐらいぐったりと疲れてしまっていたのですが、少し回復してきました。1日に頑張って12時間やって次の1日ぐったりしながらやってることがブログ更新だけだというなら、1日に8時間ずつやっていったほうが良いということなのだと思います。

2015/03/16の投稿2(外国の方に向けてRedditchanのβを公開しました)

newsokurに外国の方が大勢来るということで、予定にはなかったのですが公開してみました。インターフェースが一部英語になっていますが、一時的なことになるのではないかと思います。日本の方に向けても公開しておくべきかと思い、こちらにも書かせて頂きます。 http://www.reddit.com/r/newsokur/comments/2z5h2i/hi_guys_this_is_a_reddit_browser_i_created_its_a/ http://i.imgur.com/PpwyyJ9.png  
a1からの変更点
OAuth認証に対応、接続が高速化し安全になりました。(前バージョンのフォルダにログイン情報(system1.dat)のファイルが残っている場合は削除をお勧めします)
サムネ画像が見つからない場合に前の画像が残っていた問題を修正
画像のメモリが解放されていなかった問題を修正
マウスホイールが正しく動くように修正
削除されたレスをアンカとして数えないように修正
更新ボタンを追加、読み込み中に進行状況を表示するように変更
ポップアップが正しく動くように修正(まだ不具合あり)
ソースボタンを追加
高評価順にレスを表示する機能を追加
マークダウン記法を追加
レスのUV,DVの実装
https://drive.google.com/file/d/0BzP_9LiaNnm1UVpwWHlNNFdrMm8/view?usp=sharing

2015/03/16の投稿(Hi guys! This is a Reddit browser I created. It's a Japanese style. Try it!)

http://i.imgur.com/PpwyyJ9.png
https://drive.google.com/file/d/0BzP_9LiaNnm1UVpwWHlNNFdrMm8/view?usp=sharing
Vista or later.
This is beta version. Run RedditCh.exe please.
日本人の方へ a1からの変更点
OAuth認証に対応、接続が高速化し安全になりました。(前バージョンのフォルダにログイン情報(system1.dat)のファイルが残っている場合は削除をお勧めします)
サムネ画像が見つからない場合に前の画像が残っていた問題を修正
画像のメモリが解放されていなかった問題を修正
マウスホイールが正しく動くように修正
削除されたレスをアンカとして数えないように修正
更新ボタンを追加、読み込み中に進行状況を表示するように変更
ポップアップが正しく動くように修正(まだ不具合あり)
ソースボタンを追加
高評価順にレスを表示する機能を追加
マークダウン記法を追加
レスのUV,DVの実装

2015年3月15日日曜日

スケジュールを大幅に変更し、次のバージョンでOAuth2に対応します

連日Reddit用専ブラが現れるというすごい(私からすると複雑な)状況になってきました。そしてOAuth2認証に対応する方もいて、使ってみるとものすごくアクセスが早いです。これは対応する他ないと考えを改めました。

自分のアプリにブラウザを埋め込んでOAuth2認証をするアプローチだと、普段使っているウェブブラウザに処理を投げる場合と違って、入力されたパスワードをアプリ側が見ることが出来ないという特徴はなくなってしまうと思うのですが、普段使っているウェブブラウザとアプリを連動させるためにはレジストリの書き換えが必要となることもあり、どちらを選ぶかという問題になります。

OAuth2の仕様によれば埋込み型ブラウザを使うべきではないというのはSHOULDとなっておりMUSTにはなっていないですし、ユーザーIDとパスワードを打ち込ませる今のスタイルはセキュリティ上最悪で、Redditからも8月からは禁止と通達されている方法なので、今よりはベターになります(一時間おきの再認証のためのボタンクリックを除けば、ですが)。一時間おきのクリックで今のアクセスの遅さから解放されるのであれば充分なトレードオフになりうるのではないかと考えています。

 一時間おきに認証用ページに飛ばされてクリックをお願いされるのは、もちろん不満に思われる方も大勢いらっしゃると思いますが、今の仕様だとご容赦をお願いする以外にできることはないと思われます。どうかよろしくお願いいたします。

コメント返し

Q.パスワードが平文のまま保存されている

A.暗号化します。

ただ、私が書いているC#ではソースが公開されているようなものなので、暗号化されたデータを復号する方法も丸見えになっています。悪意のあるプログラムが実行されて、もし私のプログラムが狙い撃ちされたら、ファイルを複合してパスワードを取得し、自分のサーバーまで送るのは簡単です。

Q.名前にRedditを使ってはいけないのではないか
http://www.reddit.com/r/redditdev/comments/2ujhkr/important_api_licensing_terms_clarified/

この辺に詳しく書いてあるのですが、

we're asking API clients to not use the word "reddit" in their name except in the phrase "for reddit", e.g., "My cool app for reddit"

となっています。コメントでは Reddit News や Reddit 2 Go は変更の必要があると言われていますが、"redditor"のようなredditが名前に含まれるものに対しては運営側の方は良いとも悪いとも返答していないようです。

自分勝手な考えではありますが、redditというワードを使わなければ基本的にはOKなのではないかという気がしています。RedditChanならば公式アプリと見間違われることもないでしょう。何か言われたら即座に変更します。

Q.ログインにパスワードではなくOAuthを使うべきではないか

上記のスレッドにこれも書いてあるのですが、現在のユーザー名とパスワードを用いたログインは8月以降使えなくなります。しかしRedditで使われているOAuth2を動かすためには「レジストリを書き換えるしっかりとしたインストーラ」や「一時間おきにブラウザを表示して認証ボタンを押してもらう」などパスワード入力よりも受け入れられなさそうなハードルがあり、また難易度も高くとても一週間では間に合わなくなってしまうため最初のバージョンでは諦めました(ちなみにこれを確認するために丸2日かかったので作業時間が実質5日間になりました)。正式版までには対応します。

Q.Windows XP、Mac、Linuxへの対応は?

おそらくないと思われます。大変申し訳ございません。

Q.実行しようとするとノートン先生が怒るので実行できない

誰が作ったのかもわからない、掲示板から拾ってきたソフトで、通信までしていますから、怒るのもしかたないのではないかと思います。地道に作業を続けていけば、シマンテック社も「安全確認」を出してくれて、問題なく実行できるようになるかもしれません。

Q.書き込み後にテキストがテキストボックスから消えない

ClearText, ResetText, Text = ""などいろいろやってみたのですが、なぜか消えなかったため放置してしまいました。申し訳ありません。いまだに原因はわかっていませんがなんとかしたいと思います。

Q.板一覧とは何か

最初に板一覧用のマルチレディットを、newsokurの説明書きにあるものをコピーして作りました。
http://www.reddit.com/user/RedditChanSakusha/m/japanese_subreddits

私のアプリではこれを読み込んで板一覧にしようと思っていたのですが、使っているミドルウェアになぜかマルチレディットの取得方法がなく、また時間もないので直接コピペしたファイルを読み込むようになっています(itainfo.txt)

このテキストファイルを編集すれば板一覧も変えることが出来ますが、編集に失敗すると起動しなくなると思うので注意してください。

これに乗っていない板がある場合は、newsokurの説明書きに乗っていなかったか、単純に見落としたかということです。板一覧に乗せたいという板がある場合はコメントを下さい。

2015年3月14日土曜日

Redditと2ch型掲示板の比較

私自身まだ完全にRedditのことを理解出来ていないので、比較するには適切ではないのですが、わからないなりにもどう進むべきか考えなければなりません。

まずは単純に大雑把に考えてみます。

Redditの長所はなんといっても良コメが上にくるシステムにあるように思います。短所はといえば、良コメが上に来るデフォルトの「ベスト」で見ていると、新着コメが最下層に沈んでしまうということです。

新着コメを見てもらえないということは、評価してもらえないということであり、評価してもらえないということは見てもらえないということ、というこのネガティブフィードバックは書き込む人の意欲を削いでしまうように感じます。

2ch型の場合は新着レスを誰もが読みます。これは書き込む人に非常にフレンドリーなシステムですが、その結果として荒らしだらけで居心地の悪い場所になってしまっている場合が多いように感じます。荒らしレスを排除し良レスだけを読みたいという希望に答えた結果、2chを転載するだけのブログが広告で大金が手に入る一大産業のようになっているのも現実としてあります。

(余談ですが、2chの場合は被アンカ数で良レス度合いがある程度判断できるように思うので、公式でアンカ数フィルタを導入したらどうかと某外国人に提案したことがあります。過去ログもただ置いておくのではなく、勢い等から人気スレのランキングを生成して紹介するなどし、良レスを抽出してアンカツリーを読みやすく加工して表示できれば転載ブログのユーザーを獲得でき、広告料を得られたはずです。過去ログでない通常の公式Web表示でも、良レス抽出やアンカポップアップなどを導入すれば、専ブラを使わない普通のユーザーでも読みやすいサイトになり、Web表示から広告料を得られたはずです。アクセスの大多数はROMであり、ROMの大半は専ブラを使っていないので、専ブラに広告表示を強制したところで誰も得しないのではないかと思います。2chのシステムにはそれ以前にやるべきことがいくらでもあったように感じています)

ツリー型とフラット型の比較をしてみます。

外人さんの話を聞いてみるとフラット型掲示板は時代遅れで、何のメリットもないものという評価を目にします。海外のフラット型と比べればツリーのほうが良いでしょうけれど、専ブラによって拡張された2ch型掲示板はアンカポップアップによってレスの構造が読み取りやすくなっています。

ツリー型の場合は一つの返信から長大なやりとりが始まる場合があり、その下にあるもう一つの返信を見る頃には何の話だったかわからなくなっていることがよくあります。子コメントの中から良コメを見繕って見ていこうと思っても、間に膨大な関係ないコメが挟まって親子関係がどうなっているのかわからなくなってしまいがちです。

親コメント、子コメントを即座にポップアップできる2ch型専ブラのシステムが読みやすさの点で劣っているようには思わず、むしろ優れているのではないかと感じています。しかし、ただフラットに時系列でレスを置いておき、話を追うためにはポップアップが必要という形では、良レスを探すために膨大な時間がかかるため、読む人にとっては辛いものがあります。

専ブラ形式のポップアップはフラット型掲示板でないと使えないわけではないので、ツリー表示でも孫コメを含まず子コメだけをポップアップしたり、膨大な兄コメの後の弟コメでは親コメをパパッとポップアップして見返したり出来れば、ツリー表示の弱点はなくなるように思います。Reddit式ツリー+専ブラ式ポップアップ の表示モードはぜひ作りたいです。

それに対して2ch型専ブラ表示はRedditの新着順表示の上位互換になれるのではないかと思います。特にRedditの新着では、別のコメに対する返信だとコメントしても新着のトップに来ないこともあり、新着で見ている人にすら読まれないコメというのも生まれてきてしまいます。返信を表示するためにツリーを出せば表示が圧迫され他の新着が見られなくなることに対する配慮ではないかと思いますが、ポップアップ式にすれば場所を取らないため問題なくすべての新着が取れます。

Redditは良コメを志向し、良コメが上に来る分、新着コメは見難くなります。多くの人が上にある好評価コメを読んでUVや返信して満足し、下のコメは読まれません。高評価が高評価を生む構造ですが、新しく書き込む人には厳しいものがあります。おそらく書き込む人にとってのスレッドの寿命は3時間ぐらいではないかと思います。それに応えるかのように、出来てから3時間以内のスレッドにコメントすればカルマがもらえるという特典もあるそうです。

いち早く新スレを見つけ、高評価されるコメを書く。上が高評価コメで固まる前にそれを行わなければ見てもらえません。それが新スレに対する貪欲さ、また良いコメを書こうというモチベーションになり、コメやスレの高い質に繋がってきます。またスレッドの陳腐化の早さは、Redditの重要な格言「総合スレじゃなくサブレディットを立てろ、レスする感覚でスレを立てろ」にも繋がってきます。

それとは別に、掲示板のユーザーには、高い質のコメをしようという気はあまりなく、そこにコミュニケーションしに来ているという人たちもいます。DISQUSというツリー掲示板はそこに特化していて、2chのように新着をメインに取得していきますが、リアルタイム性が高く「誰かがタイピング中」というところまで表示され、返信を取得するとリアルタイムでツリーがどんどん伸びていきます。新ツリーも新着順にどんどん立てられていき、現在あるツリーは下の方にどんどん流れます。現在上のほうにあるツリーに書き込まないと誰にも見られないコメントになってしまいます。後から読みに来る人のことはほとんど考慮されていないようですが、この掲示板も高い人気があります。

コメの質なのか、コミュニケーションなのかという問題は、おそらく二項の対立関係だと思います。見る人のことを考えるか、書く人のことを考えるかという違いでしょうか。2chの場合はどうだったかといえば、正気を失う前の元管理人はこんなことを言っていました。

「最初に「2ちゃんねる」が流行った頃は「ロビー」って掲示板が流行ってて,そこはいろんな情報をみんなが持ち寄って流行らせていたわけです。
 ところがそのうち,属人的な,要はハンドルを持っている人が会話をし始めて雑談が増え,そこにいたい人はそのままいた。でも,その場にいたい人の話って,面白くないんですよ。今日何食ったとかそんな話だから。そうすると他人から見て面白くない情報が多いので,新しい人が入ってこなくなって,新しい情報が少なくなって,廃れていくんですよ。」
http://www.4gamer.net/games/015/G001538/20080301003/

この経験則は古い時代には真実だったのかもしれませんが、雑談ばかりのVIP板が長年書き込み数トップだったりなど今となっては通用しないもののように思います。管理人本人としては質を重視してそこにいたい人は排除したかったようです。ただレスを評価するシステム等がなく、専ブラがないとまともに読むことすら出来なかったため、見る人は転載ブログへと流れていき、書く人は転載されるようなレスを書くために踊る鵜飼いの鵜のようになってしまいました。それが居心地が良いという人もいるのかもわかりませんが、見る人のための場所でも、書き込む人のための場所でもなく、情報の質も低くコミュニケーションもないよくわからない場所へと変わってしまったように思います。

とりとめのない話になってしまいました。結論を出せるようなしっかりとした考えはまだありません。今後も考え続けていきたいと思います。

とりあえず評価の高いコメを上から順に表示していき、ポップアップで話の流れをつかむようにすれば、無駄に膨大なツリーを見る機会を減らしながらも、自分のみたいコメの流れだけを追っていくことで便利にでき、またツリー表示モードを作らなくても出来るので手間もかかりません。そのモードはβ1で実装したいと思います。

α1と今後

昨日は最初のバージョン、RedditChanバージョンα1を公開することが出来ました。αは未完成の意です。

βは機能が揃ってデバッグを残すのみという意味だったと思いますが、最近はずっとベータ版のまま開発していくスタイルも一般的です。私もしばらくはβのまま機能を増やしていこうかと思っています。

次のバージョン、β1についての予定は先ほどの投稿の中に乗せました。今後やっていきたいこと、山ほどあってどこから手を付ければいいのかわからないほどですが、大体のイメージを書いてみようと思います。

β2では、とりあえずタブブラウザにする予定です。タブブラウザ化とともにやりたいのが、タブの自動更新です。1分か、5分か、どのくらいにするかまだ決めていませんが、サブレの状態を定期的に取得することで、レス数の推移を保存していき、直近のレス数に基いた勢いを算出したいと思っています。勢いの総数自体は2chと同じぐらいになるようにしながらも、直近1時間についたレスの重みとそれ意外の重みを5:1ぐらいにして、直近1時間のレス数に5倍の重みをかけた数値にしたいと思っています。

さっきまでは盛り上がっていたけれど話が終わって今はレスがついていない、というような状態のスレがずっと勢い上位にいたり、スレが立ってある程度時間が立ってから急に会話が盛り上がりだしたりといった状況が捉えきれないという不満があり、この新しい勢いはそれを解決できるんじゃないかと思っています。

α1は勢いの数字がメチャクチャになってしまっています。勢いの定義を変えたいと思いながら勢いの数値のバグを直さずに放置していたところ忘れてそのまま公開してしまいました。

また、自動更新にすることで時間の掛かり過ぎるサブレの読み込み時間を緩和できるのではないかと考えました。

α1で一番問題だと思っているのは、サブレの読み込みにものすごく時間がかかることです。Hot順200スレを一度に読み込んでいるのですが、読むだけで3.5秒ほどかかっています。

この200という数字はいわゆる腰だめで決めた数字で、200あれば2ch的に使うには十分なのではないかと思ったのですが、ニュー速Rでは最大で23時間前に立ったスレしか補足出来ませんでした。Redditは基本的に、最近立ったスレ以外は一覧に表示しないスタイルなのだと思います。

3.5秒は長すぎるので、100スレにしてみたのですが、それでも2.8秒ぐらいかかりました。「たいして変わらないようだから200の方がいいかな」という安直な考えで200スレの読み込みにしましたが、次のバージョンでは読み込み数を選択できるようにします。

推移の記録ということでいえば、他にもカルマ数の推移をプロットしてグラフにしたり、自分の書いたレスの評価を時系列でプロットしたり、立てたスレについたコメント数もプロットしてみたいです。そのためにも基盤になるのは自動更新システムです。

また、起動時に購読している板を取得しているのですが、これにも2秒ほどかかります。購読板をローカル保存して、自動更新の巡回中に隙間を見て更新するような形にすることで起動時間を短縮できます。

それとβ2でやりたいことは、ソースのアプリ内表示、画像サムネイル、画像のアプリ内表示です。画像サムネが表示できればようやく専ブラらしくなってきます。いちいちソースを見に行くのが面倒なので、URL部分のクリック時にスレと同時にソースを開いて、左側はソース、右はスレといった感じで出したいと思っています。今のバージョンでもそれに近い感じにしようと思ったのですが、左側にブラウザを設定しておいてやればうまくいくかなと思ったのですがそうもいきませんでした。

β2ではなんとか最低限専ブラらしく出来ればと思っています。目標はこれも1週間後としておきます。

そしてその先のために考えておかなければならないのは、Reddit的なるものをどう取り込むかです。これは別のエントリーにします。

2015/03/14の投稿

RedditChanSakusha    投稿
dat廃止に無理に合わせてみました。いろいろ至らない点が多く、バグも多いと思いますが、アンカポップアップやみたままの書き込みも実装できたのでギリギリ実用になるかもしれません。
人柱になりたい方、よろしくお願い致します。
tps://drive.google.com/open?id=0BzP_9LiaNnm1RWl0UUdEOUpLdDA&authuser=0
公開時にミスをしていたので新バージョン(release2a1)に変えました (旧バージョンはポップアップ時に変な影が出ます https://drive.google.com/open?id=0BzP_9LiaNnm1ei1fSjh0ZFJBMUk&authuser=0
使用感や方向性に対する意見、不具合報告や要望などいただければと思っております。
追記:
次のバージョンはβ1になる予定です。アプリとしての最低限の体裁を整えるため、
板の読み込みスレッド数を設定可能に(少なくすることで高速化可能に)
2chのageのシミュレーション(勢いのあるスレに重みをつけてランダムに上に)
ウインドウを閉じた時の大きさや位置、スライダーの位置などを覚えておく
コメに対するUV,DVの実装、勢いの数値を直す、書き込み成功時にテキストボックスを空白に
読み込み中のプログレスバーを表示
既読コメ数を記録し新着レス数を赤く表示できるように  書き込み時やスレを開き直した時のスクロール位置を正しく
スクロールをスムーズに、ホイールがクリックしなくても効くように
といったことを3日後をメドにやりたいと思っています 忘れていること、ご意見等ありましたらよろしくお願いします
なお次のバージョンからはRedditChanのサブレを立ててそこにスレを作るつもりです。
よろしくお願い致します。

2015年3月12日木曜日

進捗状況

一週間で作ると宣言してからそろそろ一週間になるので進捗状況を書いてみようかと思ったのですが、今確認したところ1時間後に2chのdatが廃止されるということで、衝撃を受けています。今月中と聞いていたのですが、思ったよりものすごく早かったです。

結局間にあいませんでした。明日の終わりまでならなんとか公開できるかもしれないという希望が見えてきたところだったのですが、かなりガックリ来ています。

とにかく可及的速やかに2ch風に使える専用ブラウザとしての最低限を実装して公開したいと思います。

2015年3月8日日曜日

コメント返し

最低限の説明責任は果たすべきだと思うのですが、どういう形でやっていくのが良いかわかっていません。

スレッドでコメント返しをする、というのは難しいように思います。私はコミュニケーションに問題があり、書き込みを考えるのに時間がかかるので、会話が続いてしまったりすると、それに時間が取られて開発が進まなくなってしまいかねません。

実験的に、こちらでひっそりとコメント返しをしてみたいと思います。

Q.一週間で動くものを作って公開するというのは気負いすぎではないか

これにはいくつか理由があります。

・3月中とされている2chのdat廃止に間に合わせたい
・動くものを作って見せる以外に、これが冗談や妄想でないことを証明する手段がない
・自分にハッパをかけたい

Q.寄付は受け付けるのか、ソースは公開するのか

寄付は受け付けたいと思っています。とりあえず動くものを作って、使ってもらい、これになら寄付をしても良いという方がいたら寄付してもらおうと思っています。受付先はビットコインを予定しています。

ソースを公開する予定は今のところありません。ただC#で書くので逆アセンブルでソースは復元できます。私が行方不明になって開発が継続不能になったりなどした場合は、復元したソースを利用して改造版を作って頂いて構いません。また、復元されたソースを見てバグやセキュリティ面の問題を指摘して頂いても結構です。

願望を口にさせてもらえば、出来ればこのソフトで食べていけたらと思っています(無理だとは思いますが)。なのでソースを公開した場合、「誰かの無償の仕事を使って私がお金儲けする」という状態に陥ってしまいます。それを積極的に勧めることになるため、ソースの公開は出来ません。

どういった形でお金を稼ぐかということについて考えていることがいくつかあります。

今の段階でお金の話をするのが適切なのかという問題はありますが、どういう考えをもっているかあらかじめ知っておいてもらえればと思っています。

PC版では寄付以外のお金は頂きません。
将来的にスマホ版を作り、英語版も作り、Wikipediaのように積極的に寄付を要求する仕様にして無料で公開し、それで目標月額20万円に届かなければ、スマホ版に有料オプションを付ける、あるいはスマホ版を有料で売るという形を取ってみたいと考えています。

積極的に寄付を要求するというのは、1ヶ月に一度くらい、起動時にダイアログが出て寄付をお願いするような形を考えています。使用の邪魔にはならないようにしたいです。

まだPC版もない段階でスマホ版の話をしても取らぬ狸で、現段階ではただの願望でしかありません。今はスマホ版のことは考えず、PC版をしっかりしたものにした後、余裕ができたらスマホ版を作りたいと考えています。

Q.どういったソフトにするのか

はじめは思い切り2chに寄せた形にする予定です。複数のアンカをつけたレスが出来ないといった制限はありますが、ほとんど2chと同じように使えるように出来ればと思っています。Redditの良い所は後から皆様の意見をいただきながら付け加えていければと思っています。

2015年3月7日土曜日

2015/03/07の投稿

PC用の2ch風Reddit専用ブラウザを作ろうと思います。 できれば一週間ぐらいでベータ版を出したいです。
要望等あればお願いします。

 
追記:
たくさんのご要望ありがとうございます。
初めは最低限の機能しか実装できず、皆様のご要望に応えられるのはその後になってしまうとは思いますが、
実装するべき機能を想定しながら優先順位をつけて作っていけるので大変助かっております。
 
できるだけ早く動くものを用意して皆様の期待に応えられるよう全力を尽くします。

RedditChan Blogについて

 RedditChanというRedditを2ch風に表示する専用ブラウザの開発ブログです。

 アナウンス等はRedditにあるスレのコメントを編集して行うつもりですが、時系列に沿ったアナウンスの記録も必要になると思うのでこちらにも書いていきます。

 スレの方がメインになるのではないかと思いますが、こちらにコメントして頂いても構いません。