短歌投稿サイトUtakataをリリースしました

短歌投稿サイトUtakataをリリースした。短歌を作られる方はぜひアカウント登録して使ってみてほしい。

開発の背景 -Utakataのコンセプト-

昨年の12月に無職になった私がプログラミングの職業訓練も兼ねてRailsで開発したサイト。Webサービスを作るのはこれが初めてだったけれど、最低限ストレスなく使っていただけるレベルのクオリティでリリースまで漕ぎつけられて嬉しい。

既存の短歌投稿サイト

[うたのわ]和歌(短歌)の投稿、共有サービス

短歌投稿サイトは既に「うたのわ」、「うたよみん」という2つのメジャーな先行サイトがあり、特にうたよみんは完成度が高く、アクティブに投稿しているユーザーも非常に多いサービスだ。これらの先行サイトに敬意を表する意味もあり、サービス名は「うた」から始まるUtakata(意味としては泡、『方丈記』の「よどみに浮ぶうたかたは、かつ消えかつ結びて、久しくとどまりたるためしなし」的なイメージ)としている。

恐らくプロが作ったであろうこれらのサイトに対して、プログラミング初心者の私が差別化できる要素は何か、正直何もないのではと当初は思っていたけれど、作っていくうちに次の2点が強みとして見えて来た。

  1. CSSでの縦書き表示
  2. コアな短歌ファンのニーズの汲み取り

CSSでの縦書き表示

短歌と言えば縦書きだけれど、UtakataではCSSによる縦書き表示を採用している。先行サイトでは画像による縦書き表示を採用しているので、シンプルにテキストで縦書きを表現できることは強みになると思った。

コアな短歌ファンのニーズの汲み取り

先行サイトには技術的に凝った機能も多く採用されているけれど、コアな短歌ファンのニーズと若干ズレていると感じるところもある。

その点私は人生の一時期、人間存在のすべてを短歌に賭けていたことのある人間だ(大学のサークルで喧嘩して短歌界隈を追放された痛々しい過去があるのだが…)。その経験を活かして、歌人が短歌の表現に本当に必要としている機能に絞ったシンプルなサイトの実現を目指した(技術力が足りなくて高度な機能を実装できなかったとも言えるが…)。

夢を実現するフレームワークとしてのRails

自作の短歌投稿サイトを作ることは、「いつかできたらいいなあ」という私のちょっとした夢だった。しかし、Webサービスをリリースするために学ばなければいけない技術の幅は広く、死ぬまでにできるのかどうか怪しく感じているほどだった。

Ruby on Rails は、極少人数(理想は一人) がサービス開発するのに理想的なフレームワークであり、それを目指し続けていると考えている。Ruby on Rails の敷かれたレールに乗ることで、一気に目的地に到達することができる。

しかしRailsは夢の実現に向かう最短距離のレールを敷いてくれた。最初は難しかったけれど、MVCモデルを構成する各ファイルが何をしているか理解できたらどんどん自分で色々とカスタマイズするプログラミングの楽しさを味わうことができた。高度な機能がすぐに手に入る各種gemの存在も初心者には非常に助かる。

Googleで調べると、日本語の情報がたくさん出て来るのもRailsのありがたい点だ。大体のことはググれば解決した。

Rubyプログラミング入門

Rubyプログラミング入門

私の知る限り、Ruby ほど「楽しさ」について焦点を当てている言語は他にありません。Ruby は純粋に楽しみのために設計され、言語を作る人、使う人、学ぶ人すべてが楽しめることを目的としています。

どうしてそんなに Love Ruby ?

RubyRuby たる所以は「書くのが楽しい」ところなのである。 これはめちゃくちゃ重要なことだからもう一度書こう。

Ruby は書くのが楽しいプログラム言語なのだ!

Rubyの簡潔な文法も欲しい処理をすぐに書けるという点で素晴らしい。中級者以上になるとRubyは型が貧弱とか色々とあるみたいだけれど、今回の開発ではRubyのコンセプトである「楽しさ」を存分に実感することができた。

RubyとかRails周りの記事やブコメを読むと「オワコン」的なことが書かれていることが多くて、今後業務未経験から開発者としての就職を目指す私としては不安も大きいのだけれど、今の段階ではただただ先人の作った素晴らしい仕組みに涙しつつ感謝したい気持ちだ。

謝辞

サービスをリリースする前に、Twitterで呼びかけて10名程度の方にテストを手伝って貰った。挙げていただいた各種不具合の指摘や要望のお蔭で大幅にサービスのクオリティが向上したことを感謝したい。丹さんにはルビ入力を補完するJavaScriptをプルリクエストして貰えて驚いた。