in android

ツイッターするやつβの話

 自分が、初めてTwitterを使ったのは大学に入って、電話でもメールでも連絡の取れない友達と連絡を取るためでした。その後StSでふぁぼの殴り合いを勉強してストリーミングの存在をしりました。そこから、何を思ったのかツイッタークライアントを作り始めました。多分StSが自分には合わなかったのだと思います。そんな感じでツイッターするやつβを作り始めました。作り始めは、「ツイッターするやつβ」なんて名前すら考えていませんでした。

 androidアプリを作り始めてまだ右も左も分からないまま必死こいて作り始めたアプリでした。そもそもjavaの仕様やら仕組みやら全く理解していない頃に作り始めたものです。始めた頃はextendsはおまじない。classもおまじない。interfaceなにそれ要らなくね?とそんな感じでした。androidアプリのサイトを色々見て回ってソースコードをオマージュ(笑)してよくわからんけど「なるほど」と頷いて書いていました。

そして出来たのがツイッターするやつβの原型です。まずは研究室の同期にツイッタークライアントを作る話はしていたので見せると、わりと自分にとっては高評価を頂きました。しかし、ほぼ連絡ツールとしての使い方をしていたので、自分はそれほどTwitterの機能も理解していません。そこで同期にいろいろアドバイスを貰ってツイッターするやつβが出来上がっていきました。

そして完成して公開することになりました。公開するには名前を決めなければいけません。「~ッター」「~ツイ」的な名前を色々考えた気がします。いろいろな商品の名前を見て、どんな名前の付け方があるのか研究しだしたくらいです。そこで見てしまったのが、某製薬会社の商品名でした。商品名がそのまんまなんです。「これだ!悩む必要がないじゃないか!」と思ってしまいました。そして決まってしまったのが「ツイッターするやつ」です。でまだ発展の余地があったのでとりあえずβ版ってことでと「ツイッターするやつβ」となったわけです。

公開したばかりの頃は、リストなんてありません。DMもありませんでした。作る予定でタブとタブに対応するページだけ作って「まだないよ」なんて表示をしていました。そこから利用してくれる人がだんだん増えていき、要望やらが改善点、未実装の部分を実装して今のツイッターするやつβになっていきました。

そんな時ヤツがきたのです。API1.1です。ツイッターするやつβはAPI1.1に合わせた作りにするには辛い作りになっていました。更にまだjavaの知識がそれほどない頃の設計で拡張性の無さが目につくようになっていきました。今見返すとウンコードです。またツイッターするやつβの開発初期はandroid2.3がメインでしたがandroid4.xの端末の普及もありandroidのバージョンに合った処理の追加も必要になって行きました。これらを直すには大改修過ぎました。

そこでツイッターするやつβはとりあえず動く程度に維持することにし、ツイッターするやつαを作り始めました。そんでなんやかんやあって、ツイッターするやつαは星になりました。
でツイやつγの開発が始まりました。ツイやつγは今までツイッターするやつβで実装出来なかったなんやかんやを実装して拡張性を持たせられるように設計しました。まだまだ足りない部分もありますが、いい感じに動きます。こうなるとandroid2.3の化石に対応する余力がなくなってきました。ということでツイッターするやつβの終了となりました。

ツイッターするやつβの作って、Twitterの仕様もわかるようになり、どのAPIを使えばいいかわかるようになりました。
ツイッターするやつβの作って、javaでも、右も左もわからない状態から右くらいわかるようになれました。
ツイッターするやつβの作って、androidアプリもそれなりに作れるようになりました。
ツイッターするやつβを作っていなければOauthなんて知ってすらいなかったかもしれません。
ツイッターするやつβを作っていなければUIの見せ方、操作性なんて意識して考えなかったでしょう。

ツイッターするやつβで様々なものが得られました。ツイッターするやつβを使ってくれたユーザにも感謝です。これからはツイッターするやつβで得られたものをツイやつγに還元できればと考えています。これからもツイやつシリーズをよろしくお願いします。

最後に、ツイッタークライアントは奥が深くて面白いです。
androidアプリを作りたければ是非ツイッタークライアントを作ってみてください。
自分に合ったツイッタークライアントがなければ是非作ってみてください。
なんかとりあえずツイッタークライアントを作ってみてください。

どこで通信を発生させれば待機時間が少なく感じさせられるのか、などUIと処理の兼ね合いを色々考えるハメになると思います。
こっちの端末で動くのに、あっちの端末では動かないなんてのにもハマると思います。
でも何かしら得られると思います。


Related Posts

Add a Comment

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

*
To prove you're a person (not a spam script), type the security word shown in the picture. Click on the picture to hear an audio file of the word.
Anti-spam image