開発している Web アプリ
趣味でコンサートホールで開催されるコンサートの検索アプリを個人開発をしています。
クラシック音楽業界の抱える課題
趣味でクラシックのコンサートをよく聞きに行っているのですが、コンサートを探すときに毎回不満を感じています。
知りたい情報が手に入らなかったり、探すのに手間がかかっています。
コンサート探しの不便さ
本を探すなら Amazon がある
突然ですが、本を探すときどうやって探していますか?
僕の場合はとりあえず Amazon を見ます。
漫画を探すときも技術書を探すときも、とりあえず Amazon さえ見えおけばほとんどあらゆる本が掲載されています。
最新の本や中古の本はもちろん、海外の本や個人の出版する本すら Amazon なら載っています。
しかも詳細検索がこれまた便利で、ジャンルや著者を指定することができます。
参考までに Amazon の本・コミック・雑誌の詳細検索の画面のキャプチャはこちらになります。
Amazon がない時代の本探しをどうやっていたのか、想像するのが難しいほどに現代の本探しは楽です。
Amazon の無い世界
もしも Amazon から本が一切なくなったらどうなるでしょうか(ついでに Rakuten books などのサイトからも)。
おそらく次のような形で本を探すことになるのではないでしょうか。
- 本屋に足を運んで探す
- 本屋のホームページから探す
- 出版社のホームページから探す
- 本を出版している人から直接知る
これはだいぶめんどくさそうです。
ホームページをいろいろと渡りあるく場合はホームページごとの UI を使いこなさなければならず、いちいち慣れるのにストレスがかかります。中には使いにくい UI も存在することでしょう。
また個人が出版している本はごく一部の知り合いの本しか知ることができません。
クラシック音楽業界の Amazon は存在しない
クラシック音楽業界でコンサートを探そうとすると、Amazon が存在しない世界で本を探すのと似た感じになります。
- コンサート会場に足を運んでチラシをもらう
- 演奏者(個人 or オーケストラなどの団体も含む)のホームページから探す
- コンサート会場のホームページから探す
- 演奏家と SNS 等で通じてコンサートを知る
もちろん大手チケットサイトでは有名なコンサートは掲載されていますし、コンサートを登録・検索できるサイトは世の中に存在しています。
しかしどれも網羅性が低く、検索性能もかゆいところに手が届かない印象です。
主観が入っていますが、ざっくりまとめるなら次の図のような感じです。
いちクラシック音楽ファンとしてはコンサートの網羅性と検索機能でそれぞれ次のようなものが理想的です。
- コンサートの網羅性
- 有名なコンサートからサロンや小ホールで開催されるようなコンサートまで掲載されている
- オンラインでのコンサートも掲載されている
- 検索機能
- リスト表示と地図が切り替えられる
- 演奏者、プログラム、日付で詳細検索できる
課題の解決策
上記のような検索のしにくさは、いち業界として大きな問題だと思っています。
ショパン国際ピアノコンクールで2位に入賞した反田恭平さんや、ピアニストかつ YOUTUBER として活躍されている角野隼人さんなど、活躍する若い人がたくさん出てきている一方で、業界としてのプラットフォームが貧弱ではコンサートを聞きに来てくれる人も増えないのではないかと考えています。
クラシック音楽業界そのものが好きな人間としてはこのまま廃れていってしまう可能性があるのを見過ごすわけにも行きません。
ないなら自分で作ればいい
前置きが長くなりましたが、それなら自分でコンサートの検索サイトを作ればいいということで開発をはじめました。
冒頭にも貼りましたがコンサートマップという Web アプリです。
まだまだバグが多く、掲載されている件数も全然すくないのですが、まずは自分自身が使う上で理想的な検索サイトを目指して開発していこうと思います。
Qiita ではこのアプリの開発記事をゆるく投稿して開発ブログのようにしていこうと思います。
2022年9月現在搭載されている機能
このアプリは GCP を使って実装されています。GCP は細かい設定をしなくても Google がよしなにしてくれるところが好きです。ときどき知らないうちにリソースが作られて料金が発生しているとなんともいえない気持ちになりますが。
現在使っている GCP のサービスは次のとおりです。
- App engine
- Cloud SQL
- Cloud Storage
- Cloud Scheduler
- Cloud Pub/Sub
- Cloud Functions
- Cloud Logging
- Natural Language
- Monitoring
- Cloud Build
アーキテクチャ図もそのうち書きたいです。
フロントエンド
検索結果の表示
- リスト表示
- マップ表示
バックエンド
スクレイピング
有名なコンサートを各オーケストラの Web サイトやコンサートホールの Web サイトから取得してくる機能
GCP の Functions を使ってスクレイピングする機能を実装する話を執筆予定
Natural Language を用いたスクレイピングの改善 準備編
開発予定
- 登録ユーザーがコンサートを登録する機能