9月2007

Nico Nico Douga

最近ようやく海外(英語圏)でもニコニコ動画の話題が見られるようになってきたので、いくつか紹介しようと思います。

Matthew’s Anime Blog: Youtube + 2ch = Nico Nico Douga
タイトルで既にニコニコ動画をよく表していますね。日本でこの表記が見られないのは、当たり前過ぎて誰も書かないからでしょうか?記事の内容は、単純にニコニコ動画がどういう物なのかを説明した内容で、人気のある動画をいくつか紹介しています。まだ日本でもそれほど有名でなかった3月頃の記事なので、よほど日本に近いところにいるか、日本の方が書かれた記事なのでしょう。

Digg – Meet the YouTube Killer: Nico Nico Douga
タイトルがいかにも外国的ですね。ちょうどニコニコ動画がYouTubeからアクセス遮断されたときに話題にされたようです。

by OneManArmy on 03/09/2007
“Instead of just plain comments, Nico Nico Douga lets users leave comments in real-time which scroll across the movie while it’s playing”

This feature is coming to youtube very soon and is called streams (http://www.youtube.com/testtube).

by DaNKBuDZ on 03/09/2007
I would not want shit floating across the screen as I am watching something.

by Loonacy on 03/09/2007
Also, have you seen the quality of comments at YouTube?

by Ademan on 03/09/2007
yeah they just can’t match the quality of digg comments…

最初の方は、動画の上にコメントを入れるということについて話しているようで、「動画の上にコメントを流されたくない」「YouTubeで質の高いコメントを見たことがあるか」と言った意見が出されています。これは外国の人に限らず、日本でもニコニコ動画を実際に目にする前は、このような意見を出す方が多いと思われます。実際に見るまでは面白そうだとは思えないサービスなので、当然同じようなサイトを作る人もいないのでしょう。

by fober on 03/08/2007
Anime & Manga Community?

by jimripper on 03/08/2007
Youtube killer? Yeah, right. Just like the Zune was an iPod killer.

by DoesYouDigg on 03/08/2007
A good idea, but certainly not a YouTube killer. Especially based on OneManArmy’s comment.

他にも面白い意見がありますが、一番下の意見では匿名で成り立っている日本と外国との差でしょうか。これ以降は、名前についての議論などがありますが、詳しくは直接ご覧下さい。

The Plant – Nico Nico Douga
おそらく英語では、ここが一番ニコニコ動画について詳しく説明されています。単純にニコニコ動画の説明から、ニコニコ市場や有料会員の話までされていて、ニコニコ動画のもうひとつの面白い点として捉えています。

他にもニコニコ動画について書かれたブログがあったので、とりあえずいくつかリンクを貼っておきます。
Cardcaptor’s Blog ≫ Kamikyoku in Nico Nico Douga
Pori.co.uk ≫ Nico Nico Douga
oh man: nico nico doga
一番下のところでは、Nice Boat.をきっかけにニコニコ動画に入ったようです。この他にも何回かそのような記事をみかけました。あとは、ニコニコ動画をアニメ,漫画コミュニティと思っている方も結構いるらしく、まあ端から見ればそう見えなくもないですね。

個人的には、ニコニコ動画の英語版とかも出してほしいと思っているのですが、残念ながら現状は難しそうです。英語ではどのような感じになるのか見てみたい気もするし、何より匿名でどうでもいいコメントの面白さというものを、海外の方にも体験してもらいたいからです。

ユーザー環境

前回に引き続き、このブログに設置してあるGoogle Analyticsの統計を紹介します。今回は、ユーザーの環境を紹介することにします。なお、統計は8/27-8/26までの1ヶ月間の統計です。

OS:
OS
当たり前のようにWindowsがトップです。しかし、Macも2割と、Macの普及率に比べれば多い方です。Macの話もブログでよくしているからでしょう。たまにPlaystation3などの珍しいアクセスがあります。

Windowsバージョン:
windows
かなり高い割合でXPです。もう少し前は9割超えていたいので、Vistaがちょっとずつ普及してきたようです。それでも、まだ5%とWindows2000とほぼ同じ割合のようです。

Mac CPU:
Mac
MacはUser-AgentにOSのバージョンが記されていない代わりに、CPUの情報が記載されているので、CPUの統計になっています。まだPowerPCの方が多いですが、Intel化から2年も経たないうちにIntelが5割近くと、かなりの普及率です。

ブラウザ:
ブラウザ
最も多いIEは、意外に6割満たないアクセスです。この調子で減ってくれるとくれるとうれしいです。WEBページを作成したことのある人なら、この理由は十分わかるでしょう。次に多いのがFireFox。WindowsでもMacでも使っている人が結構いるので2番目のシェアになってるのだと思います。3番目はSafari。10%とちょっとの、微妙なところです。Safari for Windowsもリリースされる予定ですから、今後の上昇することでしょう。

Internet Explorerバージョン:
http://www.lifeaether.com/overtaker/blog/wp-content/uploads/2007/09/070926_ie.png
ほとんどがバージョン6以上です。7も35%を超えて、だんだん普及してきているようです。

こんな感じでGoogle Analyticsは様々な統計がとれて面白いです。ところで、どうして2日連続この記事なのかと言えば、単に楽だからです。他に書き始めて止まっている記事がいくつかあり、そちらは論理的に話をどう導くかに困っていたり、資料が少なかったり、うまいサンプルが思いつかなかったりと、なかなか時間がかかりそうなので、簡単に書ける記事でとりあえず繋いでるといった感じです。あー、来年の春が待ち遠しい…

検索キーワード

以前に一度だけ話しましたが、このブログはGoogle Analyticsを使ってアクセス統計をとっています。さまざまな統計があって見ているだけで面白いのですが、今回は検索キーワードの統計を紹介します。ちなみに、今回紹介する統計は、8/26-9/25までの1ヶ月間の統計です。

refere

上の統計は、どこからアクセスしてきたか、主に検索エンジン,サイトの割合を示しています。やはり検索エンジンから来る方が6割と多いようです。

続いて、検索ワードの統計です。
keywords

これは、どのような検索ワードでサイトに来ているかを示す統計です。セッションが4以上のものを抜き出しましたが、他にあと450近くのワードがあります。昔からの人気ワードとしては、「半透明 ウインドウ」のキーワードがあります。なぜかこのキーワードは競合が少ないようで、たいしたことない私の記事が検索上位に来ています。

やはり目立つのは「ニコニコ」を含むキーワードです。特に「コメント ダウンロード」のワードから訪問してくる人が多いです。検索の1ページにありますし、需要が多いワードなので訪問が多いのかと思われますが、コメントダウンロードしたいと思っている人は意外と多いのでしょうか?

最近急上昇してきたワードは一位にもなっている「低画質モード」です。結構他にも書いている人が多いと思ったのですが、意外と少ないようで、このブログが検索上位に来ているようです。最近はエコノミーモードと名前は変更されましたが…

気になったワードとしては、「niconicodownloader」があります。以前、ニコニコ動画のコメントをダウンロードするために作った、試作アプリケーションというか、自分専用アプリケーションです。検索してみるとやはり私のブログしかヒットしないので、ほぼ間違いなく私の作ったNicoNicoDownloaderを示していると思われますが、もしかして欲しい方いらっしゃるのでしょうか?単に使い道もないコメントをダウンロードするアプリケーションなので、公開する必要はないと思っていましたが、もし欲しい方がいるのであれば、コメントしてくだされば公開しようと思います。

iPod touchが欲しくなってきました

発表された当初はあまり欲しくないと思ったものの、やはりiPod touchが欲しくなってきてしまいました。もし今後iPhoneが出るようなことがあったら、間違いなく買ってしまいそうです。

まず、買いに踏み切れない原因としては、iCalを編集できなく、メモ帳がない、動作がまだ不安定、と、いろいろありますが、すぐに32GB版とか出そうな恐怖心とかもあります。まとめると、ソフトウェアアップデートでどうにかなりそうなものが多いので、その辺はAppleに期待するしかありません。でも一番の原因は、はっきりとした使い道がないものに3,4万円も払っていられないというところにあるかもしれません。

欲しくなってきた点としては、動画が簡単に持ち歩けること。これとか同期に時間がかかりそうではありますが、かなり良さそうです。そのうちコメント付加できるエンコーダーが出てこないかなーと期待しています。
[iPod][Plagger]iPod touch向けのニコニコ動画のPodcastを生成する

iPhoneの勝手アプリの話ですが、当然touchでも期待できる訳です。話によれば、touchのがハックが難しくなっているようで、iPhoneと同じようにできるかは、まだわからないようです。

HMDT september archive
ここを見てもわかるように、iPhoneの開発環境はほとんどCocoaと言ってもいいでしょう。Mac OS XのCocoaの基本はFoundation+AppKit。基本的なものを集めたのがFoundation、GUIを主に担当しているのがAppKitです。対して、iPhoneはFoundation+UIKit。UIKitはAppKitのiPhone版と言って良い物です。つまり、iPhoneはCocoaと言ってよいでしょう。もちろん、言語はObjective-Cです。そんなわけで、私がこれに興味を示さない理由がありません。私がMacを選んだ理由の大部分はCocoaでしたので…

あとは、やはりあの未知のデバイスには興味が惹かれます。あのマルチタッチというインターフェースもそうですが、GUIの滑らかな動きぜひ実機で体験してみたいです。来週あたり電気屋で触れないかと期待していますが、どうなるでしょうね。

情報を流す

ここ二日くらい蕁麻疹が発症してて痒い日々が続いています。最近毎回言ってるような気がしますが、忙しくてブログを更新する頻度が下がって残念です。

ところで、最近、ニコニコ動画が発明したのは動画にコメントを付けることではなく、コメントを画面上に「流す」ところにあるのではないかと思い始めています。

が、しかし、うまく文章がまとまらないので今日はここで終了です。2chである程度勢いのあるスレで、レスをニコニコ風に画面上に流すソフトっていうのをちょっと作ってみたい気もしたりしました。

Doxygen

最近ライブラリ開発で採用されようとしている、Doxygenというものがあります。簡単に説明すると、ソースコード中に、ある書式にしたがって説明を書くと、それを元にリファレンスを生成してくれるものです。例えば、DateTimeクラスのFromFileTimeメソッドを例にとります。

/*!
@brief	FILETIME構造体からDateTimeを作成します。
@author	OverTaker
@date	2007/09/19
@param	FILETIME構造体。
@return	FILETIMEと同じ時刻のDateTime

DateTime.Kindはローカルタイムに設定されます。
*/
Static Function FromFileTime(ByRef fileTime As FILETIME) As DateTime
		Dim localTime As FILETIME
		Dim time As SYSTEMTIME
		FileTimeToLocalFileTime(fileTime, localTime)
		FileTimeToSystemTime(localTime, time)
		Return New DateTime(time, DateTimeKind.Local)
End Function

こんな感じで記述するようですが、まだ詳しく見ていないので、こんな感じという程度で書いてみました。こうすることで、あとで自動でリファレンスを生成することができるようです。

やはりこう記述していると、リファレンスだけでなくエディタの方もこれを表示する機能が欲しくなってきます。AB4はパラメータヒントのみですが、AB5のエディタではここまで表示できるように出来たら良いですね。どこにどう表示するは、なかなかインターフェースのデザインのセンスを問われそうでありますが…

タイトルフォーマットを変更してみた

最近本格的に忙しくなってきて、ブログのエントリも徐々に減りつつあるのはなんとも寂しいことです。

ところで、前々から直そうと思いつつも放っていてしまった、各エントリページのタイトルフォーマットを変更してみました。具体的には、
「こたつつきみかん ≫ “Blog Archive” ≫ エントリ名」→「こたつつきみかん ≫ エントリ名」
に変更しました。やはりBlog Archiveという文字が無意味に場所を取ってしまっていて、検索エンジンのタイトルを見ると、肝心のエントリ名が途中で途切れてしまっているので、変更しようと思いました。検索エンジンにおいてタイトルは非常に重要になってきますからね。

「エントリ名 ≫ ブログ名」の順にする手もありますが、とりあえずこれで様子を見ることにします。

Automator

Mac OS X 10.4にはAutomatorという、ちょっとした操作を自動化するアプリケーションがあります。プログラミングの知識不要のものなので、一般の人も十分に活用できるツールです。ただし、用意されているアクションに満足できな人は、自分で作成する必要があったりするので、その場合はかなりの知識が必要となってきます。しかし、用意されているアクションでも様々なものを組み合わせることで、意外といろいろなことができます。

automator

使い方は簡単で、左に表示されているアクションから、使いたいアクションを右のワークフローの領域へドラッグします。そうするとワークフローにアクションが追加されるので、その後アクションの細かい設定をします。ワークフローの順番もドラッグ操作で変更したり、任意のところにアクションを追加することが可能です。

そういうわけで、ニコニコ動画のランキングを保存するワークフローを作ってみました。

automator workflow
ワークフロー全てが見たい方は、こちらのPDFでご覧下さい。(automator.pdf)

実行すると、各ランキング(再生,コメント,マイリスト)のURL取得し、ページをダウンロード保存し、その後名称をファイル作成日時に変更します。このワークフローを行うと、ワークフローを実行するだけで簡単にランキングの保存ができるわけです。

使い方も非常に分かりやすいのですが、アクションが今ひとつ足りないのが難点なAutomatorですが、今でも使えるときには使えるアプリケーションなので、今後のアクションの追加に期待です。

著作権について一言

著作権を守ることで生まれる創作物もあるが、著作権を侵害することで生まれる創作物もあることを忘れないでほしい。

http://www.nicovideo.jp/
http://www.nicovideo.jp/watch/sm1023673

これらは立派な創作物と言えないのだろうか?

DirectoryInfoほぼ実装完了

昨日のGetDirectoriesメソッドですが、今日見つけた重大なミスを修正したのと、山本さんの素早い対応でコンパイラが修正されたおかげで、一部の動作を除き、問題なく動作するようになりました。最新のリビジョンで使えるので、興味のある方はぜひ使ってみてください。

使用例です。AllDirectoriesを指定するとサブディレクトリを含む全てのファイルが取得できます。DirectoryInfo.LastWriteTimeとDateTimeクラスをうまく使うことで、6時間以内に更新したファイルといった感じにフィルタリングすることもできます。

Imports System.IO
Imports System.Collections.Generic

Dim directory = New DirectoryInfo("D:¥SVN¥trunk¥Include")
Dim directories As List
directories = directory.GetFiles("?*", SearchOption.AllDirectories)

Dim i As Long, s As String
For i = 0 To ELM(directories.Count)
    If directories[i].LastWriteTime => System.DateTime.Now.AddHours(-6) Then
        s = s + directories[i].ToString + Ex"¥r¥n"
    End If
Next
MessageBox(0, s, directory.Name + "(6時間以内に更新したファイル)", MB_OK)

出力:

D:¥SVN¥trunk¥Include¥.svn¥all-wcprops
D:¥SVN¥trunk¥Include¥.svn¥entries
D:¥SVN¥trunk¥Include¥basic¥.svn¥entries
D:¥SVN¥trunk¥Include¥Classes¥.svn¥all-wcprops
D:¥SVN¥trunk¥Include¥Classes¥.svn¥entries
D:¥SVN¥trunk¥Include¥Classes¥System¥Blittable.ab

(中略...)

D:¥SVN¥trunk¥Include¥Classes¥System¥Drawing¥Text¥.svn¥entries
D:¥SVN¥trunk¥Include¥Classes¥System¥IO¥.svn¥text-base¥DirectoryInfo.ab.svn-base
D:¥SVN¥trunk¥Include¥Classes¥System¥IO¥.svn¥text-base¥FileSystemInfo.ab.svn-base
D:¥SVN¥trunk¥Include¥Classes¥System¥Runtime¥InteropServices¥.svn¥entries
D:¥SVN¥trunk¥Include¥Classes¥System¥Windows¥Forms¥.svn¥entries

ここで見るだけなら便利そうでかなり使えそうな気がしますが、実際にはガベージコレクションのパフォーマンスがまだイマイチなのに加え、このGetFilesメソッドの実装もまだまだ改善の余地を残しているので、かなり動作は遅くなっています。また、列挙するメソッドにバグというか、手抜きがあるのでSearchPattenでフィルタリングするように指定すると正しく検索できなくなります。この手抜きの部分は、Pathクラスを一新させた後に修正する予定です。(Pathクラスがあったほうが実装しやすいので)

あとは、、、そうですね。そろそろ複数のインターフェースを継承とか欲しくなってきましたね。List.AddRangeメソッドがあったりするともっと簡単に実装できますし、イテレータを使えばより抽象化されたコードを書くことが可能になりますからね。特に、イテレータはもう実装できてもおかしくはないと思うのですが、Enumeratorを作っていると、どうしてもコンパイルがおかしなエラーを出し始めるので、もう少し調査して近いうちにバグ報告をしたいところですね。

魔が差したのか、ついプログラミングをしてしまいます…他にやるべきことがあるのに…