🖊️

俳句を管理するWebAppを作っている話 + 俳句とITについて

2020/12/23に公開
2

この記事は、個人開発 Advent Calendar 2020の24日目の記事です。

本記事では、筆者(@asazutaiga)の作っている俳句管理アプリ「季語別俳句帖」についてのご紹介とナレッジ共有、および俳句とITの2020年末における現状を考えたいと思います。

俳句管理アプリ「季語別俳句帖」

進捗状況

※この章は読み飛ばしてOKです。(進捗を開示することで自分の尻に火を点ける以外の意図はないので)

11月末ごろにデザインを初めて、12月頭くらいに実装を始めたので、そろそろ初期衝動が弱まってきてモチベ維持が難しくなっていきます。こういう風に記事を書いていくことで「このまま完成しないとやばいぞ」という感情を高めていきたいですね。

12月20日現在の開発ステータス

completed

  • ログイン画面
  • 新規登録画面
  • 季語一覧画面

in progress

  • 利用規約画面
  • 季語詳細画面

not started

  • 詳細設定画面
  • パスワード再設定関連の画面

以下、制作の発端になった出来事から、実際に現在まで進めている制作の過程に沿って、それぞれのフェーズでやっていること・考えていることなどをご紹介します。

制作のきっかけ

お仕事でSeleniumでのE2Eテストを導入したいなあと思い、Seleniumを触っていろいろやれることを模索している中で、現代俳句データベースの季語データのスクレイピングを試してみたところ、いい感じにデータが作れた……というのがことの始まりです。

https://github.com/AsazuTaiga/scraping-kigo

せっかく面白いデータが取れたので、「これ使って何か作りたいなー」と考え始めます。

当初はGraphQLサーバでも立てて自由に季語データを取得できるようにしたら面白いかな、等考えたのですが、特にスケールする未来が見えない(俳句を取得できるならまだしもそっちは著作権的に怪しい[1])のと、今後自分のやっていきたいフロントエンド領域と絡めて何かしたかったので、Webアプリを作ることにしました。ポートフォリオに乗せられるものが殆どない現状、ちょっと困りものなので。

どうせ作るのであれば、自分が実際に使うであろうもの、自分が抱えている季語周りの課題を解消するものを作りたい……ということで、コンセプトを練ります。

コンセプト

読者の多くの方は俳句に明るくないことと思われますから、まず課題のご説明です。

私の認識の範囲内だと、「俳句を管理するベストプラクティス」は、俳句の世界で意外な程共有されていません。

おそらく、まめな性格の人はExcelで管理しているし、昔からやっている人は俳句ノート的なものをしっかり保存しているのかな、といった感じです。個々人思い思いの方法で管理されていると思います。

あるいは、投句されて紙面に印刷されたものしか残っていない!(しかも所属雑誌のどの号にどの句が載っているのかわからない!)という人も大勢いらっしゃるだろうと推測されます。

自分自身、俳句を始めた当初はとにかくノートに書いていました。一時期はまめにExcel管理していましたが、一年ほど続けたところで「これはさすがにめんどくさい」ということになって、最終的にEvernoteへの集約に落ち着きました。日付をタイトルにして、その日作った俳句を書いていく……というスタイルです。

これでもよいと言えばよいのですが、「歳時記[2]とEvernoteの往復を減らしたい」「そもそも歳時記・句帳を持っていない時にも俳句を自由に書きたい」「過去の俳句を季語別に参照したい」等の要求が自分の中にあることに気づきました。

これを解消するために、「手元で季語を見ながら俳句が書けて、それがそのまま閲覧性の高い記録になる」という状況を生み出せるツールを作ることを決めました。

以上が大まかなコンセプトです。

デザイン

コンセプトが決まったら、次はUI・UXのデザインをしていきます。

  • 季語一覧画面から季語を選択→季語個別画面に遷移する
  • 季語個別画面で俳句の入力、過去の俳句の閲覧ができる

上記2つがシステムのコアになる要件です。これを実現しつつ、

  • 記録した俳句をCSV等でExportして移行できる

ことも必須です。

以上の想定でデザインを切り始めます。デザインツールにはFigmaを使用しました。

しばらく捏ねて、こんな感じのものが出来上がりました。

画面遷移

※一部省略している画面があります。

レスポンシブ・モバイルファーストのデザインを意識しており、基本的にはスマホ版のデザインのみしています。また、上記デザイン資料の位置づけは、「あくまでデザインカンプは仕様書ではなく想像図」 という緩い縛りにしました。(実装中にデザインを変えたくなった時に、いちいちFigmaを修正する時間が無駄なので)[3]

また、ロゴに関してはHatchfulというサービスを使用して作成しました。(日本語フォントが使えないらしく微妙に中華フォントですが、「これはこれでいい味してんな~」とか思ってしまったので、いまのところそのまま使っています…)

実装

Next.js+TypeScriptでフロントを作成し、Firebase Authentification, Realtime Databaseをバックエンドに使用しています。どれもこれも使うの初めてですが、インターネットさんのお陰で意外と困らずに進められています(今のところ)。

制作過程で、MarkdownをSSGしたい場面があったのですが、そちらについては下記の記事にまとめておりますので、ご興味ございましたらご参照ください。

Next.js + react-markdownでローカルのmarkdownをSSG

選定技術周りでのやらかしを一つ挙げると、最近のCSSの潮流に逆らってstyled jsxを使ってしまっているのは今一つだなと自分でも思います。Moduled CSSは前に一度触ったことがあって好感触だったので、こちらに乗り換えたいなと思いつつできていないです。結局やらなさそう……。


以上が現在制作中の「季語別俳句帖」のご紹介でした。

ここからは、(ほぼ個人開発と関係はなくなりますが)俳句とITの2020年末時点での状況について概観しておきたいと思います。

俳句とITの現状2020

でかいタイトルにしてすみません。あくまで自分の観測範囲内で語れることを語ります。

昨今はなんでもITと結びつく時代ですが、ゆったりしたスピード感ではあるものの、俳句にもその流れは確実にやってきています。

これには二軸があり、「俳句文化圏でこれまで存在してきたシステムが一部ITに置き換えられることで利便性が高まってきた」という側面と、「AIによる俳句というまったく新しい存在が登場したことにより俳句を作るという行為そのものの本質が問い直されている」という側面があると思います。

各種歳時記アプリ

歳時記は未だ紙がデフォルトで、電子書籍化されているものは少ないです。
また、日常的に使いやすいスマホアプリ形式の歳時記だと選択肢がかなり限られます。
以下はAndroidアプリのリンク。

どちらも2000円以上します。歳時記を一冊買うと考えればお得ではあるのですが、アプリ市場を考えるとかなり高価。
紙の歳時記を最初に買った初学者が追加で買うとなると結構高いハードルとも感じますね。
(このあたりに、無料で使える簡易的な季寄せアプリの需要を感じています)

また、長い歴史を持つテキストサイトの歳時記も存在します。

きごさい歳時記

個人的な参照頻度は高い方ですが、如何せんスマホだと若干みづらいので、ぜひスマホ対応してほしいです。

その他、実際の句会の場面では、電子書籍端末を持ち歩ている方が大勢いらっしゃいます。
歳時記アプリが初めからインストールされている場合もあり、古語辞書なども引きたい場面も俳句あるあるなので、未だ有力な選択肢になっているのだろうと思われます。(学生は高校時代から使っている電子辞書を継続して使っているケースが多そう)

俳句データベース

「季語別俳句帖」の実装にあたって季語データ取得元にしたのがこちらです。

現代俳句データベース

季語だけでなく、過去の秀句も収録されており、検索に特化しています。
収録方針は以下のような感じです。

1、この現代俳句データベースは佐々木敏光氏の「現代俳句抄」(収録句数約 5000 句)を基礎データとし、順次、現代俳句協会IT部で追加して」ゆくものです。

2、その、収録方針は、明治以降の広い意味での秀句、歴史的に価値のある俳句作品を網羅することを目指します。

3、当面、現代俳句協会受賞作品全句、現代俳句協会歴代会長作品、歴代俳句大賞作品、現・現代俳句協会役員作品、およびIT部員の推薦句などを収録してゆきます。
  第1期の収録目標は10万とし、俳句データベース最大の規模を目指します。

4、将来的には、江戸期の俳諧(発句)も収録する方針です。

誰もがオープンに過去の秀句にアクセスできることは素晴らしいので、今後も期待。

現状は上記ページから見るほかないので、より可用性の高い形もいろいろ考案できそうではありますが、基本的な用途としては検索→閲覧→原典にあたって引用、のような形になると思うのでこの形でもいいのかなと思います。

俳句AI

2018年7月13日、俳句AIが作った俳句と人の作った俳句を競わせるイベントが行われたのが記憶に新しいです。

AIが作った俳句を見分けられますか? 俳句対決・人類対AIの勝負の行方は

また、2019年7月にはAI俳句協会が設立され、ホームページが公開されています。日本全国の開発者が独自のAIで作り出した俳句が一覧形式で掲載されており、登録ユーザーはこれに四段階評価を付けることができます。
ランキング上位の句に関しては、AIが作ったとは思えない完成度で、非常に面白い試みだと思います。

AI俳句協会

AIが俳句を作るようになったことで、俳句実作者の意識にも少なからぬ揺らぎが生じると思いますし、これからの俳句がどう変わっていくか楽しみです。

オンライン句会

以前からメール句会は広くあるリモートでの句会の一形態でしたが、コロナ禍の影響もあり、Zoomで句会が行われることが多くなってきました。集まることが難しくなった現在、句会自体を休止するか、強硬開催するかの択一ではなく、第三の選択肢としてビデオ会議が広く普及したのは本当に大きな変化でした。

また、のらんぶるさん(@nolimbre)が個人製作されている「夏雲システム」も、句会の在り方に大きな変革をもたらしています。

夏雲システム

個人的にはこのサービスめちゃくちゃ愛用しています。現在、自分で立てた句会1つ、参加している句会1つです。

句会の新規開設にはのらんぶるさんの手作業が必要っぽいので、そこだけ若干心配しています……(なにかお手伝いできることあったらいいな)。

まとめ

この記事を書いたせいで数日間開発をサボっています。サボりながらでいいと思うので、ちゃんと完成までは持っていきましょう。

脚注
  1. もちろん、季語部分のデータに関しても著作権の確認は必要でしたので、運営者の現代俳句協会IT部にご連絡して、アプリへの使用許可を頂きました。自由に使えるという感じでもないと思うので、使いたい方は別途、現代俳句協会にお問い合わせ下さい。 ↩︎

  2. 歳時記=季語の辞書のことです! ↩︎

  3. 完全趣味開発なのでこういうことをやってしまっていますが、当然のことながらバッドプラクティスです。 ↩︎

Discussion

catnosecatnose

完全趣味開発なのでこういうことをやってしまっていますが、当然のことながらバッドプラクティスです

今まさに見ているこのサイトもバッドプラクティスで作られましたw
デザインカンプ、個人開発としては十分すぎるほどに良くできてると思います!

zuzu

うわー、ありがとうございます!
デザインはろくに勉強したことないので、デザインもフロントエンド開発もできるつよつよに近づけるよう勉強中です。。