Voicy Tech Blog

Voicy公式Techブログ

2017年 Voicy開発総決算!

こんにちは!Voicy CTOの窪田です。

現在は2017年12月30日なのですが、オフィスは休みを取って実家に帰っている人も多く、外を歩いても人がまばらで、すっかり年末だなぁと思いながら書いております。

さて、この一年はみなさまにとってどんな年だったでしょうか?
今回のエントリーではこの1年間にVoicyのエンジニアがやってきたことを振り返ってみたいと思います。

3月2日 iPhoneアプリリニューアル

再生、録音アプリ共にユーザーからいただいたフィードバックから出てきた課題を解決するために、アプリの見直しを行いました。

f:id:voice-tech:20171230211558p:plain

画像は再生アプリのみですが、機能的なポイントとしては以下の通りです

  • タブを追加して好きなチャンネルを探しやすく
  • チャンネルにタグ付けを追加して内容を事前にわかりやすく
  • チャンネルの横スライドにドットをつけて現在地がわかるように
  • ドットの部分でもスライド可能に

タブ分けやタグ付けに伴ってDB構造から大きく見直しが必要だったこともあり、デザイン・開発共に大きな作業でしたが、リリースしてから半年もしないうちにこういった変更の決断と実行ができるスピード感はベンチャーならではだなぁと思います。

3月15日 ロゴ・ホームページリニューアル&Twitter Playerカード実装

さきほどのアプリリニューアルでも一足先に変わっていたのですが、Voicyのロゴを一新しました。それに伴ってVoicyのコーポレートサイトを全て作り直してます。

f:id:voice-tech:20171230211715p:plain

また、チャンネル紹介ページではTwitterシェアした際にTwitter上で再生できるPlayカードという機能もつけました。詳しくは以下のエントリーに詳しくまとめてありますので、ぜひご覧ください!

Twitterがしゃべる!?Playerカードの作成方法

5月14日 タイムライン機能リリース

さきほどのコーポレートサイトにある個別のチャンネルページに、Voicyで配信している内容をTwitterのタイムラインのように埋め込める機能を作りました。

f:id:voice-tech:20171230211735p:plain

ここでは初めてAngularを採用しています。そしてサーバーサイドも同じく初めてのGoで作っています。実はこの次に出てくるWEB版Voicyの開発でAngularとGoを予定していたため、比較的小さな開発のタイムライン機能で先行導入してみたという裏事情があるのですが、結果的にはどちらも採用してよかったと思っています。

7月18日 WEB版Voicyリリース

今年のVoicyで最も大きなリリースがこちらです。

https://voicy.jp/

プロジェクト自体は春ごろから動いていましたが、開発期間は約1.5ヶ月という短期間で作り上げました。技術としてはタイムラインでも使用していたAngularとGoで、詳しくは以下のエントリーをお読みください。

Go1.8とAngular4をプロダクションで使ってみた!Voicy WEB版の開発裏話
VoicyがGoLangとEchoを採択した理由。

これまでiPhoneでしか聴けなかったVoicyが、WEB版のリリースによりPCやAndroidでも聴いていただけるようになりました。おかげさまでユーザー数も増え、より多くの人に声を届けることができるようになったのは本当に嬉しく思います。

10月2日 Android版リリース

要望の多かったAndroid版をやっとリリースできました!

開発が始まる少し前にAndroid開発の公式言語としてKotlinが採用されたばかりでしたので、Voicyでは早速Kotlinを使って開発を行いました。当初の予定に比べると結構遅れてしまったのですが、技術的には新しいことへのチャレンジもできたので、エンジニアとしては満足しています。

まだiPhoneに比べると機能が少ない部分も正直あるのですが、今後も改善をしていきますのでよろしくお願いいたします!

10月5日 Google Homeに対応

Androidリリースの3日後には、このGoole Home対応を発表させていただきました。

音声のサービスVoicyとしては念願のスマートスピーカー発売です。

f:id:voice-tech:20171230211749p:plain

こちらはGoogleの発表資料なのですが、名だたる大手企業様の中、唯一ベンチャーのVoicyが並ばせていただけてとても嬉しく思います。Voicyからは公式ITビジネスニュースを提供していますが、他にもこの中にある毎日新聞スポニチも実はVoicyで配信をさせていただいております。

配信フローとしては

Google Home -> API Gateway
 -> Lambda -> ElasticBeanstalk(WEB版で作成したGoのサーバーに機能追加)

とフルAWSな構成となっています。

11月8日 Amazon Echo(Alexa)に対応

Google Homeに引き続き、Amazon Echoも日本で発売が開始されました。もちろんVoicyも発売初日からスキルを提供させていただいております。

f:id:voice-tech:20171230211811p:plain

こちらはAmazonの発表資料になります。

Google Homeでは公式ITビジネスニュースを提供していましたが、AlexaではVoicy公式総合ニュースを提供しております。また、上記の画像には入っていませんが、株式会社アルクのスキルの1つである「英語で泣けるちょっといい話」もVoicyで配信をさせていただいております。

配信フローは

Alexa -> Lambda
 -> ElasticBeanstalk(WEB版で作成したGoのサーバーに機能追加)

となっており、Google Homeに比べるとAPI Gatewayがありません。これはAlexaが直接Lambdaを呼び出すことができるためで、そこはさすがどちらもAmazonなだけのことはありますね。注意点としては、まだAlexaが日本リージョンのLambda呼び出しに対応していないため、北米等のリージョンでLambdaを作成する必要があるという点です。

まとめ

現在Voicyはフルコミットエンジニア2名と、手伝ってくれているエンジニア数名で作っているのですが、こうして振り返ってみると、少人数ながら結構作れているのではないかなと我ながら思っております。

開発とは直接関係がなかったのでここには載せませんでしたが、ユーザーを招いたイベントを今年3回行なっており、年明けの1月にもまた予定しています。もちろんエンジニアも全員参加です。しっかり開発しながらも、直接ユーザーと関わることのできる環境というのはなかなかないと思いますので、興味のあるエンジニアの方がいらしたら、ぜひ一度話を聞きに来てください!

www.wantedly.com

これからもVoicyは止まることなくどんどん開発していきます。すでに動いているプロジェクトもいくつかあります。人の持つ声の魅力を届けるためにこれからも成長し続けていきますので、2018年もどうぞよろしくお願いいたします!