niconicofavlist.user.js ver 1.30
久しぶりの更新となりました><
ニコニコ動画が GINZA になったので、ニコニコ動画でマイリストの新着を知る Greasemonkey スクリプト をバージョンアップしました。
今回は1から書き直し、デザインも刷新し、機能もいくつか追加しています。
インストール: https://raw.github.com/kotas/niconico-favlist/latest/dist/niconicofavlist.user.js (使い方)
※ スクリプトを置かせて頂いていた coderepos.org がダウンしたままなので、GitHub に移行しました。
変更点
複数タブ間での同期
例えば2つのタブで、マイリストのページと、favlist が表示されるトップページを開いている時に、マイリストを登録すると、もう片方の favlist 側にリロードせずに反映されるようになりました。(以前のバージョンだとこれが出来ていなかった><)
自動アップデート機能の廃止
最近の Greasemonkey や互換ソフトは、自動アップデート機能がついているので、そちらに任せることにしました。
その他細かい修正
- 「カテゴリをまたいで表示」オプションを廃止
- 最初のページに出れば十分だと思われたので
- 「プレイリストに移動」機能を廃止
- 公式の ZeroWatch にプレイリスト機能がついたため
- プレイリストのユーザースクリプトがメンテできていないため
- 要望が多いようであれば復活します><
- 「お気に入りリスト」と呼んでいたのを「favlist」に統一
- ニコニコ公式のお気に入り機能と紛らわしいため
- favlist への登録ボタンにもレスキューモードを搭載
内部の話
今回、1から全面的に書き直すにあたり、TypeScript を採用しました。
【追記】技術的な話はこちらに書きました: TypeScript でユーザースクリプトを書いた - kotas.tech
ソースは GitHub にて公開しています。
https://github.com/kotas/niconico-favlist
Enjoy!
株式会社ドワンゴを退職しました
この度、一身上の都合により株式会社ドワンゴを退職いたしました。
退職にあたり、様々な方にご迷惑、ご心配をおかけし、大変申し訳ございませんでした。
思い起こせば、2007年4月に入社してから約5年間、私の人生はニコニコ動画と共にありました。
2007年当時、半ニートのような生活を送っていた私は、「2ちゃんねる求人」という奇妙でユーモラスな採用活動に惹かれ、その第一期生として株式会社ドワンゴに入社しました。面接の場で、「好きな2ちゃんねるの板は?」と聞かれたのは、今でも印象に残っています。
入社して早々、まだ生まれたての動画共有サイトの開発チームに配属されました。当時はまだ(β)から(γ)に変わった頃の時期で、開発チームも数人とごくごく小規模。私は、初めての社会人経験で、目の前の事を片付けるのに精一杯でしたが、先輩方と同僚に恵まれ、日に日にWebサイト開発にのめり込みました。
当時の様子を思い起こすと、まさにカオス。暗い会議室で数人が頭をつきあわせ、BGMとミラーボールが回る中、会議をしたこともありました。ゲーム音楽をBGMにするとしばしば会議が中断して、しまいにはどのFFナンバータイトルが一番好きか、という話題で盛り上がるなどしたため、最終的にはゲーム音楽は禁止になりました。
今でも、あの雰囲気が懐かしくなる事があります。そこには、「熱」がありました。
サイトが成長するにつれて、アクセス数との闘いの日々が続きます。続々と心強いメンバーも参戦し、後輩もできました。タスクに追われる日々でしたが、成長するWebサイトを支え伸ばしていく作業は、やりがいがあり、充実感が伴うものでした。時には寝食を忘れコードを書き、時には急な障害に慌てて対応し、時にはサービスインの反応を楽しみました。ニコニコ動画は人生の一部となっていました。
気がつけば数年が経ち、生放送が開始し、静画が開始し、ニコニコはこれまでにないほどに成長しました。私は私で、ニコ動開発の傍ら、ニコニコアプリの立ち上げに開発リーダーとして関わりました。その後もニコ動とアプリの二足のわらじで、あっぷあっぷ言いつつ楽しい日々を送りました。
ニコニコ超会議で、エンジニアの一人として舞台に立ち、粉雪を歌ったのを覚えています。観客席には、今まで見えなかったユーザー1人1人の顔がありました。私たちは、こんなにも人々を惹きつけるサイトを作っているんだ、こんなにも多くのユーザーに支えられているんだ、という感動と、そして誇りで胸がいっぱいになりました。今まで生きてきた、一つの意味を見た思いでした。
退職する理由を聞かれるのですが、答えに窮します。それは、自分の中でもまだ消化できていないからです。あえて言うとすれば、私の中でニコニコ動画は大きくなりすぎました。納得する答えではないと思います。
ドワンゴは良い会社です。私の周りの人々は皆、志を持ち、意欲をもって難題に取り組んでいました。尊敬してやみません。あの時、ドワンゴの2ちゃんねる求人に応募した事は、人生で最良の選択だったと思います。
見守って下さった上司の皆様、一緒に仕事をした同僚の皆様、そしてニコニコ動画を支えてくださったユーザーの皆様に厚い感謝を申し上げます。本当にありがとうございました。
この場を借りて、退職の挨拶と代えさせて頂きます。
齊藤 宏多
niconicofavlist.user.js ver 1.22
ニコニコ動画でマイリストの新着を知る Greasemonkey スクリプト をバージョンアップしました。
インストール: niconicofavlist.user.js (使い方)
変更点
- 修正: 動画のトップページ (/video_top) でレスキューモードになるのを修正しました。
Enjoy!
ニコニコアプリの開発リーダーをした話
12月9日、ニコニコ関連サービスとして、新たに「ニコニコアプリ」がスタートしました!
ニコニコアプリは、簡単にいえば「ニコニコ動画や生放送上でゲームしようぜ!」というコンセプトで始まった企画。今流行りのソーシャルゲームプラットフォームでございます。
皆さん、ぜひ遊んでください!!
リーダーをした
大百科にも書かれている通り、最初に「ニコニコアプリ」の名前が出たのは、今年(2010年)の2月のニコニコ大会議。発表では「今年中には出す」と言っちゃったので、ギリギリセーフでした><
実際にニコニコアプリのプラットフォーム開発が始まったのは1月ごろだったので、足掛け1年のプロジェクトです。ドワンゴの開発プロジェクトの中では長い部類に入ります。
そして、僕は、そんなプロジェクトのリーダーを担当したのです。
何しろ初めてのリーダー、しかも、大規模なシステム。お金だって扱うし、アプリを提供して頂くのは外部の会社様なので、ニコニコシリーズでは珍しい BtoB の側面もあります。
2007年にドワンゴに入社して以来、「ニコニコ動画」というビッグネームに頼りきりだった僕に、ついに親離れの時が来てしまったのです。
ニコニコアプリの前身
僕は、脳内企画を人に話すのが大好きだったので、深夜のファミレスに同僚と行っては、脳内サービスを延々と紙に書いたり、作り方を想像したりしてキャッキャウフフしていました。
去年 (2009年) の8月ごろ、そんなキャフフの一環で脳内ひらめきがあり、深夜のテンションも手伝って、ニコニコ動画プレーヤー開発者であるrouさんと二人三脚で、プレーヤーに外部の SWF ファイルを読み込んでプラグイン的に使う仕組みを作ってみました。
外部に SWF を保持する仕組みが必要だったので、アップローダとなるサイトも作りました。その名も「Nicopp Store」。ニコニコアプリの原型であるサイトです。ひどい名前だ。
さらに、思いついたアイデアをプラグインとして作ってみたら、それが予想外に面白かったので、上司に見せたり同僚に見せたりして、どや顔。
ただ、負荷も考えずに作ったもので、まあそのままリリースするわけにもいかず、他に仕事も一杯あって、なんだかんだで Nicopp Store は忘れ去られていきました。
ブラウザ三国志がブーム
2009年の終わりも近づいたころ、弊社の社内では「ブラウザ三国志」が空前の大ブーム。
重役やリーダークラスの社員がこぞってゲームにハマり、大人気ない大人買いと言わざるを得ないほど、お金を注ぎ込み、日夜戦争を繰り返している頃でした。*1
「アプリ超おもしれー」という声の中、ウチでもやろうか、という流れが発生するのは自然なことでした。
そして、アプリっぽい Nicopp Store を作った僕とrouさんに白羽の矢が。突然、偉い人たちの前で Nicopp Store と試作したプラグインのデモをする事になったのです。さあ大変です。
デモをしたら、反応はいいんだか悪いんだか。「フーン」とした感じでした。確か。
特にその場では何も言われず、僕も年末の忙しさに追われ、日が過ぎて、すっかり油断してしまったのです。
ラーメンのちリーダー任命
2009年12月ごろ。何を思い立ったか、突然、その場に居た会社の何人かで、博多ラーメンでおなじみの一風堂に行く事になりました。
寒い冬の夜に、温かいラーメンがおいしかったのを覚えています。
帰り道、上司と会社に向かって歩いている中、上司が思いついたように振り向いて、こう言いました。
「あ、アプリのリーダー、齊藤君 (僕) に決まったから。」
えええええええええええええええええええええ。
つづく。
*1:僕の同僚は、当時を振り返って「ブラ三をしていないと査定に響くんじゃないか、と思った」と語っています
niconicofavlist.user.js ver 1.21
ニコニコ動画でマイリストの新着を知る Greasemonkey スクリプト をバージョンアップしました。
インストール: niconicofavlist.user.js (使い方)
ニコニコ動画が(原宿)になったので対応しました。
変更点
- 修正: ニコニコ動画(原宿)に対応しました。
Favlist が表示される場所について
ニコニコ動画(原宿)では、従来のトップページは「動画に関するトップページ」として再定義され、ニコニコ関連サービスを全てまとめた「総合トップページ」が新しくできました。どこかで見たことのあるデザインがとても馴染みやすいですね!
Favlist は今回の対応で、@include (Favlist のスクリプトが実行されるURL)をいくつか追加して、これら2つのトップページ両方に出るようになっています。表示されない場合は、一回アンインストールしてからインストールしなおすと表示されるかと思います。(アンインストールする際には「関連付けられた設定も削除」にはチェックを入れないでください)
Enjoy!
jsdo.it が楽しいです><
HTML5 + CSS 版 wonderfl な jsdo.it が登場したので遊んでます。
昔作ったデフラガという
http://jsdo.it/kotas/defragger (遊ぶなら フルスクリーン画面 がいいかも)
遊び方:
/** * Defragger * * * 昔書いたHTML5のゲームを移植してみました。 * * ●ゲームの目的 * デフラグの中の人になって、次々降ってくるデータを淡々とデフラグします。 * * ●遊び方 * ←→キー…左右に移動 * ↑キー…ストック済みのデータを発射(アップロード) * ↓キー…アームを伸ばしてデータをストック(ダウンロード) * スペース…次の一列を追加 * * ●ルール * ブロックの種類は ■ □ 日 × の4種類があります。 * * 横一列を全て □ と 日 にするか、全て ■ と 日 にする事で消す事ができます。 * 列の中に × が含まれていると消す事ができません。 * * 前に消した列がフェードアウトしている間に次の列を消すとコンボになります。 * * ●ブロックの種類 * * ■ はデータが書き込まれているブロックです。 * ↓キーでこのブロックからデータを取得すると □ になります。 * * □ は何もデータが書き込まれていないブロックです。 * ↑キーでストック済みのデータをぶつけると ■ になります。 * * × はエラーブロックです。 * ↑キーでデータをぶつけると ■ になります。 * ↓キーでデータを取得すると □ になります。 * このブロックが含まれている限り列を消す事ができません。 * * 日 は移動不可ブロックです。 * このブロックにはデータをぶつけたり取得したりする事はできません。 * このブロックがいくつ含まれていても列を消す事ができます。 */
手軽に HTML5 + CSS + JavaScript なアプリケーションが作れてオモスレー。
Safari Extension でニコニコントローラ(習作)
出ましたね! Safari 5!
何と言っても目玉機能は拡張 (extension) 機能です。Firefox のアドオンみたいなもんですね。Safari → Chrome に浮気をしていた理由がこの拡張機能だったので、元サヤに収まれそうです。
早速、習作としてニコニコ動画のプレイヤーをコントールするツールバーを作ってみました!
Play を押すと再生、Pause を押すと一時停止… のようになります。
ダウンロード: nicontroller.safariextz
ソースコード: http://github.com/kotas/nicontroller
使い方
- まずは Safari 5 をダウンロード&インストールします。
- Safari 5 を起動してメニューから環境設定を開きます。(Mac だと Cmd+,)
- 詳細タブを開いて、「メニューバーに''開発''メニューを表示」にチェックを入れます。
- メニューバーに「開発」が追加されるので、その中の「機能拡張を有効にする」にチェックを入れます。
- nicontroller.safariextz をダウンロードして、ダブルクリックします。
- インストールするかどうか聞かれるので、「はい」を選びます。
- ニコニコントローラのツールバーが表示されるので、そのままニコニコ動画で適当な動画を開けば、コントロールできます。
Enjoy!