LINE Developer Week 2015

LINE台湾支社でAPI開発とアプリケーション分析を担当しているAugustin Wangと申します。今回は、2015年11月に開かれたLINE Developer Weekについて、レポートしたいと思います。

韓国に到着

いよいよ待ちに待ったLINE Developer Weekの初日です!仁川国際空港からバスで1時間ほど移動して、書峴(ソヒョン)駅にあるLINEの韓国オフィスに到着しました。オフィスには、かわいいLINE FRIENDSのキャラクターと各種グッズが飾られていました。

ここでは、日本と中国から来たたくさんの仲間と出会うことができました。英語・日本語・中国語・韓国語が混ざった会話になっていましたが、LINEのエンジニア同士では言葉の壁を感じることはありませんでした。

LINE Developer Day

韓国で過ごした1週間で一番記憶に残っているのは、ソウルで開催されたLINE Developer Dayでした。数百人に及ぶ開発者がLINEの最新技術動向を知るために集まってきました。LINE Developer Day参加者の出身企業・国は多岐にわたります。では、キーノートと午後のセッションのプレゼンテーション内容について簡単にご紹介いたしましょう。


キーノートセッション

キーノート (CTOパク・イビン)

LINE Developer Day 2015のキーノートのテーマは、「LINE, The Platform of Today」でした。LINEのCTOを務めるパク・イビンがLINEが達成した成果を数値で紹介しました。例えば、一日に170億件のメッセージを処理すると発表しましたが、これは、LINEが日常生活において欠かせないサービスとして定着していることの証といえるでしょう。しかし、こうした成果に甘んじることなく、さらに進化したLINEプラットフォームを構築してより多くの開発者とコンテンツプロバイダーに提供できるよう、常に改善を行っています。最後に、来年開かれるLINE Developer Dayではスマートモバイルエコシステムをお披露目する計画であると述べ、キーノートを締めくくりました。

LINE Development Chronicle (キム・ドンヒョン)

このセッションでは、キム・ドンヒョンがここ4年間のLINEの発展過程を紹介しました。LINEは、「誰もが」利用できるメッセンジャーという、シンプルなニーズから始まりました。今は、子供から年配の方々まで、幅広い層がLINEを利用しているので、大きく成功したといえるでしょう。また、LINEは2つの特徴的なサービスである「位置情報共有」、「既読表示」を導入しました。これらの機能により、さらに便利にLINEをお使いいただけるようになりましたが、技術的な問題も発生していました。LINEのエンジニアたちは、ここ数年間発生していた各種問題を調査し、多彩な最新技術を適用することで、アーキテクチャとアプリケーションを改善し続けてきました。こうした取り組みに支えられ、LINEのサービスの安定性と速度は向上しました。

LINE Bubble 2 Development Story (イ・テウン)

イ・テウンのLINE Bubble 2 Development Storyは、最も好評であったセッションの一つでした。LINE Bubble 2の当初の計画は、開発着手から3ヶ月以内にリリースすることでしたが、様々な変更が発生したことで、制作期間が1年に延びました。例えば、元のコンセプトは、キッチンで料理をするブラウンだったそうです。しかし、メンバーの間でユーザーの持続的な関心を引き付けるには物足りない感があるという意見があり、冒険をテーマにしたストーリーへと方向を転換したのです。このゲームは、2015年4月23日に正式リリースされました。

午後のセッション

LINE Channel Platform and More (パク・ヨンソプ、 高橋ホセルイス)

このセッションでは、パク・ヨンソプと高橋ホセルイスが、チャネルゲートウェイやLINEプラットフォーム、 ビジネスコネクトの概念とその用途について説明しました。ビジネスコネクトのサーバは、チャネルゲートウェイを使用してLINEの各種内部サービスとデータをやり取りすることができます。

LINEプラットフォームの開発において中核となるのは、個人情報保護とセキュリティです。ユーザーの皆様に安心してオープンプラットフォームサービスを利用していただけるよう、LINEプラットフォーム担当の各チームは、個人情報保護とアビューズ行為への対応に最善を尽くしています。

LINE Game Cloud (チェ・ヨンホ、ジョハン・ガル)

このセッションでは、LINEゲームプラットフォームの新しいアーキテクチャの紹介がありました。新しいプラットフォームを模索するきっかけとなったのは、LINE GAMEの急成長でした。チェ・ヨンホとジョハン・ガルの話によると、多種多様なゲームにおいて常に満足できるユーザーエクスペリエンスを提供することは、難しい課題だったそうです。彼らは、ユーザーの満足度のみならず、開発者の暮らしの質まで保障できてこそ完璧な解決策になると強調しました。また、怠け者の本人たちの仕事をより容易にするためにも、イノベーションに力を入れるべきだったと冗談交じりに話していました。

LINE for Windows 10 (クォン・オイク、ソク・ヨンテ)

Microsoftは、Windows 10のリリースを機にアプリケーションストア「Windowsストア」をリニューアルしました。これは、Windows版アプリ開発の新たな出発をも意味します。クォン・オイクとソク・ヨンテは、クライアント開発者とサーバ開発者の観点からWindows 10版LINEを開発した経験を話しました。

Applying QUIC Protocol on LINE Games (ソン・ソンホ、パク・テヨン)

このセッションでは、LINEゲームプラットフォームに使用されるQUICプロトコルの紹介がありました。QUICはTCPとUDPに対応しており、知的メカニズムでコネクションのハンドシェイクとパケットロスを処理します。これは、特にモバイルゲームの通信環境においては最適な方法であるといえます。

Armeria: LINE’s Next Generation RPC Layer (イ・ヒスン)

Armeriaは、Java 8およびNetty 4をベースにした同期・非同期RPCライブラリです。これは、コネクションポーリング(connection polling)とドメイン名検索の問題を解決できる真の非同期RPCであるといえます。イ・ヒスンは、サンプルコードとクライアントのデモを紹介しながら、Armeriaの機能を説明しました。ArmeriaはLINEの開発にすでに使用されており、オープンソースでも公開されています。

Hardcore: Trend of Chinese Mobile Game (Longtu GameのCPO Chen Liu様)

Chen Liuは、中国のモバイルゲーム市場の最新動向について語りました。中国は、進出先として誰もが注目する巨大な市場です。中国市場の現況分析の後は、LongTu Gameが良質のIP(Intellectual Property:知的財産)を発掘または創出し、RPGのようなハードコアゲームを制作する方法について説明しました。また、中国のモバイルゲーム市場の新しいニーズに応えるべく、ハードコアの特性を持ったミッドコアゲームの開発に注力していると述べました。

Ampkit: Mobile VoIP Platform in LINE Messenger (クァク・ジョンナム)

Ampkitは、LINE音声通話の品質改善のために新しく開発したVoIPクライアントモジュールです。当初、一部から音質に対する不満の声が上がったことを受け、LINEのエンジニアたちはプロトコルを変更し、「de-jitter buffer」を調節しました。その結果、品質が以前より大きく向上しました。LINEは現在も、品質をさらに改善し、より有益な機能を追加するため、絶え間なく研究し続けています。

Game Security Response Architecture AIR (オ・ワンジン、ソ・ドンピル)

LINE GAMEは、グローバルプラットフォームを提供しているため、セキュリティに関する様々な課題に直面することがあります。それは、国によってユーザーの行動パターンがそれぞれ異なることに起因しています。ここで、AIRプラットフォームは、クライアントからサーバまでをカバーできる解決策を提示します。AIRは、不正行為を試みる人のログを収集し、各種ログを自動的に分析・モニタリングします。そして、ユーザーの環境には一切影響を与えずにレポートを作成する知的メカニズムに対応しています。ルート化およびジェイルブレイクされた端末でチート行為・アビューズ行為をする人がたくさんいますが、LINEではすでに解決策を確立しており、また今後も対応を続けます。

Collaborative Mindset of Security And Others (ウォン・ジョンイル)

ウォン・ジョンイルは、データを任意に復元したり、途中で盗み取ったりすることを防ぐために考案したTrue DeleteおよびLetter Sealing機能を紹介し、LINE Bug Bounty Programで発見したことを共有しました。また、セキュリティ問題に対処するための協業の基本原則についても説明しました。

LINE Bug Bounty Programを実施して分かったのは、開発者とセキュリティエンジニアとで、脆弱性を見る観点が違うということでした。彼は、LINEが今まで築き上げてきた良い評判を保つには、LINEの開発者がセキュリティの知識を必ず身に付けるべきとし、セキュリティ関連のバグを重大な問題として扱わなければならないと述べました。

Performance Optimization for Real-Time Physics Simulation in Cocos2d-x (キム・ソンテ)

キム・ソンテの発表は、Cocos2d-x物理エンジンを改善した経緯に関する内容でした。LINEのエンジニアたちは、Cocos2d-xのソースコードを書き直すことで既存の物理エンジンにマルチスレッド方式を実装すると同時に、物理演算が正確かつ効率的に行われるようにしています。また、シミュレーションで得たデータを用いて性能の改善度を評価する過程を実演しました。こうした性能の最適化は、ユーザーの満足度向上につながりました。

各セッションはどれも充実した内容になっており、LINE Developer Dayではとても多くのことを参加者の皆さんに共有できたのではないでしょうか。

ハッカソン

LINE Developer Dayの後は、LINEハッカソン(Hackathon)が開かれました。ハッカソンでは、サーバトラックの司会を務めさせていただきました。進行を担当するとともに、参加者にチュートリアルとプロジェクト開発時に使用するBusiness Connect Application Serverのサンプルコードを提供しました。

各チームは、5~6時間の間にアイデアを選定して実装し、その成果物について5分間発表しました。プロジェクトのテーマは、業務の効率化、友だち検索、料理の注文、情報検索、記念日の通知など多岐にわたっていました。ハッカソンに参加したメンバー全員は、すべてのチームの中から一番いいアイデアを出したチームを選んで投票しました。

進行スタッフとしてLINEハッカソンに参加して感じたことがあります。第一に、ほぼすべてのチームが実装にかかる時間を短縮するためにサンプルコードを使って開発を行いました。そのため、開発者にチュートリアルと完全なサンプルコードを提供することは必須でした。第二に、すべての参加チームは、LINEプラットフォームの説明を聞いた直後から開発に着手することができました。それが可能だったのは、その前週にハッカソンの進行スタッフがLINEプラットフォームに新規チャネルを十分に作成しておいたからです。ハッカソンを開始する前に開発用アカウントを用意しておくことが大事でした。第三に、5分間という制限時間内にプロジェクトのテーマとアプリケーションの機能を分かりやすく説明するのは、思ったより難しいことでした。サービスを効果的に説明しPRする能力も、開発の実力に劣らず重要であると思えました。

エピローグ

LINE Developer Weekの最終日にはLINEオリンピックが開かれました。L、I、N、Eの計4チームに分けられ、バスケットボールとフットサルをしました。まるでプロの選手のようにみんな真剣に臨んでいたので、かなり激しい試合になり、目が離せませんでした。

LINEオリンピックの終了とともに、LINE Developer Weekの日程はすべて終わりました。有益な知識とノウハウを共有し、仲間と交流を深めることができた貴重な一週間でした。

Related Post