読者です 読者をやめる 読者になる 読者になる

連載「JavaScript活用最前線」原稿執筆の舞台裏

プログラマ

こんにちは。kintone開発チームの天野です。好きな食べ物はエビフライです。
昨年4月から、技術評論社のWEB+DB PRESS誌で連載「JavaScript活用最前線」を執筆させて頂いています。まだ試行錯誤している点も多いのですが、原稿執筆の進め方についてまとめたいと思います。

WEB+DB PRESS Vol.73
WEB+DB PRESS Vol.73

執筆体制

現在の執筆者は自分(@ama_ch)と@teppeisの2名で、各回交互に執筆しています。
プラス編集の方が1名、アドバイザー1名の計4名です。

大まかな流れ

原稿が完成するまでの大まかな流れは、以下のようになります。

  • テーマ案検討MTG
    • 案決定
    • 執筆スケジュール決定
  • 構成案提出
  • ラフ提出
  • 原稿提出
  • 校正
  • 完成

全体を通して連絡や相談が多く、執筆者も一人ではないため、複数人での密なコミュニケーションが必要です。

コミュニケーション

基本的なコミュニケーションには、サイボウズLiveを利用しています。メールはほとんど使いません。
トピックごとに掲示板が立てられるので、話題が分散せず見通し良くまとめられます。

トピックごとに掲示板を作成
トピックごとに掲示板を作成

アンケート機能を使えば、面倒なミーティングの日程調整も簡単にできます。

アンケート機能を使ってミーティングの日程調整
アンケート機能を使ってミーティングの日程調整

日程が調整できたら、忘れないようにスケジュールに登録します。

日程が確定したらスケジュールに登録
日程が確定したらスケジュールに登録

締切はTODOで管理しておくと、一覧で確認したりカレンダー上で表示することもできます。

締切はTODOで管理
締切はTODOで管理

メールと違い、素早く気軽にコミュニケーションができるのは良いですね。

入院することになっても病院から迅速に連絡
入院することになっても病院から迅速に連絡

土下座もカジュアル
土下座もカジュアル

サイボウズLiveは最近同人活動にオススメされているようですが、執筆活動と似た部分が多く、色々と納得してしまいました。

原稿管理

原稿はMarkdownで記述し、管理にはBitbucketのGitリポジトリを利用しています。Bitbucketを選択した理由は、フリーでプライベートリポジトリが作成できるからです。

最初はサイボウズLiveの共有フォルダを使って管理していたのですが、

  • 差分をこまめにチェックしたい
  • 書きかけの原稿をローカルにコミットしたい
  • 図やサンプルコードなど関連するファイルが多い

といった理由からGitリポジトリを使おうという流れになりました。
以前はGitHubに比べて微妙な使用感でしたが、バージョンアップによりかなり改善されて、今では快適に使えています。

個人的に原稿管理にGitを使って良かったと思う点は以下です。

  • cloneすればどこでも書ける
  • 気軽にpushできて紛失の心配がない
  • コミットの粒度が調整できる
  • issueとコミットが紐付けられる(後述)

ブランチの運用については、編集の方(非エンジニア)も原稿を修正してpushするため、複雑なブランチ運用モデルは取っていません。

校正

原稿管理にBitbucketを使うようになったのとあわせて、校正作業もBitbucketのIssuesで行うようになりました。
修正箇所をissueとして登録し、執筆者が修正したら確認後クローズという流れになります。

issueとして管理すると、issueのチケット番号を使ってコミットと紐付けられるので、修正箇所が把握しやすくなりました。
また、各回でページ数の調整がよくあり、次のようなやり取りがたびたび発生します。

「今8.5ページ分あります。8ページに収まりますか?」
「○○を削除して8ページに収めました!」
「あ、9ページいけることになりました」
「削除した部分をリバートしてコラムを追記しました!」

このときに、「分量調整」のようなissueを登録してチケットを切っておくと、一旦削除したコミットをリバートしたり、再々調整が発生するケースにも柔軟に対応することができます。

原稿執筆ツール

僕が執筆時に使用しているツールは以下です。

Emacs

http://emacsformacosx.com/
宗教上の理由でEmacsを使っています。

Marked

http://markedapp.com/
Markdown形式のファイルををリアルタイムでプレビューするツールです。 Emacsで書いた原稿をプレビューするのに使っています。エディタ環境はEvernoteやMouなど色々試してみたんですが、手に馴染むいつものエディタ+リアルタイムプレビューが最強だという結論に至りました。

Pomodorable

http://www.eggscellentapp.com/
シャレオツなポモドーロタイマーです。調べ物をしていたつもりがマイホッテントリ巡回になっていたりと執筆には危険が伴うので、「とりあえず1ポモドーロだけ集中しよう」と自分を現実に引き戻すために使っています。
以前はMac App Storeからインストール可能でしたが、現在はできなくなっています。今はEggscellentと名前を変えて、Webページからベータ版を提供しているようです。見たところPomodorableと機能はほとんど変わっていません。

Divvy

http://mizage.com/divvy/
ウインドウをグリッド状にリサイズして並べることができるツールです。
EmacsとMarkedを並べて表示するのが主な用途ですが、前回の原稿と並べて比較したり、キャプチャ用のブラウザを良い感じにリサイズしたりと、かなり役立っています。

Skitch

http://evernote.com/intl/jp/skitch/
キャプチャ撮影用のツールです。必要な機能がひと通り揃っていて使いやすい定番のソフトですね。

Google Drive

https://drive.google.com/
図や表の作成には、Google Driveを使っています。
クライアントソフトが必要なく、簡単に共有できて、必要に応じてファイルとしてダウンロードすることもできるので、理想的なツールだと思います。

作業中のデスクトップ
作業中のデスクトップ

おわり

現在の執筆環境について紹介しました。普段あまりこういう話はしないので、機会があればぜひ他の方のお話も聞いてみたいです。
連載の方も引き続き頑張ります!