pocali5周年ありがとうございます!

TUNE STREETでポップンカード排出が始まって以来、
勢いで作ったpocaliが気づいたら5周年となってました。

現状の情報を見てみると、
登録されているリスト…5000リスト以上
登録されているカード…250万枚以上(!!)
と、たくさんの方につかっていただいてありがたい限りです。

今回、#音ゲーマー達の発信所に合わせまして、簡単に今までを振り返りたいと思います。
少し技術的な話寄りで、他の方の記事と毛色が違いますが、温かい気持ちでご覧ください。
本当は5周年ちょうどの2015/12/23に公開予定でしたが大遅刻してしまいごめんなさい。。

pocaliの更新情報はトップページに記載しているのですが、
それとは別に大きな区切りがありました。

バージョン1:「pop'n card memoの公開」(2010/12)

ポップンカードが公開されて間もなく、たくさんのカードを引いたり、フォロワーさんとトレードをしたりしていたのですが、 人にカードの所持状況を説明するのがめんどくさくなり、オンラインで公開できたら便利だなぁと思ったのが開発開始のきっかけでした。

本来は自分とその周囲の方やりとりに使えればと思っていたのですが、初期から問い合わせをたくさんいただき、すぐに誰でも使えるような形になりました。

バージョン2:ドメイン取得と正式サイト名の決定(2011/01)

勢いでサイトを作り始めたのですが、URLが微妙だったのでドメイン取得をすることに。
周りからは「ポカリ」と呼ばれ始めたのをきっかけに、「poca.li」というドメインを取得、
サイト名も「pocali」とした上で本格始動をしました。
公開から半月、この頃には類似のカード管理サイトも出現するなど、ポップンカードのトレードがとても賑やかになっていきました。

ここまでの流れが、twitterに残っていたのでまとめてみました

pocaliが出来るまで - Togetterまとめ http://togetter.com/li/921487

バージョン3:デザインリニューアル(2011/07)

実はバージョン2まで真っ白の背景と最低限のテーブルでリストを表示していて、
デザインもかなりあっさりしたものとなっていました。
※ちなみに現在も設定変更で「シンプルモード」にすると当時に少し近い感じになりますw

「このままではさすがに…」ということでソースコードも含め、0から作りなおして今の形になりました。
ユーザーが個人個人のリストを持てるということでリストに個性をつけたく、「プロフィール背景」と「スキン」の組み合わせで、 好きなデザインのリストを作れるようにしました。
といっても、自分自身はイラスト作成はあまり得意ではなかったため、イラスト提供という形でたくさんの方から今でも随時いただいております。
現在、プロフィール背景は130種類、スキンは29種類と豊富になり、数千通りの組み合わせでリストが作れる形を提供できているのはとてもありがたいなあと思っています。

バージョン4:サーバー引越し(2013/03)

目に見える形のリニューアルはここまでなのですが、ユーザーが増えるにつれカードの登録処理で高負荷になり、まさかの503エラーの連発となってしまったので、 高負荷に耐えうるサーバーへの引っ越しをしました。
pocaliはphpとMySQLの組み合わせで作られていますが、データベースの大きな引越しは未経験だったので、どきどきしながら移転したのを今でも覚えています。

バージョン5:テーブルの分解(2015/12)

と、ここまでの話を記事にするつもりでしたが、エクラルの新弾がまさかの12/24公開ということで、カード追加のための作業をいつもどおり実施していた矢先のこと…

とてもお恥ずかしい話なのですが、データベースの知識が薄すぎる結果、従来のpocaliは過去全てのカードの枚数情報と「欲しい」「交換OK」のステータス表示はなんと1つのテーブルでやりくりしてました。。
結果、そのテーブルのカラム(列)がエクラル追加のタイミングでなんと2400列という膨大な数となり、列追加の際にとうとう「#1117 Too many columns」とエラーが出てしまいました。。

つまりカードの枠はこれ以上増やせない=今の仕組みだとエクラルのカードが登録出来ない、という非常事態になってしまいました。 前からphpMyAdminが膨大な列処理のために悲鳴をあげていたので嫌な予感はしていたのですが、いよいよこの時がきてしまったので、急いで検索しながら勉強&修正を一晩かけて行うことに。

少しでもデータベースの勉強をされている方でしたらご存知の通り、「INNER JOIN」などを使えばわざわざ1つのテーブルをやりくりしなくても、複数のテーブルを合体することで今まで通りの事ができます。調べるにつれてpocali内での対応方法もわかってきたので、一旦メンテナンスでサービスを止めた上で、 過去のバージョンごとにテーブルを分けることで、無事エクラルのカードも登録できるようになりました。

pocaliのおすすめ機能

今まで書いた内容以外にも、少しずつ機能追加をしています。
この機会に、その中でもおすすめ機能を3つ紹介します。

・プチポカリ http://p.poca.li/
スマホ特化型のpocaliです。特にお店でカードを引いた直後に登録するときに便利な作りになっています。 いつかはネイティブアプリも作ってみたいです。

・コメント検索 http://poca.li/search.php
コメント欄に豊富に記載しているユーザーが増えてきたのでつけてみた機能です。
あまりにも長いコメントは推奨出来ないのですが、探している人が見つけやすいコメントをつけるのも手かもしれません。

・フリーワード登録 http://poca.li/edit.php (ログイン限定です)
目立ちにくい位置ですが、音ゲーグッズなどフリーワードで登録できる機能もつけています。
なお、サントラ特典カードなどでまだ載せていない分は近日中に通常リストに追加予定です。

まとめ

ほぼ思い出話&サイト紹介という感じになってしまいましたが、音ゲー関連ツールを作るのはとても楽しいですし、ぜひツール開発に興味を持った方はこの機会に挑戦していただけたら幸いです。
自分もスコアツールなど他のサイトさんの便利なツールを利用していると技術的にも勉強になる部分がたくさんあり、pocaliも更に進化をさせたいなと感じます。
pocaliもイラスト提供部分以外は一人で作っているため、そろそろ万が一を考えて共同開発者を招いたりGitHubに公開したり出来ればと思っています。

ということで、引き続きご利用いただけたら嬉しいです。

pocali管理人 sitta*しょこら