2023/12/29

2023 年末 Evernote のテクノロジーはこれまで以上に進化

Evernote 2023 recap blog post (banner)

2023 年は Evernote にとって大きな変化と心躍る成長に満ちた激動の年となりました。Bending Spoons による Evernote の買収後、当社では、財政を安定させるため、いくつかの取り組みを実施しました。共同編集機能や 2 つの強力な AI 機能を新たに導入したことに加え、数千人にご協力いただいたアンケートやインタビュー、メール、フォーラムへの投稿などを通じて、お客様に関する貴重なインサイトを得たこともその一貫です。そして何よりも、Evernote の基盤となるテクノロジーを大幅に改善することに成功しました。

年初における当社の目標は以下の 3 つでした。

1. Evernote の速度を高める

2. Evernote の信頼性の高める

3. Evernote のセキュリティを高める

まだやるべきことはたくさんありますが、すでにかなりの進歩が見られます。今年最も大きな影響を与える開発と今後の展開について以下にまとめましたので、ご覧ください。

パフォーマンスを最優先

Evernote の改良にあたって直面した大きな課題の一つがリソースの最適化でした。リソースを制限なく投入することで製品の問題すべてが解決するわけではなく、むしろ複雑さと非効率性が増し、結果は一層悪くなりがちです。基礎が弱い家が長く立っていられないのと同じように、今年は製品の基本的な部分を大幅に改善することに重点を置き、イノベーションに充てるリソースを減らしました。

今年、当社の技術的な成果がイノベーションの割合を上回っているのはそのためです。当社は注力した主要な分野(速度、信頼性、セキュリティ)で大きな進化を遂げ、今後数年間にわたって製品の開発をさらに進める上で有利な下流効果も得られました。

では、当社の目標について一つ一つ詳しく見ていきましょう。

目標 1 | Evernote の速度を高める

· インスタント同期機能と共同編集機能を追加: 新しいデータ構造により、ノートの内容がすべてのデバイス間で瞬時に同期されます。これまでの構造では実現できなかった機能です。詳しくはこちら

· すべてのクライアントで読み込みと同期をスピードアップ:レガシーエクスペリメントや機能フラグ、未使用のコードを系統的に削除することにより高速化を実現。合計で約4万行のレガシーコードが削除されました。

· Evernote Web のサーバからローカルへの同期が 17 倍速に:クライアントのストレージシステムを更新し、他のクライアントとの互換性を高めることで実現しました。詳しくはこちら

· ソフトウェアの更新頻度を大幅に増加:4 ~ 8 週間に 1 回だった更新を、1 週間に 1 回というリリーススケジュールに移行し、改善に要する時間をこれまで以上に短縮しました。

目標 2 | Evernote の信頼性を高める

· 共同編集機能の導入に伴い、多くのレガシーコードを削除: すべてのノート編集操作において信頼性が高まり、問題を理解して修正するのが簡単になりました。

· タイムリーなアプリ内通信を実装:進行中の同期の問題についてユーザに警告し、変更を失わないようアプリを再起動するように促しました。このシステムのおかげで、コンテンツがバックエンドサーバと同期しない事例が大幅に減少しました。

· 高度な監視をセットアップ:バックエンドで製品の健全性を継続的に追跡する新たな監視システムにより、複雑なエラーの診断が簡単になり、迅速に修正が行われ、全体的なユーザ体験が向上しました。

· 大規模なデータ移行を通じてバックエンドを近代化: 前述のとおり、Evernote のMonolith バックエンドアプリケーションは、手に負えないほどの技術的負債を蓄積していたため、当社は今年、リソースを大々的に投入し、アーキテクチャを近代化しました。2 億人以上の Evernote ユーザのデータを新しいシステムに移行するのは大変でしたが、すでに成果が現れ始めています。新しいアーキテクチャのおかげで、Evernote のバックエンドでは手動によるメンテナンスが減り、開発環境が安定して、ユーザ目線での問題を削減できました。

· クライアントコードの一部を手直し:繰り返す問題に対してパッチを当てても長期的な解決にならないことはクライアントコードベースの作業を始める前からわかっていました。それを踏まえ、当社では、コードベースの一部を一から書き直しています。これまでノートブックリストと一部のウィジェットを更新しており、今後はノートエディタ、ノートリスト、タスクリスト、検索機能も更新する予定です。

目標 3 | Evernote のセキュリティを高める

Evernote を管理する身として、ユーザの機密情報や個人情報を最大限に保護することは極めて重要です。当社は今年、悪意のある行為に対する Evernote のセキュリティをさらに高める上で必要なイノベーションを導入しました。

· 2 段階認証プロセスを刷新:SMS ベースの認証を Google Authenticator、Authy、1Password などのより安全なオプションに置き換えました。

· 悪意ある行為を防ぐため、インテリジェントな回数制限を導入:Evernote のバックエンドサービスに対する呼び出しの数を制限し、悪意のあるユーザが Evernote のサーバを大量の情報で過負荷にする試みを防ぎます。この措置による正当なユーザへの影響はありません。正当なユーザが 1 時間以内に 100 以上の異なる IP アドレスから Evernote のバックエンドに接触することなど通常あり得ないからです。

· 脆弱なパスワードを予めリセット:パスワードの脆弱性や再利用を悪用した攻撃に対して特に脆弱であった 2 段階認証を設定していないアカウントのパスワードを自動的にリセットしました。この予防措置により影響を受けたユーザには、リセット後に Evernote を開いた際にパスワードの更新を求めています。当社では再三にわたり、2 段階認証の設定を強くお勧めしています。

上記のような改善は、Evernote のテクノロジーに対する当社の取り組みの一部に過ぎません。ほとんどの改善内容が製品のバックエンドで実施されたため、Evernote ユーザの皆さまはお気づきにならなかったでしょう。当社の最終目標は、ユーザエクスペリエンスを損なうことなく、こういった緻密なプロセスをすべて実行することであったため、大成功と言えます。以前ブログ記事で説明した 10 月の障害を除き、この戦略は上手くいきました。

2024 年を見据えて

2023 年の当社の成果は、今後の改善の確固たる基盤を築きました。ここからは 2024 年の取り組みについてお知らせいたします。

製品

2024 年の始めにリリースされる新機能は比較的少なく、Evernote の既存のコンポーネントの微調整を重点的に行う予定です。今後数ヶ月の予定は以下の通りです。

· ユーザエクスペリエンスの大幅な改善:当社では安定性の問題に取り組むことを最優先してきましたが、私も含めたユーザにとって悩ましいのは、少数の大きな問題よりも、多数の小さなバグが互いに影響し合うことです。2024 年 1 月から、Evernote チームは顕著な非効率性を一部解決できるよう取り組み、Evernote ユーザの操作体験を一層円滑にする予定です。

· 新しいユーザインターフェース:1 月からデスクトップユーザにご利用いただける新たな UI では、これまで通りのアプリ操作に加え、軽量で現代的なデザインへの再パッケージ化を実現しいます。ボタンの移動や機能の位置の変更、既存のワークフローの中断などはありませんのでご安心ください。

テクノロジー

Monolith の近代化とクライアントコードベースの書き直しを進める中、新しいプロジェクトにも取り組む予定です。

· 独自のクライアント側データベースをより近代的なソリューションに置き換え:Conduit と呼ばれる現在のソリューションは、一般的に遅く、管理も難しいため、クライアントのパフォーマンスを向上させる上で大きな障害となっています。より効率的で信頼性の高い代替ソリューションに置き換えることで、2024 年は開発が簡単になるだけでなく、小さなエラーや不整合の多くが解消される予定です。

· 新たなメタデータ同期プロセス「RENT」をリリース:RENTは、2023 年 4 月に導入された共同編集イニシアチブの対を成す機能です。共同編集がノートの内容を複数のデバイスで即時に同期することに焦点を当てているのに対し、RENT はノートのメタデータを同期します。ユーザは RENT を使用することで、ノートのタイトルやサムネイル、日付、ノートリストの変更内容を、すべてのデバイスで一層速く反映できます。

今年(およびこのレポート)の終わりに、Evernote の改善に向けて絶えず努力を続けてくれた聡明で献身的な方々の功績を讃え、お客様の継続的な信頼とサポートに心から感謝申し上げます。今年は先が見えづらく、変化も多い年でしたが、今後は安心して期待に心を躍らせることができるでしょう。

2024 年にお会いできることを楽しみにしています。

- フェデリコ