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

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

四月份存档2014

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

星期二,4月22日,2014

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

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

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

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

var链接=文件。createElement“A”;链接。内HTML = 下载图片的;链接。添加事件侦听器“点击”, 函数电动汽车 {链接。href =画布。toDataURL;链接。下载 = “我的绘画.png”;
}, ;文件。身体附属物链接;

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

星期五,4月18日,2014

乐高
乐高C松弛

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

Web组件是自然演化的HTML。HTML太基本,不允许我们创建应用程序接口。当我们定义HTML5我们错过了创建语义小部件的机会存在于其他UI库中。而不是看人们在HTML,考虑其他因素可能更为谨慎RIA环境的确如此。我们将新元素的范围限制为人们已经使用JS和DOM。相反,我们应该瞄准与更丰富的环境或桌面应用程序同等的目标。但是,嘿,事后聪明很容易。

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

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

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

一个浏览器的解决方案

这应该是很明显的:只在一个浏览器中工作的东西只适合那个浏览器。它们只能在该环境中只有这个浏览器可用时使用。作为一家科技公司,这样做没有错。苹果表明,当你控制软件和环境时,你可以创造出人们喜爱的优秀产品。它是,然而,网络作为一个整体的损失,因为我们不能强迫人们拥有一个特定的浏览器或环境。这与整个网络概念背道而驰。幸运的是,不同的浏览器支持Web组件(在不同的支持级别授予)。我们应该努力要求这种情况继续下去,走得更远。我们需要这个,像Web组件这样的伟大概念不应该依赖于一家支持它们的公司。当只有一个浏览器支持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日,2014

我刚被问到为什么Firefox在复制a时不像Chrome做同样的事情GIF使用drawImage()在画布元素中。简单的回答是:Chrome的行为不符合规范。的当前可见帧复制GIF而火狐复制第一帧。后者是符合规范

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

这是Firefox上的bugWebkit中的错误请求保持一致多亏了彼得·卡斯汀,还有Bug已提交闪烁

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

在Windows XP和IE6上

周三,4月9日,2014

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

极限压力

当我开始web开发时,我的第一个真正的日常浏览器是它的然后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对web开发人员来说,它们并不是麻烦事——在很长一段时间内,它们是对互联网安全和人们在线身份的真正威胁。

封闭环境中的快速创新者

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

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

没人喜欢用这些东西。人们不关心他们,他们只是把它们视为完成工作的必要之物,以及由神奇的毛茸茸的小精灵们创建的IT部门。当你不喜欢某样东西,但需要使用它时,任何变化都是可怕的,这就是为什么许多试图用更用户友好的跨平台系统来取代这些系统的尝试遭到了抱怨或公开反对。我把这叫做斯德哥尔摩界面综合症:所以我必须喜欢它,正确的?所有其他的东西意味着更多的工作。

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

我们应该从中拿走什么?

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

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

我们应该牢记以下几点:

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

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

规则没有改变:

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

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

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

星期一,4月7日2014

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

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

这感觉不太好,它开始了一些其他的感觉。可能是愤怒,恶心,烦恼,无助,恐惧,尴尬,不安全,仅举几个例子。这些都不是好的感觉。有些可以带来好的结果,但大多数会让你觉得在最低层次上没有效率,在另一端完全崩溃。

让我们来看看最常见的:

恐惧

恐惧使人变得可怕

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

愤怒

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

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

格洛特

在大多数长时间的沟通问题中,攻击者迟早会发现其中一个也不是没有缺点和无辜的。这不应该是个惊喜——我们都是人类。在很多情况下,最狂热的攻击者是那些仅仅害怕成为他们攻击的对象的人。又害怕了。幸灾乐祸是有毒的。betway体育官方网这是一个推诿责任的游戏,没有人能赢。

怎么办?需要注意什么?

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

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

松散的tweets使舰队沉没

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

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

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

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

不要想当然。你有大脑;而是质疑他们。有一件事很容易理解,也很重要:如果你不知道什么,不要以为。就这么简单。你不知道,所以不要说“是”或“否”,因为你可以被引用,然后由你自己再解释一遍。当你的选择猜错了,结果被分到一个你不想加入的小组时,情况就更糟了。当你帮助别人的时候,没有什么比被你不喜欢的人鼓掌更烦人的了。

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

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

不要说“没有评论”。这意味着,但是你选择说还是不允许说。这是一个不断纠缠你的邀请,直到你说出你隐藏的信息。

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

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

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

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

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

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

你能做什么?

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

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

在外面善待彼此,保护自己不被错误引用,问很多很多问题。如果你感到被一个你没有预料到的人攻击,直接和立即地告诉他们,告诉他们你的感受。

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

小蝙蝠

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