Tweet Masterをリリースしました
どーも、暇なときにTwitterアプリをリリースしがちなTeccoです。
Tweet Masterというマスターになれそうな感じで作りました。ウソです。
空き時間に作ってたので、3週間くらいかかってしまいましたが、集中してやれば3,4日くらいで作れた分量です。久しぶりにアプリ出したのでこだわった点について少しだけメモしておきます。
一応、以前つくったTwitterアプリも紹介しておくと。
Quitter
なぜかよくわからない国でいっぱい使われていて、2時間でつくったアプリなんですが、7万人くらいに使われてるみたいです、ウケますね
Direct Messenger
これ途中1年半くらい全く動かないまま放置するというとても申し訳ないことをしてたのに13万DLくらいされてて、Twitter DMで検索するとなぜか1位みたいです、DMのAPIの仕様がアレなので全然満足しておりませんが、ウケますね
という前段は置いといて、今回つくったアプリ見ていきましょう。
コンセプト
`僕が普段使いできるTwitterクライアントアプリ`
`もう少し言うと、短い時間で一覧性が高く、より多くの情報をインプットできる`を目指しました。
Twitterも今となっては巨大なアプリなので、僕の使わない機能がけっこうあります。僕の場合
- リスト機能
- ニュース機能
- ブックマーク機能
- モーメント機能
あたり、ほぼ全く使わないので、使わない機能で画面を専有されると効率や一覧性が落ちてしまうので良くないです。なので、それらの機能は全て削除してます。
あ、それでいうと最近リリースされたFleetも使わない人には邪魔なのかもですね。僕は今後使うかは謎なのでノーコメントですが、邪魔だと思う人はDLしてみてもいいですよ。
残ったメイン機能は、タイムライン・プロフィール・いいね一覧くらいなものです。これで僕の要望の95%くらい満たせます。
[デザイン]
デザイナーではないので、細かいことは突っ込まないでほしいですが、方針は`必要のないものを削る & 必要なものは強調する` という方針で作りました。
UsernameとScreenNameを削る
こちらを公式Twitterと見比べたらわかりますが、全てのリストアイテムで1行を使っているのでけっこう画面を専有しちゃってます。
自分の場合、メインのタイムラインを見ることがほぼほぼなので、9割くらい(RTでフォローしていない人が表示される場合以外)は用が足ります。
ので、削っちゃいました。削ってみると、意外とプロフィール画像のみで誰かを普段判断していることに気づき、自分は違和感なく使えました。問題ないです。
逆にリプライとハッシュタグは別枠にする
これは画面占有率は増えるので悩んだんですが、リプライかハッシュタグ経由のツイートなのかを一目で分別できる方が、一覧性を減らす分、脳の処理速度的には速くなるので、実質インプット量を増やす・速度を速めるという目的ではそちらのほうが良いかなと思い、そうしました。
CardViewにする
これも公式Twitterのように、画面をなるべく広く使うためには使わないほうが良いのですが、カワイイし、自分が好みだし、あとは公式と見分けが簡単につくようにCardViewにしました。
悩んでやらなかったこと
・リプライ・リツイート・いいねボタンを削るか否か
これも正直自分はあまり多くするアクションではないので、メニューアイコンにまとめてしまって一行削ってしまってもいいかな?と思ったのですが、それぞれのCountはそのツイートの質を見るための判断材料に使っていることに気づいたので残しました。
[機能]
正直、`デザインだけは好みのものを使う`というTwitterアプリだったらこれで終わりなのですが、`普段使いできる`ようにするための機能をいくつかつけました。
パフォーマンス向上
ツイートの表示で、もちろんTwitter API経由の結果を表示していますが、メモリに代入しての使い回し、Preferenceへの保存で以前の結果の使い回し、RecyclerViewのパフォーマンス向上や、画像のキャッシュ周りなど、普段個人アプリでは面倒でやらない部分もやりました。
ギガ節約機能
これはただ一つ僕には必要のない機能だったのですが、ギガが足りなくてTwitterができない若い子たちを救えたらいいかなと思ってノリでつけました。
画像がなくなることで、一応頑張って計測してみたところ87%くらい通信量節約できる感じがしたので、速度制限かかったときようの緊急用として使ってもいいかなと。あと通信遅すぎる僻地とか行ったとき用に。
まぁ、こんな感じで全然読めるっちゃ読めます
やろうとしたけどできなかったこと
- 画像アップロード
なんかできなかった。画像送ってもSuccessもFailも返ってこなくてよくわからなかった。Stringを送りつけてやるとちゃんとFail返ってくるのになんでだろ、誰か助けて。ハマったので諦めた。
- 動画閲覧
面倒くさかった。暇があったらやるかもしれない。でもサクサク見れなくなるの嫌だから、いろいろ考えると重い腰が上がらない。のでやらないかも。
- 通知機能
今のところ通知のとこにメンション一覧をのせてるんだけど、通知をとるAPIがぱっと見、そもそも提供されてない気がするので、やろうとしてもできないかもしれない。しらんけど。
- その他
今回思ったのは、しっかりTwitterクライアントアプリを作ろうと思うと、Twitter APIが提供されていなくて実装できないところや、Limit(アクセス回数制限)がきつすぎて実質使い物にならない、みたいなものがあり、けっこうツライ。がんばろう。
Twitter APIに詳しくて、こうすればできるよーって人がいたらぜひおしえてください。
気になったらDLしてみてくださいませ。では。
この記事が気に入ったらサポートをしてみませんか?