text2applink 開発について今感じていることと、ユーザさんへの感謝

photo credit: wnstn via photopin cc
photo credit: wnstn via photopin cc

iPhone のテキストエディタで、アプリを紹介するためのリンクタグを取得できる自作スクリプト text2applink を公開してから約2ヶ月になります。この間、iTunes の仕様変更など外的な問題への対処に追われ、ゆっくりと物事を振り返る時間を取れずにいました。状況が少し落ち着いてきたので、この辺でこれまでのことや自分が今感じていることを整理してみたいと思います。普段どんなことを思いながら text2applink の開発やメンテナンスをしているのかを、ちょっとでも知っていただけたら幸いです。

目次

  1. 出発点
  2. 公開
  3. 機能追加
  4. 外的問題
  5. 目標
  6. 謝意

出発点

text2applink を開発するきっかけになったのは、自分が普段使っているテキストエディタの中で、アプリのリンクを取得できたら便利だろうな、という単純な思いでした。プログラミングに関して何の素養もないのに、「作ってみたい」という憧れのような気持ちだけは一人前にあったのです。

偶然、テキストエディタにスクリプトを記述して HTML プレビューすると JavaScript を実行できることに気がつき、この仕組みを使えば実現できるかもしれないと期待を抱きました。画面上に “Hello World” と表示させるだけの簡単なコードから始め、JavaScript Tutorial などを参考にしながら1行1行、自分の頭で理解できたコードを追加していきました。

公開

夢中になってコードを書いていたのではっきりとした期間は覚えていないのですが、実際に text2applink を作り始めてから完成までに費やした期間は1週間前後だったと思います。

アプリのリンク取得に関してはすでに偉大なスクリプトが公開されていたこともあり、その仕組みを学ぶことで自分の理解が早まっていった面もあります。そうした先人の知恵には感謝してもしきれません。

text2applink を公開したのは7月29日。iPhone でブログを書く人はそれぞれに自分のスタイルを確立しているという背景もあるので、公開した時点では、自分のスクリプトを使ってくださる人が何人も現れるとまではとても予期できませんでした。海のものとも山のものとも知れぬ公開直後のスクリプトを実際に使って、フィードバックを寄せてくださったユーザさんに感謝の気持ちは尽きません。

機能追加

text2applink には8月2日にリンクの複数取得、8月9日に URL スキーム出力と、割と早い段階でいくつかの機能追加をしていきました。これらはいずれも自分自身が当初から実装したかった機能です。

最初は知識不足で実装が難しかった機能でも、JavaScript の使い方を勉強すればした分だけ、コードに反映させて実装できる。こんなプログラミングの楽しさ、面白さにのめり込んでいった時期でもあります。

外的問題

この頃までは、自分にとって text2applink は純粋にプログラミングの結果物でした。コードを正しく書けば、正しく機能する。それが当たり前だと思っていましたし、コードが機能するかどうかが外的な問題に左右されるというところまで、公開した時点では頭が回っていませんでした。

最初に訪れた問題は、iTunes アフィリエイトプログラムのパートナー変更です。提携先がリンクシェアから PHG に変更され、それに伴ってリンクタグの形式も変更されることになりました。

当然、text2applink の側も生成するリンクタグの形式を PHG に合わせて変更しなければなりません。幸い、パターンをつかみやすい変更内容だったためコードの修正はすぐにできました。とはいえ、スクリプトに関係する分野の最新情報に常に目配りすること、そして可能な限り迅速に対応することの必要性を自分に痛感させるには十分な出来事でした。

2つ目の問題は、iOS 7 の公開前後から続いている iTunes Search API の仕様変更。こちらはスクリプトの実行そのものにもろに影響してきました。当初から情報が少なく、スクリプトを実行する端末の通信環境によるものなのか、アプリの問題なのか、API に原因があるのかといった切り分け自体が難しい事例でした。

この時はありがたいことに、同じ現象にすでに対処された方の記事を目にすることができたおかげで、text2applink のコードも修正することができました。もしあの記事を見かけず、自分1人で対処しなければいけない状況が続いていたとしたら…と考えると、正直ぞっとします。

開発した時点では想定もしていなかったことが、現実として起きるということ。そして、時にそれは自分の知識や技術のレベルをはるかに超えた難問として現れてくること。text2applink を公開に向けて作っていたころの自分はまぎれもなく JavaScript の初心者だったわけですが、今やそれを公開している以上は、自分自身がもっと JavaScript について知っていなければならないと、あらためて感じています。

目標

今後の text2applink の方向性について、今思っていることを述べてみます。

まずは機能追加ですが、これに関しては率直に言って、何か目玉になるような構想があるわけではありません。

これまでの機能追加の過程で実感したのですが、ソースコードが長くなればなるほどスクリプトの実行速度に影響してしまいます。書き方の問題もあるのでしょうが、テスト環境では、ちょっとコードを追加しただけで極端に動作が重くなるようなケースもありました。

あくまでもアプリリンクの取得が本来の目的なので、実行速度と利便性の見合いを考慮しながら、ゆっくりと地道に研究していこうと考えています。

その代わりに、とりあえずは現状の機能のまま、コードの書き方を見直すことで実行速度を上げることに力を入れて取り組んでみたいと思っています。

ほかには、アップデートのたびにコードのコピぺをお願いしているのが現状なので、実装できるかどうかは別としても、ここをもっと簡略化できる仕組みを作れないかどうかも模索していきたいです。

それと、これまで text2applink に関するお知らせはブログ上で個別の記事として書いてきた結果、情報が分散してしまっているきらいがあるので、ドキュメント整備にも取り組めたらなあ、と思っています。

謝意

いざ書き始めてみたら、思いもよらぬ長文になってしまいました。最後にお伝えしたいのが、text2applink を使ってくださっているユーザさんへの感謝の気持ちです。

text2applink の開発を通じてつくづく実感したことは、プログラムには作った本人が思っても見なかったバグが潜んでいる、ということでした。もちろん、公開する前に自分で可能な限り検証はしています。使う人の指が iPhone の画面上をどのように動くか、どのタイミングでどのボタンを押すかといったことも、自分にできる範囲で想像しながら設計しています。

それでも、作り手が想像していなかった動きも実際に起き得ます。また、予想された動作であっても、それ以外の要因が絡んでスクリプトが情報の取得や表示をうまくできないこともあります。それらは作り手にとって、決して把握済みの問題でも、知っていて放置している問題でもなく、まだ気づいていない問題だったりします。

text2applink を公開してからこれまでの間には、機能や UI についての要望だけでなく、そうしたバグの報告も含めて多くのフィードバックをユーザさんから頂くことができました。

そうした時に、「急がないよ」とか「無理しないで」と一言添えてもらえたことにも、心を楽に保つ上で大変助けられました。本人としては当然早く直したいとは思うのですが、知識や技術、あるいは時間的な制約から、必ずしもすぐに改善できるわけではありません。そんな時には、口に出さなくても、作り手としてはやっぱり焦りや悔しさを感じていたりします。

text2applink のユーザさんはその点、ふがいない私を温かく見守ってくださる方ばかりで、そうしたお声がけをありがたく思っています。自分は本当に温かいユーザさんに恵まれているのだな、と。

そして「便利だね」とか「リンクの取得が楽になった」と言ってもらえることは、月並みな言い方になりますが作った本人としてはこの上ない喜びで、次の行動への原動力となっています。ブログで紹介してくださったり、自作のアイコンを付けて Mac でアプリみたいな使い方をしてくださったりということに、実の我が子を可愛がってもらっているようなうれしさを感じています。

今のところ、text2applink は広がりすぎるでもなく、かと言って誰からも顧みられないでもなく、ちょうど身の丈に合った感じで利用していただけています。引き続き、無理せずに開発・メンテナンスをしていきたいと思いますので、これからも text2applink をよろしくお願いいたします。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です