<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
    xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:wfw="http://wellformedweb.org/CommentAPI/"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:atom="http://www.w3.org/2005/Atom"
    xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    >

<channel>
    <title>Webmonkey &#187; Webkit</title>
    <atom:link href="http://www.webmonkey.com/tag/webkit/feed/" rel="self" type="application/rss+xml" />
    <link>http://www.webmonkey.com</link>
    <description>The Web Developer&#039;s Resource</description>
    <lastBuildDate>Mon, 06 May 2013 17:29:19 +0000</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <generator>http://wordpress.org/?v=3.4.2</generator>
    
    <item>
        <title>What Makes WebKit, WebKit?</title>
        <link>http://www.webmonkey.com/2013/03/what-makes-webkit-webkit/</link>
        <comments>http://www.webmonkey.com/2013/03/what-makes-webkit-webkit/#comments</comments>
        <pubDate>Fri, 01 Mar 2013 15:58:36 +0000</pubDate>

                <dc:creator>Scott Gilbertson</dc:creator>

        <guid isPermaLink="false">http://www.webmonkey.com/?p=61117</guid>
        		<category><![CDATA[Browsers]]></category>
		<category><![CDATA[Webkit]]></category>
            <enclosure url="http://www.webmonkey.com/wp-content/uploads/2013/03/webkit-200x100.png" type="image/png" length="48000" />
                    <description><![CDATA[<div class="rss_thumbnail"><img src="http://www.webmonkey.com/wp-content/uploads/2013/03/webkit.png" alt="What Makes WebKit, WebKit?" /></div>It's the most widely used rendering engine on the web, but not every WebKit-based browser is the same and your website will not necessarily look the same in all of them. Google Chrome's Paul Irish offers developers an overview of what WebKit is and why not all "WebKits" are the same.]]></description>

            <content:encoded><![CDATA[<p><!-- wpautop enabled -->
<p><a href="http://www.webmonkey.com/wp-content/uploads/2013/03/webkit.png"><img src="http://www.webmonkey.com/wp-content/uploads/2013/03/webkit.png" alt="" title="webkit" width="215" height="174" class="alignleft size-full wp-image-61118" /></a>WebKit, the rendering engine that powers web browsers like Google&#8217;s Chrome, Apple&#8217;s Safari, and soon <a href="http://www.webmonkey.com/2013/02/presto-is-dead-long-live-opera/">Opera as well</a>, has become a developer favorite thanks to its support for web standards and near-ubiquity in the mobile world. </p>
<p>Unfortunately for developers, WebKit isn&#8217;t always WebKit. While WebKit-based browsers share some code, not every WebKit-based browser behaves exactly the same way.</p>
<p>WebKit is an open source project with dozens of browsers based off the core code. But WebKit doesn&#8217;t have everything you need to build a graphical web browser, which means there&#8217;s considerable variation even among the two biggest WebKit users &#8212; Google and Apple. </p>
<p>To clear up just what WebKit is, and why there&#8217;s sometimes quite a bit of difference between WebKit browsers, Google&#8217;s Paul Irish &#8212; who is part of Chrome&#8217;s Developer Relations team &#8212; has put together <a href="http://paulirish.com/2013/webkit-for-developers/">a comprehensive guide to WebKit</a>. Irish covers exactly what WebKit is, what it isn&#8217;t, how WebKit is used by WebKit-based browsers and why not all &#8220;WebKits&#8221; are the same.</p>
<p>Irish&#8217;s write-up should be required reading for all developers, but especially anyone who&#8217;s ever wondered why something works in Chrome, but not Safari; or why 3D transforms that fly in one WebKit-based browser crawl in another (short answer: GPU code is not shared among WebKit browsers). </p>
<p>When you&#8217;ve finished with Irish&#8217;s overview, be sure to follow the links at the bottom of his post for more details &#8212; particularly worth your time is <a href="https://www.youtube.com/watch?v=RVnARGhhs9w">Eric Seidel&#8217;s talk on how WebKit renders a webpage</a>.</p>
<div id='linker_widget' class='contextly-widget'></div>]]></content:encoded>
            <wfw:commentRss>http://www.webmonkey.com/2013/03/what-makes-webkit-webkit/feed/</wfw:commentRss>
        <slash:comments>0</slash:comments>

        
    </item>
    
    <item>
        <title>Give the Web the Finger With Microsoft&#8217;s Proposed &#8216;Pointer Events&#8217;</title>
        <link>http://www.webmonkey.com/2013/02/microsofts-pointer-events/</link>
        <comments>http://www.webmonkey.com/2013/02/microsofts-pointer-events/#comments</comments>
        <pubDate>Thu, 28 Feb 2013 15:33:14 +0000</pubDate>

                <dc:creator>Scott Gilbertson</dc:creator>

        <guid isPermaLink="false">http://www.webmonkey.com/?p=61098</guid>
        		<category><![CDATA[Browsers]]></category>
		<category><![CDATA[Web Standards]]></category>
		<category><![CDATA[IE10]]></category>
		<category><![CDATA[Webkit]]></category>
            <enclosure url="http://www.webmonkey.com/wp-content/uploads/2013/02/pointerevents-200x100.jpg" type="image/jpeg" length="48000" />
                    <description><![CDATA[<div class="rss_thumbnail"><img src="http://www.webmonkey.com/wp-content/uploads/2013/02/pointerevents.jpg" alt="Give the Web the Finger With Microsoft&#8217;s Proposed &#8216;Pointer Events&#8217;" /></div>Currently most web browsers register any input as a mouse event, even when you're browsing on a tablet with your finger. Microsoft wants to change that. The company wants to change it so bad it's not only written up the new Pointer Events spec, it's also working with its erstwhile competitor to add support to WebKit and even has a polyfill available for other web browsers. ]]></description>

            <content:encoded><![CDATA[<p><!-- wpautop enabled --><div id="attachment_61100" class="wp-caption aligncenter" style="width: 590px"><a href="http://www.webmonkey.com/wp-content/uploads/2013/02/pointerevents.jpg"><img src="http://www.webmonkey.com/wp-content/uploads/2013/02/pointerevents.jpg" alt="" title="pointerevents" width="580" height="364" class="size-full wp-image-61100" /></a><p class="wp-caption-text">The proposed Pointer Events spec makes it easier to handle input from fingers, pens. <em>Image: W3C</em>.</p></div>
<p>The W3C recently moved Microsoft&#8217;s proposed Pointer Events spec to <a href="http://www.w3.org/News/2013.html#entry-9726">Last Call Working Draft</a>. To help developers get up to speed, the IEBlog has published an overview of Pointer Events. </p>
<p>Microsoft has even helped to create a <a href="http://appendto.com/blog/2013/02/prototype-chromium-build-with-support-for-ms-pointer-events/">build of WebKit</a> with experimental support for Pointer Events (for those not using Windows 8 or who&#8217;d prefer not to test in IE 10).</p>
<p>The goal of the <a href="http://www.w3.org/TR/pointerevents/#intro">Pointer Events spec</a> is to provide a unified model for dealing with all the various input devices on today&#8217;s web, namely, the mouse, the stylus and the finger. </p>
<p>Pointer Events handle the various ways a user might be interacting with your site without requiring you to write unique code for each input method.</p>
<p>Currently most browsers register any input as a mouse event, even when it obviously is not (as is the case for most mobile browsers). It works, but it&#8217;s what you might call a blunt approach. Pointer Events adds some finesse to the equation, including details like the touch contact geometry size, the pressure applied or the tilt angle of a pen. </p>
<p>If you&#8217;d like to get your hands dirty with Pointer Events, either fire up IE 10 or <a href="http://appendto.com/blog/2013/02/prototype-chromium-build-with-support-for-ms-pointer-events/">download the experimental WebKit build</a> and head on over to the W3C&#8217;s Web Platform docs. Microsoft&#8217;s Rob Dolin has a <a href="http://docs.webplatform.org/wiki/concepts/PointerEvents">great overview tutorial</a> with basic examples on how to get started. Also be sure to watch the video below from the recent W3Conf; Jacob Rossi, IE Program Manager gives a nice overview of Pointer Events and what you can do with them.</p>
<p><iframe width="580" height="326" src="http://www.youtube.com/embed/SCfVn4JY5yk" frameborder="0" allowfullscreen></iframe></p>
<p>Right now only IE 10 supports Pointer Events, but Microsoft&#8217;s David Catuhe has developed a JavaScript polyfill, called HandJS, to support Pointer Events in browsers that don&#8217;t yet offer native support. Kudos to Microsoft for not just bringing pointer events to the W3C, but for working to add support to a competing browser and creating a polyfill for the rest.</p>
<div id='linker_widget' class='contextly-widget'></div>]]></content:encoded>
            <wfw:commentRss>http://www.webmonkey.com/2013/02/microsofts-pointer-events/feed/</wfw:commentRss>
        <slash:comments>0</slash:comments>

        
    </item>
    
    <item>
        <title>Think One Fewer Browser Means Less Work? Think Again</title>
        <link>http://www.webmonkey.com/2013/02/think-one-less-browser-means-less-work-think-again/</link>
        <comments>http://www.webmonkey.com/2013/02/think-one-less-browser-means-less-work-think-again/#comments</comments>
        <pubDate>Thu, 14 Feb 2013 17:39:00 +0000</pubDate>

                <dc:creator>Scott Gilbertson</dc:creator>

        <guid isPermaLink="false">http://www.webmonkey.com/?p=60928</guid>
        		<category><![CDATA[Browsers]]></category>
		<category><![CDATA[Web Standards]]></category>
		<category><![CDATA[Webkit]]></category>
            <enclosure url="http://www.webmonkey.com/wp-content/uploads/2013/02/webkitring-200x100.jpg" type="image/jpeg" length="48000" />
                    <description><![CDATA[<div class="rss_thumbnail"><img src="http://www.webmonkey.com/wp-content/uploads/2013/02/webkitring.jpg" alt="Think One Fewer Browser Means Less Work? Think Again" /></div>You might think that, if every web browser used the WebKit engine, it would be much easier to build websites. But you'd be wrong. The problem, or one of them, is that there is no WebKit, but many WebKit browsers, each a little different than the rest.]]></description>

            <content:encoded><![CDATA[<p><!-- wpautop enabled --><div id="attachment_60929" class="wp-caption aligncenter" style="width: 590px"><a href="http://www.webmonkey.com/wp-content/uploads/2013/02/webkitring.jpg"><img src="http://www.webmonkey.com/wp-content/uploads/2013/02/webkitring.jpg" alt="" title="webkitring" width="580" height="245" class="size-full wp-image-60929" /></a><p class="wp-caption-text">WebKit: not actually one ring, but many, many rings. <em>Image: Screenshot/Webmonkey</em></p></div>
<p>Opera software is <a href="http://www.webmonkey.com/2013/02/presto-is-dead-long-live-opera/">abandoning its homegrown rendering engine</a> in favor of the open source WebKit rendering engine. Many developers seem to think this means one fewer browser to test in, but unfortunately, that&#8217;s not the case.</p>
<p>The problem with the dream of less testing because there&#8217;s more WebKit is that &#8220;WebKit&#8221; can mean many things. The WebKit in Safari does not have all the features you&#8217;ll find in the WebKit that powers Google Chrome. The situation gets even more complicated with mobile where there are about as many <a href="https://en.wikipedia.org/wiki/List_of_web_browsers#WebKit-based">different versions of WebKit</a> as there are browsers.</p>
<p>As Mozilla&#8217;s Rob Hawkes and Robert Nyman point out in the post <em><a href="http://robertnyman.com/2013/02/14/webkit-an-objective-view/">WebKit: An Objective View</a></em>, that means &#8220;each browser will still have its own quirks, performance differences, design, and functionality. These should all be tested for.&#8221; </p>
<p>Worse, individual WebKit browsers can <a href="https://twitter.com/paul_irish/statuses/301660482891284480">pick and choose which APIs</a> to include in their final builds, which means just because something is available in WebKit, does not mean it&#8217;s available in, for example, both Chrome and Safari. Couple this with Safari&#8217;s relatively slow release schedule and just the two major desktop WebKit variants are going to require testing to make sure everything works.</p>
<p>Throwing a WebKit-based Opera in the mix just means another WebKit browser that needs to be part of your testing. </p>
<p>There&#8217;s nothing wrong with this state of affairs, nor will it change all that much when Opera is on WebKit as well, but it won&#8217;t mean less testing, nor is it going to make web developers&#8217; lives any easier (especially since most of them weren&#8217;t testing in Opera anyway). </p>
<p>Testing will always be a necessary part of web development, but the danger that Hawkes and Nyman foresee is that developers will test less because they assume that if something works in one version of WebKit it will work in all of them. While that hasn&#8217;t happened yet, the <a href="http://www.webmonkey.com/2012/02/webkit-isnt-breaking-the-web-you-are/">CSS prefix debacle</a> certainly doesn&#8217;t bode well for the WebKit-heavy future.</p>
<div id='linker_widget' class='contextly-widget'></div>]]></content:encoded>
            <wfw:commentRss>http://www.webmonkey.com/2013/02/think-one-less-browser-means-less-work-think-again/feed/</wfw:commentRss>
        <slash:comments>0</slash:comments>

        
    </item>
    
    <item>
        <title>Presto Is Dead; Long Live Opera!</title>
        <link>http://www.webmonkey.com/2013/02/presto-is-dead-long-live-opera/</link>
        <comments>http://www.webmonkey.com/2013/02/presto-is-dead-long-live-opera/#comments</comments>
        <pubDate>Wed, 13 Feb 2013 16:28:42 +0000</pubDate>

                <dc:creator>Scott Gilbertson</dc:creator>

        <guid isPermaLink="false">http://www.webmonkey.com/?p=60910</guid>
        		<category><![CDATA[Browsers]]></category>
		<category><![CDATA[Opera]]></category>
		<category><![CDATA[Webkit]]></category>
            <enclosure url="http://www.webmonkey.com/wp-content/uploads/2013/02/opera-200x100.jpg" type="image/jpeg" length="48000" />
                    <description><![CDATA[<div class="rss_thumbnail"><img src="http://www.webmonkey.com/wp-content/uploads/2013/02/opera.jpg" alt="Presto Is Dead; Long Live Opera!" /></div>Opera Software is giving its web browsers the equivalent of a heart transplant, ripping out the Presto rendering engine and replacing it with WebKit, the same open source rendering engine that powers Google Chrome and Apple Safari.]]></description>

            <content:encoded><![CDATA[<p><!-- wpautop enabled -->
<p><img src="http://www.webmonkey.com/wp-content/uploads/2011/12/operaicon.jpg" />Opera software announced this morning that it is <a href="http://www.opera.com/press/releases/2013/02/13/">dumping its homegrown Presto rendering engine</a> in favor of the increasingly ubiquitous WebKit rendering engine.</p>
<p>For all new products Opera will use WebKit as its rendering engine and V8 as its JavaScript engine, mirroring what you&#8217;ll find in Google&#8217;s Chrome browser. Apple&#8217;s Safari also uses WebKit, though it has its own JavaScript engine. </p>
<p>Writing on the Opera Developer Blog, Opera&#8217;s Bruce Lawson <a href="http://my.opera.com/ODIN/blog/300-million-users-and-move-to-webkit">says</a> the first WebKit-based Opera browser &#8220;will be for smartphones, which we&#8217;ll demonstrate at Mobile World Congress in Barcelona at the end of the month.&#8221;</p>
<p>While Opera&#8217;s desktop market share hovers around 2 to 4 percent, the company&#8217;s two mobile browsers have, until very recently, been the most used mobile browsers on the web.</p>
<p>Indeed, while Opera&#8217;s official announcement is vague about the reasons for the switch, it doesn&#8217;t take a soothsayer to know that the reason is mobile. One influencing factor is no doubt the fact that Apple&#8217;s iOS only allows third-party web browsers if they use the built-in WebKit rendering engine. </p>
<p>Then there&#8217;s the <code>-webkit</code> <a href="http://www.webmonkey.com/2012/07/new-opera-12-50-dons-webkit-disguise/">CSS vendor prefix problem</a>. At least some of the blame for Presto&#8217;s demise falls on web developers for <a href="http://www.webmonkey.com/2012/02/webkit-isnt-breaking-the-web-you-are/">developing against WebKit</a>, rather than using web standards. </p>
<p>CSS vendor prefixes were designed to help web developers by giving them a way to target CSS to specific browsers and use proposed standards before they were finalized. The idea was to move the web forward without rushing the CSS standards process. Unfortunately, it hasn&#8217;t always worked out that way. In fact, web developers fell in love with the <code>-webkit</code> prefix and often forget that there are other prefixes as well: <code>-o</code> for Opera, <code>-moz</code> for Firefox and <code>-ms</code> for Internet Explorer.</p>
<p>Using only <code>-webkit</code> means sites break in Opera even though Opera could have rendered the site just fine if the developer had bothered to include the <code>-o</code> prefix.</p>
<p>Of course, as Mozilla&#8217;s Christian Heilmann <a href="http://christianheilmann.com/2013/02/13/i-will-miss-the-douglas-crockford-of-browsers/">points out</a>, &#8220;content not showing up or showing up broken in your product is terrible for a commercial company &#8212; the web is never wrong, if your browser shows it wrongly it is your fault, right?&#8221;</p>
<p>It would always be Opera&#8217;s fault in the eyes of most users and that&#8217;s why the company decided to support the <code>-webkit</code> prefix last year. In many ways today&#8217;s announcement is just one step further &#8212; if you&#8217;re going to support the prefix, why not just use the rendering engine? That seems to be exactly what Opera has decided to do. </p>
<p>So what becomes of the Opera features you know and love? The DragonFly developer tools are most likely done for, WebKit already has its own developer tools. It&#8217;s less clear what might happen to Opera&#8217;s other unique features like the built-in e-mail client or Opera Turbo, which compresses webpages to give broadband-like speeds on almost any internet connection.</p>
<p>An Opera spokesperson declined to comment on the future of any Opera features, telling Webmonkey only that &#8220;compression is in Opera&#8217;s DNA, but other than that we don&#8217;t talk about features of  unreleased products.&#8221;</p>
<p>While I&#8217;m optimistic about Opera&#8217;s WebKit future, it&#8217;s hard to see the loss of a rendering engine as anything but bad news for the web. One less rendering engine means one less way to discover and fix bugs in web standards, one less place to see what you&#8217;ve done wrong. And Opera, while sometimes difficult to test in, was almost always right when it came to implementing web standards. In 13 years of building websites I&#8217;ve found no other testing environment in which I knew that if something didn&#8217;t work, it was almost certainly my code that was wrong. And I&#8217;m not alone; apparently even some <a href="https://plus.google.com/u/0/116237864387312784020/posts/iRRPVaaPQvo">Chromium developers feel the same way</a>. </p>
<p>But that won&#8217;t stop developers who&#8217;d like to see a monoculture of WebKit from shortsightedly cheering this news. </p>
<p>Mozilla developer Robert O’Callahan <a href="http://robert.ocallahan.org/2013/02/and-then-there-were-three.html">summarizes</a> why a WebKit-centric web is not a good thing: </p>
<blockquote>
<p>some people are wondering whether engine diversity really matters. &#8216;Webkit is open source so if everyone worked together on it and shipped it, would that be so bad?&#8217; Yes. Web standards would lose all significance and standards processes would be superseded by Webkit project decisions and politics. Webkit bugs would become the standard: there would be no way for developers to test on multiple engines to determine whether an unexpected behavior is a bug or intended.</p>
</blockquote>
<p>WebKit makes a fine rendering engine and it does a good job of keeping up with web standards, but don&#8217;t assume that just because a web browser uses WebKit under the hood that it will render your pages the same as every other WebKit browser. Just look at the rendering and feature differences between Chrome, Safari, Mobile Safari and Mobile Chrome to get a sense of the pain that awaits developers yearning for a WebKit monoculture.</p>
<p>The other possible downside to a WebKit Opera is that the company&#8217;s once mighty voice for standards may not be heard as clearly amid the Google- and Apple-dominated WebKit developer culture.</p>
<p>Hopefully the WebKit community will find a place for the developers who brought us tabbed browsing, mouse gestures, &#8220;Speed Dial&#8221;, Turbo, and an uncompromising support for web standards that made Opera one of the first browsers to pass both the ACID 2 and ACID 3 page-rendering tests. For its part Opera is starting off on the right foot, offering up code that brings Presto-quality support for the <a href="http://www.w3.org/TR/css3-multicol/">CSS Multi-column Layout Module</a> to WebKit.</p>
<p>Hopefully Opera engineers will continue to bring the same kind of innovation to WebKit and Chromium as they did to Presto and with any luck WebKit will listen and the web will end up a better, if less diverse, place.</p>
<div id='linker_widget' class='contextly-widget'></div>]]></content:encoded>
            <wfw:commentRss>http://www.webmonkey.com/2013/02/presto-is-dead-long-live-opera/feed/</wfw:commentRss>
        <slash:comments>0</slash:comments>

        
    </item>
    
    <item>
        <title>New Opera 12.50 Dons WebKit Disguise</title>
        <link>http://www.webmonkey.com/2012/07/new-opera-12-50-dons-webkit-disguise/</link>
        <comments>http://www.webmonkey.com/2012/07/new-opera-12-50-dons-webkit-disguise/#comments</comments>
        <pubDate>Mon, 09 Jul 2012 16:17:14 +0000</pubDate>

                <dc:creator>Scott Gilbertson</dc:creator>

        <guid isPermaLink="false">http://www.webmonkey.com/?p=57903</guid>
        		<category><![CDATA[Browsers]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Opera]]></category>
		<category><![CDATA[Webkit]]></category>
            <enclosure url="http://www.webmonkey.com/wp-content/uploads/2012/07/tabletscreens-w.jpg" type="image/jpeg" length="48000" />
                    <description><![CDATA[<div class="rss_thumbnail"><img src="http://www.webmonkey.com/wp-content/uploads/2012/07/tabletscreens-w.jpg" alt="New Opera 12.50 Dons WebKit Disguise" /></div>Opera Software has released an early preview of Opera 12.50, notable for its controversial decision to support a CSS prefix meant only for WebKit browsers. ]]></description>

            <content:encoded><![CDATA[<p><!-- wpautop enabled -->
<p><div id="attachment_54287" class="wp-caption alignnone" style="width: 590px"><img class="size-full wp-image-54287 " title="tabletscreens" src="http://www.webmonkey.com/wp-content/uploads/2012/02/tabletscreens.jpg" alt="" width="580" height="387" /><p class="wp-caption-text">Is it Opera or is it WebKit? <em>Photo: Ariel Zambelich/Wired</em><a href='http://creativecommons.org/licenses/by-nc/3.0/' class='border:none; outline:none;'> <img src='http://www.wired.com/about/wp-content/gallery/global/creative-commons.gif' class='creative-commons'> </a></p></div> Opera software has made good on its controversial decision to support the <code>-webkit</code> CSS prefix. The browser maker has <a href="http://my.opera.com/desktopteam/blog/2012/07/06/marlin-1250-swim">released a preview version of Opera 12.50</a> with support for a dozen <code>-webkit</code> prefixed CSS properties, including transforms, transitions and border-radius.</p>
<p>If you&#8217;re curious and want to see how Opera handles <code>-webkit</code> prefixes, head on over to Opera and download the latest version of Opera Next for <a href="http://snapshot.opera.com/windows/marlin_12.50-1497/Opera-Next-12.50-1497.i386.exe" rel="nofollow" target="_blank">Windows 32-bit</a>, <a href="http://snapshot.opera.com/windows/marlin_12.50-1497/Opera-Next-12.50-1497.x64.exe" rel="nofollow" target="_blank">Windows 64-bit</a>, <a href="http://snapshot.opera.com/mac/marlin_12.50-1497/Opera-Next-12.50-1497.dmg" rel="nofollow" target="_blank">Mac</a> or <a href="http://snapshot.opera.com/unix/marlin_12.50-1497/" rel="nofollow" target="_blank">Linux</a>. (Keep in mind that 12.50 is still a very early release and contains some known bugs.)</p>
<p>Opera&#8217;s decision to support another browser&#8217;s CSS prefix code has caused <a href="http://www.webmonkey.com/2012/02/web-developers-sound-off-on-webkit-prefixes/">considerable outcry</a> among web developers and members of the CSS Working Group, which created vendor prefixes.</p>
<p>CSS vendor prefixes were designed to help web developers by giving them a way to target CSS to specific browsers and use proposed standards before they were finalized. The idea was to move the web forward without rushing the CSS standards process. Unfortunately, it hasn&#8217;t always worked out that way. In fact, <a href="http://www.webmonkey.com/2012/02/webkit-isnt-breaking-the-web-you-are/">web developers fell in love with the <code>-webkit</code> prefix</a> and often forget that there are other prefixes as well: <code>-o</code> for Opera, <code>-moz</code> for Firefox and <code>-ms</code> for Internet Explorer.</p>
<p>The problem, in Opera&#8217;s view, is that instead of writing code that will work in any web browser, some of even the largest sites on the web are coding exclusively for WebKit (the rendering engine that powers web browsers on the iPhone, iPad and Android phones). Web developers have, the argument goes, created the same sort of monoculture that used to exist around Internet Explorer, with websites proudly proclaiming they &#8220;work best in WebKit.&#8221;</p>
<p>Opera decided that, in order to remain competitive, it needed to support <code>-webkit</code> in addition to its normal <code>-o</code> prefix. </p>
<p>The company previously <a href="http://www.webmonkey.com/2012/04/opera-forges-ahead-with-plan-to-support-webkit-prefixes">updated its mobile emulator tool</a> to support <code>-webkit</code>, but Opera 12.50 is the first actual browser release to do so.</p>
<p>Naturally the <code>-webkit</code> prefix support isn&#8217;t the only thing new in Opera 12.50. This release also manages to pack in an implementation of the <a href="http://dev.w3.org/2006/webapi/clipops/clipops.html">Clipboard API</a>, and Mac Opera users will find that Opera 12.50 uses Mac OS X 10.8’s coming Notification Center.</p>
<div id='linker_widget' class='contextly-widget'></div>]]></content:encoded>
            <wfw:commentRss>http://www.webmonkey.com/2012/07/new-opera-12-50-dons-webkit-disguise/feed/</wfw:commentRss>
        <slash:comments>0</slash:comments>

        
    </item>
    
    <item>
        <title>CSS Variables: WebKit Brings the CSS Jackalope to Life</title>
        <link>http://www.webmonkey.com/2012/06/css-variables-webkit-brings-the-css-jackalope-to-life/</link>
        <comments>http://www.webmonkey.com/2012/06/css-variables-webkit-brings-the-css-jackalope-to-life/#comments</comments>
        <pubDate>Fri, 15 Jun 2012 20:51:58 +0000</pubDate>

                <dc:creator>Scott Gilbertson</dc:creator>

        <guid isPermaLink="false">http://www.webmonkey.com/?p=57397</guid>
        		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Webkit]]></category>
            <enclosure url="http://www.webmonkey.com/wp-content/uploads/2012/06/Animalia_Qvadrvpedia_et_Reptilia_Terra_Plate_XLVIIcrop1-200x100.jpg" type="image/jpeg" length="48000" />
                    <description><![CDATA[<div class="rss_thumbnail"><img src="http://www.webmonkey.com/wp-content/uploads/2012/06/Animalia_Qvadrvpedia_et_Reptilia_Terra_Plate_XLVIIcrop1.jpg" alt="CSS Variables: WebKit Brings the CSS Jackalope to Life" /></div>The mythical beast known as the CSS Variable is about to be released into the wild. WebKit, the engine that powers browsers like Safari and Chrome, will soon support one of the most requested features for CSS -- variables. ]]></description>

            <content:encoded><![CDATA[<p><!-- wpautop enabled --><div id="attachment_57474" class="wp-caption alignleft" style="width: 350px"><a href="http://www.webmonkey.com/wp-content/uploads/2012/06/Animalia_Qvadrvpedia_et_Reptilia_Terra_Plate_XLVIIcrop1.jpg"><img src="http://www.webmonkey.com/wp-content/uploads/2012/06/Animalia_Qvadrvpedia_et_Reptilia_Terra_Plate_XLVIIcrop1.jpg" alt="" title="Animalia_Qvadrvpedia_et_Reptilia_(Terra)_Plate_XLVIIcrop" width="340" class="size-full wp-image-57474" /></a><p class="wp-caption-text">The mythical Jackalope surrounded by CSS bunnies. <em>Image: <a href='https://commons.wikimedia.org/wiki/File:Animalia_Qvadrvpedia_et_Reptilia_(Terra)_Plate_XLVII.jpg'>Wikimedia</a></em></p></div></p>
<p>The mythical beast known as the CSS Variable is about to be released into the wild. </p>
<p>The WebKit team, which builds the browsing engine that powers both the Safari and Chrome web browsers, recently <a href="http://trac.webkit.org/changeset/120154'">landed preliminary support for CSS Variables</a>, which means variables will likely turn up soon in Chrome/Chromium and Safari <a href="http://nightly.webkit.org/">nightly builds</a>.</p>
<p>Variables used to be one of the most requested features for CSS, particularly from programmers accustomed to languages with variables. But, between then and now, CSS preprocessors like <a href="http://sass-lang.com/">SASS</a> and <a href="http://lesscss.org/">LESS</a> have largely filled the role by offering variables (and more). Still SASS and LESS are not CSS, and do require compiling, so there may still be a place for variables in CSS.</p>
<p>There&#8217;s nowhere to actually test out CSS variables yet, but you can read up on the <a href="http://www.w3.org/TR/css-variables/">proposed variable syntax at the W3C</a>. The spec is currently a working draft and may change considerably before it is finalized, but the proposed syntax looks like this:</p>
<pre class="brush: css">
:root {
    var-header-color: #06c;
}
h1 { background-color: var(header-color); }
</pre>
<p>The first rule is the new variable syntax and defines a property named &#8220;var-header-color&#8221; on the root element. Then you can use that variable throughout your stylesheets with the <code>var(header-color)</code> syntax. Also note that you can use variables within variables like this:</p>
<pre class="brush: css">
:root {
    var-my-color: #06c;
    var-background: linear-gradient(left, var(my-color), white);
}
</pre>
<p>There are some more examples of how to use variables on <a href="http://www.w3.org/TR/css-variables/">the W3C page</a>, as well as in <a href="http://trac.webkit.org/browser/trunk/LayoutTests/fast/css/variables">WebKit&#8217;s test suite</a>.</p>
<p>The bad news is that variables aren&#8217;t backwards-compatible at all. Older browsers will simply ignore them (right now all browsers will ignore them) and if you&#8217;re defining key elements like background colors with variables the results in older browsers won&#8217;t be pretty. Eventually old browsers will fade away and CSS variables will probably become commonplace, but for the next few years at least we suggest looking to a preprocessor if you simply must have your variables.</p>
<div id='linker_widget' class='contextly-widget'></div>]]></content:encoded>
            <wfw:commentRss>http://www.webmonkey.com/2012/06/css-variables-webkit-brings-the-css-jackalope-to-life/feed/</wfw:commentRss>
        <slash:comments>0</slash:comments>

        
    </item>
    
    <item>
        <title>WebKit Offers Early Preview of &#8216;Web Intents&#8217;</title>
        <link>http://www.webmonkey.com/2012/05/webkit-offers-early-preview-of-web-intents/</link>
        <comments>http://www.webmonkey.com/2012/05/webkit-offers-early-preview-of-web-intents/#comments</comments>
        <pubDate>Wed, 09 May 2012 16:40:02 +0000</pubDate>

                <dc:creator>Scott Gilbertson</dc:creator>

        <guid isPermaLink="false">http://www.webmonkey.com/?p=56402</guid>
        		<category><![CDATA[APIs]]></category>
		<category><![CDATA[Browsers]]></category>
		<category><![CDATA[Web Standards]]></category>
		<category><![CDATA[Web Intents]]></category>
		<category><![CDATA[Webkit]]></category>
            <enclosure url="http://www.webmonkey.com/wp-content/uploads/2012/05/handshake-w.jpg" type="image/jpeg" length="48000" />
                    <description><![CDATA[<div class="rss_thumbnail"><img src="http://www.webmonkey.com/wp-content/uploads/2012/05/handshake-w.jpg" alt="WebKit Offers Early Preview of &#8216;Web Intents&#8217;" /></div>The new "Intent" tag debuts in WebKit, the engine that powers web browsers like Chrome and Safari. Web Intents, as the new API behind the Intent tag is known, allows websites to easily pass data between each other -- for example, to edit a photograph or share a link with friends.]]></description>

            <content:encoded><![CDATA[<p><!-- wpautop enabled -->
<p><a href="https://secure.flickr.com/photos/aidan_jones/3575000735/"><img src="http://www.webmonkey.com/wp-content/uploads/2011/08/handshake_Aidan_Jones_flickr1.jpg" alt="" title="handshake_Aidan_Jones_flickr" width="290" height="197" class="alignleft size-full wp-image-51303" /></a>The WebKit project, creators of the rendering engine that powers web browsers like Safari and Chrome, has <a href="http://trac.webkit.org/changeset/116384">added support for the new Intent tag</a>, part of the <a href="http://dvcs.w3.org/hg/web-intents/raw-file/tip/spec/Overview.html">proposed Web Intents standard</a>. </p>
<p>Originally <a href="http://paul.kinlan.me/web-intents-a-fresh-look">developed by Google&#8217;s Paul Kinlan</a>, Web Intents are a kind of meta-website API that would allows sites to easily pass data between each other &#8212; for example, to edit a photograph or share a URL with friends.</p>
<p>Since Kinlan initially proposed Web Intents &#8212; which are based on a similar system used in Google&#8217;s Android operating system &#8212; Mozilla and several other companies have <a href="http://www.webmonkey.com/2011/08/google-mozilla-team-up-to-create-a-smarter-action-based-web/">joined forces to work on standardizing Web Intents</a>.</p>
<p>Web Intents offer a way to connect your favorite sites to each other and pass data between them. The canonical example is a photo-sharing website that wants to let you edit your uploaded images. To do that, the site simply adds a button, Edit This Photo, and behind the scenes the new <code>&lt;intent&gt;</code> tag tells the browser that the button wants to connect to a photo-editing service. The browser would then either connect to your favorite online photo editor or offer a list of options.</p>
<p>In practice Web Intents work a bit like <code>mailto:</code> links, defining an action and then passing it along to the browser, which allows the user to choose how to handle the action. The difference is that instead of opening a desktop app, Web Intents connect to web services. Here&#8217;s a barebones example of what the tag looks like (taken from <a href="http://examples.webintents.org/intents/share/share.html">webintents.org</a>):</p>
<pre class="brush: html">
&lt;intent 
  action="http://webintents.org/share" 
  type="image/*" 
  href="image.html" 
  title="Kinlan's Image Share" /&gt;
</pre>
<p>In this example the browser would then give the user a list of registered image sharing apps &#8212; services like Twitter, Facebook, Google+ and so on &#8212; which the user can choose from.</p>
<p>Part of what makes Web Intents appealing is that it decouples services. Instead of waiting for Flickr to support the latest and greatest online photo editor, Flickr could simply add an intent tag and let you choose any editor you like, including that cool new one that&#8217;s still a private beta. Flickr would simply pass the image to the editor of your choice and when you&#8217;re done tweaking your photo the editor would then pass the final image back to Flickr.</p>
<p>Other use cases for Web Intents include choosing a preferred search engine, cloud printing, logging into websites and, of course, sharing something on your preferred social networks.</p>
<p>For some more background on Web Intents, check out Paul Kinlan&#8217;s blog, particularly his overview post on the <a href="http://paul.kinlan.me/web-intents-a-fresh-look">brief history of Web Intents</a> and his follow-up on <a href="http://paul.kinlan.me/getting-your-app-to-support-web-intents-on-ch/">using the Web Intents JavaScript APIs in Chrome</a>. Tantek Çelik, the creator of microformats, also wrote a nice post last year on what he calls <a href="http://tantek.com/2011/220/b1/web-actions-a-new-building-block">Web Actions</a> (same thing, better name). Çelik breaks down the idea behind Web Intents and how they benefit not just developers, but users as well. </p>
<p>As Çelik writes, &#8220;web actions have the potential to change our very notions of what a web application is from a single site to loosely coupled interactions across multiple, distributed sites&#8230;. In that regard, web actions have the potential to become a building block for distributed web applications.&#8221;</p>
<p>Web Intents are a long way from a finalized standard and while many things may change before other browsers add support, if you&#8217;d like to get a sense of what you can do with Web Intents and how they work in practice <a href="http://nightly.webkit.org/">grab the latest WebKit nightly build</a> and point it at <a href="http://examples.webintents.org/">the examples page on webintents.org</a>.</p>
<p><em>Image: <a href="https://secure.flickr.com/photos/aidan_jones/3575000735/">Aidan Jones/CC/Flickr</a></em></p>
<div id='linker_widget' class='contextly-widget'></div>]]></content:encoded>
            <wfw:commentRss>http://www.webmonkey.com/2012/05/webkit-offers-early-preview-of-web-intents/feed/</wfw:commentRss>
        <slash:comments>0</slash:comments>

        
    </item>
    
    <item>
        <title>The iPhone Monoculture Is in Your Mind</title>
        <link>http://www.webmonkey.com/2012/02/the-iphone-monoculture-is-in-your-mind/</link>
        <comments>http://www.webmonkey.com/2012/02/the-iphone-monoculture-is-in-your-mind/#comments</comments>
        <pubDate>Tue, 21 Feb 2012 21:02:39 +0000</pubDate>

                <dc:creator>Scott Gilbertson</dc:creator>

        <guid isPermaLink="false">http://www.webmonkey.com/?p=54485</guid>
        		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Webkit]]></category>
        <description><![CDATA[One mobile web expert argues that while it might seem like the mobile web is all iPhone, it just seems that way. In fact, the problem with the iPhone isn't that it's creating a monoculture around WebKit; the problem is that it's the only phone developers talk about.]]></description>

            <content:encoded><![CDATA[<p><!-- wpautop enabled -->
<div id="attachment_54241" class="wp-caption alignleft" style="width: 310px"><img src="http://www.webmonkey.com/wp-content/uploads/2012/02/tablets.jpg" alt="" title="tablets" width="300" height="224" class="size-full wp-image-54241" />
<p class="wp-caption-text"><em>Photo: Ariel Zambelich/Wired.com</em> <a href='http://creativecommons.org/licenses/by-nc/3.0/' class='border:none; outline:none;'> <img src='http://www.wired.com/about/wp-content/gallery/global/creative-commons.gif' class='creative-commons'> </a></p>
</div>
<p>In the recent kerfuffle over the prevalence of the <code>-webkit</code> CSS prefix and the lack of corresponding prefixes for other browsers, we told you that <a href="http://www.webmonkey.com/2012/02/webkit-isnt-breaking-the-web-you-are/">the problem was with developers</a>, not WebKit browsers. Instead of writing code that will work in any browser many developers are coding exclusively for WebKit and that&#8217;s a problem. </p>
<p>But mobile expert Peter-Paul Koch, better known in the web developer community as just PPK, argues that the real problem is not WebKit, nor is it even web developers&#8217; fascination with WebKit. The real problem is <a href="http://www.quirksmode.org/blog/archives/2012/02/the_iphone_mono.html">the <em>developer-created</em> monoculture of the iPhone</a>. </p>
<p>According to Koch, &#8220;web developers don&#8217;t care about WebKit&#8230;. They care about the iPhone.&#8221;</p>
<p>The interesting thing about Koch&#8217;s argument is that he doesn&#8217;t claim there is <em>actually</em> a monoculture of the iPhone on the web. In fact, he cites some of <a href="https://wiki.mozilla.org/Platform/Layout/CSS_Compatibility#Data_on_vendor-specific_prefixes">Mozilla&#8217;s web crawler stats</a> which seem to say just the opposite. Instead Koch believes the problem is in our heads, so to speak.</p>
<p>&#8220;What we have here is an iPhone monoculture; not in the stats, but in web developers&#8217; minds,&#8221; writes Koch. &#8220;This is the fundamental problem we must address.&#8221;</p>
<p>The cure, says Koch, is to diversify tutorials and examples. &#8220;Start talking about testing in mobile non-WebKit browsers (i.e., Opera),&#8221; he writes. &#8220;Start talking about other platforms besides iPhone (and Android). Start talking about mobile diversity, instead of showing the iPhone over and over and over again.&#8221; What do you do if the only phone you have to test on is the iPhone? Well, there are emulators available for most phones, including Opera&#8217;s very powerful <a href="http://www.opera.com/developer/tools/mobile/">mobile emulator</a> which can simulate all kinds of phones and connections. And don&#8217;t forget that Opera Mini is available for the iPhone if you&#8217;d like to at least test your site in something other than Mobile Safari. </p>
<div id='linker_widget' class='contextly-widget'></div>]]></content:encoded>
            <wfw:commentRss>http://www.webmonkey.com/2012/02/the-iphone-monoculture-is-in-your-mind/feed/</wfw:commentRss>
        <slash:comments>1</slash:comments>

        
    </item>
    
    <item>
        <title>Web Developers Sound Off on WebKit Prefixes</title>
        <link>http://www.webmonkey.com/2012/02/web-developers-sound-off-on-webkit-prefixes/</link>
        <comments>http://www.webmonkey.com/2012/02/web-developers-sound-off-on-webkit-prefixes/#comments</comments>
        <pubDate>Fri, 10 Feb 2012 19:02:15 +0000</pubDate>

                <dc:creator>Scott Gilbertson</dc:creator>

        <guid isPermaLink="false">http://www.webmonkey.com/?p=54310</guid>
        		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Web Standards]]></category>
		<category><![CDATA[CSS Working Group]]></category>
		<category><![CDATA[Webkit]]></category>
            <enclosure url="http://www.webmonkey.com/wp-content/uploads/2012/02/tablets-w.jpg" type="image/jpeg" length="48000" />
                    <description><![CDATA[<div class="rss_thumbnail"><img src="http://www.webmonkey.com/wp-content/uploads/2012/02/tablets-w.jpg" alt="Web Developers Sound Off on WebKit Prefixes" /></div>The prospect of returning to a web littered with sites that only work in one web browser has the web development community searching for alternative answers.]]></description>

            <content:encoded><![CDATA[<p><!-- wpautop enabled -->
<div id="attachment_54241" class="wp-caption alignleft" style="width: 310px"><img src="http://www.webmonkey.com/wp-content/uploads/2012/02/tablets.jpg" alt="" title="tablets" width="300" height="224" class="size-full wp-image-54241" />
<p class="wp-caption-text"><em>Photo: Ariel Zambelich/Wired.com</em></p>
</div>
<p>Yesterday we told you about a disturbance in the web standards force, a supposed rash of websites that work in one and only one web browser. Instead of writing code that will work in any browser many developers are <a href="http://www.webmonkey.com/2012/02/webkit-isnt-breaking-the-web-you-are/">coding exclusively for WebKit</a>, the engine that powers Safari, Chrome, iOS and Android web browsers.</p>
<p>The problem is bad enough that on Monday at the CSS Working Group meeting, Microsoft, Mozilla and Opera announced that each are planning to add support for some -webkit prefixed CSS properties. In other words, because web developers are using only the -webkit prefix, other browsers must either add support for -webkit or risk being seen as less capable browsers even when they aren&#8217;t.</p>
<p>We aren&#8217;t the only ones who think that spells disaster not just for web standards but for the long-term viability of the open web. In fact the response from the web community has all but drowned out everything else in our RSS and Twitter feeds. </p>
<p>Here&#8217;s our round-up of what&#8217;s being proposed, what it might mean for the web and how we might go about solving the problem:</p>
<p>First and foremost read <a href="http://lists.w3.org/Archives/Public/www-style/2012Feb/0313.html">the minutes from the CSS Work Group meeting</a>, which is where all of this started. The legend for the names is at the top of the page, though you&#8217;ll need to scroll about half way down to get to the actual meat of the discussion. </p>
<p>The second must-read post on vendor prefixes comes from CSS Working Group Co-Chair Daniel Glazman who calls on other browser makers to <a href="http://www.glazman.org/weblog/dotclear/index.php?post/2012/02/09/CALL-FOR-ACTION%3A-THE-OPEN-WEB-NEEDS-YOU-NOW">not implement the -webkit prefix</a> and asks developers to make the extra effort to build cross-browser apps. Glazman has since followed up that piece with two more, one <a href="http://www.glazman.org/weblog/dotclear/index.php?post/2012/02/09/Some-clarifications">clarifying</a> the original post and one <a href="http://www.glazman.org/weblog/dotclear/index.php?post/2012/02/10/Blaming-CSS-WG-is-too-easy-Brendan">defending the CSS Working Group</a> against those who argue that the reason prefixes exist is because the standards process is too slow. If you believe that the CSS spec moves to slowly, this post is well worth a read (spoiler alert: it&#8217;s typically browser makers arguing, not the standards process, that creates the hold up on new features).</p>
<p>Remy Sharp of <a href="http://html5doctor.com/">HTML5Doctor</a> fame, <a href="http://remysharp.com/2012/02/09/vendor-prefixes-about-to-go-south/">weighs in</a> with a series of rough ideas, neatly summarizing the issue and looking at it from both sides. In the end Sharp seems to conclude that just about everyone is to blame, from the browsers to the working group to developers.</p>
<p>Rachel Andrew of the web standards project generally agrees with Glazman <a href="http://www.webstandards.org/2012/02/09/call-for-action-on-vendor-prefixes/">writing</a>, &#8220;once again we run the risk of having sites built only for one platform, and [will] find it very hard to get that platform to go away if things move on.&#8221;</p>
<p>The ever-humorous Bruce Lawson, who works as a web standards evangelist at Opera Software, <a href="http://www.brucelawson.co.uk/2012/on-the-vendor-prefixes-problem/">writes</a>: &#8220;Personally &#8212; PERSONALLY &#8212; I&#8217;m pretty depressed about all this. I&#8217;ve spent 10 years &#8212; pretty much since IE6 came out &#8212; evangelizing cross-browser, accessible, standards-based sites. As a development community we chased the Shiny and we caused IE6 to linger around like a vindaloo fart in a windowless loo. And now we&#8217;re doing the same again.&#8221;</p>
<p>Over at Quirksblog mobile expert Peter-Paul Koch argues that <a href="http://www.quirksmode.org/blog/archives/2012/02/the_vendor_pref.html">vendor prefixes are just plain wrong</a>: &#8220;Vendor prefixes are the most developer-hostile solution imaginable. The vendor prefix idea was flawed from the start by putting the full brunt of namespace management on web developers.&#8221; He goes on to propose an interesting idea of <a href="http://www.quirksmode.org/blog/archives/2012/02/alpha_and_beta.html">vendor-neutral prefixes</a> like <code>-alpha</code> and <code>-beta</code> for experimental features.</p>
<p>Aaron Gustafson, a member of the Web Standards Project, has <a href="http://www.change.org/petitions/microsoft-mozilla-opera-dont-make-webkit-prefixes-a-de-facto-standard">started a petition</a> to ask Mozilla, Microsoft and Opera to not implement -webkit. Gustafson also has a <a href="http://blog.easy-designs.net/archives/2012/02/09/this-must-not-happen/">one-line bash script</a> you can use to search your code for any instances of the -webkit prefix so you can double check to make sure you&#8217;re supporting other browsers as well.</p>
<p>Mozilla developer Christian Heilman <a href="http://christianheilmann.com/2012/02/09/now-vendor-prefixes-have-become-a-problem-want-to-help-fix-it/">believes</a> that &#8220;this mess has partly been created by developers, the least we can do is help fix it.&#8221; To that end Heilmann&#8217;s <a href="http://codepo8.github.com/prefix-the-web/">Pre-fix the web project</a> is looking for developers willing to seek out projects on Github that only work in Webkit and then fork the project, adding the missing prefixes to the CSS, extending JS code to do proper feature detection and then sending a pull request. In other words, literally fixing the web.</p>
<p>JavaScript developer Peter van der Zee has <a href="http://qfox.nl/weblog/244">some other possible solutions</a>: &#8220;Either we strongly limit the life span or availability of the prefix by making them only available in beta versions of a browser. Or we force other vendors to pick up on the slack by giving them a certain time to come up with their own implementation of a certain feature, or forfeit that possibility after a certain amount of time.&#8221;</p>
<p>Finally, if you read through the CSS WG notes you&#8217;ll notice that Tantek Çelik cites developer Lea Verou as an example of web developers who use just the -webkit prefix. In fact that&#8217;s completely untrue and Çelik has since corrected his statement. Verou has long <a href="http://lea.verou.me/2012/02/vendor-prefixes-the-css-wg-and-me/">advocated using all prefixes</a> and even created <a href="http://leaverou.github.com/prefixfree/">prefixfree</a> to help automate the process. </p>
<div id='linker_widget' class='contextly-widget'></div>]]></content:encoded>
            <wfw:commentRss>http://www.webmonkey.com/2012/02/web-developers-sound-off-on-webkit-prefixes/feed/</wfw:commentRss>
        <slash:comments>5</slash:comments>

        
    </item>
    
    <item>
        <title>WebKit Isn&#8217;t Breaking the Web. You Are</title>
        <link>http://www.webmonkey.com/2012/02/webkit-isnt-breaking-the-web-you-are/</link>
        <comments>http://www.webmonkey.com/2012/02/webkit-isnt-breaking-the-web-you-are/#comments</comments>
        <pubDate>Thu, 09 Feb 2012 18:42:55 +0000</pubDate>

                <dc:creator>Scott Gilbertson</dc:creator>

        <guid isPermaLink="false">http://www.webmonkey.com/?p=54277</guid>
        		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Web Standards]]></category>
		<category><![CDATA[internet explorer]]></category>
		<category><![CDATA[Webkit]]></category>
            <enclosure url="http://www.webmonkey.com/wp-content/uploads/2012/02/tabletscreens-200x100.jpg" type="image/jpeg" length="48000" />
                    <description><![CDATA[<div class="rss_thumbnail"><img src="http://www.webmonkey.com/wp-content/uploads/2012/02/tabletscreens.jpg" alt="WebKit Isn&#8217;t Breaking the Web. You Are" /></div>The prevalence of "works best in WebKit" sites is threatening to make the web look like it did in the bad old days of Internet Explorer 6. This time it's not a browser maker, or even the popular WebKit rendering engine that's to blame. No, it's web developers who have created the WebKit-only web. And it's up to web developers to make it right again.]]></description>

            <content:encoded><![CDATA[<p><!-- wpautop enabled --><div id="attachment_54287" class="wp-caption alignnone" style="width: 590px"><img class="size-full wp-image-54287 " title="tabletscreens" src="http://www.webmonkey.com/wp-content/uploads/2012/02/tabletscreens.jpg" alt="" width="580" height="387" /><p class="wp-caption-text">WebKit may seem like the only game in town, but it&#39;s not. <em>Photo: Ariel Zambelich/Wired.com</em></p></div></p>
<p>It sounds like something from a galaxy far, far away, but in truth it was not that long ago that the web was littered with sites that proudly proclaimed &#8220;works best in Internet Explorer.&#8221; Thankfully those days are over. IE6 no longer dominates the web.</p>
<p>But, while IE6 may be a thing of the past, the root problem — websites that work in one and only one web browser — sadly, remains.</p>
<p>This time the culprit is WebKit, the rendering engine that powers the browsers on the iPhone, iPad and Android phones. But what&#8217;s different about this round of monoculture is that, unlike IE 6, the WebKit developers haven&#8217;t done anything wrong. It&#8217;s web developers that have created the WebKit-only web.</p>
<p>Instead of writing code that will work in any browser, which might mean adding an extra three lines of code to their CSS rules, some of even the largest sites on the web are <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=708406">coding exclusively for WebKit</a>.</p>
<p>The problem is bad enough that on Monday at the CSS Working Group meeting, Microsoft, Mozilla and Opera announced that each are <a href="http://lists.w3.org/Archives/Public/www-style/2012Feb/0313.html">planning to add support for some -webkit prefixed CSS properties</a>. In other words, because web developers are using only the <code>-webkit</code> prefix, other browsers must either add support for <code>-webkit</code> or risk being seen as less capable browsers <em>even when they aren&#8217;t</em>.</p>
<p>The danger is that if other browsers implement -webkit prefixes then the entire CSS standards effort will be broken. Instead of coding against a single CSS specification developers will need to code against changing vendor prefixes. As CSS Working Group co-chair, Daniel Glazman, says, &#8220;I don&#8217;t think this is the right way. And this is the first time in this WG that we are proposing to do things that are not the right way.&#8221;</p>
<p>Vendor prefixes like <code>-webkit</code> and <code>-moz</code> were designed to help web developers by allowing browser makers to implement CSS features before the official standard was published. Prefixes were intended to help speed up the process of adding new features to the web and, used properly, they have worked. Unfortunately they&#8217;ve also been widely abused.</p>
<p>WebKit is currently the dominant mobile browser in the mind of most web developers (that Opera is <a href="http://gs.statcounter.com/#mobile_browser-ww-monthly-201012-201112">actually the single most widely used mobile browser</a>). But even the perceived dominance of WebKit is not the real problem. The problem is &#8212; just as it was last time &#8212; that web developers are developing exclusively for WebKit.</p>
<p>To be clear, Firefox, IE and Opera also support these features. In most cases, the -webkit properties being used have -moz, -ms and -o prefix equivalents for use in the respective browsers. Popular CSS 3 features like border-radius, transforms, gradients and animations work in all modern browsers. Developers simply need to add those three additional lines of code to make their websites compatible with Firefox, IE and Opera. But they aren&#8217;t doing that.</p>
<p>That the problem lies with web developers, not the browsers, led Glazman, to put out a call for action, asking web developers to &#8220;<a href="http://www.glazman.org/weblog/dotclear/index.php?post/2012/02/09/CALL-FOR-ACTION%3A-THE-OPEN-WEB-NEEDS-YOU-NOW">stop designing web sites for WebKit only</a>, in particular when adding support for other browsers is only a matter of adding a few extra prefixed CSS properties.&#8221;</p>
<p>Neither Glazman, nor anyone else is suggesting that Apple and Google should stop innovating or stop implementing new features as fast as they can. As Tantek Çelik, a Mozilla representative in the CSS WG, says in the minutes of Monday&#8217;s meeting, &#8220;I think it&#8217;s great that Apple wants to innovate as fast as they can&#8230;. I don&#8217;t want Apple to slow down in innovation and implementing new things. That helps the Web grow and innovate.&#8221;</p>
<p>At the same time both Apple and Google have set some <a href="http://www.webmonkey.com/2010/06/apples-html5-showcase-less-about-web-standards-more-about-apple/">bad examples</a> by building a number of <a href="http://www.webmonkey.com/2010/07/chrome-shows-off-some-fancy-html5-tricks/">WebKit-only demos</a> that might be part of what lead some developers to conclude that only WebKit supports such features. That has also spilled over into the world of tutorials where even sometimes even standards advocates showcase -webkit in their sample code while ignoring -moz-<em>, -ms-</em> and -o-*.</p>
<p>What makes the current -webkit-only epidemic all the more depressing is how easy it is to solve &#8212; just use prefixes they way they were intended. Thanks to modern toolkits you don&#8217;t even need to write any extra code. Preprocessors like <a href="http://sass-lang.com/">SASS</a> and <a href="http://lesscss.org/">LESS</a> make it easy to output five lines of prefixed code with a single mixin. Not a fan or SASS or LESS? No problem, just use <a href="https://github.com/myfreeweb/cssprefixer">cssprefixer</a>, which parses your CSS and adds any prefixes you need before you publish it to the web (there&#8217;s also <a href="http://leaverou.github.com/prefixfree/">a client-side auto-prefixing solution</a> if you prefer).</p>
<p>That&#8217;s fine for your website, but what about all the rest of those top 30,000 sites you don&#8217;t control? Well, you could email the developers, let them know that their site isn&#8217;t working in the most popular mobile web browser; let them know that you can&#8217;t use their service. If you&#8217;re a programmer or web developer you can help out with Mozilla developer Christian Hellman&#8217;s effort to <a href="http://codepo8.github.com/prefix-the-web/">Pre-fix the web</a>. Pre-fix the web is looking for developers willing to seek out projects on Github that only work in Webkit and then fork the project, adding the missing prefixes to the CSS, extending JS code to do proper feature detection and then sending a pull request. In other words, literally fixing the web.</p>
<p>We at Webmonkey hope it&#8217;s obvious that building WebKit-only sites is a waste of time. If you&#8217;re only interested in iOS users then take a tip from Instagram and build a native app. As Peter Linss, Hewlett-Packard&#8217;s CSS WG representative says the CSS WG minutes, &#8220;there&#8217;s no advantage to the Web to have someone write a platform-specific website.&#8221; There&#8217;s also no real advantage for the developer, especially when an automated prefixer can do all the work for you. If you want your site to embrace the web, take the time to learn the craft and embrace all of the web. Be good at what you do and do it right.</p>
<div id='linker_widget' class='contextly-widget'></div>]]></content:encoded>
            <wfw:commentRss>http://www.webmonkey.com/2012/02/webkit-isnt-breaking-the-web-you-are/feed/</wfw:commentRss>
        <slash:comments>2</slash:comments>

        
    </item>
    </channel>
</rss>
