GithubHelp home page GithubHelp logo

photo_search's Introduction

Comic from Tweets

課題設定

かなりの数の人がTwitterで漫画を投稿したり,読んだりしている. しかし,漫画を読みたいときに,普通のツイートばかりで漫画が全然見つからないことがある. 方法としては,

  • 画像ツイートのなかで漫画の投稿にありそうな単語で検索する
  • 漫画を投稿する人だけのリストを作り,リスト内のツイートをみる
    というものが考えられるが,どちらも個人でやるには少し手間がかかるので, ツイートから漫画のみを抽出するということがサービスとして成立するのではないかと考えた.

概要


  1. Twitterのtweets/search/recentapiを用いて,キーワードに合わせて最近のツイートの中から漫画だと思われるものを抽出する.
  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によって返される投稿者の名前は,リツイートの場合リツイートした人となっている. 今回は実装の問題上そのままとしたが,本来は元ツイートの投稿者の情報を表示するべきである.

photo_search's People

Contributors

wms784 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.