必威体育下载克里斯蒂安·海尔曼

您当前正在浏览必威体育下载克里斯蒂安·海尔曼四月份的博必威体育简介客档案,2014。

四月份存档二千零一十四

快速一:在链接上使用下载属性将画布保存为PNG

星期二,4月22日,二千零一十四

我一直喜欢Firefox的一个特点是,你可以右键单击任何画布,然后选择“图像另存为”。Chrome和其他公司不这么做(嗯,铬没有)。相反,你需要得到图像数据,创建一个URL并按此顺序打开一个新选项卡或其他内容。

允许人们将画布保存为图像的一个非常简单的方法是使用链接的下载属性.

你可以看到它的作用在这把琴里.只需绘制一些东西,然后单击“下载图像”链接。

相关代码简短(canvas是canvas元素的引用):

var链接=文件。创建元素“A”链接。内层HTML = '下载图像'链接。添加事件侦听器点击 功能电动汽车 {链接。HREF =帆布。托达罗尔链接。下载 = “我的绘画.png”
} 文件。身体.附属儿童链接

Web组件和您–要避免的危险

星期五,4月18日,二千零一十四

乐高
乐高C松弛

Web组件现在是一个热门话题。在Web上创建作为浏览器呈现流的一部分的小部件是令人惊奇的。继承和提升现有的文化也是如此。不喜欢选择看起来还是工作?拿着它,把你不喜欢的东西覆盖掉。随着网络在移动设备上的使用,性能是主要目标。我们能做的任何事情都是一件好事,我们可以节省电池的消耗,保持界面的响应性而不显得迟缓。

Web组件是HTML.HTML太基本,不允许我们创建应用程序接口。当我们定义HTML5我们错过了创建语义小部件的机会存在于其他UI库中。而不是看人们在HTML,看看其他什么可能更谨慎些放射免疫分析环境的确如此。我们将新元素的范围限制为人们已经使用JS和DOM.相反,我们应该瞄准与更丰富的环境或桌面应用程序的对等性。但是,嘿,事后诸葛亮很容易。

我现在更担心的是,我们很可能会弄乱Web组件。对于每一个Web开发人员来说,现在都要和构建浏览器的人交谈,这一点很重要。我们需要以我们的最终用户从Web组件中获益最大的方式实现这一点。我们需要确保我们的兴奋点集中在Web组件的长期目标上。当他们运行的平台还没有完全准备好的时候,现在还不知道如何使用它们。

搞砸的机会有多大?有一些。从我在几次活动和各种会谈中收集到的信息,我看到了以下危险:

  • 单浏览器解决方案
  • 对填充库的依赖性
  • 创建不可访问的解决方案
  • 在元素后面隐藏复杂和不充分的解决方案
  • 重复“只是另一个插件在执行$X”错误

单浏览器解决方案

这应该很明显:只在一个浏览器中工作的东西只对该浏览器有效。只有当此浏览器是该环境中唯一可用的浏览器时,才能使用它们。作为一家科技公司追求这一点没有错。苹果表明,当你控制软件和环境时,你可以创造出人们喜爱的优秀产品。它是,然而,网络作为一个整体的损失,因为我们不能强迫人们拥有一个特定的浏览器或环境。这与整个网络概念背道而驰。幸运的是,不同的浏览器支持Web组件(在不同的支持级别授予)。我们应该努力要求这一点继续下去。我们需要这个,像Web组件这样的伟大概念不应该依赖于一家支持它们的公司。当只有一个浏览器支持时,许多其他被认为是解决所有问题的伟大解决方案的网络创新很快就消失了。共享技术是更安全的技术。虽然事实上,更多的人在某件事上拥有股份,使得交付变得更加困难,这也意味着有更多的眼球来预测问题。总体而言,共享的努力阻止了开放技术成为某种产品的载体。

对填充库的依赖性

几年前,我们有了一个伟大的想法,同时也是一个可怕的想法:让我们用JavaScript来解决浏览器中的问题。让我们来解决DOM通过创建jquery之类的库,原型,moootools和其他。让我们用CSS图书馆。让我们扩展CSS使用预处理器。让我们用polyfill来模拟旧浏览器中现代浏览器的功能。

所有这些都是为了一个简单的目标:掩盖浏览器的差异,让人们现在就可以使用未来的技术。一方面,这是一个伟大的概念:它使新开发人员能够在不必担心浏览器问题的情况下完成工作。它还允许任何开发人员在发布日期之前使用最新的技术。这意味着我们可以通过监视开发人员如何必威体育下载实现接口来向他们学习他们想要和需要什么。

但我们似乎忘记了,这些解决方案是为了填补空白而构建的,我们开始依赖于它们。开发人员不想回到DOM一旦他们习惯了$()的交互。人们不使用的东西,浏览器制造商可以取消他们已经完成的时间表。这就是为什么许多标准提案甚至是基本提案HTML5其中缺少功能。为什么要把精力放在开发人员不使用的东西上?我们掉进了“现在开始工作,我们有这个“,”一旦性能成为一个问题,它就无法帮助我们。许多桌面上的jquery解决方案在移动设备上无法很好地运行。不是因为jquery本身,但因为我们如何使用它。

这让我想到了Web组件解决方案,比如X标签聚合物.这些是非常好的,因为它们使Web组件现在和跨各种浏览器可用。使用它们让我们了解到我们的未来是多么令人惊奇。我们需要确保不依赖他们。相反,我们需要继续关注在浏览器中实现核心功能。图书馆是现在完成工作的工具。我们应该让他们变得多余。

现在,这些框架很小,动作敏捷,表现良好。随着时间的推移,所有软件都会不断增长,这种情况可能会发生变化。在一个资源匮乏的环境中,比如25美元的智能手机或电视机中的嵌入式系统,每个字节都是囚犯。任何需要支持的代码IE8只是自重。

创建不可访问的解决方案

让我们面对现实:一般的Web开发人员对可访问性更为困惑,而不是对它感到兴奋。原因很多,这些都不值得带到这里来。事实上,不可访问的接口对任何人都没有帮助。我们吹捧闪光是邪恶的,因为它阻挡了人们。然而,我们构建了无法通过键盘访问的小部件。我们没有提供适当的标签。当我们创造出紧密的互动边界时,我们会让事情变得难以使用,并期待脑外科医生的稳定之手。幸运的是,有一个新的 兴奋关于可访问性和Web组件.我们有机会做些新的事情,这次就做对了。这就意味着我们应该与不同能力的人和该领域的专家进行沟通。让我们不只是逐字地将jquery插件转换为Web组件。让我们重新开始吧。

在元素后面隐藏复杂和不充分的解决方案

本质上,Web组件允许您编写比HTML允许你现在做。这太棒了,正如它所做的HTML可扩展的(而不是奇怪的XHTML2方法)这也很危险,由于在组件中隐藏很多效率低下的代码很简单,就像任何抽象一样。因为我们现在可以把一切都变成一个元素,并不意味着我们应该。进入组件的应该是异常代码。它应该表现得非常好,并且依赖性最小。让我们不要创造很多好看的部件,它们都有很好的特点,在发动机罩下很慢,很难维护。仅仅因为你看不到它并不意味着规则不适用。

重复“只是另一个插件在做$X”错误

您可以使用Web组件创建自己的传送带。这并不意味着你必须这么做。很可能有人已经构建了一个,并且Web组件的继承模型允许您重用这项工作。拿着它,根据你的个人需要调整它。如果你现在寻找的jquery插件是图像传送带,你最好带点时间。在支持和维护的各种状态下,有很多。写一个很简单,但很难维持。

编写一个好的小部件要比看起来困难得多.我们不要创建很多组件,因为我们可以。相反,让我们集中我们的研究和发现,构建一些能够完成工作并根据需要覆盖特性的功能。核心组件必须随时间变化,以满足不同的环境需求。只有当我们有一套的时候才会发生这种情况,测试,经过验证和良好的架构。

总结

我对此非常兴奋,我可以看到未来网络的光betway体育官方网明前景。这涉及到我们所有人,我希望Flex开发人员能够看看我们在这里做了什么,并将他们的经验带入其中。我们需要一个丰富的网络,我看不到创造DOM基于小部件的解决方案将随着未来设备的多样性而变得更长。

浏览器不一致:动态GIF和DrawImage()

星期三,4月16日,二千零一十四

我刚被问到为什么当你复制一个GIF使用drawImage()在画布元素中。简短的回答是:铬的行为不符合规范。chrome复制当前可见的GIF而火狐复制第一帧。后者是与规范一致.

你可以看到行为在这个演示页面
画布上的动画GIF

这是Firefox上的bug以及WebKit中的Bug请求保持一致多亏了彼得·卡斯汀,还有Bug已提交闪烁.

使这在浏览器中工作的唯一方法似乎是转换GIF在它的框架中,在画布中播放,很像JSGIF做。

在Windows XP和IE6上

星期三,4月9日,二千零一十四

星期二,微软宣布Windows XP支持结束.对于Web开发人员,这意味着非常高兴,因为我们终于摆脱了Internet Explorer 6的束缚,现在可以使用所有酷的东西。HTML5,CSS3和其他技术必须提供。对吗?也许吧。

XP

当我开始开发Web时,我的第一个真正的日常浏览器是IE4然后Netscape Navigator Gold转到Netscape Communicator 4。我看到了IE5,5.5最后IE6.我被这些能力吓坏了IE6有。你有过滤器,页面转换,旋转,模糊,动画使用字幕,甚至全屏应用程序使用.hta扩展。在这些应用程序中,您拥有对系统的完整JScript访问权,你可以读写文件,遍历文件夹等等。小细节:攻击者也是如此,因为安全模型不是最好的,但是,嘿,细节…

这些都不是标准,而其他浏览器都无法接受。这可能是不可能的,因为浏览器的功能是主要的区别,公司保护他们的USP。

IE从来也不会只是一个浏览器:它是操作系统本身不可分割的一部分。不管好坏,微软选择把网络消费工具也变成文件浏览和文档显示工具。当时的许多未来主义特征IE6在PowerPoint样式的演示文稿中需要它们。

这就是为什么XP的结束对于那些遭受诅咒的人来说是一道曙光IE6.许多用户只是不想升级他们的浏览器,因为操作系统附带的功能已经足够好了。

饼干天堂

当然,我们现在有一个安全问题:并非所有的XP安装都将被替换而安全补丁的缺乏将导致许多黑客服务器。看到许多自动取款机运行在XP和许多政府计算机上,这真是可怕。仅英国政府就花了550万英镑龈沟液关于获得对xp的扩展支持因为这么多的机器和这么多的繁文缛节似乎很难继续下去。XP与IE6对网络开发人员来说,这并不是一件令人讨厌的事情——他们长期以来都是对互联网安全和人们在线身份的真正威胁。

封闭环境困境中的快速创新者

你想说什么就说什么IE6长期以来,它一直是一个笑话——拥有它并将其作为基于Web标准的浏览器(Opera,Netscape6和随后的火狐)教会了我们很多。拥有一个敢于涉足应用程序的浏览器HTML几年前W3Cwidget spec或adobe air很有趣。在操作系统中有一个浏览器,这自然是人们点击上网的第一件事,这有助于互联网的普及。但它对整个互联网没有帮助。

当然,最大的问题是人们没有升级,操作系统也没有强制升级浏览器。这意味着公司有一个固定的目标来培训员工:如果它在IE6,对我们来说已经够好了.这就是为什么我们有数百个只在IE中工作的大型系统。其中许多是企业系统:客户关系管理,资产管理,票务,细胞质雄性不育,文档管理——所有这些有趣的东西都有很多菜单和树,表单也有很多规则。

没人喜欢用这些东西。人们不关心他们,他们只是把它们视为完成工作的必备品,以及被称为IT部门的神奇多毛小精灵创造的东西。当你不喜欢某样东西,但需要使用它时,任何变化都是可怕的,这就是为什么许多尝试用更加用户友好的跨平台系统来取代这些系统的尝试都会遭到抱怨或公开抗议的原因。我称之为斯德哥尔摩界面综合症:多年来我一直在忍受它,所以我必须喜欢它,正确的?所有其他的东西意味着更多的工作。

但是回到浏览器的问题是:问题不是IE6,问题在于它的普遍性,一个还不太懂网络的观众,他们并不渴望选择,而是使用那里的东西,微软的工具集中在为IE创造神奇的东西上,首先,可能是其他浏览器的退步。锁定的工具IE6大部分时间不是由Web开发人员创建的,但是.NET的开发人员,经典ASP,SharePoint和许多其他非常适合手头工作的工具。一切似乎都很简单,这些工具似乎远远优于那些涵盖多个目标的工具,当您停留在生态系统中时,一切都是轻而易举的。你甚至不需要自己创新——你只是等到平台添加了下一个惊人的功能作为构建过程的一部分(这甚至发生在那些只会让你的雇主付出代价,意味着你可以得到一件很棒的T恤来启动的可怕事件上)。听起来对封闭平台和抽象开发人员工具中正在发生的事情非常熟悉,不是吗?看——这是未来,现在–如果您使用平台X或浏览器Y。

我们应该从中拿走什么?

这让我了解到,我们应该从这些年为注定失败的环境必威体育下载构建东西的过程中吸取教训:浏览器会发生变化,操作系统更改,形状因素改变。我们所认为的是最先进的技术,而现在最令人惊奇的事情,充其量只能是可笑的,最坏的情况是,在未来一年内,创新将受到破坏。

不仅仅是微软的错.微软看到了他们的愚蠢做法(好吧,还有一些诉讼作为额外的鼓励),并且做得很好,告诉人们升级他们的系统,停止瞄准老一套。他们知道并非每个开发人员都使用Windows和使虚拟化测试更加容易.他们也是关于新的IE支持哪些标准的信息传递更加开放。.如果他们理解这一点,我们应该,也是。

我们应该牢记以下几点:

  • 将浏览器连接到操作系统中会使其更难升级–您现在可以在Android股票浏览器或iOS中看到这一点。许多令人惊奇的特点HTML5需要聚乙烯填充,不是为了旧IE,但对于相对较新的浏览器来说,由于操作系统无法更新而无法升级(有时在几个月前的硬件上是500美元)。
  • 为浏览器的当前状态构建软件是危险的–尤其是当你不能相信当前的状态是稳定的时候。许多依赖WebKit前缀功能的解决方案看起来已经像“if(document.layers document.all)”那样愚蠢。
  • 不要假装你能告诉最终用户要使用什么浏览器这完全是自大。写软件意味着处理未知的事物并做好准备。错误处理比成功案例更重要。伟大的用户体验是无形的——它只是起作用。错误处理会造成不愉快的用户,没有什么比在酒店按分钟付费连接更烦人的了,因为有人告诉我需要使用其他浏览器或更新我的浏览器。不要假装你的工作是如此重要,如果你需要做的只是在你的方法上更具创造性,人们就必须为你改变。

我们中只有少数不幸的人需要支持IE6以像素完美的方式。XP的死并不是我们真正需要的大解放。无论如何,这并不意味着你现在写的Web应用程序和网站都依赖于新浏览器中的前沿技术而不需要测试。这永远不会消失,它不应该。它让我们成为工匠,它让我们保持警惕。我们需要在编码之前思考,对我来说,这绝不是一个坏主意。

规则没有改变:

  • HTML是王–当其他一切都失败时会显示,它会表现得非常好。
  • 渐进式增强意味着你现在和明天都要写作–期望事情破裂,计划一下,你永远不会感到惊讶。
  • 浏览器统计数据是傻瓜的黄金–谁在乎北美有多少安装了特定统计数据包的人使用浏览器X或浏览器Y。您的最终用户使用什么?优化形状因素和相互作用,不适用于浏览器。这些总是会改变的。
  • 为一个浏览器写作有助于该浏览器与其他浏览器竞争,但它伤害了整个网络–我们现在正在进行一场关于浏览器创新的极速竞争。这会产生大量优秀的数据,但如果创新在几个版本之后消失,则对开发人员没有帮助。我们有工作要做,还有项目要交付。做豚鼠的时间不多了
  • 真正的创新发生在我们增强平台的时候–我们需要浏览器中的Web组件,我们需要浏览器中的WebRTC,我们需要一个更稳定的离线和本地存储解决方案。我们不需要更多的填充物,因为它们往往会成为负债。

所以,瑞普XP,感谢所有的艰难困苦和困惑,让我们分析我们所做的并从错误中吸取教训。必威体育下载让我们继续努力,不要构建下一个XP/IE6场景,因为我们喜欢新的闪亮玩具。

恐惧,愤怒和幸灾乐祸——或者如何应对沟通噩梦。

星期一,4月7日,二千零一十四

在中间做一个沟通噩梦从来都不是乐趣,但这是一次重要的学习经历。必威体育下载我敢肯定,大多数问题都是从沟通错误开始的,然后逐步升级。

说发生了什么事,你非常不同意。有人说了一些攻击你的话,你的信仰或你非常认同的群体。

这感觉不太好,它开始了一些其他的感觉。可能是愤怒,厌恶,烦恼,无助,恐惧,尴尬,不安全,只是举几个例子。这些都不是好感。有些可以转化为好的结果,但大多数会让你觉得在最低的水平上是无利可图的,而另一方面却彻底崩溃了。

让我们来看看最常见的:

恐惧

恐惧使人变得可怕

“恐惧是精神杀手”是绝对真理。害怕的人停止贡献,沉默了。这就是极权主义政权的运作方式:你显示出自己是全能的,是做出决定的人,你以一种非常公开和残忍的方式让所有反对你的人闭嘴。这使得每个人都生活在恐惧之中——公民和敌人都一样。恐惧让你感到无助,你不想说话,因为你不想脱颖而出。在最坏的情况下,你不想说出来,因为它会惩罚所有你爱的人。你不想说话,因为你会感受到群众的喧闹和侵略性。你有投入要付出,但你觉得这是不公平的,因为你所代表的,你被推到一个特定的群体在一个白纸黑字的场景。

愤怒

愤怒可以产生效果。我很生气让我的公寓回到现在的状态,所以我在打扫卫生。愤怒也可能是任何明智的讨论或危险的结束。我在伦敦经常骑自行车。人们挤进我的车道,人们推得离我越来越近。我可以敲他们的车,也可以对他们大喊大叫。这很可能会让我被杀,因为这会分散他们的注意力,并使他们受到惊吓,变成暴力行为。有时候最好的办法是数到10然后让它过去。愤怒有一种不幸的倾向堆积起来。

抱着愤怒就像喝着毒药,期待着别人死去——佛陀

幸灾乐祸的

在大多数长时间的通信问题中,迟早会发现攻击者中的一个也不是没有缺陷和无辜的。这不应该是个惊喜——我们都是人类。在许多情况下,最热衷于攻击某个目标的人就是那些害怕成为他们攻击的对象的人。再次恐惧。幸灾乐祸是有毒的。betway体育官方网这是一个推诿责任的游戏,没有人能赢。

怎么办,应该知道什么?

在过去的几天里,我收到了许多来自辩论各方的令人安心的电子邮件和信息,感谢我采取了不那么激烈的立场和分析。我不是一个有着圣人耐心的超人。相反,我学会了分析自必威体育下载己的行为,思考和思考,然后再把东西扔出去。我有时会失败,同样,但我越来越好了,对此我很高兴。betway体育官方网最重要的是要注意你的影响,而不是你的信息。

要避免的错误1:推特对于情绪化的话题是很糟糕的。

松散的tweets使舰队沉没

Twitter太棒了。我喜欢140个字符的限制,因为它让我在发送东西之前思考。可悲的是,它也允许非常短和强烈的信息,可以变成一个乒乓球游戏的陷阱,最终,仇恨或暴躁的“同意不同意”。

在你发一条关于敏感话题的微博之前,考虑以下几点:

  • 推特上的评论可以被媒体和其他人从话题中删除。.没有人关心整条线。多汁的一点就是引证的内容。那么,就由你来保护自己,并带来环境,只有10%(如果你幸运的话)的读者会听说。相反,他们自己开始大喊错误的引语。
  • tweet被归档了——有很多种几个月后可以用来对付你。不管你的观点是否改变,因为你不能改变推特,它可以归因于你。哦,是的,你可以删除tweet,但对媒体来说,这是一个更好的信息。“$company employee在twitter上展示了他的批评,但随后删除了twitter。”这是一个很好的暗示,可以宣称你的公司或同行团体会审查你。

要避免的错误2:被欺负提供你没有的信息

不要想当然。你有头脑;而是质疑他们。有一件事很容易理解,也很重要:如果你不知道什么,不要假设.就这么简单。你不知道,所以不要说“是”或“否”,因为你可以被引用,然后由你自己再解释一遍。当你的猜测选择是错误的,你最终被安排到一个你不想加入的群体中时,这尤其糟糕。没有什么比被那些你不喜欢的人喝彩更烦人的了,因为你帮助了他们的事业。

人们会试图欺负你站在一边。,尤其是在Twitter上。这些人不在乎洞察力(尽管这是一个常见的伎俩:“嘿,你在里面,太棒了,我很想听听你对这件事的看法。)betway体育官方网他们想有攻击的弹药。“你怎么能说那不是真的呢?你公司的X美元是这么说的,我可以在这里证明。别为这个倾倒。相反,把桌子翻过来问问题.如果需要,重复你的问题。以下是我用过的:

  • 你从哪里得到这些信息的?我不知道这一点,也不属于这个决定的一部分。你能给我看看吗?
  • 这是一个有趣的话题和问题,但我不认为它能在这里以这种格式回答。
  • 你想让人们谈论这个话题吗,如果它围绕着你,而没有充分的洞察力betway体育官方网?我会为此感到难过的。betway体育官方网

不要说“没有评论”.这意味着你知道,但你选择说还是不允许说。这是一个在你说出你隐藏的信息之前一直缠着你的邀请。

避免错误3:害怕并隐瞒重要信息

害怕那些不好的报价,别害怕你的同事.不愉快的沉默无济于事——表现出团结的确如此。与同事交谈,与你身边的人交谈,告诉他们你的感受。直接和个人指出你认为不符合标准的人。他们应该认识到自己的错误并做出弥补,你不能和他们一起跳到拳击台上。沉默的大多数人有重要的观点要做,你有权告诉他们。
如果你害怕说出来,告诉那些愿意这样做的人,并要求他们把你的观点融入其中。你不必成为目标,但你可以帮助你揭示真相。不是最响亮的赢。

谋智人:这是一个提议——如果你的观点让你担心,并且感到害怕,不敢说话,告诉我。我会保持你的匿名,但尽我所能告诉别人你的波夫.

避免错误4:被愤怒所吞噬

你对消极的人反应越少,你的生活会变得更加平静

非常愤怒的人不想找到解决办法。他们想发泄,他们想让别人感觉不好,这样他们才能感觉更好。他们想通过口头上殴打某人来赢得胜利并使之沉默,这对他们来说是一个很大的打击。避免成为那个人。这可能会发生。不要喂巨魔。我妈妈总是说“尖叫的人,是错的。我知道有很棒歌词和信息的朋克乐队,但总的来说,我认为她是对的。

你能做什么?

不要沉默太久。不要等到事情平息后再公开发表你的意见。这只会把问题拖得更远。相反,帮助寻找解决方案。成为治疗和学习过程的一部分。必威体育下载简单的工作:

  • 研究并发现明显的错误信息–告诉那些为你付费的人。这是他们箭袋里的一支箭
  • 倾听他人并提供帮助–如果有人明显受到震动,生气或感到无助,直接联系他们,并提供一个同情的耳朵。你可以帮助别人避免成为目标
  • 告诉人们什么时候他们是破坏性的—个人而非公众。不要喊叫,只需指出他们所说的可以从上下文中看到,以及它是如何让你感觉到的。
  • 休息一下–跟踪所有发生的事情很容易让人疯狂,我们新的快乐社交媒体世界就是由这些组成的。信息是一种瘾,你想要的越来越多,越来越快。最快的消息是坏消息(两个坏消息,研究得不好但听起来很重要的新闻(感谢杰西·鲁德曼要求澄清)最重复的信息很可能是错误的,但听起来很重要。(在《银河系漫游指南》中有一个可爱的部分,一个种族建造了一个由坏消息驱动的宇宙飞船。这是有史以来最快的,但当它到达他们的星球时,没有人会感到高兴)

在外面对彼此好一点,保护自己不被误解,问很多问题。如果你觉得被一个你不想被攻击的人攻击,直接和立即地告诉他们,告诉他们你的感受。

人类交流是我们所说的20%和我们所说的80%——声音,肢体语言,面部表情。所有这些都在网上丢失了,所以,让我们通过互相交谈而不是公开叫喊来获得消息。

婴儿蝙蝠

我们有两只耳朵和一张嘴,在我们这样做之前,我们应该多听而不是多说,更重要的是要全听。