図書館はよく使うのですが、予約という作業がとにかく面倒でした。家族それぞれにカードがあるので、人数分ログインし直して、読ませたい本を検索して、受取館を選んで、確定する。これを毎週やるとなると、まとまった時間が要ります。
しかも本というのは、借りるのを一週飛ばすとそのまま二週、三週と空いてしまうんですよね。仕組みで回さないと続かないタイプの家事だと思って、自動化に手をつけました。
今は毎週、勝手に予約が入るようになっています。ただ、そこに至るまでにいくつも考えることがあったので、その話を書いておきます。
まず「何を借りるか」を決める必要がありました
自動化しようとして最初に気づいたのは、そもそも私が毎回「何を借りるか」で迷っていたということでした。ここが決まっていないと、自動化する対象がありません。
それで、読ませたい本のリストを上から順に進めていく形にしました。リストは公式に配布されているPDFがあったので、そこから機械的に書き出してもらいました。表になっていない資料から600冊以上を、タイトルと著者に分けて取り出すところは、正直私には手作業では無理でした。
私の分は、文学賞の受賞作と候補作、そしてその作家の他の本、という決め方にしました。自分で選ぶのをやめたら、かえって読む幅が広がった気がしています。
シリーズものが思ったより難しかった
つまずいたのがシリーズものでした。私はシリーズは巻の順に読ませたいと思っていたのですが、リストには1巻だけが載っていることが多いんです。
そこで、1巻を見つけたら全巻の並び順を調べて、そこから順に消化していく、という仕組みを足してもらいました。あわせて、シリーズばかりで週が埋まらないよう、週の枠の半分までという上限もつけました。
自分の中では当たり前だった「巻順に読ませたい」という感覚を、言葉にして条件として書き出す作業でした。自動化していると、こういう暗黙のこだわりが次々あぶり出されます。
いちばん大事だったのは、止める設計でした
人のアカウントで実際に予約を入れる仕組みなので、間違ったときの影響が大きいです。ここは最初にはっきり頼みました。
予約する直前まで進んで止まる練習モードを必ず作ること。練習モードのときは記録ファイルを一切書き換えないこと。同じ本を二度予約しないよう台帳を持つこと。上限を超えそうなら予約せず報告だけすること。そして、本番は私の確認を取ってから1冊だけ試すこと。
実際にこれが効きました。1冊だけの本番テストで、狙っていたのと違う本が予約されたんです。原因は、失敗した回の分まで「読み進めた」ことにしてしまう数え方のバグでした。全部いっぺんに動かしていたら、家族分の予約がずれたまま気づかなかったと思います。
自動化を頼むときは、動かす条件より先に、止める条件と試し方を決めておく。これは他のことにも使えそうな教訓でした。
取り消された予約が消えていく問題
運用を考えていて出てきたのが、取り置き期限を過ぎた本の扱いでした。取りに行けなかった本は予約が無効になりますが、こちらのリストの上では「もう読んだこと」になってしまいます。読んでいないのに飛ばされるわけです。
なので、毎回ログインしたときに予約状況を見て、無効になっているものは読んでいない扱いに戻し、次の順番に割り込ませるようにしました。
自分で予約していたときは、こういう取りこぼしにそもそも気づいていませんでした。仕組みにすると、抜けが見えるようになるのは思わぬ収穫でした。
いまは毎週、勝手に予約が入っています
週に一度動いて、家族それぞれのリストを順に進めてくれます。私がやることは、届いた本を取りに行くことと、読み終わったものの感想を伝えることくらいになりました。
やってみて意外だったのは、選ぶのをやめたほうが読む幅が広がったことです。自分で選んでいたときは、どうしても知っている作家や、子どもが好きそうな分野に寄っていました。リストの順に淡々と出てくるようになってからは、こちらが選ばなかったであろう本が家に届きます。
借りるかどうかを毎週考えなくてよくなったので、そもそも図書館から足が遠のかなくなりました。続かない家事は、たいてい判断の回数が多すぎるのだと思います。
同じことをやってみたい方へ
図書館に限らず、自分のアカウントで操作させる自動化を頼むときは、この形が安全だと思います。
市立図書館のサイトで、家族それぞれのアカウントに毎週決まった冊数を自動予約する
仕組みを作りたいです。次の条件でお願いします。
【選書】
・読ませたい本のリスト(CSVで用意します)を上から順に進めていく
・シリーズものは巻の順に読ませたいので、1巻を見つけたら
全巻を順番に並べたリストを作って、そこから消化する
・シリーズばかりにならないよう、週の枠のうちシリーズは半分までにする
【安全のために必ず入れてほしいこと】
・「予約する直前まで進んで止まる」練習モードを必ず作る
(練習モードでは、記録ファイルを一切書き換えないこと)
・誰にどの本を予約したかの台帳を持ち、同じ本を二度予約しない
・予約できる上限を超えそうなときは、予約せずに報告だけする
・図書館のサイトに負担をかけないよう、操作の間隔を数秒空ける
【最初にやること】
・いきなり全部動かさず、まず練習モードで最後まで通す
・本番は私の確認を取ってから、1冊だけ試す
作る前に、この進め方で危ないところがないか指摘してください。
最後の一文を入れておくと、こちらが見落としている危ないところを先に指摘してくれます。今回もこれで助かりました。
やってみて思ったこと
自動化しようとすると、自分がふだん何を考えて選んでいるかを、全部言葉にしないといけなくなります。
借りる本を選ぶ基準、巻の順にこだわる理由、読めなかったときにどうするか。これまで頭の中で毎回なんとなく処理していたことが、書き出してみると意外と多くて、そこがいちばん時間がかかりました。仕組みができる前に、自分の方針がはっきりしたのが、いちばんの収穫だった気がします。
