Sansan Tech Blog

Sansanのものづくりを支えるメンバーの技術やデザイン、プロダクトマネジメントの情報を発信

Eight で Internet Explorer のサポートを終了するために行ったこと

こんにちは。Eight でエンジニアをしている鳥山(@pvcresin)です。
2022 年 6 月 15 日、Internet Explorer(IE)のデスクトップアプリの提供が終了しました。 それに伴い、PC 版 Eight では IE のサポートを完全に終了し、閲覧することができなくなりました。
今回はサポート終了の際に行ったことについてお話ししたいと思います。 Web サービスを運営する中で今後、ブラウザのサポートを終了する際の参考になれば幸いです。
(本当はサポートを終了した次の週あたりに公開しようと執筆していたのですが、気がついたら一カ月以上経ってしまいました😅)

はじめに

IE はかつてトップのシェアを誇ったブラウザですが、既に開発が終了しており、最新の Web の仕様に追従できていない点や、セキュリティ的な観点で以前から問題視されてきました。
PC 版 Eight では IE 11 が推奨環境に含まれており、機能開発の際に対応工数が多くかかったり、実現できないレイアウトがあったりと、特に Web フロントエンドの実装観点で悩みの種となっていました。
そのため、IE のサポートを終了することで対応のための開発や QA の工数を削減し、今後の価値提供速度やユーザー体験の向上にリソースを割きたいと常々考えていました。
そんな中、IE の開発元である Microsoft が 2021 年 11 月頃から自社のサービスで IE のサポートを終了することを発表しました。 この発表をきっかけに、Eight での IE のサポート終了について具体的な動き方を模索し始めました。

サポート終了の流れ

PC 版 Eight における IE サポート終了は以下のように進めていきました。

  1. 情報収集
  2. シェア調査と協議
  3. 非推奨化
  4. シェアの調査(2 回目)
  5. ブラウザ移行の案内
  6. サポートの完全終了

この流れは最初から決まっていたというより、調査などを行う中で方針を決めていったため、あくまでも最終的な結果となります。

1. 情報収集

まずは情報を集めることからはじめました。
2020 年 11 月、社内で IE サポート終了に向けた情報を集める Slack チャンネルを作成し、そこに Microsoft の IE についてのサポート方針や、IT 業界の各サービスのサポート情報を集めるようにしました。 これによって各社がどんな判断で動いたかを明確にし、説得材料や対応方針の参考にしようと考えました。
情報を集めるのと同時に、実際にサポートを終了した際のメリット・デメリットや、サポート終了までの実際の対応方針などもエンジニア内で議論し始めました。

Microsoft のアナウンス

IE サポート終了にまつわる Microsoft からのアナウンスについてまとめると、以下のようになりました。

日付 出来事
2020-08-17 Teams や Microsoft 365 での IE サポート終了予定を発表
2020-11-30 Teams の IE サポート終了
2021-03-09 Edge レガシー版 のデスクトップアプリ提供終了
2021-05-19 IE デスクトップアプリ提供終了予定を発表
2021-08-17 Microsoft 365 での IE サポート終了
2022-06-15 IE デスクトップアプリ提供終了

※終了日は日本時間だと次の日になる点に注意

自社のサービスで IE のサポートを終了するという決断は非常に背中を押してくれるものでした。
また、IE より先にレガシー版 Edge のサポートを終了することによって、IE のサポート終了時に Chromium ベースの新しい Edge にスムーズに案内できるようにした点は流石だなと思いました。

サポートを終了した際のメリット・デメリット

IE サポートを終了してモダンブラウザのみをサービスのターゲットとした際のメリット・デメリットを整理すると、以下のようになりました。

  • メリット
    • 全般的に Web 標準の新しい機能・API が使える
    • IE でのみ起こる、CSS のバグ対応が必要なくなる
    • JavaScript では、多くの polyfill を削減でき、新しい構文で配信できるため、bundle サイズの削減につながる1
    • QA の手動テストの設計・レビュー・実施の工数や E2E テスト(mabl)のシナリオ数・実行時間の削減ができる
  • デメリット
    • IE を使用しているユーザーが使えなくなり、サービスのアクティビティ低下につながる

IE のサポート終了によってできることの確認には、以下のサイトが参考になりました。

IE の対応工数に関しては直近に行った大きめの開発からどのくらいかかっていたかを確認しました。

エンジニア内で議論しながら整理することで、あらためて IE に悩まされていることが実感できました。 また、IE のサポートをやめることによって実現できる機能やレイアウトもあるため、今後の仕様検討の幅も広がりそうに感じました。
次に、デメリットについて確認するため、IE のシェアを調べていきます。

2. シェア調査と協議

PC 版 Eight 内にはさまざまなサービスがあります。
例えば、個人向けの名刺管理やフィードの機能、企業向けの採用サービス、企業向けの名刺管理機能などです。 それぞれのサービスを利用するユーザーのブラウザのシェアをまとめ、IE がどの程度使われているのか、そしてシェアは下降トレンドなのかを調査していきます。

Eight には元々 Google Analytics が導入されていましたが、私はほとんど使い方を知らなかったので入門するところからはじめました。 試行錯誤しながら適宜、部署内のデータアナリストやマーケティング部門の Google Analytics に明るい方に助けていただき、何とか調査することができました。 その際、

  • アクセス先のパスにはログイン前のトップページや LP などが含まれないようにすること
  • ユーザー単位でログをまとめること

の 2 点のアドバイスをいただきました。(感謝 🙏)

調査を行った日の直近の前の月(2021 年 2 月)と、その半年前(2020 年 8 月)の平均の IE シェアを比較すると以下のようになりました。

サービス 2020 年 8 月 2021 年 2 月
個人向け 14.2 % 11.1 %
法人向け:採用 12.4 % 10.3 %
法人向け:名刺管理 19.3 % 17.1 %

おぉ...。
調査前にエンジニア内では「IE のシェアが 5% 未満だとサポートを終了しやすいね〜」という話をしていたのですが、下降トレンドではあるものの、思いのほか高い... 😇

これまでの情報を元に、エンジニアとサポート、プロダクトマネージャーの代表者間で協議を行いました。 結論として、IE のシェアは無視できないものの IE サポート終了によるメリットは理解でき、業界内のサポート終了の流れもあるため、段階的にサポートを終了していくことで合意しました。

3. 非推奨化

2021 年 5 月 1 日、サポート終了のはじめのステップとしてサポートページの推奨ブラウザから IE を外し(=非推奨化)、新機能の動作保証を行わないようにしました。
今後の新規の開発では機能やデザインに関して IE での細かな QA を行わず、問題が起きた場合にはサポートやカスタマーサクセス(CS)からモダンブラウザへの移行を随時案内していく方針です。 これでもスタイル崩れなどを気にしなくて良くなるので、かなり開発の負担は減ります。
ただし IE のシェアはまだそれなりにあり、いきなり全部の機能を利用できないということは避けたいため、画面が表示されるかだけ最低限チェックするようにしました。 例えば、PC 版 Eight は SPA(Single Page Application)になっているのですが、IE 用の polyfill を削ると JavaScript を実行できず、画面が真っ白になって何もできなくなってしまうため、NG ということになります。

この非推奨化の方針は IE サポートに対する消極的対応といえます。 非推奨化した時点で場合によってはサポートを終了したとも言えます。 しかし、いまだケアする部分は残るので社内では非推奨化とサポート終了は分けて考え、IE からモダンブラウザへの移行期間と捉えることにしました。

4. シェアの調査(2 回目)

非推奨化から 1 年弱たった 2022 年 3 月、そろそろ IE のシェアが落ちたかなと再度ブラウザのシェアをチェックしたところ

サービス 2021 年 8 月 2022 年 2 月
個人向け 6.68 % 4.47 %
法人向け:採用 5.37 % 2.56 %
法人向け:名刺管理 8.92 % 5.25 %

前回の調査から大幅に IE のシェアが落ちていることが見てとれました。
その後も順調にシェアが落ちていったため、Microsoft による IE のサポート終了日に合わせて、Eight でもサポートを完全終了することが改めて問題ないと確認できました。

5. ブラウザ移行の案内

IE のシェアが落ちていることが確認できたので、Web ページや SNS で IE サポート終了の大々的な案内をすることはせず、サービスを利用している IE ユーザーにのみ、以下のようなモダンブラウザへの移行を促すダイアログを表示することにしました。

表示対象は User Agent を用いて IE ユーザーのみに限定し、MAU(Monthly Active Users)に確実に伝えるため、サポートを完全終了する日の 約 1 カ月前の 2022 年 5 月 17 日から表示することにしました。 (今更ではありますが、もう少し早めに表示しても良かったなと思います。)

User Agent は、IE 6-10 の場合は MSIE x.x の文字列で判定できますが、IE 11 の場合は 文字列が変更になっているため、IE 8 以降で追加された Trident/x.x(IE の HTML レンダリングエンジン)の方で判定します。 (Trident は 懐かしの IE Tab などでも使われていたものです 😊)

ちなみにブラウザ移行の観点では、Microsoft が用意している IE から Edge へリダイレクトしてくれる仕組みを使う手もありました。 メールを送ってサイトのドメインを登録すると、IE で訪れた際に Edge で開くようにできるというものです。 しかし、PC 版 Eight ではドメイン周りでこの仕組みと相性が悪い部分があり、採用しませんでした。

6. サポートの完全終了

2022 年 6 月 15 日(日本時間で 16 日)、いよいよ Microsoft の IE のデスクトップアプリのサポートが終了しました。 同日、Eight としてもサポートを終了しました。
今後、機能が完全に使えなくなる可能性があるため、IE でアクセスした場合にはサポート対象外をアナウンスするページへリダイレクトするように設定しました。

これにて IE のサポートが完全に終了しました 🎉

まとめ

IE のサポートを終了してからというもの、エンジニアやデザイナーがこれまでやりたくてもできなかったことが急激に動きはじめました。いい感じです。
Web の黎明期を支えた IE の圧倒的な功績に思いを馳せつつ、これによって空いたリソースと使えるようになった機能を手に、サービスを加速させていきたいと思います 💪


  1. モダンブラウザと IE の bundle を分けて配信する Differential Serving という手法もありますが、Eight ではビルドのシンプルさなどを優先し、IE に足並みを揃えるようにしていました。

© Sansan, Inc.