Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
IE Graduation (IE の功績を讃える)
Search
Jxck
June 16, 2022
Programming
22
15k
IE Graduation (IE の功績を讃える)
IE の功績を讃える
~ IE 卒業式に寄せて~
2022/06/16 #IE卒業式 by Jxck
Jxck
June 16, 2022
Tweet
Share
More Decks by Jxck
See All by Jxck
IE Graduation Certificate
jxck
6
6k
RFC 9111: HTTP Caching
jxck
0
620
tc39_study_2
jxck
1
5.6k
IETF における ABNF とプロトコルパーサの話 / ABNF for Protocol Parser @ IETF
jxck
2
1k
Web Components 元年 v3 / Web Components first year v3
jxck
1
960
Periodic Background Sync
jxck
0
520
Podcast over PWA
jxck
0
230
Yearly Web 2019
jxck
0
150
webbundle_study
jxck
2
580
Other Decks in Programming
See All in Programming
React CompilerとFine Grained Reactivityと宣言的UIのこれから / The next chapter of declarative UI
ssssota
7
3.5k
アニメーションを最深まで理解してパフォーマンスを向上させる
mine2424
0
110
42 best practices for Symfony, a decade later
tucksaun
1
150
The rollercoaster of releasing an Android, iOS, and macOS app with Kotlin Multiplatform | droidcon Italy
prof18
0
150
テスト自動化失敗から再挑戦しチームにオーナーシップを委譲した話/STAC2024 macho
ma_cho29
1
890
Refactor your code - refactor yourself
xosofox
1
200
Testing Assembly: Code or Low Code - Navigating the Test Automation Options
maaretp
0
100
暇に任せてProxmoxコンソール 作ってみました
karugamo
1
500
Recoilを剥がしている話
kirik
4
6k
急成長期の品質とスピードを両立するフロントエンド技術基盤
soarteclab
0
820
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
1
150
KubeCon + CloudNativeCon NA 2024 Overviewat Kubernetes Meetup Tokyo #68 / amsy810_k8sjp68
masayaaoyama
0
150
Featured
See All Featured
RailsConf 2023
tenderlove
29
920
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
159
15k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
38
1.9k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
26
1.8k
VelocityConf: Rendering Performance Case Studies
addyosmani
326
24k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7k
Navigating Team Friction
lara
183
15k
The Invisible Side of Design
smashingmag
298
50k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
48
2.2k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
0
69
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.3k
Transcript
IE の功績を讃える ~ IE 卒業式に寄せて~ 2022/06/16 #IE卒業式 by Jxck
注意: これは MS の人の発言では ありません。 全部 Jxck の個人的な妄想です。
IE って何歳 ? A. 25 歳 B. 26 歳 C.
27 歳 D. 28 歳
C. 27 歳(らしい) https://ja.wikipedia.org/wiki/Internet_Explorer
27 年前って何時代 ?? 平成ネット史 永遠のベータ版 | 株式会社 幻冬舎 (gentosha.co.jp)
ブラウザは電気屋さんで買うものだった Netscape 2.01j for Macintosh - メルカリ (mercari.com) 注意: 筆者は買ったことないのでよく知らない
IE は OS 同梱で無償 From Windows 1 to Windows 10:
29 years of Windows evolution | Microsoft | The Guardian 「青いeを押すと インターネットができる」 インターネットの時代が来た!!! (これが IE の一番の功績)
その後の IE 順調に更新してリリー スを繰り返す Web でできること が増えてネットが 便利に リリースごとに新 機能を入れてパ
ワーアップ ユーザも開発者 も MS もみんな ハッピー
そんな簡単 じゃない 再掲: 全部 Jxck の妄想です。 MS の中の人の発言ではありません。
黎明期の実装にはバグが付き物 「最初からバグのないブラウザをリリースしなかったのが悪い」という石は 「最初からバグのない完璧なブラウザをリリースできる者」だけ投げなさい • 最初は仕様も曖昧、実装も初めて • バグがあったら直す • 直したらリリースする •
リリースして治れば万事 OK
Q: あなたらなどうする? 自分ごとだと思って考えてみよう Q. IE の「バグ」に最適化されて作られたシステムが 山のようにあり、なかなか改修されません。 IE が取る べき行動は?
A. IE の「バグ」を直して、それに合わせてシステムの 改修を呼びかける。 B. IE の「バグ」を直さず、セキュリティ系のやばいつ だけなんとかする。
互換性 Web において最も重要な概念 そして MS は全製品で互換性の鬼
Internet の暗黙の前提 1. 一度インターネットにデプロイされたものは、その まま動き続けるように維持しなければならない。 2. 一度インターネットにデプロイされたものは、いつ か作り直されることを前提にしてはならない。 3. 新しい機能を入れる場合も、上記
2 つを前提に考 えなくてはならない。
Q: どっちが悪い? Q: IE には CSS の仕様を正しく再現しないバグがあ りました。しかし、仕様ではなくそのバグった表示を前 提に作られたサイトが世界にいくつかあります。 IE
が バグを直すのは簡単ですが、そのサイトの表示が壊 れてユーザが困ってしまうため治せません。でもバグ を直さないと他の開発者は困ります。悪いのは誰です か? A. バグを直さない IE B. サイトを直さない開発者
直せる けど 直せない 世界でも有数の優秀なエンジニアを束で抱えてる会社が 能力不足で直してないんだと本当に思ってた?
理想 サイトを作ってたらバ グをみつけました サイトも直しました ありがとうございま す。直します。 サイトの方も直しても らえますか?
現実 おい壊れたぞ あのーバグ直したい んですけど、、 直す予算なんか ねーよ 何もしてないの に壊れた アップデート? 元に戻せ!
またバグってるぞ これだからIEは マジで XXXX レガシーの民 フロントエンドの民 10 年前のサイトな んか無視しろよ できれば IE も標準準 拠に更新したいんで すが、、 せめてサイトの更新をし ていただいて、、
IE サポート 切れるわけねー だろ そろそろ古い IE のサ ポートは切ってもらえま せんかね... ?
絶対に切るなよ 直す予算ねーよ アップデート? 適用するな! まだ 10% いるん だよ お前が先に切れ よ マジで XXXX レガシーの民 フロントエンドの民 IE の無い世界に行 きたい このままメンテは正直 辛いんですが、、 いやでもセキュリティ が、、
ファントム IE ユーザ 「うちのサイトまだ 10% も IE6 ユーザがい るから切りたくても切れない」 •
単に / (root) に来てる Request の U-A で計測 • それ本当に IE ユーザ? ◦ 他のヘッダは見た? ◦ そのアカウントログインした? ◦ 他のパスにも遷移してる? ◦ IE6 って TLS/1.2 実装してないけどなんで接続できるの? ◦ 「IE を使ってる」けど「 IE しか使えない人」なの?
互換モード爆誕!! サポートも切ってくれな い... 開発者さん達、全然コンテ ンツ直してくれない... 全バージョン互換を保ち続け るとか、もう無理限界...
IE のお気持ち ここまでの流れを踏まえて読むと 涙なしには読めない非常にエモいブログ https://bit.ly/ie-support-poem (webarchive.org)
歴史を刻む IE サポートチームブログが消えたのでその WebArchiveOrg のリンクを貼るためのブログだった 終了アナウンスリンクが 80 くらい集まった。 https://blog.jxck.io/entries/2021-05-11/end-of-ie.html
mozaic.fm ep83 IE IE サポートチームブログファンを公言してたら実現 Edge が生まれる背景とかが聞ける。
IE は「お前ら開発者のせ い」なんて絶対に言わな かった。
でもこのままじゃ いられない このままじゃユーザを守りきれない
後進の育成 • Project Spartan ◦ IE12 ではなく標準準拠ブラウザを作り直す ◦ 後の Edge
(Edge HTML) • Chromium Edge ◦ Edge HTML でモダン Web に追いつくのは厳しい ◦ Chromium ベースにした方が全体的に良い • エンジンの多様性を軽視してる? ◦ もし開発者がもっと IE の進化に寄り添ってたら ◦ Edge HTML は 10 年前に始められてたのでは? ◦ (そもそも Edge が不要で標準準拠 IE がありえたはず)
IE はずっと俺た ちのために頑 張っててくれた 一方お前らは文句しか言わなかったよな?
ありがとう 全ての IE !!
卒業証書 授与
None
卒業証書 Internet Explorer 殿 あなたは Web の黎明期において、有償購入が当たり前だった Web ブラウザを OS
標準と して同梱することにより、「青い e をクリックしたらインターネットにつながる」というユーザ体 験を定着させ、人々が Web を日常的に使う今日の世界の礎を築きました。 多くのエンタープライズシステム、公共システム、エンタメ、個人ホームページの UI を一手に 担い、社会インフラの IT 化を陰で支えた貴殿の努力がなければ、後発の「モダンブラウザ」 はそもそも産声をあげることすらなかったかもしれません。 その後、黎明期の IE の挙動に固着した多くの実装との互換性を維持する配慮から、ブラウ ザの実装はいくらでも改善できたはずであるにもかかわらず、その互換性を最大限維持しつ つセキュリティアップデートをひたすら続けるという、曲芸のような運用を継続し今日まで至り ます。
この世界の誰よりも IE を改善/更新/提供終了したかったのは、紛れもなく Microsoft IE チー ムだったことでしょう。 何年も前にサポートの切れた Windows を一向に更新しないユーザや、古い挙動に依存し
たままの死んだ実装を一向に改修しない企業や、Web の互換性問題を気にもせずただただ 新しい機能に飛びつくことしか考えてないわがままな開発者とのはざまで、日々、罵詈雑言、 石、腐ったミルク、誹謗、中傷、セキュリティチケットを投げつけられながらも、世界平和のた めにメンテナンス作業に尽力してきた日々は、我々の想像を絶するものだったでしょう。 このような状況を打破するためにも、後任となるモダンブラウザを育成し、そこに対するユー ザの移行パスを整備することで、今日この日をもって全ての責務を全うして引退していく貴殿 を、一人の Web 開発者として最大限の賞賛と、最大限の敬意をもって送り出したいと思いま す。 27 年間本当にお疲れ様でした。 2022年6月16日 Web Study JP Organizer Jxck
None