#006

Overview

ゆざ(@yuzajo_plan)です。

プログラミング初心者だったぼくは、このサービスをつくる以前はプログラミング入門書のコードを書き写したり、progateのレベルを上げたりしてプログラミングの勉強を楽しんでいました。

ですが、やはり実際に自分のアイディアをWebサービスに落とし込んでこそ、Webエンジニアの醍醐味ではないでしょうか!

ぼくはまだWeb系言語(HTML,CSS,JS,PHP)歴2ヶ月でですが、このサービスを開発してはじめて、本当の「プログラミングの楽しさ」に気づくことができました。それは、自分のアイディアを自分の手でカタチにできる面白さです。

ここでは、そんなぼくのWebサービス処女作「Tmeet」についてお話できたらと思っています。

「Tmeet」とは、twitter上で自分にあったユーザーを見つけることをサポートしてくれるWebサービスです。

あるとき、MIYABI Labをどうやったら、より多くの人に知ってもらえるのかと考え、twitterで普及活動を行っていました。

その際に、「そもそもtwitterで全く知らないユーザーから自分にあった人・自分がフォローしたい人を見つけるのは難しい」という課題に当たり、そんな不便さが少しでも解決できたらという思いでこのサービスが誕生しました。

Logo

Screen-Shot

Page

URL https://tmeet.space/
Report https://miyabi-lab.space/service/tmeet

Information

Create-Start 2018-04-25
Create-Finish 2018-06-29
Release 2018-06-29
Produce 湯座丞太郎 "ゆざ"
Web Design 湯座丞太郎 "ゆざ"
Logo Design --
Image Design --
HTML/CSS/JS 湯座丞太郎 "ゆざ"
PHP Programing 湯座丞太郎 "ゆざ"
Python Programing 湯座丞太郎 "ゆざ"
Supporter 加藤雅大 "みやび"

twitter × meet = Tmeet

名前の由来は、「twitter」と「meet」(Twitterでの出会い)を掛け合わした実に単純なものです(笑)

ここでは、その特徴と使い方を簡単にご紹介します。

Tmeetを使うと何ができるの?

上述した通り、Tmeetとはtwitter上で自分にあったユーザーを見つけることをサポートしてくれるWebサービスです。

具体的には、あるユーザーのフォロー(フォロワー)の一覧を、いいねを押す回数順やフォロワーの多い順などに並び替えることで、自分がフォローしたい人を見つけやすくすることができます。

さらに気になるユーザーを見つけたら、

  • 1日あたりのツイート頻度
  • 1ツイートあたりの平均いいね回数
  • 1ツイートあたりの平均RT回数
  • ツイートランキング

といったより詳細な情報をユーザーごとに見ることができます。

最後の「ツイートランキング」とは、直近で反響(いいね・RT)の大きかったツイートをランキング形式で見ることができます。

この機能を使うと、そのユーザーがどのようなツイートをしているかや、どれくらい発言力があるのかを知ることができます。

Tmeetでユーザーを探す方法

ユーザー探しはこのような流れで行います。

  1. あなたの一目置くユーザーのID名を入力する

  2. その人のフォロー・フォロワーのどちらかを選択する

  3. あなたの気になるソートを選択する(いいねを押す回数・フォロワー数)

  4. 上位表示されているユーザーをもっと詳しい情報を見ることでフォローするかを決める

これを上手く活用することで、twitterで全く知らないユーザーから自分にあった人を見つける不便さが、少しでもなくなるのではないかと願っています。

ぜひ一度使ってみて、ご自身でその便利さを体感していただければと思います。

Tmeetの活用法

このサービスの1番の目的は「自分にあったユーザー探し」ですが、ここでは他にもつかえる活用法について紹介します。

自分のアカウントを分析する

Tmeetでは、自分が他のユーザーと比べてどのような立ち位置なのかを数値で確認することもできます。

自分のID名を入力して、フォロー・フォロワーではなく、「本人」という選択肢を選んでください。この時、ソートは関係ないので特に選ぶ必要はありません。

これで自分がどのくらいの頻度でつぶやくのかという分析や、平均どのくらいいいねをもらえているのかという発信力など、普段あまり意識していないことを見える化することができます。

自分の発信力をあげたい人や自分のツイートを分析してみたい人たちはこれらの情報から自分のツイート分析をしてはいかがでしょうか。

ちなみに「本人」は自分自身でなくても使えるので、ピンポイントで気になるユーザーについても検索することができます。

フォローしている人を整理する

Tmeetを活用すれば、すでにTwitterをやめてしまっているユーザーや、極端にアクションが少ないユーザーを見つけることができるので、フォローの整理にも使えます。

例えば、自分のID名を入力して、「フォロー」を選択し、ソートは「いいねを押す回数」を選びます。

そして、1番後ろから見ていくと、いいねをあまり押さない人が見つかります

その中から、ツイート頻度が極端に少なかったりする人はアクションが非常に少ないことがわかります。

そのようなユーザーはTwitterをやめているか、あまりアクティブには活用していない可能性があるので、フォローの整理の対象になりやすいです。

戦略的いいねの使用

Tmeetの利点は全く知らないユーザーとも出会える点です。

つまり、誰が発言したということは関係なく、純粋に自分の良いと思ったツイートを見つけることができます。

そして、フォローせずともいいねを押すことで、いいねを押された側もあなたのことを認識する機会が増えます。

このようにして言わば戦略的に自分のことを知ってもらえます。

もし、もっといいねやRTをしてもらいたい、発信力を高めたいと考えている人はまずは自分からアクションしてみましょう

開発秘話: twitterAPIの制限との戦い

このサービスを開発するにあたって最も苦労した点は、twitterAPIの制限でした。

twitterAPIとはtwitterの機能を他のサービスでも使用できるようにオープンするインターフェイスです。

これを使うことでサービス内でtwitterのフォローを行なったり、いいねを押せたり、タイムラインの情報などを取ることができます。とても便利なツールですが、これには使用制限があります。

ここでは、ぼくが直面したtwitterAPIの制限との戦いの記録を記していきます(笑)

15分間に3000人の基本情報しか取得できない!?

twitterAPIでは、ある特定のフォロワーの基本情報を取得するfollowers/list(GETメソッド)は15分間にリクエスト回数が15回と決まっており、しかも、1回のリクエストに200人のユーザーしか取得することができません。

つまり、15分間に3000人の情報しか取得することができないのです。

これだとフォロワーが3000人以上いる人には対応できないし、3000人フォロワーがいるユーザーを検索すると15分間は次のユーザーを検索することができないのです。

これでは、いくら便利なAPIとは言っても使い物になりません。

この課題を解決したのは、使用するAPIの変更でした。

はじめに、followers/ids(GETメソッド)でフォロワーのID情報のみを取得します。(API制限は15分間に15回=1回に5000人取得可能)

その後、users/lookup(GETメソッド)を使い、指定したユーザーの情報を取得します。(API制限は15分間に900回=1回に100人取得可能)

これにより、15分間に取得できるユーザー情報はMAX75,000人となります。先程の方法と比べると取得できるユーザー数は25倍です。

解決案はシンプルですが、効果は絶大な方法でした。

300人の詳細情報を取得するのに5分もかかる!?

はじめは全員のタイムラインをすべて1回で取得しようとしていました。

しかしこれだと、APIの使用回数が増えてリクエストの長時間かかってしまい、結果として300人のフォロー情報を見るのに5分近く待たなければいけませんでした。

この課題を解決したのは、データ取得の細分化です。

一度に全部のデータを取得すると膨大な時間がかかってしまいますが、詳細データは後から気になるユーザーのみボタンを押すことで閲覧できるというカタチに変えることで圧倒的な時間短縮に成功しました。

ここにはAjaxを用いた非同期通信の技術を活用しました。

実際に使用する際は、一気にユーザーの詳細データを見ることはなく、1人ずつであるという点に気づくことができたのが大きな成果です。

1000人を超えるユーザー数を検索するには1分以上かかる!?

twitterAPIでは、現状1000人を超えるユーザー数を検索するのに1分ほど待たせてしまいます。

これはAPIを使う上のリクエスト速度の関係でどうしても超えることのできない壁となっていますので、申し訳ありませんが今は待っていただくしかありません。

しかし、より良いアイディアを見つけることができた場合、もっと時間を短縮することができるかもしれません。

はじめてのWebサービス開発で感じたのは「超楽しい」ということ

ぼくはプログラミングを始めてからまだ日が浅いですが、はじめてのWebサービス開発をさせていただいて感じたのは、やっぱりエンジニアは超楽しいということでした。

この1つのWebサービスを完成させるためには、HTML, CSS, JavaScript, PHP, Python, Webデザイン, twitter API, AWSとたくさんの技術が集結させる必要がありました。

新しいことをやり続けること、そして、自分のアイディアを自分の手でカタチにすること、プログラミングを書くこと、めちゃくちゃ楽しいと痛感しました。

「自分のアイディアを自分の手でカタチにすること」ができるのはエンジニアの特権なので、これからもどんどん新しく良いサービスを作っていきたいです。やっぱりエンジニアは超楽しい

リリース後のtwitterでの反響

今回、Tmeetをリリースした際にぼくのtwitterアカウントで告知させていただきました。

普段は平均いいね回数:23回/tweet、平均RT回数:3回/tweet(Tmeet調べ)でしたが、それらを遥かに超える反響を受けて3.5万回以上のインプレッション3000回以上のエンゲージメントを獲得することができました。

そして、なによりたくさんの方々に嬉しい応援メッセージを受けることができました!

 

 

 

 

本当に嬉しいお言葉を頂き、心からありがとうございます

ぼくのWebサービスをつくるにあたっても目標は「誰か1人でも喜んで使ってくれる良いサービスをつくる」ことです。

ぼくはこの嬉しいお言葉をもらうためにWebサービスをつくったと言っても過言じゃありません。本当にめちゃくちゃ嬉しかったです。

さらに、他にもぼくの拙いWebサービス第1号に優しくアドバイスを下さった方々もいました。

この課題は、開発中にhtmlでinputのvalueに値を入れていたため、ID入力していない時のエラーメッセージを入れることを忘れてしました。

このアドバイスを頂いた日にエラーメッセージを出すように改善させていただきました。ありがとうございます!

このエラーは致命的なもので教えていただき、本当にありがとうございました。

ぼくのiOSのバージョンが11だったのですが、iOSのバージョンがそれ以前はtwitterアプリ内のブラウザではJSのcomfirmやalertは効かないという課題点がありました。

この課題に対しては、このcomfirmを使わずにモーダルを使用することでcomfirmのポップアップが出てくるようになりました。

そしてそして、わざわざMIYABI Labのお問い合わせフォームの方にご意見を下さった方もいました。本当にありがとうございます。

改めて、多くの人に支えられていることを痛感しました。

これからもTmeetはみなさんのアドバイスを取り入れてどんどんバージョンアップしていくので、どうぞお楽しみに!

MIYABI Labで一緒に楽しく勉強しませんか?

MIYABI Labでは「仲間と楽しくプログラミングを勉強したい」と思っている人たちを応援します。

  • これからプログラミングを勉強始められる方
  • Progateやドットインストールで学んだことを活かしたい方
  • 自分の手で何かWebサービスを作ってみたい方
  • 今まさにオリジナルのサービスを開発中の方
  • Web開発の技術を手に入れてキャリアチェンジしたい方

僕自身もまだまだ勉強したいこと、勉強したい言語はたくさんあります。

新しいことに挑戦するたびに、いつも僕は初心者になります。だから、初心者の気持ちや独学の辛さもよくわかります。

もしご興味があれば、いつでも新宿三丁目のオフィスに遊びに来てください。

平日はオフィスの一部をプログラミング勉強用スペースとして終日解放し、知識の交流場にしていきたいと考えています。

休日も定期的に「MIYABI Lab もくもく会」を開催していく予定です。

ちょうどいい勉強仲間がここにいます。

ご連絡はお問い合わせフォームかTwitter(@miyabi_lab)にDMください!

>> MIYABI Labについて詳しくはこちら!

住所:東京都新宿区新宿5-3-8 3階

このサービスを作った人

学生Webエンジニア PLANインターン生 PHP Laravel Python HTML CSS JS

【名前】 "ゆざ"

【関連】 株式会社PLAN / MIYABI Lab / Tmeet(twitterユーザーマッチングサービス) /

【MIYABI Lab運営】23歳/同期がト◯タやMicr◯softに就職する中、ベンチャーに未経験でWebエンジニアになるのを選んだ脳科学専攻の理系院生◆人見知り日本縦断◆機械学習/Web歴5ヶ月

Webエンジニア PHPエンジニア HTML CSS JS jQuery PHP Laravel Python SQL WordPress AWS Linux Apache

【名前】 "みやび"

【関連】 株式会社PLAN / MIYABI Lab / JAPAN MENSA /

【MIYABI Lab】平日オフィスを勉強用に解放中!みんなで楽しくプログラミングを学べる環境を作る!詳しくはコチラ(https://miyabi-lab.space)◆HTML, CSS, JS, PHP, Python, SQL, AWS◆生物学系修士→製薬会社→Webエンジニア(株式会社PLAN)・MENSA会員

Twitterやってます

最新の技術ブログはこちら