オープンデータコミュニティとして技術書典7にサークル参加してみた


2019年9月22日に開催された技術書典7LODハッカソン関西というサークル名で技術書を頒布しました。LODハッカソン関西は、オープンデータの利活用の技術を広めるために活動しているコミュニティで、オープンデータをテーマとした技術書を頒布しましたが、今回、技術書典にオープンデータを扱うサークルとして実際に参加していたのは我々だけのようでした。

参加してみて、技術書典(または技術同人誌即売会)がオープンデータコミュニティとして参加して、オープンデータを扱う技術を広める場としても良いイベントだと感じ、そのニーズも少なからずあるように思いました。次回以降、オープンデータコミュニティからのサークル参加が増えることを期待して、参考になればと思い、我々の頒布するまでの過程を投稿します。

準備

サークルのメンバーは、執筆者が私含め3人とデザイナー1人の計4人です。サークルの窓口は私が兼任しました。
まず、技術書典7のサイトよりサークル申し込みを6月に行い、7/10に当選の通知を受け、サークル参加費を払い当選を確定させました。ここから執筆の分担を決めて、各自で執筆を開始しました。9/7に脱稿したので執筆期間は約2ヶ月になります。

執筆以外の準備としては、「かんたん後払いサービス」と、「ダイレクト入庫サービス」の登録があります。我々は「かんたん後払いサービス」のみ登録しましたが、後々「ダイレクト入庫サービス」の登録もしておけばよかったと後悔しました。

「かんたん後払いサービス」は、技術書典7のイベント内だけで使える決済システムで、会場ではスマートフォンアプリを使い、QRコードを読み取って、支払い意思だけを示して商品を受けとることができ、2~3日後に Paypalなどで後払いができるという仕組みです。サークル側の登録には銀行口座が必要です。利用側は特に必要はありませんでした。この「後払い」は、イベントが終わってみれば、半分近くの人がこの決済を使っていました。私もこの決済システムを使って、技術同人誌を買いました。サークル参加者は2%の手数料が引かれますが、釣り銭が必要なくすごく手軽に支払いをしてもらえるので、登録しておいて良かったと思いました。

当日、かんたん後払いで決済されるとアプリなどにすぐ通知されました。

「ダイレクト入庫サービス」は、「とらのあな」や「BOOTH」であまった同人誌をそのまま引き取ってくれて、店舗もしくはネット通販で扱ってくれるというものです。事前に「ダイレクト入庫」を登録しておくと、手続き(サークル名とかの登録)が必要なく、同人誌だけ渡せばほとんど手続きが完了する、というものでした。

正直よくわかっておらず、こちらは登録しませんでしたが、最終的にあまったので、一部、「とらのあな」さんにお願いすることにしました。受付に行くと、結構な量の情報をその場で登録せざるを得ず、大変でした。

今思えば、とらのあなを利用するのであれば、ボタンひとつで登録できたので、登録しておいたほうがよかったかな、と思いました。絶対に完売できる自信があれば、必要ないですけども...

執筆

執筆については、どうしようか迷ったのですが、執筆から入稿まではあまり時間がなかったため、とりあえず Googleドキュメントで各自オンラインで進めることにしました。ほかの人の進捗や書いている内容を簡単に把握できたので便利でした。

同じ Googleドキュメント 内に、技術書典側のスケジュールと我々の執筆、入稿スケジュール、そして、メモなども記載しました。それぞれ集まれる機会がほとんど作れないことは確実だったので、原稿と同じ場所に、必要な情報を載せておくと情報共有が早く、時間のない中では助かりました。

入稿の際の原稿は、Googleドキュメント をそのまま使うことも検討しましたが、フォントや文字サイズなどを合わせるのが大変だったので、Re:VIEWで入稿用の原稿を作ることにしました。私がGoogleドキュメントで執筆が完了した部分からRe:VIEW に書き写す作業を行いました。技術書なので基本的に文字しかなく、Googleドキュメントから Re:VIEW への書き写し(というかほぼコピペ)は私にとっては非常に簡単でした。

Re:VIEW は Docker を使えば Windows でも使えますし(実際私は Windows で作業しました)、Re:VIEW Starter を使ってテンプレートファイルを作ると、ほとんど執筆だけすれば、きれいに整形された本文のPDFが作成できました。

Re:VIEW Starter
https://kauplan.org/reviewstarter/

Re:VIEW Starter はWeb上から必要な情報を入力すると、技術同人誌の執筆に必要な情報を自動的にまとめて、テンプレートファイルとしてダウンロードができるというとても便利なツールです。

テンプレートのダウンロードボタンの下に、Docker環境と、それ以外での実行コマンドがありますので、そのとおりにやれば、テンプレートファイルから pdf を作成できるはずです。


### Docker を使う場合
$ docker pull kauplan/review2.5    # 3GB 以上ダウンロードするので注意
$ unzip techbookfest7.zip
$ cd techbookfest7/
$ docker run --rm -v $PWD:/work kauplan/review2.5 /bin/bash -c "cd /work; rake pdf"
$ ls techbookfest7.pdf
### Docker を使わない場合 (Ruby と Re:VIEW と LaTeX が必要)
$ gem install review --version 2.5  # 最初に1回だけ行う(2回目からは不要)
$ review version                    # Re:VIEWのバージョンを確認
2.5.0                               # (3系は未サポートなので注意!!)
$ unzip techbookfest7.zip
$ cd techbookfest7/
$ rake pdf
$ ls techbookfest7.pdf

最初から、Re:VIEWで各自で書いたほうが早いかもしれませんが、Re:VIEWは専用の記述法で書く必要があるので、それをみんなが覚えるのは大変だと思います。オープンデータコミュニティでは全員がエンジニアでないことも多いと思います。我々のように最初はGoogleドキュメントに書いてもらって、最後にDockerとかRe:VIEWが扱える人が清書した方が効率がいいかもしれません。

コピペサイト

技術書なので、たくさんのコードを本の中に記載しています。それらのコードを利用するときは、紙の内容をPC内にタイピングして書き起こしする必要があります。結局、電子書籍として準備できなかったので、コードのみコピペができるWebサイトを突貫で作りました。

作成に何を使うべきか、探してみたところ、React製の静的サイトジェネレータ Gatsby がよさそうだったので、これを使うことにしました。この Gatsby は公開されているテンプレートをインポートして Markdown を書けば、いい感じのWebサイトを作ってくれるようです。

Gatsby
https://www.gatsbyjs.org/

まず、Gatsby をグローバルにインストールします。

$ npm install -g gatsby-cli

公開されているテンプレート(我々はgatsby-starter-beeを使いました)を読み込ませて任意のプロジェクト名(ここではtechbookfest7)で Gatsbyプロジェクトを作成します。
テンプレート(Starter)は、Gatsbyのサイトから探せます。

$ gatsby new techbookfest7 https://github.com/JaeYeopHan/gatsby-starter-bee

techbookfest7というディレクトができるので、その中に入り、npm start を実行すればローカル(http://localhost:8000/)にサーバが立ち上がり、サイトがブラウザで見ることができます。

$ cd techbookfest7
$ npm start

以下のコマンドで、静的サイトのコードがpublicディレクトリに生成されます。

$ gatsby build

各章別のコードコピペ用のページは、

content/blog/

の下にbookディレクトリを作成し、そこにcapter*.mdファイルを作り、Markdown形式で記述しました。

gatsby-meta-config.jsの中にサイトのタイトル等が入っていますので、このファイルも書き換える必要があります。

module.exports = {
  title: `SPARQLでオープンデータ検索`,
  description: ``,
  author: `LODハッカソン関西`,
  introduction: `
  このページは、LODハッカソン関西が頒布する技術系同人誌「SPARQLでオープンデータ検索」に掲載するコードを容易にコピーしてもらうためのサイトです。
  コードは自由にお使いください。また、「SPARQLでオープンデータ検索」読者専用のサイトですので、本サイトを共有したり同人誌を持ってない方にはURLを教えないでください。
  `,
...

上述の生成コマンドで以下のようなページがサッと作れました。
後は、publicディレクトリ内のファイルをWebサーバにアップロードするだけで公開できます。

入稿

9/7に原稿が完成し、表紙・背表紙・裏表紙も印刷会社の指定どおり作成したものが完成したので、その日のうちに表紙と本文を別々のファイル(pdfとai)として入稿しましたが、私が印刷会社への入稿が初めてだったのでなかなか勝手がわからず(たとえば、本文と表紙の紙質や加工、厚さの指定など)、結構手間取りました。ファイルの不備も何度か指摘され、修正などをしていたら、結局9/10までかかりやっと受け付けられました。

サークルメンバーの中に、入稿等の経験がある人がいるとこの辺スムーズなんだろうな、と思いましたし、技術書典には2つの印刷会社がバックアップ印刷所として紹介されており、技術書典を良くわかっているどちらかに頼めば、もっとスムーズだったかなと思いました(我々は違うところにお願いしていました)。

会場に入ってから知ったのですが、技術書典7に関しては、この2つの印刷会社に頼んでおけば、印刷会社が印刷物を直接持ち込んでくれたようです。一旦、印刷物を受け取ってから、再度発送する必要がないのは、大きなメリットだと感じました。

我々に関しては入稿後に予測不能なトラブルもあったので、そういうこともあり得ると想定しながら、できるだけ余裕を持って入稿したほうがよさそうです。

当日の様子

我々のサークルは3階のホールCに割り当てられていました。当日、入場が混乱していたらしく、人によってはホールCに入るのにかなり時間がかかった人がいたようですが、我々は幸いなことに結構早めにブースに到着できました。それぞれ、テーマごとにブースが分けられていたようで、我々は「Web」の集まりの中にいたようです。

事前にポップ等作成してなかったので、最低限のサークル名と、頒布物の値段を貼り付けて、同人誌を机に並べ、開始時間まで待機しました。11時開始でしたが、その後1時間、知り合い以外にはまったく売れず、手にもとってもらえませんでした。

これはまずいと思い、周りの迷惑にならない程度に、前を歩く人に向けて同人誌の中身について口頭で呼びかけてみました。そうすると、何人かはブースに立ち寄ってくれるようになりました。ただ、最初は割とオープンデータ界隈の人たちにはまあまあわかってもらえる単語、たとえば「Linked Data」とか「SPARQL」とかを強調していましたが、途中から技術書典に参加される人にはこの言葉では伝わらない、と感じ、この同人誌で何ができるか、を端的にわかりやすく伝えるように努力しました。
たとえば、

「オープンデータでのアプリの作り方を紹介してます」
「Web APIで検索できるオープンデータの使い方を解説しています」
「オープンデータの入門書としておすすめです」

みたいな感じでした。これで、これまでよりも多くの方々がブースに立ち寄ってくれるようになりました。次に、この口頭での説明で手書きのポップを作りました。

このポップの効果は大きく、ずっと声かけしなくても、ブースにも来てもらえるようになりました。午後からデザイナーも参加してくれて、このポップをきれいに書き直してくれました。

これに置き換えた後は、私が声かけする必要さえなくなり、多くの人が立ち止まってくれるようになりました。

また、見本誌を手に取ってくれた人には、一通り中身の説明をしてみました。本のタイトルが「SPARQLでオープンデータ検索!」と「SPARQL」がなにかわからない人にとって、何ができるようになる本なのか全く意味不明でした。ただ、この「SPARQL」が何ぞやという話をすれば、手にとってくれた人のほとんどが興味を持ってくれました。割と購入率も高かったように感じました。

結果、サークルチェック数(技術書典7のサイトのアカウントを作った人が目当てのサークルを登録できる仕組み)はほかのサークルさんのTwitterでの投稿などを見ると、それほど多くなかったようですが、頒布数はそのほぼ倍となりました。

最初は、技術書典に参加される人にはオープンデータの技術にはあまり興味を持ってもらえないのではないかと心配になりましたが、伝え方が悪かっただけで、我々であれば、Linked Data や SPARQL といった技術を、これまで全く知らなかった人たちに知ってもらえるすばらしい場であることが確認できました。

宣伝

頒布した技術書は「SPARQLでオープンデータ検索!」というタイトルで、これまで「LODハッカソン関西」の名前で開催したイベント、勉強会で扱ったテーマのひとつ「SPARQL」について勉強会の資料を再編集して作成しました。

この同人誌は、現在、「とらのあな」さんで通信販売しています。

時期によっては店舗でも扱っているようです(2019年9月27日現在)。

今後、Linked Dataに関連するイベントでの頒布や、次回の技術書典にも参加できるようにまた申し込みしたいと思っていますので、もし見かけたら、是非お手にとって見ていただければと思います。