SlideShare una empresa de Scribd logo
1 de 33
Descargar para leer sin conexión
ニコニコ超開発
1. ニコニコのコメントサーバー
2. ニコニコ動画 for Windows 8




戀塚 昭彦        @koizuka
ニコニコ事業本部
第三企画開発部 研究開発セクション



          2012-4-29プロ生勉強会@超会議 #pronama
ニコニコ超開発



⾃自⼰己紹介
• 戀塚 昭彦 (こいづか あきひこ)
• ニコニコ動画開発総指揮
 • コメントサーバー
• @koizuka
• http://www.nicovideo.jp/user/2
• 在宅勤務
• Bio_100%
ニコニコ超開発



Agenda
• Part 1 (2割)
 • ニコニコ動画のコメントサーバー
• Part 2 (8割)
 • ニコニコ動画 for Windows 8
Part 1

ニコニコ動画のコメントサーバー
ニコニコ動画のコメントサーバー



コメントサーバーとは
• ニコニコのコメントを司るサーバー
 • 動画、(元)広場、⽣生放送、実況、アプリ、
   ニコ⽣生アラート、静画(電⼦子書籍)、
   ニコルソン、
• 内製(C++で記述, 32bit/64bit)
• HTTP, XMLSocket, (WebSocket)
ニコニコ動画のコメントサーバー



使われ⽅方

          動画      アラート   生放送

  同期

 非同期
ニコニコ動画のコメントサーバー



コメントサーバーの機能
• メッセージデータの伝達と蓄積/再現
 • 経路:「スレッド」
• ログ機能つきのIRCみたいな?
 • 掲⽰示板+チャット
ニコニコ動画のコメントサーバー



メッセージの属性
• コメント本⽂文、投稿⽇日時
• 「コマンド」、vpos
• ユーザーID, 会員種別
• その他管理情報...
ニコニコ動画のコメントサーバー



メッセージの属性: vpos
• コメントを付けた対象を限定する情報
 • 動画の場合、動画の再⽣生時間
 • 電⼦子書籍の場合、ページなど
ニコニコ動画のコメントサーバー



コメントの取得(http)
• http://msg.nicovideo.jp/10/api/thread?
  version=20061206&thread=1173108780&r
  es_from=-10
 • version: 20061206 または 20090904
 • thread: スレッドID(上記は陰陽師)
 • res_from: 取得コメント範囲を指定
ニコニコ動画のコメントサーバー



⾊色々試してみてね!
• 公式資料はのんびり準備中


 • ニコニコ⼤大百科「ニコニコ動画API」等
Part 2



     を
2週間で開発してみた
ニコニコ動画 for Windows 8 - NicoNicoMetro (仮)



Windows 8編
• 2012年4⽉月2⽇日(⽉月)
   coji「Windows8向けのニコニコ動画を                 」

   coji「今週中に作って欲しい」
   coji「そしたらWindows Developer Daysの
         キーノート※で紹介してくれそう」
                           ※4⽉月25⽇日
• えっ
ニコニコ動画 for Windows 8 - NicoNicoMetro (仮)



     4/5 技術調査(1)
• 環境準備
   • Windows 8 Consumer Preview
   • Visual Studio 11 Express Beta
   • msdnのサイトからサンプルをダウンロード
   • 動作実験と開発⼿手法を検討
ニコニコ動画 for Windows 8 - NicoNicoMetro (仮)



     4/5 技術調査(2)
• 技術要素を決める
   • ⾔言語: C++/CX
   • 動画: MediaEngine
   • コメント描画: DirectX
   • UI記述: XAML
• 実験
ニコニコ動画 for Windows 8 - NicoNicoMetro (仮)



4/6(⾦金金) キックオフ
• デザイナー @VoQn
• 4/20(⾦金金)に動いてること。25(⽔水)が本番


• キックオフ3時間後,MS から
  「4/10(⽕火)までに
   アプリのスクリーンショット送って」
ニコニコ動画 for Windows 8 - NicoNicoMetro (仮)



ロードマップ
 April 2012
                                                 6     7


  デザインラフ                       デザイン修正
       8        9      10         11       12    13   14


  実装組み込み
      15       16        17       18       19   20    21


  検証・仕上げ
      22       23        24     25         26    27   28
ニコニコ動画 for Windows 8 - NicoNicoMetro (仮)



要求機能
• 動画が再⽣生できる
• コメントが流れる
• 再⽣生/⼀一時停⽌止/シークバー/先頭から再⽣生


• コメントが投稿できる


  ※ただし通信せずローカル動作
ニコニコ動画 for Windows 8 - NicoNicoMetro (仮)



     4/10 ラフデザイン
• デザイナー(VoQn)


• Windows8 の既存アプリを参考に
• GUI洗い出し
• デモに含まれない部分も含めて検討
• 4/10に提出、レビュー
ニコニコ動画 for Windows 8 - NicoNicoMetro (仮)



     4/14 本番デザイン
• デザイナー(VoQn)


• レビューの指摘を反映
• 数種類デザイン案を検討
• 実際に動く形にしてゆく
• パーツ素材を全状態で⽤用意
• 4/12(⽊木) Microsoftの担当者と打ち合わせ
ニコニコ動画 for Windows 8 - NicoNicoMetro (仮)



アプリのイメージ(1)
ニコニコ動画 for Windows 8 - NicoNicoMetro (仮)



アプリのイメージ(2)
ニコニコ動画 for Windows 8 - NicoNicoMetro (仮)



アプリのイメージ(3)
ニコニコ動画 for Windows 8 - NicoNicoMetro (仮)


     GUI パーツデザイン
ニコニコ動画 for Windows 8 - NicoNicoMetro (仮)



          4/14 技術調査
      • プログラマー(koizuka)
•    4/6 コメントをビットマップにキャッシュして動画の上を流してみた
•    4/8 XAMLデザイン実験
•    4/10 開発検証用アプリパッケージの作り方
•    4/11 MediaEngineを操作できるようになった,
     XAML <-> DirectX を行き来できるようにした, コメント複数
•    4/12 動画選択を実装, タブレット実機で落ちるのに悩む, リモートデバ
     ッグを開始, ビットマップを作ると MediaEngine->
     TransferVideoFrame すると駄目だと分かる,
     Win8のジェスチャを覚えるw
•    4/14 Direct2D, Direct3D, DXGI, DirectDrawのインターフェイス関係
     見直し
•    4/16 XAML Data Bindを活用, JSONファイル読み込み
ニコニコ動画 for Windows 8 - NicoNicoMetro (仮)



     4/20 実装組み込み
• デザイナー(VoQn) + プログラマー(koizuka)


• 4/17 デザイン統合開始, 再⽣生画⾯面から
• 4/18 起動画⾯面組み込み
• 4/19 別スレッドにイベントを送る⽅方法がやっ
  と分かった/アプリアイコン統合
• 4/20 シークバー実装
ニコニコ動画 for Windows 8 - NicoNicoMetro (仮)



実機で試してみると・・
• 使いにくい!
   • 画⾯面の下端操作でツールが出てくる
   • 画⾯面真ん中タップでコメント欄が出てくる
     • すごい煩雑
• キーボード出すと動画領域が狭い!


  →デザインを考え直すことになった
ニコニコ動画 for Windows 8 - NicoNicoMetro (仮)



4/21 再デザイン
• 新デザイン
   • 操作部を⼀一つに統合
• 細部改善(シーク操作, コメントしたとき, ...)


• リハーサル⽤用に提出!
ニコニコ動画 for Windows 8 - NicoNicoMetro (仮)



プレーヤー新デザイン
ニコニコ動画 for Windows 8 - NicoNicoMetro (仮)


 デモ動画は @まさたかP




【MV】Through the Window/まさたかP ELECTROCUTICA【Microsoft MMD】
ニコニコ動画 for Windows 8 - NicoNicoMetro (仮)



     4/25 仕上げ
• リハーサルでOKが出た!
• 届いた最終版の動画、サムネイルを統合
• 提出
• 4/25(⽔水)
   • Microsoft Windows Developer Days 2⽇日⽬目
     • デモ実施
ニコニコ動画 for Windows 8 - NicoNicoMetro (仮)



アプリデモ


やれる範囲でデモしてみます
ニコニコ動画 for Windows 8 - NicoNicoMetro (仮)



おわり


      引き続き NicoNicoMetro (仮)
           鋭意開発中
         続報お楽しみに!!



                                ご清聴ありがとうございました

Más contenido relacionado

La actualidad más candente

Windows 10 21H1とInsider Previewから見る これからの機能追加
Windows 10 21H1とInsider Previewから見る これからの機能追加Windows 10 21H1とInsider Previewから見る これからの機能追加
Windows 10 21H1とInsider Previewから見る これからの機能追加Tomokazu Kizawa
 
.NET Micro Framework is my spirit.
.NET Micro Framework is my spirit..NET Micro Framework is my spirit.
.NET Micro Framework is my spirit.Atomu Hidaka
 
Introduce Yocto Project Japan and What want to make using Yocto Project
Introduce Yocto Project Japan and What want to make using Yocto ProjectIntroduce Yocto Project Japan and What want to make using Yocto Project
Introduce Yocto Project Japan and What want to make using Yocto ProjectHiroshi Sakate
 
mmoの作り方
mmoの作り方mmoの作り方
mmoの作り方kamimamita
 
対話式動画作成入門 Viewbixを使ってみよう!
対話式動画作成入門 Viewbixを使ってみよう!対話式動画作成入門 Viewbixを使ってみよう!
対話式動画作成入門 Viewbixを使ってみよう!明穂 足立
 
Windows フォームアプリ 2022
Windows フォームアプリ 2022Windows フォームアプリ 2022
Windows フォームアプリ 2022m ishizaki
 
VRモーキャプツール『VR Motion Recorder』の使い方
VRモーキャプツール『VR Motion Recorder』の使い方VRモーキャプツール『VR Motion Recorder』の使い方
VRモーキャプツール『VR Motion Recorder』の使い方まろん 八ッ橋
 
WPF .NET Core でも XAML デザイナをあきらめない
WPF .NET Core でも XAML デザイナをあきらめないWPF .NET Core でも XAML デザイナをあきらめない
WPF .NET Core でも XAML デザイナをあきらめないm ishizaki
 
Androidのリカバリシステム (Androidのシステムアップデート)
Androidのリカバリシステム (Androidのシステムアップデート)Androidのリカバリシステム (Androidのシステムアップデート)
Androidのリカバリシステム (Androidのシステムアップデート)l_b__
 
C++CLIで、ネイティブCの保守開発に.NETを使って楽をしよう
C++CLIで、ネイティブCの保守開発に.NETを使って楽をしようC++CLIで、ネイティブCの保守開発に.NETを使って楽をしよう
C++CLIで、ネイティブCの保守開発に.NETを使って楽をしようStudy Group by SciencePark Corp.
 
特別講義 最終 20090130
特別講義 最終 20090130特別講義 最終 20090130
特別講義 最終 20090130洋信 後藤
 
Blazor でアプリを作ろう! ~テンプレートインストールから最初のデバッグ実行まで~
Blazor でアプリを作ろう! ~テンプレートインストールから最初のデバッグ実行まで~Blazor でアプリを作ろう! ~テンプレートインストールから最初のデバッグ実行まで~
Blazor でアプリを作ろう! ~テンプレートインストールから最初のデバッグ実行まで~m ishizaki
 
【Unite 2018 Tokyo】エディター拡張マニアクス2018
【Unite 2018 Tokyo】エディター拡張マニアクス2018【Unite 2018 Tokyo】エディター拡張マニアクス2018
【Unite 2018 Tokyo】エディター拡張マニアクス2018Unity Technologies Japan K.K.
 
Microsoft Teamsのライブイベントによるオンライン勉強会 -.NETラボオンライン勉強会の舞台裏-
Microsoft Teamsのライブイベントによるオンライン勉強会 -.NETラボオンライン勉強会の舞台裏-Microsoft Teamsのライブイベントによるオンライン勉強会 -.NETラボオンライン勉強会の舞台裏-
Microsoft Teamsのライブイベントによるオンライン勉強会 -.NETラボオンライン勉強会の舞台裏-Tomokazu Kizawa
 
そこのスマホ開発者さん、Windows Phone どうですか?
そこのスマホ開発者さん、Windows Phone どうですか?そこのスマホ開発者さん、Windows Phone どうですか?
そこのスマホ開発者さん、Windows Phone どうですか?Kazuaki TAUCHI
 
JUCEではじめるVST/AUプラグイン開発@NoMaps2017
JUCEではじめるVST/AUプラグイン開発@NoMaps2017JUCEではじめるVST/AUプラグイン開発@NoMaps2017
JUCEではじめるVST/AUプラグイン開発@NoMaps2017Tatsuya Shiozawa
 

La actualidad más candente (20)

Tizen application
Tizen applicationTizen application
Tizen application
 
Edición de video
Edición de videoEdición de video
Edición de video
 
Windows 10 21H1とInsider Previewから見る これからの機能追加
Windows 10 21H1とInsider Previewから見る これからの機能追加Windows 10 21H1とInsider Previewから見る これからの機能追加
Windows 10 21H1とInsider Previewから見る これからの機能追加
 
Winows 365登場
Winows 365登場Winows 365登場
Winows 365登場
 
.NET Micro Framework is my spirit.
.NET Micro Framework is my spirit..NET Micro Framework is my spirit.
.NET Micro Framework is my spirit.
 
Windows Insider Program という取り組みについて ~ Fall Creators Update を踏まえて
Windows Insider Program という取り組みについて ~ Fall Creators Update を踏まえてWindows Insider Program という取り組みについて ~ Fall Creators Update を踏まえて
Windows Insider Program という取り組みについて ~ Fall Creators Update を踏まえて
 
Introduce Yocto Project Japan and What want to make using Yocto Project
Introduce Yocto Project Japan and What want to make using Yocto ProjectIntroduce Yocto Project Japan and What want to make using Yocto Project
Introduce Yocto Project Japan and What want to make using Yocto Project
 
mmoの作り方
mmoの作り方mmoの作り方
mmoの作り方
 
対話式動画作成入門 Viewbixを使ってみよう!
対話式動画作成入門 Viewbixを使ってみよう!対話式動画作成入門 Viewbixを使ってみよう!
対話式動画作成入門 Viewbixを使ってみよう!
 
Windows フォームアプリ 2022
Windows フォームアプリ 2022Windows フォームアプリ 2022
Windows フォームアプリ 2022
 
VRモーキャプツール『VR Motion Recorder』の使い方
VRモーキャプツール『VR Motion Recorder』の使い方VRモーキャプツール『VR Motion Recorder』の使い方
VRモーキャプツール『VR Motion Recorder』の使い方
 
WPF .NET Core でも XAML デザイナをあきらめない
WPF .NET Core でも XAML デザイナをあきらめないWPF .NET Core でも XAML デザイナをあきらめない
WPF .NET Core でも XAML デザイナをあきらめない
 
Androidのリカバリシステム (Androidのシステムアップデート)
Androidのリカバリシステム (Androidのシステムアップデート)Androidのリカバリシステム (Androidのシステムアップデート)
Androidのリカバリシステム (Androidのシステムアップデート)
 
C++CLIで、ネイティブCの保守開発に.NETを使って楽をしよう
C++CLIで、ネイティブCの保守開発に.NETを使って楽をしようC++CLIで、ネイティブCの保守開発に.NETを使って楽をしよう
C++CLIで、ネイティブCの保守開発に.NETを使って楽をしよう
 
特別講義 最終 20090130
特別講義 最終 20090130特別講義 最終 20090130
特別講義 最終 20090130
 
Blazor でアプリを作ろう! ~テンプレートインストールから最初のデバッグ実行まで~
Blazor でアプリを作ろう! ~テンプレートインストールから最初のデバッグ実行まで~Blazor でアプリを作ろう! ~テンプレートインストールから最初のデバッグ実行まで~
Blazor でアプリを作ろう! ~テンプレートインストールから最初のデバッグ実行まで~
 
【Unite 2018 Tokyo】エディター拡張マニアクス2018
【Unite 2018 Tokyo】エディター拡張マニアクス2018【Unite 2018 Tokyo】エディター拡張マニアクス2018
【Unite 2018 Tokyo】エディター拡張マニアクス2018
 
Microsoft Teamsのライブイベントによるオンライン勉強会 -.NETラボオンライン勉強会の舞台裏-
Microsoft Teamsのライブイベントによるオンライン勉強会 -.NETラボオンライン勉強会の舞台裏-Microsoft Teamsのライブイベントによるオンライン勉強会 -.NETラボオンライン勉強会の舞台裏-
Microsoft Teamsのライブイベントによるオンライン勉強会 -.NETラボオンライン勉強会の舞台裏-
 
そこのスマホ開発者さん、Windows Phone どうですか?
そこのスマホ開発者さん、Windows Phone どうですか?そこのスマホ開発者さん、Windows Phone どうですか?
そこのスマホ開発者さん、Windows Phone どうですか?
 
JUCEではじめるVST/AUプラグイン開発@NoMaps2017
JUCEではじめるVST/AUプラグイン開発@NoMaps2017JUCEではじめるVST/AUプラグイン開発@NoMaps2017
JUCEではじめるVST/AUプラグイン開発@NoMaps2017
 

Destacado

Heroku使ったWebサービスとステマ
Heroku使ったWebサービスとステマHeroku使ったWebサービスとステマ
Heroku使ったWebサービスとステマMikoto Kurage
 
Let's join in OpsWorks world!
Let's join in OpsWorks world!Let's join in OpsWorks world!
Let's join in OpsWorks world!Shigeo Nakano
 
Ops worksに今後期待するところ
Ops worksに今後期待するところOps worksに今後期待するところ
Ops worksに今後期待するところFumihiko Shiroyama
 
C++でテスト駆動開発
C++でテスト駆動開発C++でテスト駆動開発
C++でテスト駆動開発Akineko Shimizu
 
新しい並列for構文のご提案
新しい並列for構文のご提案新しい並列for構文のご提案
新しい並列for構文のご提案yohhoy
 
株式会社ドワンゴにおけるScala教育の現状
株式会社ドワンゴにおけるScala教育の現状株式会社ドワンゴにおけるScala教育の現状
株式会社ドワンゴにおけるScala教育の現状Kota Mizushima
 
自動テストとJenkinsの活用 公開版
自動テストとJenkinsの活用 公開版自動テストとJenkinsの活用 公開版
自動テストとJenkinsの活用 公開版baroqueworksdev
 
ライブストリーミングの基礎知識
ライブストリーミングの基礎知識ライブストリーミングの基礎知識
ライブストリーミングの基礎知識kumaryu
 
C++ マルチスレッドプログラミング
C++ マルチスレッドプログラミングC++ マルチスレッドプログラミング
C++ マルチスレッドプログラミングKohsuke Yuasa
 
ニコニコ超デザイン-Metro考察編-
ニコニコ超デザイン-Metro考察編-ニコニコ超デザイン-Metro考察編-
ニコニコ超デザイン-Metro考察編-Mizushima Kazuhiro
 
[Developers Festa Sapporo 2016] Microsoft Azureでのアプリ開発 ~コンテナー、マイクロサービス、サーバーレス...
[Developers Festa Sapporo 2016] Microsoft Azureでのアプリ開発 ~コンテナー、マイクロサービス、サーバーレス...[Developers Festa Sapporo 2016] Microsoft Azureでのアプリ開発 ~コンテナー、マイクロサービス、サーバーレス...
[Developers Festa Sapporo 2016] Microsoft Azureでのアプリ開発 ~コンテナー、マイクロサービス、サーバーレス...Naoki (Neo) SATO
 
Unity × graphics × effects
Unity × graphics × effectsUnity × graphics × effects
Unity × graphics × effectsHironori Sugino
 
ゲーム開発初心者の僕がUnity + WebSocketで何か作ってみた
ゲーム開発初心者の僕がUnity + WebSocketで何か作ってみたゲーム開発初心者の僕がUnity + WebSocketで何か作ってみた
ゲーム開発初心者の僕がUnity + WebSocketで何か作ってみたKohei Kadowaki
 

Destacado (16)

Heroku使ったWebサービスとステマ
Heroku使ったWebサービスとステマHeroku使ったWebサービスとステマ
Heroku使ったWebサービスとステマ
 
QA@IT on Heroku
QA@IT on HerokuQA@IT on Heroku
QA@IT on Heroku
 
Let's join in OpsWorks world!
Let's join in OpsWorks world!Let's join in OpsWorks world!
Let's join in OpsWorks world!
 
Ops worksに今後期待するところ
Ops worksに今後期待するところOps worksに今後期待するところ
Ops worksに今後期待するところ
 
C++でテスト駆動開発
C++でテスト駆動開発C++でテスト駆動開発
C++でテスト駆動開発
 
新しい並列for構文のご提案
新しい並列for構文のご提案新しい並列for構文のご提案
新しい並列for構文のご提案
 
株式会社ドワンゴにおけるScala教育の現状
株式会社ドワンゴにおけるScala教育の現状株式会社ドワンゴにおけるScala教育の現状
株式会社ドワンゴにおけるScala教育の現状
 
comp_pfiseminar
comp_pfiseminarcomp_pfiseminar
comp_pfiseminar
 
自動テストとJenkinsの活用 公開版
自動テストとJenkinsの活用 公開版自動テストとJenkinsの活用 公開版
自動テストとJenkinsの活用 公開版
 
ライブストリーミングの基礎知識
ライブストリーミングの基礎知識ライブストリーミングの基礎知識
ライブストリーミングの基礎知識
 
SSH力をつけよう
SSH力をつけようSSH力をつけよう
SSH力をつけよう
 
C++ マルチスレッドプログラミング
C++ マルチスレッドプログラミングC++ マルチスレッドプログラミング
C++ マルチスレッドプログラミング
 
ニコニコ超デザイン-Metro考察編-
ニコニコ超デザイン-Metro考察編-ニコニコ超デザイン-Metro考察編-
ニコニコ超デザイン-Metro考察編-
 
[Developers Festa Sapporo 2016] Microsoft Azureでのアプリ開発 ~コンテナー、マイクロサービス、サーバーレス...
[Developers Festa Sapporo 2016] Microsoft Azureでのアプリ開発 ~コンテナー、マイクロサービス、サーバーレス...[Developers Festa Sapporo 2016] Microsoft Azureでのアプリ開発 ~コンテナー、マイクロサービス、サーバーレス...
[Developers Festa Sapporo 2016] Microsoft Azureでのアプリ開発 ~コンテナー、マイクロサービス、サーバーレス...
 
Unity × graphics × effects
Unity × graphics × effectsUnity × graphics × effects
Unity × graphics × effects
 
ゲーム開発初心者の僕がUnity + WebSocketで何か作ってみた
ゲーム開発初心者の僕がUnity + WebSocketで何か作ってみたゲーム開発初心者の僕がUnity + WebSocketで何か作ってみた
ゲーム開発初心者の僕がUnity + WebSocketで何か作ってみた
 

Similar a ニコニコ超開発

解説 Windows 10 May 2020 Update
解説 Windows 10 May 2020 Update解説 Windows 10 May 2020 Update
解説 Windows 10 May 2020 UpdateTomokazu Kizawa
 
ストアアプリ →universal Windows Apps =WP8.1アプリ
ストアアプリ→universal Windows Apps=WP8.1アプリストアアプリ→universal Windows Apps=WP8.1アプリ
ストアアプリ →universal Windows Apps =WP8.1アプリAkira Hatsune
 
Kinect Camp with TMCN / Kinect入門ハンズオン 2015.06.06
Kinect Camp with TMCN/ Kinect入門ハンズオン 2015.06.06Kinect Camp with TMCN/ Kinect入門ハンズオン 2015.06.06
Kinect Camp with TMCN / Kinect入門ハンズオン 2015.06.06Akira Hatsune
 
.NET Coreとツール類の今
.NET Coreとツール類の今.NET Coreとツール類の今
.NET Coreとツール類の今Yuki Igarashi
 
Microsoft Copilot Studio.pdf
Microsoft Copilot Studio.pdfMicrosoft Copilot Studio.pdf
Microsoft Copilot Studio.pdfTomokazu Kizawa
 
WebRTC on Edge
WebRTC on EdgeWebRTC on Edge
WebRTC on EdgeSaki Homma
 
WindowsPhone arch 神戸#1
WindowsPhone arch 神戸#1WindowsPhone arch 神戸#1
WindowsPhone arch 神戸#1Tomonori Ohba
 
新登場!Surface Laptop 4
新登場!Surface Laptop 4新登場!Surface Laptop 4
新登場!Surface Laptop 4Tomokazu Kizawa
 
わんくま名古屋#36 (20150725) Windows 10 ユニバーサル Windows アプリ開発入門
わんくま名古屋#36 (20150725) Windows 10 ユニバーサル Windows アプリ開発入門わんくま名古屋#36 (20150725) Windows 10 ユニバーサル Windows アプリ開発入門
わんくま名古屋#36 (20150725) Windows 10 ユニバーサル Windows アプリ開発入門Yasuhiko Yamamoto
 
わんくま名古屋#25(20121201) 「Win8ストア・アプリ WP8アプリ、両面撃破作戦」
わんくま名古屋#25(20121201) 「Win8ストア・アプリ WP8アプリ、両面撃破作戦」わんくま名古屋#25(20121201) 「Win8ストア・アプリ WP8アプリ、両面撃破作戦」
わんくま名古屋#25(20121201) 「Win8ストア・アプリ WP8アプリ、両面撃破作戦」Yasuhiko Yamamoto
 
【Unite 2017 Tokyo】WebGL:ゲームプラットフォームとしてのWebと現在と未来
【Unite 2017 Tokyo】WebGL:ゲームプラットフォームとしてのWebと現在と未来【Unite 2017 Tokyo】WebGL:ゲームプラットフォームとしてのWebと現在と未来
【Unite 2017 Tokyo】WebGL:ゲームプラットフォームとしてのWebと現在と未来Unite2017Tokyo
 
【Unite 2017 Tokyo】WebGL:ゲームプラットフォームとしてのWebと現在と未来
【Unite 2017 Tokyo】WebGL:ゲームプラットフォームとしてのWebと現在と未来【Unite 2017 Tokyo】WebGL:ゲームプラットフォームとしてのWebと現在と未来
【Unite 2017 Tokyo】WebGL:ゲームプラットフォームとしてのWebと現在と未来Unity Technologies Japan K.K.
 
C#でiPhoneアプリ開発 with MonoTouch
C#でiPhoneアプリ開発 with MonoTouchC#でiPhoneアプリ開発 with MonoTouch
C#でiPhoneアプリ開発 with MonoTouchShin Ise
 
Dev camp2012jpn day2special
Dev camp2012jpn day2specialDev camp2012jpn day2special
Dev camp2012jpn day2specialKatsuhito Katoh
 
Developr Camp 2012 Japan Fall Day2 Special Session - Visual Studio 2012 で始める ...
Developr Camp 2012 Japan Fall Day2 Special Session - Visual Studio 2012 で始める ...Developr Camp 2012 Japan Fall Day2 Special Session - Visual Studio 2012 で始める ...
Developr Camp 2012 Japan Fall Day2 Special Session - Visual Studio 2012 で始める ...Developer Camp 2012 Japan Fall
 
20180822 ガチラボ vol.8
20180822 ガチラボ vol.820180822 ガチラボ vol.8
20180822 ガチラボ vol.8Satoshi Fujimoto
 
devsumi2012 17-D-1 Kinectで創る10年後のカタチ
devsumi2012 17-D-1 Kinectで創る10年後のカタチdevsumi2012 17-D-1 Kinectで創る10年後のカタチ
devsumi2012 17-D-1 Kinectで創る10年後のカタチKaoru NAKAMURA
 
Windows 11 機能アップデートMoment 4
Windows 11 機能アップデートMoment 4Windows 11 機能アップデートMoment 4
Windows 11 機能アップデートMoment 4Tomokazu Kizawa
 

Similar a ニコニコ超開発 (20)

解説 Windows 10 May 2020 Update
解説 Windows 10 May 2020 Update解説 Windows 10 May 2020 Update
解説 Windows 10 May 2020 Update
 
ストアアプリ →universal Windows Apps =WP8.1アプリ
ストアアプリ→universal Windows Apps=WP8.1アプリストアアプリ→universal Windows Apps=WP8.1アプリ
ストアアプリ →universal Windows Apps =WP8.1アプリ
 
Kinect Camp with TMCN / Kinect入門ハンズオン 2015.06.06
Kinect Camp with TMCN/ Kinect入門ハンズオン 2015.06.06Kinect Camp with TMCN/ Kinect入門ハンズオン 2015.06.06
Kinect Camp with TMCN / Kinect入門ハンズオン 2015.06.06
 
.NET Coreとツール類の今
.NET Coreとツール類の今.NET Coreとツール類の今
.NET Coreとツール類の今
 
Microsoft Copilot Studio.pdf
Microsoft Copilot Studio.pdfMicrosoft Copilot Studio.pdf
Microsoft Copilot Studio.pdf
 
WebRTC on Edge
WebRTC on EdgeWebRTC on Edge
WebRTC on Edge
 
WindowsPhone arch 神戸#1
WindowsPhone arch 神戸#1WindowsPhone arch 神戸#1
WindowsPhone arch 神戸#1
 
新登場!Surface Laptop 4
新登場!Surface Laptop 4新登場!Surface Laptop 4
新登場!Surface Laptop 4
 
20130216
2013021620130216
20130216
 
わんくま名古屋#36 (20150725) Windows 10 ユニバーサル Windows アプリ開発入門
わんくま名古屋#36 (20150725) Windows 10 ユニバーサル Windows アプリ開発入門わんくま名古屋#36 (20150725) Windows 10 ユニバーサル Windows アプリ開発入門
わんくま名古屋#36 (20150725) Windows 10 ユニバーサル Windows アプリ開発入門
 
わんくま名古屋#25(20121201) 「Win8ストア・アプリ WP8アプリ、両面撃破作戦」
わんくま名古屋#25(20121201) 「Win8ストア・アプリ WP8アプリ、両面撃破作戦」わんくま名古屋#25(20121201) 「Win8ストア・アプリ WP8アプリ、両面撃破作戦」
わんくま名古屋#25(20121201) 「Win8ストア・アプリ WP8アプリ、両面撃破作戦」
 
【Unite 2017 Tokyo】WebGL:ゲームプラットフォームとしてのWebと現在と未来
【Unite 2017 Tokyo】WebGL:ゲームプラットフォームとしてのWebと現在と未来【Unite 2017 Tokyo】WebGL:ゲームプラットフォームとしてのWebと現在と未来
【Unite 2017 Tokyo】WebGL:ゲームプラットフォームとしてのWebと現在と未来
 
【Unite 2017 Tokyo】WebGL:ゲームプラットフォームとしてのWebと現在と未来
【Unite 2017 Tokyo】WebGL:ゲームプラットフォームとしてのWebと現在と未来【Unite 2017 Tokyo】WebGL:ゲームプラットフォームとしてのWebと現在と未来
【Unite 2017 Tokyo】WebGL:ゲームプラットフォームとしてのWebと現在と未来
 
C#でiPhoneアプリ開発 with MonoTouch
C#でiPhoneアプリ開発 with MonoTouchC#でiPhoneアプリ開発 with MonoTouch
C#でiPhoneアプリ開発 with MonoTouch
 
Dev camp2012jpn day2special
Dev camp2012jpn day2specialDev camp2012jpn day2special
Dev camp2012jpn day2special
 
Developr Camp 2012 Japan Fall Day2 Special Session - Visual Studio 2012 で始める ...
Developr Camp 2012 Japan Fall Day2 Special Session - Visual Studio 2012 で始める ...Developr Camp 2012 Japan Fall Day2 Special Session - Visual Studio 2012 で始める ...
Developr Camp 2012 Japan Fall Day2 Special Session - Visual Studio 2012 で始める ...
 
20180822 ガチラボ vol.8
20180822 ガチラボ vol.820180822 ガチラボ vol.8
20180822 ガチラボ vol.8
 
速報!!Windows 11
速報!!Windows 11速報!!Windows 11
速報!!Windows 11
 
devsumi2012 17-D-1 Kinectで創る10年後のカタチ
devsumi2012 17-D-1 Kinectで創る10年後のカタチdevsumi2012 17-D-1 Kinectで創る10年後のカタチ
devsumi2012 17-D-1 Kinectで創る10年後のカタチ
 
Windows 11 機能アップデートMoment 4
Windows 11 機能アップデートMoment 4Windows 11 機能アップデートMoment 4
Windows 11 機能アップデートMoment 4
 

Último

LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Hiroshi Tomioka
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Gamesatsushi061452
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video UnderstandingToru Tamaki
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...Toru Tamaki
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 

Último (11)

LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 

ニコニコ超開発

Notas del editor

  1. パート 1 。まずはじめに、ニコニコ動画のコメントサーバーというものをちょろっと紹介します。
  2. コメントサーバーは、文字通りですが、ニコニコの各種サービスのコメント部分を担当しているサーバーです。 利用しているサービスは、動画にはじまって、今でも時報や地震のときにコメントを共有している ( 元 ) 広場、 ニコニコ生放送、ニコニコ実況、ニコニコアプリ、ニコ生アラート、電子書籍の静画、ほかにもニコルソンという関連サービスなんかでも使っています。 (click) このサーバーはすべてオリジナルで、 C++ で記述しています。 32bit から始まり、現在は 64bit になってます。 すべてのサービスで使っているサーバーは同一のコードベースです。ちなみにソースは公開していません。 (click) 対応プロトコルは HTTP, XMLSocket, それに WebSocket も対応準備してます。
  3. コメントサーバーは、サービスによって大きく二種類の使われ方があります。 一つ目ですが、「同期」。リアルタイムですね。コメントをしたら即座に同じ対象を見ている人達に共有されるものです。 二つ目、「非同期」。これは、過去にされたコメントを、同じ文脈に達したときに再現するというものです。 そして、これらは代表的なサービスではそれぞれこのように利用しています。生放送は放送時が同期、過去ログが非同期ですね。
  4. さて、いきなりですが、これは動画のコメントの最新 10 件をリクエストする URL です。 叩いて見ると・・ XML が返ってきます。 この URL の api の部分を api.json にすると JSON で返ってくるようにもなってます。
  5. コメントを取得するプログラムを作ると色々と楽しみ方が広がるので、試してみてください。 ということですごいあっさりしてますがコメントサーバーの話は終わりです!
  6. 続いてパート 2 、ニコニコ動画の Windows8 版を作ったお話をします。
  7. さて、今月二日、上司から打診が来ました。 「 Windows8 向けのニコニコ動画を」 今週中に作ってほしい (click) 。 そうしたら、 4 月 24,25 日にある Microsoft Windows Developer Days のキーノートスピーチで紹介して頂ける (click) 、というものでした。 (click) 今週中とな?
  8. まあさすがに週内に完成は無理だろうというのはありましたが、とりあえず技術調査を始めました。 まず実行環境と開発環境を揃え、 web にあるドキュメントを読み、サンプルコードを入手してどうすれば実現するかを探っていきます。 なお私は Windows アプリの開発は相当久しぶりなのと、 Windows 8 では Windows Runtime という名前で OS のシステムコールが一新されているので新たに勉強する要素がかなり多い状況です。
  9. とにかく大車輪で情報を探って利用する技術要素を決めていきます。 動画のフレーム更新をチラツキ無く、かつ画面の更新レートにあわせて行うサンプルがあったので、それが利用している技術をベースにすると (click) 言語は C++/CX 、動画のデコードは MediaEngine というシステムコンポーネント それから DirectX を使って画面を更新し、そのときにコメント描画を仕込めそうだと考えました。 また、それ以外のユーザーインターフェイスの記述には (click)Microsoft 指定の XAML というものを使うことにして、 (click) それらの実験を始めました。
  10. そして 4 月 6 日金曜日、、出社して、アサインされたデザイナーを交えたキックオフミーティングを行います。 まずここでスケジュールが伝えられます (click) 。 4 月 25 日が本番で、そのリハーサルのために 4 月 20 日に動いている物があること。 さらに、そのキックオフミーティングの三時間後に Microsoft さんのほうから (click) 〜送ってほしい、という連絡が来ます。
  11. これらから定まるロードマップはこんな感じになりました。 (click) ラフデザイン -&gt; 提出 (click) デザイン仕上げ (click) アプリ実装 -&gt; 提出 (click) 仕上げ -&gt; 本番
  12. 期間が短いので、実装する機能はデモで見せる最低限の内容に絞ります。 重要なのはもちろん、 (click) 動画が再生できること。そしてその上に (click) コメントが流れること。 さらに、動画操作の基本的なユーザーインターフェイスとして (click) 再生、一時停止、シークバー操作、再生位置を先頭に戻すボタン、他にもコメントの表示切り替えボタンなどは実装します。 (click) そしてデモで実演するため、コメントの投稿機能も必要です。 ただし、安定してデモが出来る必要があるということで、一旦通信しないでオフラインで動作するものを作る事になりました。
  13. 動き出したデザイナー側は、 Windows 8 の Metro UI のガイドラインを読み込んでどのような方向でデザインするかの検討を始めます。 多くの案を出してはそぎ落としていきました。 そして、指定の 4/10( 火曜日 ) に Microsoft さんに提出して Microsoft のエバンジェリストの方からレビューを受けます。
  14. レビューの結果を受けて、さらに数日かけて動くパーツ素材を用意していきます。
  15. デザイナーが作ったものの一部はこんなかんじです。これはトップ画面。
  16. これは動画の詳細画面。
  17. そして、これが動画の再生画面です。さきほどの絵では外していましたが、実際にはこのように検討用のメモがペタペタと貼り付いていて、配置に関する情報なんかも指示が入っています。
  18. そしてデザインした再生ページで想定されるパーツ要素を、必要な状態数用意します。
  19. さて、それまでの間私が何をしていたかというと、実際に実装するにあたって色んな試行錯誤をしていました。
  20. それぞれの担当分が形になってきたということで、 15 日頃からはデザインとコードを組み合わて動く物にしていきます。 Windows 8 Metro UI アプリに必要なアイコンや起動画面なども準備しつつ、機能性のあるパーツスタイルをプログラマー側が動くようにしていきます。
  21. さて、一通り動くようになってタブレット PC で実際に試してみたところ。 机上のデザインと実際はやっぱり違って使いにくい (click) ということが判明します。 (click) このときの操作体系は、画面の下端から引き出す操作をすると動画の再生操作に関するアプリバーが引き出され、それ以外の場所のタップでコメント欄がやはり下から出てくるというものでした。 実際にこれを使うと、頻繁に操作領域を切り替える必要があって大変でした。 さらに、コメントを打とうとするとタブレット PC ではソフトウェアキーボードが現れるんですが、それいあわせて動画を縮小すると、パーツ類の専有分もあって動画がものすごく小さくなってしまう点 (click) と相まって、「動画を見ながらコメントをする」という体験がだいぶやりにくいものになっていました。 ということで、リハーサル用の提出日を延ばして貰って、 (click) 実際に使えるものにしていくためにデザインをリテイクすることになります。
  22. ニコニコ動画においては動画の再生操作とコメント入力は密接に連携するアクションということで、 (click) 新デザインではそれらの操作は一つのパネルに統合しました。 (click) 同時に、シークバーの再生位置表示をなめらかに動かしたり、コメントをしたら上に出ている動画タイトルを消したり、みたいな細かい工夫を混ぜ込んで仕上げて、 (click) 無事リハーサル用バージョンを提出しました。
  23. 実際のデザインイメージはこんな感じでした。これはデザイナーによる指示画像です。
  24. さて、開発中はデモで再生する動画も完成前のバージョンがきていたのですが、この頃には完成版が出来てきます。楽曲はエレクトロキューティカさん、 Microsoft 公式の MikuMikuDance モデルを活用して、@まさたか P が映像を作られたものです。
  25. そしてリハーサルで OK がでたので、動画、サムネイルを最終版に差し替えて本番用のアプリをビルドして、提出し、無事本番を迎えました。