feather for Android 開発担当の@numa08です。
Android 版の進捗管理は前回の記事に書いたように、バーンダウンチャートと Toggl による記録を行っています。
それでは、今回のイテレーションのバーンダウンチャートおよびTogglのレポートをもとに進捗報告を行います。
7/6 - 7/17 のイテレーション
できたこと
- タイムラインのスクロールに連動して、タブ及びアクションバーを隠す
- 認証済みアカウント一覧の表示
- ツイートボタンの表示
- ツイート画面の作成・投稿
- クラッシュが発生するバグの対応、Realm 向けの最適化
やろうと思ったのにできなかったこととその理由
- 検索機能、画像閲覧機能の実装
- 現在のうちに優先して修正をするべきパフォーマンス上の問題に先行着手したため
問題点と改善策
タイムラインのスクロールに連動してアクションバーやタブが消える振る舞いは、最近の Google 製アプリなどで実装されている機能なので、簡単だろうと踏んでいましたが Support Library に罠が多くてちょっと手こずりました。 1P で見積もって居たものが結局 3P 近くかかった計算ですね。この辺りのノウハウは後日Qiitaにまとめると思います。
また、Realm についても前回発覚した Realm の正しい利用方法に向けて修正をする必要があったりと。とは言えおかげで Realm の持つパフォーマンスをかなり引き出すことができたと思います。
そして、実は以前から気になっていたタブを移動した際の再描画で動作が重たくなる問題をさっさと直してしまおうと思いましたが、具体的にどこにどんな問題が潜んでいるのかを特定するのに時間がかかってしまってます。systrace
などのトレースツールを利用して、地味に当たりをつけては改変し再度ベンチマークして・・・という極めて地味な作業の繰り返し。
まあ、対応方法の候補はいくつかあるので次回のイテレーションで修正ができると思っています。
次回のイテレーション
7/20 - 7/31
いわゆる「引っ張り更新」と呼ばれるタイムラインの更新機能の実装がマストです。また、ツイート機能についても暫定的に実装したレベルと言えるので、正しく拡張性のある実装を行います。
そして、ベータテスターの皆様は月末にはベータ版配布があります。「feather 完成しました!」とは言えませんが、最低限利用可能な Twitter クライアントとして配布を行うことができるように頑張りますので、ベータテストにご協力をよろしくお願いいたします。