写点什么

开发者吐槽:谷歌引入 Web 新标准的方式过于专横

  • 2019-06-14
  • 本文字数:2300 字

    阅读完需:约 8 分钟

开发者吐槽:谷歌引入Web新标准的方式过于专横

在?你在写博客吗?需不需要我们帮个忙?<笑>



我和我在微软的同事们认为世界需要更多的 Clippy——也就是这个可爱的动画回形针。为此,我们在 Edge 6.0 中引入了一项新功能。


Web 开发者现在可以使用<clippy>来调用一个动画虚拟助手了。


我和微软的几个同事聊过这个事情,大家都认为这是一个好主意。


我们翻看了许多优秀的软件项目(大都是来自微软的),发现 Clippy 并没有统一的呈现和调用方式。


所以我按自己的风格写了一份 Clippy 的运行规范。其实我都没向多少开发者了解过他们的使用需求,因为我很确定自己的观点就能代表大多数了。


因为这么多用户不断在购买和使用我们的产品,我完全可以假设他们都像我一样喜欢 Clippy 这个小流氓!何必浪费时间去研究用户的感受呢?


现在你就可以开始在你的网站上使用 Clippy 了!


……


别紧张啊我的朋友们!我可不是微软的员工,上面也不是什么真实的提案,都是我瞎编的。我只是嘲讽一下网络“标准”的发展现状而已。


谷歌眼中的网络标准?“除了我团队的同事,别人根本没看过,更别说赞同我私人 repo 的文档说明了。但只要我们自己开始用这项标准,然后鼓励开发者也用它,我们的竞争对手肯定会接受这项标准的!【抱歉,有市场主导权真可以为所欲为哦】”。

——fantasai(@fantasai)2019 年 6 月 13 日


谷歌已经钦定世界需要一个<toast>元素。先声明一下,我个人认为这个想法可能还不错。


但我的观点并不重要,我的观点有谁会理呢。我没法代表普通用户,也没法代表所有开发者。


谷歌的行事风格大约是这样的……


  1. 哇!我想出来个超棒的主意诶!

  2. 谷歌的同事们也同意我的意见!

  3. 谷歌的其他项目可以从中获益吗?

  4. 那就把它塞进 Chrome 吧!

  5. 对了,咱们要不跟社区那帮人说下这档子事儿吧。


(这里是简化版本,可能不太尊重相关人员的真实经历。)


可是我心目中引入一个新元素的理想流程应该是这样的:


  1. 有一个很酷的主意!

  2. 与真实用户交流,看看它是否满足用户需求。

  3. 发布一份(粗略的)用户研究报告并开始与世界各地的同行讨论可行性。

  4. 根据社区反馈开始设计和迭代。

  5. 与用户一起测试。基于 beta 测试决定项目通过还是失败。

  6. 发布测试结果。

  7. 与社区合作继续改进。

  8. 等等。


看看,我也很欣赏“动起来,打破陈规!”的精神,我非常赞同谷歌拿 Web 做实验的做法。我们都应该这么做才对!另外再强调一遍,我认为<toast>可能是 HTML 的一项很好的增强。


但谷歌引入这些新标准的方式根本就是我行我素。他们完全不在乎别人的看法,无论是审查标准的可怜人、其他浏览器厂商、广大用户,还是整个 Web 社区,谷歌都没放在眼里。


感觉就像是一项谷歌设计、谷歌批准、有利于谷歌的标准就这么被强行塞进 Web 里了,完全不考虑别人的感受!


我知道现实情况没这么夸张,我也知道为了这些新提案有多少人废寝忘食。


但对像我这样的老鸟来说,仿佛一切回到了微软 IE 主宰的年代。微软自顾自地向 Web 加入新功能,所有人都必须照做,因为他们就是学校里的老大。


谷歌的员工可能觉得他们是好心,觉得他们正在为 Web 做贡献,觉得用户会喜欢。


但他们没有意识到,用户要么屈从于谷歌的要求,要么就只能被边缘化,这种感觉非常让人不爽。


再说一次啊,我认为<toast>是一个好主意。但谷歌推它的方式太目中无人了——连用户调查都不做——我不由恐惧接下来他们还会干什么?


在?看起来你写完这篇博客了,要不要我们帮你发布一下?


(另外特别提醒像我这样的极客们。打比方终究只是打个比方,是用来说明问题的修辞手段——而不是划个等号哦。请喷子不要把重点放在比喻是否合适上,谢谢。)

评论节选

网友 C 评论:


想出一个“好主意”很简单。软件开发者会想到很多“好主意”,而其中有一些的确很不错。但至少对我来说(我怀疑别人也是一样),我们可能需要几天、几星期甚至几年时间才会回过头来审视自己的想法,然后去弄明白为什么别人对这些想法并不像自己那么热情。

有时候,就算我重新审视也会觉得自己的想法很棒。还有的时候很显然我的想法很糟糕,但这也无所谓。只不过很多想法在付诸行动之前都要先花很长时间让社区共同探讨,让大家思考、讨论、重新审视才更合理。


网友 Michał评论:


从想法到行动: “其他浏览器厂商可能没有意识到 Web 平台纳入该标准的好处。我们希望同 Web 开发者伙伴们一同实现并迭代这项标准,从而明确这项工作的价值,让它的好处广为人知。“这说法看上去无可争辩,我们 HTML 地图社区小组的做事风格也是这样。

“我们都有自己的定制元素 API,所以我们可以向浏览器里塞进去<clippy><toast>之类的东西来取代 JS 库……”我觉得太多元素都是这样胡乱加进来的。


网友 BTreeHugger 评论:


真正令人担忧的是,如果谷歌抛出一个备选标准,然后将其发布在 Chrome 中(这种事情他们已经干了很多次了),那么它很快将成为事实上的标准,不管有多少缺陷都会强行进入标准列表。

过去这种事情,像是触摸事件和 Shadow DOM v0 版本的表现大家也都知道了,我们可不想再来一个“toast”重蹈覆辙了。所以人们看到谷歌搞什么动作就发抖也很正常,这意味着这种事情又得来一次了,这次可能塞进来的功能还更多呢(说的就是你,Project Fugu)。

老实说,现在的谷歌似乎更喜欢把完成度 80%的东西拿出来,把他们这些大企业想要塞进 Web 平台的东西尽快推出来,然后等待其他人替他们擦那 20%的屁股。谷歌自己还得了“推动 Web 标准前进”的美名

要是他们起码推出的是有正常互操作性的实现,而不是搞出一堆草案让人用,事情也不会那么糟糕。可是他们虽然有那么多想做好事情的员工,但组织整体还是选择了欺负别人的路线,如今一大堆谷歌服务“在 Chrome 中才有最佳表现”就是他们干的好事。


英文原文:https://shkspr.mobi/blog/2019/06/introducing-the-new-html-element-welcome/



2019-06-14 19:098523

评论

发布
暂无评论
发现更多内容

谈谈远程工作 | 社区征文

大菠萝

初夏征文

模块八作业

库尔斯

#架构实战营

flutter系列之:flutter中常用的container layout详解

程序那些事

flutter 程序那些事 6月月更

WWDC22 开发者需要关注的重点内容

37手游iOS技术运营团队

iOS16 WWDC22 Xcode14 iPadOS16 macOS10.16

消息队列入门MQ

卢卡多多

MQ 消息队列 6月月更

向线程池提交任务

急需上岸的小谢

6月月更

一文读懂Logstash原理

恒山其若陋兮

6月月更

BottomSheetDialog 使用详解,设置圆角、固定高度、默认全屏等

yechaoa

android dialog 6月月更 material design

数据库每日一题---第9天:销售员

知心宝贝

数据库 算法 前端 后端 6月月更

leetcode 257. Binary Tree Paths 二叉树的所有路径(简单)

okokabcd

LeetCode 搜索 数据结构与算法

【Python技能树共建】lxml 模块

梦想橡皮擦

Python 6月月更

基于华为云图像识别标签实战

乌龟哥哥

6月月更

为什么需要微服务

阿泽🧸

微服务 6月月更

思科私有动态路由协议:EIGRP

wljslmz

动态路由 6月月更 路由协议 EIGRP

Java—并发容器

武师叔

6月月更

【Spring 学习笔记(十)】Spring 使用注解整合 Mybatis

倔强的牛角

Java spring Java EE 6月月更

LabVIEW控制Arduino实现超声波测距(进阶篇—5)

不脱发的程序猿

单片机 LabVIEW Arduino VISA 超声波测距

LabVIEW Arduino电子称重系统(项目篇—1)

不脱发的程序猿

单片机 LabVIEW VISA ​Arduino Uno 电子称重系统

【愚公系列】2022年06月 面向对象设计原则(六)-合成复用原则

愚公搬代码

6月月更

RF中使用reuqests的两种方式

红毛丹

Python 6月月更

ConcurrentHashMap 源码分析-put方法

zarmnosaj

6月月更

什么是Vue3的组合式 API?

源字节1号

软件开发 小程序开发

vue自定义指令

小恺

6月月更

动态规划之0-1背包问题(详解+分析+原码)

未见花闻

6月月更

volatile的解构

卢卡多多

volatile 6月月更

直播预告|FeatureStore Meetup V3 重磅来袭!

星策开源社区

机器学习 开源 DevOps 特征平台 MLOps

预解析与作用域

Jason199

js 全局作用域 作用域 6月月更

5分钟了解攻防演练中的红蓝紫

穿过生命散发芬芳

6月月更 攻防演练

Flutter doctor 显示xcode没有安装的解决办法

坚果

6月月更

LabVIEW控制Arduino实现红外测距(进阶篇—6)

不脱发的程序猿

单片机 LabVIEW VISA Arduino Uno 红外测距

消息队列存储消息数据的 MySQL表

Dean.Zhang

开发者吐槽:谷歌引入Web新标准的方式过于专横_语言 & 开发_Terence Eden_InfoQ精选文章