ドワンゴ/二コフレ サマーインターン
どうも、うたもくです。
この記事は nico.friends Advent Calendar 2017/12/08の記事です。
ドワンゴのサマーインターンでの二コフレ*1の機能作りをどんな感じでやったのかを書いていきます。
ドワンゴサマーインターン
いやー最近は暑いですね。(インターンが終わってNヶ月も経ってしまった。)
内容は二コフレの新機能開発でした。インターン生2人で1チーム開発。
チーム名: 「Webサービス、Rubyでつくるか?PHPでつくるか?」(以下: WRP)
相方ちゃん
https://internship.dwango.co.jp/2017/engineer/internship.dwango.co.jp *2
お先に読むといいもの
新機能ができるまで
- 案出
- 実装
- 最終プレゼン
- リリース
案出
案を考える上で大切なのは二コフレの世界観です。
1ヶ月間この世界観を考え続けました。
WRP内で出ていた案は僕が覚えてる限りだと
とか出ました。*5
実装
ハト先生*6との話し合いもありWRPはカスタム絵文字を作ることになりました。
WRPは2人の得意分野(サーバー/フロント)が両極端でした。
相方ちゃんがかなり優秀なフロントマンだったのでフロントは全部お任しました。
とは言えまずはペアプロでお互いの分野を知ることをやりました。
僕はといえばRails2/Ruby1.8という化石だったので脳内アップデートを頑張りました。
なんだかんだ順調にカスタム絵文字の開発は進んでいきました。
「よっし、そろそろカスタム絵文字で遊べるドン」
そんな矢先ハト先生から恐ろしいお知らせが…
3連休が明けた9/19はインターン時の最悪の日になりました。
非、非常に厳しいお知らせ????
カスタム絵文字が本家にマージされたのです。 github.com
だれも悪くないのです。
僕たちが欲しい機能は本家も欲しかった。
それだけなのです。これがOSSか...
本家と同じ機能をカスタムとして入れるのは技術的負債にしかなりません。
ということでWRPが作ってきたカスタム絵文字はきれいさっぱりなくなりました!
わーい\(^o^)/
ちなみにWRPが作っていたカスタム絵文字はある限定的なユーザーは絵文字の登録ができるようになっていました。
最悪の日がいつ起きたのか?
残された時間はどのくらいなのか?
ということで即日Skypeでハト先生と再度話し合いが行われました。
そこで浮上した案がプロフィール絵文字でした。
WRPは地獄から生還しました。
プロフィール絵文字は「:@username:」とトゥートするとユーザーのアイコンに変わってくれます!
プロフィール絵文字の主な利点
- 既存のリソースであるユーザーのアイコンを使える
- DBへの変更がない
- すごーい! たーのしー!
色々細かい機能も頑張りました。
- プロフィール絵文字をクリックすると該当ユーザーへのジャンプ
- usernameの補完機能
これはもともとあったユーザー補完機能を流用することで工数が少ないかつ効果があるという判断で最優先でやっていました。 - プロフィール絵文字のコピペ
- プロフィール絵文字をマウスオーバーすることでの拡大
GIFをどうするかに話し合いはしました。
意図しないときに拡大することがないように調整したつもりです。 - トゥートだけでなくCW*8やプロフィール欄その他もろもろに対応
あとプロフィール絵文字ではプロフィール絵文字に使われたユーザーに通知がいかないようになっています。
懸念点としては好きな絵文字を使いたいがためにテキトーな新規ユーザーを大量に作るという点でした。
そのためEmailブロックリストも作ってみました。
こちらはニコフレのみならずMastodon本家にも必要だろうということで本家にv2.0から新機能入り。
最終プレゼン
最後はメンター陣+インターン関係者の方々の前でプレゼンが行われます。
ここでリリースされるか否かが決定します。
リリースされるかが決まるのでガチです。
ガチガチのガチです。
リリース
なんやかんやで実装は間に合い9/28にリリースされました。
詳しく書いていただきました。
リリースされた直後に二コフレのみんなが使ってくれて非常にうれしかったです。
その後
まさらっきさんが中心となってプロフィール絵文字を本家にプルリクエストを出しています。
最後に
二コフレはインターンで初めて触れました。
今や青い鳥より見てる時間が多くなりつつあります。
オフ会にも参加しました。
なんか雰囲気が好きなんです。
二コフレのみんなが少しでもプロフィール絵文字で遊んで楽しんでくれていたら幸いです。
メンターの皆さんお世話になりました。
おまけ
インターンで習得した単語
- 世界観
- 左様か
- 納得
次はao_39lさんです。よろしくお願いします!