https://github.com/wms784/photo_search
This app can display comic image from twitter.
https://github.com/wms784/photo_search
kotlin-android native-apps twitter-api
Last synced: about 1 year ago
JSON representation
This app can display comic image from twitter.
- Host: GitHub
- URL: https://github.com/wms784/photo_search
- Owner: WMs784
- Created: 2022-05-06T00:44:32.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2022-06-09T01:28:02.000Z (about 4 years ago)
- Last Synced: 2025-01-19T06:26:46.575Z (over 1 year ago)
- Topics: kotlin-android, native-apps, twitter-api
- Language: Kotlin
- Homepage:
- Size: 1.73 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Comic from Tweets
## 課題設定
かなりの数の人がTwitterで漫画を投稿したり,読んだりしている.
しかし,漫画を読みたいときに,普通のツイートばかりで漫画が全然見つからないことがある.
方法としては,
- 画像ツイートのなかで漫画の投稿にありそうな単語で検索する
- 漫画を投稿する人だけのリストを作り,リスト内のツイートをみる
というものが考えられるが,どちらも個人でやるには少し手間がかかるので,
ツイートから漫画のみを抽出するということがサービスとして成立するのではないかと考えた.
## 概要

1. Twitterの`tweets/search/recent`apiを用いて,キーワードに合わせて最近のツイートの中から漫画だと思われるものを抽出する.
2. ユーザは検索窓に読みたい漫画のキーワードを入れ,検索する.
3. 検索条件は`"入力テキスト" 漫画 話`と設定した.
4. 取得したデータの中の一つ目のツイートのデータを画面に表示
## 設計
- UI
ツイートを閲覧する時と違い,漫画を読むときは画像がメインなので,画像が大きく表示されるように設計した.
UIはInstagramを参考にした.ユーザに写真閲覧アプリとして最も用いられているのはInstagramであり,
同じようなUIにすることによって,ユーザが操作に戸惑うことが少なく便利であると考えたからだ.
検索バーについても親しみやすい角丸にすることによってユーザビリティーを向上させた.
また言語設定も英語と日本語に対応させ,ユーザの設定に基づいて切り替え可能とした.
- テーマ
アプリのテーマカラーは水色として,Twitterのカラーコードを用い,Twitterを用いたサービスであること
が感じ取れるようにした.
サブカラーとしてはTwitterと同じく白色,そしてアクセントカラーに落ち着いた暗い青を用いた.
ダークテーマも,背景が黒,文字色を白としそれ以外はメインテーマと同じである.
- アイコン

アイコンには,やはりテーマカラーとして青を用いて,Twitterのアイコンの鳥の羽の部分と,
開かれた本のイメージを重ねた.
## 難所
- 題材選び
「写真投稿サービスのAPIを利用したサービス」という課題で,そもそもあまり多くの種類のAPIを見つけることができなかったため
できることがかなり限られてしまい,これらのAPIを用いてどのような価値をユーザに提供できるか考えるのに苦労した.
- 複数画像の表示
Twitter APIの仕様上,検索結果としてのツイートの,ツイートのデータ,ユーザのデータ,画像のデータなどが別々のリストとして
返されるため,どの画像がどのツイートのものかを判定するのが少し難しかった.(もしかしたら仕様書の確認不足かもしれない)
実際には画像のurlを見比べて,同一ツイートの画像にはurlに共通部分があることを発見し,それを判定に用いた.
## 展望
- キーワードの最適化
現在の検索ワードは漫画を抽出するのに最適されているとは言い難く,実際漫画ではない画像が表示されてしまうこともある.
さまざまなキーワードを試すことによって,より性能を高めていけるのではないかと考えられる.
また,キーワード検索ではなく,リストを作成しそこからツイートを取得するという方法も,やや手間はかかるがより精度の高い抽出を
行うことができると考えられるため,今後試してみたい有力な候補である.
- 複数ツイートの表示
Twitter APIの仕様上,最大で100ツイートのデータまで検索結果として取得することができる.
しかし,今回は実装上の問題から1ツイートのデータの表示にとどめている.
将来的には100ツイートまで表示可能としたい.
- リツイートの場合の対応
漫画が掲載されているツイートは人気が出やすいためリツイートが多く,APIは最新のツイートから検索するものを用いているため,
当然漫画を描いた人がした元ツイートよりもそれをリツイートしたものの方が圧倒的に検索に引っかかりやすい.
その際,ツイート投稿者として表示するべきは元ツイートの投稿者であり,テキストも元ツイートのものを用いるべきだと考えた.
なぜなら,そのほうがユーザに馴染んでいるからである.Twitterでは,リツイートの場合リツイートした人の名前は左上に小さく表示されるだけで,
元ツイートの投稿者のプロフィール写真及び名前は元ツイートのままである.そのため,元ツイートの投稿者がわからなくなることはない.
ところが,APIによって返される投稿者の名前は,リツイートの場合リツイートした人となっている.
今回は実装の問題上そのままとしたが,本来は元ツイートの投稿者の情報を表示するべきである.