「再利用可能なチャートに向けて」とd3.dispatch

Introduction

D3.js Advent Calendar 2013 の 23日目です。もともとはMike Bostockが書いた「再利用可能なチャートに向けて」(Towards Reusable Charts)を自分のアプリで実装した際に気づいたことを書こうと思っていました。そしたらそもそもその記事が英語なので「日本語に訳して下さい」という暗黙のプレッシャーが!


Towards Reusable Charts「再利用可能なチャートに向けて」



というわけで訳しました。

詳しくは訳文を読んでいただければ良いのですが、要点をまとめると

  • チャート作成用関数にゲッター、セッター用メソッドを定義することでチャートごとに異なる設定パラメーターの管理を容易にできる

var chart = timeSeriesChart()
.x(function(d) { return formatDate.parse(d.date); })
.y(function(d) { return +d.price; });

  • selection.callにチャート作成用関数を引数として渡すことでdataやdomもチャートごとに異なるものを渡すことができる

d3.csv("sp500.csv", function(data) {
d3.select("#example")
.datum(data)
.call(chart);
});

ということです。



d3.dispatch



でも実はこれだけだと片手落ちなんですね。それは彼の記事の最後に「インタラクティビティやアニメーションはどうするか」と問題提起しているのですが、たとえば似たようなチャートを再利用する際、チャートAではクリックイベントであることをするが、チャートBでは違うことをさせたい(あるいはなにもさせない)という必要がでてきます。
そういう時に便利なのがd3.dispatch。 これはd3が内部で使っているイベントシステムなのですが、これを使うことによって再利用可能チャート関数固有のイベントを定義することができ、チャートの呼び手は、チャートを作成した後に、各チャート個別のイベントを定義することができます。

もう「再利用可能なチャートに向けて」の使用例でいうと

chart.on("myCustomEvent", function(d, i) {
// do something
});

みたいなイベントが定義可能になる訳です。dispatchイベントの使い方ですが、まずd3.dispatch関数にイベント名を引数として渡すことでイベント名を登録します。

var dispatch = d3.dispatch("myCustomEvent");

そしてそのイベントを発動したいところでそのメソッド名を渡します。

my.append('rect')
.attr("width", this.w)
.attr("height", this.h)
.on("click", dispatch.myCustomEvent);

そしてそのイベントが外部からもアクセスできるようにrebindします。

d3.rebind(my, dispatch, "on");

非常に簡単ですね。

このパターンですが、実は私が発明したものではなくDeveloping a D3.js Edgeという本の受け売りです。

この本はd3.js google groupの何人かのメンバーが「再利用可能なチャートに向けて」の記事をもっと詳しく広げて一冊の本にまでしたものです。

そして先ほどのパターンの例はその本のサンプルプロジェクト
として載っています。

このパターンを使ってみて役に立ちそうであればその本も買ってあげて下さい。


Finally



実はこのパターンは私が現在開発中の反復学習ビデオプレーヤーであるStepUp.ioのエディターないで使われています。ご興味のある方は一度利用してみてさい。

そしてちょっと話しは変わりますが、私がこのアプリを開発する為に起業したのですが、その模様を「ロンドン起業日記」と題して達人出版会から絶賛発売中ですので、興味のあるかたはぜひご購読下さい。

ロンドン起業日記 ヨーロッパで絶賛、奮闘中!

この日記は私が2006年にプログラミングを習い始めたのをきっかけにつけ始めました。その後起業、失敗、プログラマとして再出発、シードアクセラレーター(投資プログラム+起業スクール)に応募して受かる、新たに起業、というところまで来ています。更新の頻度は本当にまちまちで、半年ぐらい全然更新しない時もありました。しかしながら7月にシードアクセラレーターに受かってから9月に卒業するまでの11週間は自分の進捗を確認する意味で毎週のように更新していました。

今回はシードアクセラレーターに参加していた3ヶ月の出来事を中心に、自分がロンドンで体験してきたことを一冊の電子書籍としてまとめてみました。


以下が目次です。

目次
はじめに

この本の対象読者
本書の構成
謝辞

第I部 パート1

第1章 シードアクセラレータープログラムとは

1.1 ビザ
1.2 社会起業とBethnal Green Ventures
1.3 私と社会起業
第2章 スタートアップに必要なスキルを習得するまで

2.1 あこがれのスタートアップ
2.2 スキルギャップを埋めろ
2.3 ポールグレアムとの遭遇
2.4 欧州版シードアクセラレーターSeedCamp
2.5 誰にも知られず失敗
第3章 スタートアップが出来るまで

3.1 オリンピックハッカソン
3.2 「なぜお前は起業家じゃないんだ?」
3.3 ビデオ情報を可視化
3.4 Massively Open Online Courses(大規模公開オンラインコース
3.5 「Fake it till Make it」(実際につくるまではあるように見せかけろ)
3.6 スタートアップの多くは年始年末に始まる
第4章シードアクセラレータープログラムに受かるまで

4.1 応募
4.2 面接
4.3 当選…!!!
4.4 2週間で15 人を面接は可能か?
4.5 1.5人分
第II部 パート2

第5章 第0週(6/29)

5.1 Business Model Canvas
5.2 オンラインコースのオフ会
5.3 引っ越しの準備
5.4 首位死守
第6章 第1週(7/7)

6.1 10チームの仲間達
6.2 メンタースピードデート
6.3 授業開始
第7章 第2週(7/15)

7.1 創業者の打ち明け話
7.2 初めてのユーザビリティ(使い勝手)テスト
7.3 Impact Measurement - お金以外の投資評価法
7.4 新しいユーザーインターフェース
7.5 Business Model Canvas の更新
7.6 週末はコッツウォルズに一泊旅行
第8章 第3週(7/21)

8.1 助成金の申請
8.2 アンカンファレンス
8.3 新しいデザイン
第9章 第4週(7/28)

9.1 いよいよプログラミング
9.2 Exit Plan
9.3 Pitch Friday
第10章 第5週(8/3 + 8/5)

10.1 事務処理
10.2 リリースに向けて
10.3 愛の鞭
10.4 ユーザーアンケート
10.5 調査フォーム
第11章 第6週(8/12)

11.1 アンケートが難しすぎる?
11.2 本格的なユーザビリティテストでロケット手術を簡単に
11.3 予算編成
11.4 プログラムの半分が終わって
第12章 第7週(8/19)

12.1 ピボット(方向転換)?
12.2 ユーザーインタビュー
12.3 オンラインビデオのツイッター
第13章 第8週 (8/29)

13.1 売り込みが先か、開発が先か
13.2 リアルユーザーとの最初の対峙
13.3 また振り出し?
第14章 第9週(9/2)

14.1 アドバイザー
14.2 営業活動
14.3 決断
第15章 第10週(9/8)

15.1 ツイッターマーケティング
15.2 デモの準備
15.3 シリコンラウンドアバウトと資金調達講座
第16章 第11週(9/10、9/11、9/15)

16.1 創業者の訛り
16.2 Just a feature(ただの一機能)
16.3 リハーサル
第17章 第12週(9/19)

17.1 リハーサル、リハーサル、リハーサル
17.2 助成金の面接
17.3 デモピッチ3連発
第18章 第13週(9/29)

18.1 12週間のプログラムが終了して

第19章 第14週(10/6)
19.1 Sweat Equity投資家
19.2 予想外の結末
19.3 母からのメール(10/4)

このサイトの日記が11週で終わっていたのは、最後の結末を温存しておきたかったからです。あとシードアクセラレーターに応募するまでのいきさつや、このサイトを読んでいた母からのフィードバックなどの独自コンテンツもあります。興味のある方はぜひご購読下さい。

Benkyo Diary (11週目)


  • プレゼンのリハーサル

いよいよ来週がBGV最後の週で木曜日に集大成としてのデモがあります。

今週の木曜日と金曜日にリハーサルをしたのですが、他のチームと比べて自分のプレゼンの稚拙さがめだってきたような気がしました。他のチームは3ヶ月間実際に外にでて、「ここの病院と提携して実際に使用試験してもらっている」「ここの自治体から実際に案件を受注した」という実績を打ち出してきています。それにくらべて私のプレゼンは「こういう人たちがお金を払ってくれるに違いない」という仮説を並べ立ててばかりでまったく信憑性に欠けているような気がしてきました。

プロダクトというのは作るのは簡単でもそれを実際に使ってもらえるのは別次元の問題です。今のところBenkyo Playerをこまめに使ってくれている人たちが3人ほどいるのですが、彼らがBenkyo Playerの主要機能である「検索」「ブックマーク」という機能をまったく使ってくれていないのが非常に問題かなと思います。もっとユーザー数を伸ばそうとツイッターマーケティングをしようとするとアカウントも凍結されてしまって踏んだり蹴ったりです(1週間経ってようやく解除されましたが)。

最近だんだんBenkyo Playerに自信が持てなくなってきたので来週のデモデーではStepUp.IOをデモしようかと思いプレゼン資料まで作ったのですが、それは周りから止められてしまいました。なんでも「ちっちゃい一機能にしか見えない」とのこと。でもそれってBenkyo Playerに大しても言われ続けていることなのであまり気にしてもしょうがないのですが。

週末は気分転換も兼ねてGoodWoodというイギリス南部の町で開催されたクラッシックカーのレーシング大会を見に行ってきました。博物館においてありそうなビンテージカーやバイクでのレース、挙げ句の果てにはスピットファイアー飛行機の曲芸飛行などもあって楽しかったです。

Just a feature (ただの一機能)

スタートアップライフを始めてはや(たった)11週間たちました。それまでいろんな人に自分のサービスを説明する機会があったのですが、その時に相手からの返答で一番傷つくものの一つに「Isn't it just a feature?」(それってなんかのサービスの一機能じゃない?)と言われることです。というか今日も言われました。

私がいつも参考にしている"How to Build Startup" コースのSteve Blank氏ですらこういっています。

There's a couple mistakes when you're thinking about value proposition.

One is that what you're building might just be a feature of someone else's product.

You might have a good feature extension, but it might not be a business, or it might be a business for about 9 months till the incumbent just adds that in their next release.

バリュープロポジション(商品価値)を考えていく上でいくつかのよく犯しがちな間違いがあります。
そのうちの一つは誰か他の人の製品の一機能を作っているだけかもしれないということです。
あなたの作っているものはある機能の拡張としては良いかもしれませんがビジネスではないかもしれません。もしくは他社が9ヶ月後にその機能を追加するまでの命かもしれません。

でも思うんですけれど、まったく新しい製品やマーケットを一からつくるということは少なくて、ほとんどの企業アイデアは既存のサービスの不満点を解決するための解決手段としてでてきます。よって全ての新規事業は多かれ少なかれ「既存のサービスを拡張するための一機能」から出発することは否めないのでしょうか。

「ただのサービスの一機能」と人が言うときには二つの意味合いがあると思います。一つ目は「他社が実装してしまえばおわり」。二つ目は「そんな機能だけじゃビジネスとして通用しないよ」という意味合いです。

前者に関しては、私の知人がツイッターが「リスト」機能をつける前にそれと同等なサービスを運営していたのですが、ツイッターが機能をつけてしまったためにやめざるを得なくなってしまいました。あとツイッター向けのクライアントアプリを作っていた人たちはツイッターの方針変更によってみんなマーケットから閉め出されてしまいましたがそういう例って予見するのはほとんど無理じゃないかと思います。

最近EventBriteに買収されたソーシャルイベントマネジメント会社のlanyrdは自分がフォローする人が参加するカンファレンスの情報を教えてくれるサービスですが、それこそ「Meetup.orgとかがソーシャル機能をつけたら一発でおわり」と言われてもおかしくなかったのではないでしょうか? でも結局Meetup.orgはそういう機能をつけませんでした。

たぶん「他社が実装してしまえばおわり」を回避するには「1社に依存しないサービスをつくる」で良いのだと思います。正直言ってそれはあまり難しくないです。

でも二つ目の「そんな機能だけじゃビジネスとして通用しないよ」に対抗するのはとっても難しいです。

それに対するSteve Blank氏の解答は以下の通りです。

Sometimes it's very easy for founders to say, "Well, they all liked it." Well, okay. What you really want is they didn't like it; they've got to have it.

In fact, they didn't let me leave until they let me use the prototype.

That's when you know you have a business.

企業家の人たちが「みんな好きっていってくれているよ」っていうのは簡単さ。でも本当に必要なのは他人が「嫌いではない」サービスじゃなくて「なくちゃ困る」って言うほどのサービスだよ。「いや〜、お客さんが私のプロトタイプを使うまで帰らせてくれなくてさ」。そういう時にようやく本当のビジネスになるってことがわかるんだ

いや〜、これもあまり参考にならないですね。正直いって自分が身の回りで使っているウェブサービスのなかで「これがなきゃ本当に困る」っていうサービスがどれくらいあるんでしょうか? 私にとってなくなって困るのはメールぐらいでしょうか。


It has to be something that people demand, and there have to be enough of them to demand.

You might find, yeah, I found the 5 people in the entire world that love the product,

それは人々が要求するものじゃなくてはいけない。そして十分な数の人が要求しなくてはいけない。
世界中の人のなかでたった5人が好きじゃはじまらない。

10人話したうちの5人が好きになってくれればかんたんなんですが、そういうことがすぐに起きるのはまれですし、「好きって」いってくれる人が必ずしもサービスを使ってくれる訳ではないと言うことはこの3ヶ月間で身にしみて分かってきました。

でも起業家の道を選んだ人は、十分な数のユーザーを探すことをためらってはいけないんでしょうね。がんばれ自分

「創業者の訛り」の元記事

少し前に「創業者の訛り」というポールグレアムのエッセイが話題になったということに最近気づきました(翻訳者の方のブログはここです)。

これはもともとポールグレアムがInc誌の取材で答えたことにより「外国人嫌い」とか「人種差別者」と批判されたことに対する釈明で「訛りそのものが問題なんではなく、訛りがきつすぎてコミュニケーションに支障をきたすのが問題」と言っています。

もちろん彼の言っていることは正論なのですが、なぜそこまで批判を受けたかを理解するには元の取材記事までさかのぼってみる必要があると思い、元記事の該当部分を訳してみました。


How has your method of assessing Y Combinator applicants changed since it launched?

Y Combinatorの応募者を評価する方法はプログラムの開始自体変わりましたか?

We learned a bunch of tells as time went on. We videotape all of our interviews, and before each round of interviews, we look at the game tapes from the last round. By then, we know something about how these start-ups turned out, either good or bad. Sometimes, you look at that video and say, "We would have been fooled by these guys again." But sometimes, we can see: "Aha! They're doing X."

時間が経つにつれて多くを学んだよ。僕たちはインタビューを全て録画するし、毎回のインタビューの前に一つ前のラウンドのテープも見るようにしている。そうすることで各スタートアップが良くなるか、悪くなるか分かるようになるんだ。時々ビデオを見返すことで「こういう奴達にまただまされちゃうんだよな」とか「あ〜かれらがしようとしてることはXだな」とか分かってくるんだ。

Like what?

例えば?

One quality that's a really bad indication is a CEO with a strong foreign accent. I'm not sure why. It could be that there are a bunch of subtle things entrepreneurs have to communicate and can't if you have a strong accent. Or, it could be that anyone with half a brain would realize you're going to be more successful if you speak idiomatic English, so they must just be clueless if they haven't gotten rid of their strong accent. I just know it's a strong pattern we've seen.

悪いCEOとしての兆候の一つとして強い外国語訛りがある。なぜかはよくわからないんだけれど、起業家っていうのは多くの繊細なことを伝えなければいけないから訛りが強いとそれは無理なんだ。
それとも、ちゃんとした英語を話した方がより成功するだろうってことは脳みその中身が半分でも詰まっている人は気づくってことかもしれない。だからもし彼ら(訛の強い人たち)が彼らの訛を取り除いていないってことは、彼らは無能に違いない。こういうことが強い傾向としてでてくるってことを我々は見てきたんだ。

最後の部分は本当にポールグレアムのいったことなのか新聞記者が誇張したかはわかりませんが、このセリフを言葉どおりうけとめると多くの人が激怒するのも無理ないかなと思います。訛のきつさは気づいたからといって簡単に取り除けるものではないですしね。もちろん訛りの強い人が無くそうと努力するのは大切ですが、そういう人たちに向かってclueless(無知な、無能な)という言葉を使うのは外国人に対する配慮が欠けていると思われてもしかたありません(たとえポール自身が外国人起業家のためを思っての発言だとしても)。

この記事に対する反応として著名なイタリア人プログラマの人は以下のように述べています。

However as a native English speaker you should really realize that a lot of people are doing serious efforts to learn a language that is hard to learn: it is not an hobby, to master English is a big effort that a lot of people are trying to do to make communication simpler.
English has been my pain for 15 years

しかしながら英語がネイティブな人たちは多くの人たちがこの(英語という学習が大変な)言語を学習するためのなみなみならぬ努力をはらっているということを気づくべきだ。英語をマスターするのは趣味ってレベルじゃなくて多くの人たちがコミュニケーションをもっとスムーズに使用と多大な努力をしているんだ。

私自身かれこれイギリス在住9年になりますが、海外に初めていったのが大学に入ってなのでネイティブなみの発音には一生なれる気がしません。最近も自分のアプリのデモビデオを作ったところ「ナレーションは英語ネイティブの人にしてもらったら?このクレイジージャパニーズみたいなナレーションはちょっと」という痛いツッコミをもらったところです。

ただ我々外国人がポールグレアムやこういう傷つく一言を投げかけてくる人たちに対して怒ってもどうしようもなく、対抗するには地道に発音矯正の練習するしかありません。

っで思ったのが以前から作っていたStepUp.IOというアプリです(いきなり宣伝でごめんなさい)。

(上の画像をクリックするとページに飛びます)

これはビデオの中から自分の好きな部分を切り取り、ひたすらそこを反復練習するアプリです。

もともとはダンスとか楽器の練習とかに向いているのではと思ったのですが、語学練習にもいけるかなと思いました。いかがデモのビデオです。

現在は私が管理画面から追加したビデオでしか練習できませんが、ちゃんとした管理画面ができたら、誰でもお気に入りのビデオを追加することが出来るようにする予定です。 もし「これ役に立ちそう」と思われた方はGet Inviteのところでコンタクト情報を記入していただくと、準備ができしだいご招待する予定です。

Benkyo Diary (10週目)


ツイッターマーケティング

今週はBenkyo Playerをプロモートすべくいろいろなソーシャルメディアマーケティングを試してみました。
まず最初にしたのは以下のツイート

”Did you know that Barkley University offers online Ruby On Rails course for free?”

”バークレイ大学がRuby On Railsのオンラインコースを無料で提供するって知ってた?”

このオンラインコースの本当のタイトルは"BerkeleyX: CS-169.2x Software as a Service"というのですが、タイトルからはRuby On Railsのコースということは全く伝わってきません。そこで「無料」「Ruby On Rails」というキーワードをちりばめたツイートをしたのですが、私のツイッターのネットワークはRuby On Railsエンジニアがおおいいこともあってか、短時間でかなりのリツイートがありました。 そして通常の10倍ぐらいのアクセスもあり予想外の効果にびっくりです。

このコース以外にも4つぐらいの他のコースを同じようにツイートしたら、2つほどのコースに関しては結構反応がありました。

これに気を良くして次に「Udacity のHow To Build Startupを受講しています」というつぶやきをしている人を一度にフォローしたらとたんにツイッターのアカウントが凍結されてしまいました。こういうスパム的な行為はツイッターはちゃんと監視しているようですね。一度目は自分で凍結解除できます。しかしながらこの次にフォローする代わりに「@xx さん Benkyo Player使ってみたら」と@メンションするようにしてみたらまた再度凍結。再犯だからかどうか今度は自分では凍結解除できないので、いまは解除申請をして連絡待ちです。 やっぱり自分でも「スパム行為かな?」と思うようなことはやらない方が良いですね。

デモの準備

12週間のプログラムもあと2週間んを残すところとなりました。このプログラムのハイライトはデモデイでのプレゼンです。
デモで特に必要なのは各機能のせつめいより「自分の解決しようとしている問題がいかに重要か」「以下にソーシャルインパクトをあたえることが可能か」何だそうです。

で、とりあえず作ってみたのがこれです。

「自分の解決しようとしている問題がいかに重要か」に関しては結構話せるのですが「以下にソーシャルインパクトをあたえることが可能か」というのを伝えるよい方法がまだ見つからず悩んでいる途中です。

Google Campus EDU Startup Funding

金曜日はGoogle Campusで「スタートアップファンディング」というイベントに行ってきました。最初のスピーカーは「Go Cardless」というオンライン決済サービスを提供する会社の共同創業者の人でした(彼と少しお話ししたのですが日本とイギリスのハーフの方だそうです)。 最初にYCombinatorというBGVに似た投資プログラムに参加した後1〜2億の資金を調達するまでの話しをしていただいたのですがその中で気になったのが「ピボット」(方向転換)。もともとYCombinatorに応募したときは決済関係のアイデアではあったけれど、今のサービスとは全然違うものだったそうです。「どの時点で元々のアイデアがいけていないものであるか気づくんですか」と疑問におもって質疑応答で質問したところ、「それはすごく簡単。出来上がったものを人に見せまくって使ってもらえるかどうか見てみる。使ってもらえない場合はなぜ使わないかの理由を聞いてみて直せるものだったら直す。でもいくらかえても使ってもらえないようであればその時はさっぱり方向転換する」とのことです。

今週自分がしていたことを顧みて思い出したのが「Do Things that Don't Scale」「スケールしないことをしなさい」というポールグラハムのエッセイ。
スタートアップの多くは「サービスを作って公開すれば人がよってたかってくる」という幻想を持っていますが初期のユーザーというのは一人一人勧誘していく必要があるというのが趣旨です。こういう地道な努力ってデジタルな世界では怠りがちですがすごく重要だと思いました。

Benkyo Diary (9週目)


  • アドバイザー
  • MakersAcademy
  • 決断

今週は3連休があったのと、週末からこじらせていた風邪が長引いていたのであまり仕事といったしごとができませんでした。それでもBenkyo Playerをなんとか売り込むために少し活動しました。

アドバイザー

水曜日に以前の会社でお世話になったクライアントの方と会いました。かれは現在スタートアップでマーケティングの責任者をしているので、マーケティングに疎い私としてアドバイスをもらえればと思いました。当初は30分ぐらい話せれば良いかなと思ったのですが、話しは白熱して1時間半も話し込んで、あげくは「アドバイザーになってあげる」といわれました。最近「Benkyo Playerよくわからない」といわれ続けることが多く自信をなくしていたのですが、Benkyo Playerのアイデアに興奮してくれる人に出くわすと非常にうれしいです。

あと彼が私のビジネスよりも聞いてきたことが「なんで自分でスタートアップしたいのか」。最初はあまりうまく答えられなかったのですが、彼と話していくうちに分かってきたのが「みんなに使ってもらえるアプリを作りたいから」。以前の職場でクライアントの要求するままにウェブサイトを作っていた時に、せっかくすごく出来の良いサイトが出来たのに、結果的にはβリリースもしないまま頓挫してしまったようなケースがいくつかありました。私はそのことを「The Coolest App no one uses」(誰もつかわないクールなアプリ)と呼んでいます。せっかくよいつくりのサイトなのにそれが誰のためのものか明確でなかったり、カスタマーに届ける労力がはらわれていないばあいに良く起こることですが、自分が開発しているときは「それは他の人の問題」でした。でもせっかくつくるからにはやはり他人に使ってもらえる(そして最終的にはお金を払ってもらえる)よう努力していきたいです。

MakersAcademy

MakersAcademyはしろうとを12週間でウェブプログラマーとして育て上げるためのロンドンにあるアカデミーです。そこで習う科目はJavascriptやRubyOnRailsなので補修教材としてBenkyo Player内にあるコースが役に立つのではと思い、そこの生徒さんに向けてプロモーションすることにしました。しかしながらただ単に自分のアプリの売り込みだけをしてもしょうがないので「Benkyo Playerをプロトタイプから実際の製品につくりあげるまで」というタイトルで、自分の体験談について話してきました。

話した後で3〜4人の生徒さんが話しかけてくれました。中には「僕もedXのあのコース以前とってて「たしかにどこかであの項目について話してたんだけれどどこだったか思い出せない」という経験があったからBenkyoPlayerがまさにその問題を解決するよね」といってもらえたのがうれしかったです。

話した直後はいろいろ手応えがあったように感じたのですが、Benkyo Playerの使用状況をモニターするとあまり変化がないようです。あと「気に入ったらツイッターアカウントをフォローして下さいね」とフォローアップのメールを送ったのですがだれもフォローした形跡がありません。現実はきびしー

決断

前回のオフィスアワーで「もっとシンプルなサービスにやりかえたら?」とアドバイスされていろいろ悩んでいたのですが、結局それはやめることにしました。ユーザーに使ってもらえるかのマーケットリサーチに基づいているアドバイスならまだしも、結構直感ででてきたようなアイデアなので既存のBenkyo Player以上に使ってもらえる自信が全く感じられなかったからです。ただ「ビデオのブックマーク機能」というのはStepUpにはあう機能なので、そちらのアプリの一機能としてそのうち追加できればなと思います。 ということで「Benkyo Playerは既存路線でがんばる」に決めました。