実際には、スマートフォンから直接オープンデータを公開するサーバーにアクセスするようなアプリを開発することは、運営側は想定していなかったようで、利用規約にもやんわりと直接アクセスするアプリはお断りのようなことが書いてありました。書いてあったのですが、それを知らずに作り始めました。(今から思うと冷や汗モノです。せっかく作ったアプリがガイドライン違反で応募できない、なんて事態になっていたらと思うと。。。 こういう文書はしっかりと目を通すべきですね)
開発者サイトには、フォーラムがあって、いろいろな開発者の人たちがいろいろな意見を運営側の人たちとやりとりしていました。
あるとき、「ガイドラインには直接アクセスするアプリは作らないでほしいといったことが書いてあるが、サーバー立てるのもホネだし、これはちょっと何とかして欲しい」と誰かが言いはじめ、「そうだそうだ」と周りの人たちも言い始め、運営側もそんなにいうのなら、といったような感じで、直接アクセスするアプリが解禁になりました。(その裏で、わたしは「え、ダメだったの!?」とビックリしていました。)
それとほぼ同時に、オープンデータを公開するシステムにガードタイムが導入されました。ガードタイムとは、あるアクセスと次のアクセスの間に一定の時間を置かなければいけない制限のことで、同じ端末から連続してアクセスが集中して、他のユーザーに迷惑をかけるのを防ぐ意味があります。
実はこのガードタイムの導入が、わたしにとってはそれなりに痛手でした。この頃には、オープンデータにアクセスして、ココメトロの原型のようなアプリが出来上がっていたのですが、連続してアクセスするような動作をしていたため、まったく動かなくなってしまったのです。
これが9月の終わりの頃の話です。9月の半ばから作り始め、9月の終わりにはそこそこ動くモノが出来ていたというわけですが、この初めの頃というのは開発をしている期間で一番楽しい頃で、どんどんアプリが充実してくる時期なのです。少なくともわたしにとっては。
初めてサーバーにアクセスして駅名を取得できた、時刻表を取得できた、じゃぁ次はこうしてみよう、ああしてみようというのが続き、時間を忘れて没頭してしまう。自分が考えて作ったカラクリが思い通りに動く、ちょっとエラくなったみたい、という単純な喜びを忘れられない。
プログラマというのは、多かれ少なかれ、そういう単純な動機で動いている人種と思います。
この先は、ドロドロした苦悶の日々が始まります。まず、このガードタイム問題に限りませんが、コードをたくさん書いて動きが複雑になってくるとバグ取りも一苦労になってきます。あっちこっちのコードを行き来して読んだり、デバッグプリントを埋め込んだり、バグにフォーカスしたコードを書いてみたり、と手がかかるようになってきます。
また、いつまでも、ああ動いたというヨロコビに浸っていることはできません。作ってみた機能を取捨選択して、応募するに足るアプリにまとめていかないといけません。ある機能をつけてみた、イマイチだった、作り直し、といったようなことが続きます。前回までクダクダと書いたようなことは、この期間にああだこうだといろいろと試してみて、考えた結果でもあります。
ようやく、これならなんとか、という出来栄えのアプリになり、締め切りまで2週間を残して、Appleへの審査申請を済ませます。これが11月の頭のことでした。
(iPhoneのアプリは、Apple社の審査に合格しないと公開できないのです。審査にはだいたい1週間ほどかかります)
バグを直して申請し直すか。だが、申請し直した後、もし別の問題でリジェクトされたら間に合わない。このバグは、Appleの審査でリジェクト(審査の結果、問題を指摘され差し戻される)される可能性が高い。仕方なく、審査のやり直しを決意します。どうか、すんなり審査が通りますように。