<?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>Tiffany B. Brown &#187; WebKit</title>
	<atom:link href="http://tiffanybbrown.com/category/browsers/webkit/feed/" rel="self" type="application/rss+xml" />
	<link>http://tiffanybbrown.com</link>
	<description>A web log about web development and internet culture with frequent detours into other stuff.</description>
	<lastBuildDate>Fri, 10 Feb 2012 23:35:51 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>On Mobile Web Development, Part 2: Stop building WebKit-only sites</title>
		<link>http://tiffanybbrown.com/2012/02/09/on-mobile-web-development-part-2-stop-building-webkit-only-sites/</link>
		<comments>http://tiffanybbrown.com/2012/02/09/on-mobile-web-development-part-2-stop-building-webkit-only-sites/#comments</comments>
		<pubDate>Thu, 09 Feb 2012 16:03:24 +0000</pubDate>
		<dc:creator>tiffany</dc:creator>
				<category><![CDATA[Browsers]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Web Development & Programming]]></category>
		<category><![CDATA[Web standards]]></category>
		<category><![CDATA[WebKit]]></category>

		<guid isPermaLink="false">http://tiffanybbrown.com/?p=6641</guid>
		<description><![CDATA[Following-up on my mobile web development post from last week, we have Daniel Glazou, co-chair of the CSS Working Group outlining the scope of the -webkit-prefix problem. Go read his post Call for Action: The Open Web Needs You *Now*. Or read some of what I&#8217;ve excerpted below. As in the past with IE6, it&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p>Following-up on my <a href="http://tiffanybbrown.com/2012/02/01/on-mobile-web-development/">mobile web development</a> post from last week, we have Daniel Glazou, co-chair of the <a href="http://www.w3.org/blog/CSS/">CSS Working Group</a>  outlining the scope of the <code>-webkit-</code>prefix problem. </p>
<p>Go read his post <a href="http://www.glazman.org/weblog/dotclear/index.php?post/2012/02/09/CALL-FOR-ACTION%3A-THE-OPEN-WEB-NEEDS-YOU-NOW">Call for Action: The Open Web Needs You *Now*</a>. Or read some of what I&#8217;ve excerpted below.</p>
<blockquote class="longquote"><p>As in the past with IE6, it&#8217;s not a question of innovation but a question of hardware market dominance and software bundled with hardware. <strong>But there is an aspect of the problem we did not have during the IE6 era: these web sites are also WebKit-specific because they use only &#8220;experimental&#8221; CSS properties prefixed with -webkit-* and not their Mozilla, Microsoft or Opera counterparts.</strong> So even if the browser sniffing goes away, web sites will remain broken for non-WebKit browsers.</p>
<p>In many if not most cases, the <code>-webkit-*</code> properties WebKit-specific web sites are using do have <code>-moz-*</code>, <code>-ms-*</code>, <code>-o-*</code> equivalents. Gradients, Transforms, Transitions, Animations, border-radius, all interoperable enough to be browser-agnostic. <strong>Their web authors need only a few minutes to make the site compatible with Mozilla, Microsoft or Opera. But they never did it.</strong></p></blockquote>
<p>Emphasis mine. As I said in my previous post, a vendor prefix <q>means that the property is in flux, and the syntax of functionality may change radically once it&#8217;s finalized and implemented.</q> But here we have this mass of (primarily mobile-targeted) web sites<a href="#n20120209">*</a> that are calcifying the web in its current state.</p>
<p>The problem is so bad that, as Glazou says in his post, <q>other browsers will start supporting/implementing themselves the <code>-webkit-*</code> prefix, turning one single implementation into a new world-wide standard.</q> Yes, <b>every major browser vendor</b>, Opera included, will likely implement support for <code>-webkit-*</code> properties. </p>
<p>Save your celebration, son. <strong>Your laziness and myopia is what got us here.<a href="#n20120209b">**</a></strong>. The best we can hope for is that Opera, Mozilla, and Microsoft agree to support the same set of <code>-webkit-*</code> properties, and agree to handle conflicts and cascades the same way.</p>
<p><strong>But what if they don&#8217;t?</strong> Frankly, either way, we have a hot web development mess on our hands. We&#8217;ll either have more of the same proprietary prefix lock-in, or we&#8217;ll have a tangled mess of conflicting implementations.</p>
<h2>Okay, so what can I do?</h2>
<p>If there is any good news, it&#8217;s that <strong>you can get us out of this mess.</strong> Here&#8217;s how.</p>
<h3>Step 1: Educate yourself about the state of browser support for CSS properties</h3>
<ul>
<li><a href="http://html5please.us/">HTML5 Please</a></li>
<li><a href="http://caniuse.com/">When can I use</a></li>
<li><a href="http://lists.w3.org/Archives/Public/www-style/">www-style@w3.org Mail Archives</a></li>
<li><a href="http://www.css-discuss.org/">CSS Discuss</a></li>
</ul>
<h3>Step 2: Use tools to make writing cross-browser CSS3 easier</h3>
<ul>
<li><a href="https://github.com/desandro/textmate-bundles/tree/master/CSS.tmbundle">David Desandro&#8217;s CSS Textmate bundle</a></li>
<li><a href="http://lesscss.org/">LESS</a></li>
<li><a href="http://sass-lang.com/">SaSS</a></li>
<li><a href="http://compass-style.org/">Compass</a></li>
<li><a href="http://css3please.com/">CSS3 Please</a></li>
<li><a href="http://css3.me/">CSS3 Generator</a></li>
<li><a href="http://csslint.net/">CSSLint</a></li>
<li><ins datetime="2012-02-09T18:43:49+00:00">Chris Coyier also has an excellent roundup <a href="http://css-tricks.com/musings-on-preprocessing/">of CSS pre-processing tools</a></ins></li>
<li>Or just write your own script to do it for you<a href="#n20120209c">&dagger;</a></li>
</ul>
</li>
<h3>Step 3: Retrofit your existing code</h3>
<p>That&#8217;s self explanatory. </p>
<p><ins datetime="2012-02-09T16:03:30+00:00">Now ideally, you would also test in every browser. But I understand the tradeoffs between market share and time. For what it&#8217;s worth, Opera tries to make testing easier with its <a href="http://www.opera.com/developer/tools/mobile/">Opera Mobile emulator</a>. You can also set up an <a href="http://tiffanybbrown.com/2011/05/23/setting-up-an-opera-mini-testing-environment/">Opera Mini test environment</a> on your own machine. Firefox also <a href="http://www.mozilla.org/en-US/mobile/">offers a mobile emulator</a>. For Android, <a href="http://developer.android.com/sdk/index.html">install the SDK</a> (it&#8217;s painless). Pro-tip: You can also run other Android browsers using the SDK.</ins></p>
<p>Let&#8217;s not repeat the mistakes of years past in the mobile space. We know better, and we can <em>do</em> better.</p>
<p><ins datetime="2012-02-09T18:03:34+00:00"><b>UPDATE 1:</b> Check out the <a href="http://codepo8.github.com/prefix-the-web/">Prefix the Web</a> project.</ins></p>
<p class="footnote" id="n20120209">*Having learned the lessons with IE6 sites that are optimized for larger screens are less guilty of this.</p>
<p class="footnote" id="n20120209b">**Ever the one for fairness and nuance, I present Ian Lunn&#8217;s <a href="http://www.ianlunn.co.uk/blog/articles/vendor-prefixing-standing-up-for-developers/">Vendor Prefixing: Standing Up for Developers</a>.</p>
<div class="footnote" id="n20120209c">&dagger; This is a PHP snippet that I use from the command line to write individual properties. I use a Mac, so I&#8217;m not entirely sure how this would work on a Windows machine. I&#8217;m sure it would benefit from a <code>#!/usr/bin/php</code> path or the like for Linux users, but it runs as is for me. Save it as a file anywhere you&#8217;d like. Run it using <code>php
<path-and-filename> "unprefixed-property: value"</code>.
<pre><code>&lt;?php

$pref = array('moz','webkit','ms','khtml','o');

$str = '';

foreach($pref as $p){
   printf('-%s-%s;',$p,$argv[1]);
   echo "\n";
}

echo $argv[1].";\n";
?&gt;
</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://tiffanybbrown.com/2012/02/09/on-mobile-web-development-part-2-stop-building-webkit-only-sites/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>input type=&quot;range&quot; and Android&#8217;s stock browser.</title>
		<link>http://tiffanybbrown.com/2012/02/07/input-typerange-and-androids-stock-browser/</link>
		<comments>http://tiffanybbrown.com/2012/02/07/input-typerange-and-androids-stock-browser/#comments</comments>
		<pubDate>Wed, 08 Feb 2012 04:04:56 +0000</pubDate>
		<dc:creator>tiffany</dc:creator>
				<category><![CDATA[(x)HTML]]></category>
		<category><![CDATA[Browsers]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[WebKit]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[html5 forms]]></category>

		<guid isPermaLink="false">http://tiffanybbrown.com/?p=6629</guid>
		<description><![CDATA[Android&#8217;s stock browser supports the range input type, but in versions 3.x4.x and below (not sure about Android 4.x), it doesn&#8217;t actually display the UI. It does, however, support parts of the Shadow DOM. That means we can style this element, and give our users a visible control. The image below shows a rather garish [...]]]></description>
			<content:encoded><![CDATA[<p>Android&#8217;s stock browser supports the <code>range</code> input type, but in versions <del datetime="2012-02-09T14:40:47+00:00">3.x</del><ins datetime="2012-02-09T14:40:47+00:00">4.x</ins> and below <del datetime="2012-02-09T14:40:47+00:00"> (not sure about Android 4.x)</del>, it doesn&#8217;t actually display the UI.</p>
<p>It does, however, support parts of the <a href="http://glazkov.com/2011/01/14/what-the-heck-is-shadow-dom/">Shadow DOM</a>. That means we can style this element, and give our users a visible control.</p>
<p>The image below shows a rather garish green-and-orange version of the range user interface widget. This is after adding some styling, as it appears in the stock Android browser.</p>
<div class="image500"><img src="http://webinista.s3.amazonaws.com/images/uploads/2012/02/rangeui.png" alt="" title="safarirange" width="499" height="52" class="aligncenter size-full wp-image-6632"></div>
<p>And below is the CSS that gives us the above image.</p>
<pre><code>
input[type='range']{
    background: #0c0;
    height:10px;
}

input[type='range']::-webkit-slider-thumb{
    background:#f60;
    height:30px;
    width:30px;
    border-radius: 30px;
}
</code></pre>
<p>To date, this does <em>not</em> affect Chrome or Safari for the Desktop. <code>::-webkit-slider-thumb</code> does partially affect iOS Safari. I&#8217;ve included an image of what it looks like below (not to scale). Notice that the thumb color changes, but the slider background does not.</p>
<div class="image500"><img src="http://webinista.s3.amazonaws.com/images/uploads/2012/02/safarirange.png" alt="" title="safarirange" width="500" height="134" class="aligncenter size-full wp-image-6632"></div>
<p>This <em>may</em> also affect other browsers that use <a href="http://www.webkit.org/">Webkit</a> such as the Web Browser for S60 Nokia and Samsung&#8217;s Dolfin. I haven&#8217;t tested it yet, but if you have, please let us know in the comments.</p>
<p>Also keep in mind that this element has a pretty poor user interaction in Android browser. It&#8217;s not very responsive, and doesn&#8217;t operate all that intuitively. This is true of most mobile browsers, but in my opinion (and based on limited experience), Android is worst of all.</p>
]]></content:encoded>
			<wfw:commentRss>http://tiffanybbrown.com/2012/02/07/input-typerange-and-androids-stock-browser/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Thoughts on practices for CSS Gradients</title>
		<link>http://tiffanybbrown.com/2011/04/06/thoughts-on-practices-for-css-gradients/</link>
		<comments>http://tiffanybbrown.com/2011/04/06/thoughts-on-practices-for-css-gradients/#comments</comments>
		<pubDate>Wed, 06 Apr 2011 23:35:48 +0000</pubDate>
		<dc:creator>tiffany</dc:creator>
				<category><![CDATA[Browsers]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Chrome]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Internet Explorer]]></category>
		<category><![CDATA[Opera]]></category>
		<category><![CDATA[SVG]]></category>
		<category><![CDATA[Safari]]></category>
		<category><![CDATA[WebKit]]></category>
		<category><![CDATA[gradients]]></category>

		<guid isPermaLink="false">http://tiffanybbrown.com/?p=5838</guid>
		<description><![CDATA[Examples of CSS gradients are cropping up in the wild, and with good reason. CSS gradients: don&#8217;t require the additional HTTP request of an image file. are easier to modify than image files. &#8220;weigh less&#8221; than most image files. That&#8217;s the ideal, at least. In their current state, gradients are actually a hot mess. The [...]]]></description>
			<content:encoded><![CDATA[<p>Examples of CSS gradients are cropping up in the wild, and with good reason. CSS gradients:</p>
<ul>
<li>don&#8217;t require the additional HTTP request of an image file.</li>
<li>are easier to modify than image files.</li>
<li>&#8220;weigh less&#8221; than most image files.</li>
</ul>
<p>That&#8217;s the ideal, at least. In their current state, gradients are actually a hot mess. The reality?</p>
<ul>
<li>The <a href="http://dev.w3.org/csswg/css3-images/#gradients">specification</a> is still in flux.</li>
<li>Full gradient support is not available in all modern browsers. (For now, Opera 11 only supports linear gradients.)</li>
<li>Many older, though relatively recent versions of browsers (Internet Explorer 8 &amp; 9, Opera 10 Desktop, Opera Mobile, and Opera Mini, for example) don&#8217;t suport CSS gradients at all.</li>
</ul>
<p>So, how can developers take advantage of gradients and still support older browsers? Let&#8217;s look at some approaches.</p>
<h2>Set a background color</h2>
<p>Take a look at the following CSS:</p>
<pre>
#linear{
    width:400px;
    height:300px;
    background-image: -moz-linear-gradient(top left, #f60 0%, #c09 50%, #fc0 100%);
    background-image: -webkit-gradient(linear, 0% 0%, 100% 100%, from(#f60), to(#fc0), color-stop(0.5,#c09) );
    background-image: -o-linear-gradient(top left, #f60 0%, #c09 50%, #fc0 100%);
}
</pre>
<p>This is a fairly common scenario. The developer (*cough*me*cough*) covered most of her bases, but forgot one: browsers that don&#8217;t support gradients at all. You can see what this looks like in Internet Explorer 9 (see <a href="#fig1_20110405">Figure 1</a>).</p>
<div class="img560" id="fig1_20110405"><img src="http://webinista.s3.amazonaws.com/images/uploads/2011/04/nogradientsupport.png" alt="What a gradient looks like in Internet Explorer 9"/>
<p>Figure 1. Internet Explorer 9 doesn&#8217;t yet support CSS gradients. This is what it looks like if you don&#8217;t supply a background color.</p>
</div>
<p>Now look at the following CSS:</p>
<pre>
#linear{
    width:400px;
    height:300px;
    background-color: #333;
    background-image: -moz-linear-gradient(top left, #f60 0%, #c09 50%, #fc0 100%);
    background-image: -webkit-gradient(linear, 0% 0%, 100% 100%, from(#f60), to(#fc0), color-stop(0.5,#c09) );
    background-image: -o-linear-gradient(top left, #f60 0%, #c09 50%, #fc0 100%);
}
</pre>
<p>Here we&#8217;ve set a background image, but we&#8217;ve also set a background color. Browsers that don&#8217;t support CSS gradients will ignore the last three lines. (Note: each browser also ignores the other browsers&#8217; vendor-specific prefixes.)</p>
<p>Setting a background color is the easiest fall back for older / less modern browsers.</p>
<h2>Set a background image using an external file</h2>
<p>Consider the following CSS.</p>
<pre>
#linear{
    width:400px;
    height:300px;
    background-image: url(migas.jpg);
    background-image: -moz-linear-gradient(top left, #f60 0%, #c09 50%, #fc0 100%);
    background-image: -webkit-gradient(linear, 0% 0%, 100% 100%, from(#f60), to(#fc0), color-stop(0.5,#c09) );
    background-image: -o-linear-gradient(top left, #f60 0%, #c09 50%, #fc0 100%);
}
</pre>
<p>In this example, we&#8217;re taking advantage of how browsers apply the cascade. As it turns out, Opera 11, Chrome whatever-the-heck-version-it&#8217;s-up-to, and Firefox 4 will not make the HTTP request for the external file. Safari, however, does (see <a href="#fig2_20110405">Figure 2</a>). Internet Explorer 9 (and less-modern browsers) will only load the external file. Depending on your audience, this may be an acceptable alternative.</p>
<div class="img560" id="fig2_20110405"><a href="http://webinista.s3.amazonaws.com/images/uploads/2011/04/safari-dowloads-migas.png"><img src="http://webinista.s3.amazonaws.com/images/uploads/2011/04/safari-dowloads-migas640.png" alt="Safari web inspector"/></a>
<p>Figure 2. Safari downloads all images. Click to embiggen.</p>
</div>
<p>Note: I have just barely tested this in mobile browsers. (Opera Mobile 11 doesn&#8217;t support gradients. Users will see the external image).</p>
<h2>Use SVG gradients to create a background image</h2>
<p>Internet Explorer 9 and Opera 10 (including Mobile) do not support CSS gradients. They do, however, both support the use of <abbr title="Scalable Vector Graphics">SVG</abbr> images as background images. Another alternative to using external images, then, is to use an SVG file.</p>
<pre>
#linear{
    width:400px;
    height:300px;
    background-image: url(gradient.gif);
    background-image: url(gradient.svg);
}
</pre>
<p>This example works in all current desktop browsers, and most mobile browsers. Safari 5, again, will download both images. Most others will download the latter SVG image. The advantages here are clarity and (arguably) ease of maintenance. Want a different gradient? Change the images. </p>
<p>You should be aware, though, that some recent(-ish) versions of mobile WebKit &#8212; such as the T-Mobile myTouch 4G browser &#8212; don&#8217;t support SVG backgrounds.  You&#8217;ll still need to add a linear gradient for those browsers, or set a background color.</p>
<h2>Or keep doing what we&#8217;ve been doing</h2>
<p>Of course, the growth of SVG and CSS gradients support doesn&#8217;t preclude using GIF, PNG or JPG gradients. The biggest point in favor of using bitmap images is that they still work in older browsers <em>and</em> current ones. </p>
<p>As with any aspect of web development, the right approach should balance concerns of maintainability, file size, and the browser distribution of your audience.</p>
<h2>You left out <code style="text-transform:lowercase;">linear-gradient</code>!</h2>
<p>I left it out of the examples above for two reasons: (1) simplicity; and (2) the syntax could change (though if I had to predict, it won&#8217;t change by much). Be forward-thinking! There are very few reasons not to include the proposed linear-gradient syntax in your code.</p>
]]></content:encoded>
			<wfw:commentRss>http://tiffanybbrown.com/2011/04/06/thoughts-on-practices-for-css-gradients/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Links for 2010-09-22</title>
		<link>http://tiffanybbrown.com/2010/09/22/links-for-2010-09-22/</link>
		<comments>http://tiffanybbrown.com/2010/09/22/links-for-2010-09-22/#comments</comments>
		<pubDate>Thu, 23 Sep 2010 02:51:48 +0000</pubDate>
		<dc:creator>tiffany</dc:creator>
				<category><![CDATA[Browsers]]></category>
		<category><![CDATA[Chrome]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Link dumps]]></category>
		<category><![CDATA[Opera]]></category>
		<category><![CDATA[WebKit]]></category>

		<guid isPermaLink="false">http://tiffanybbrown.com/?p=4588</guid>
		<description><![CDATA[Running scripts in WebKit WebKit nightly builds now support the HTML5 async and defer script attributes. This makes it easier for web pages to load faster by downloading JavaScript without blocking other elements of the page. How and Why Chrome Is Overtaking Firefox Among Power Users Oh snap! Chrome comes out ahead in a recent [...]]]></description>
			<content:encoded><![CDATA[<dl>
<dt><a href="http://webkit.org/blog/1395/running-scripts-in-webkit/">Running scripts in WebKit</a></dt>
<dd><q>WebKit nightly builds now support the HTML5 async and defer  script attributes. This makes it easier for web pages to load faster by downloading JavaScript without blocking other elements of the page.</q></dd>
<dt><a href="http://lifehacker.com/5645038/how-and-why-chrome-is-overtaking-firefox-among-power-users">How and Why Chrome Is Overtaking Firefox Among Power Users</a></dt>
<dd>Oh snap! Chrome comes out ahead in a recent Lifehacker poll. And oh sniggety snap! <a href="http://opera.com/">Opera</a> comes in with 16.64%. I am a Firefox devotee because of its developer and privacy extensions, namely <a href="https://www.requestpolicy.com/">Request Policy</a> and <a href="https://addons.mozilla.org/en-US/firefox/addon/6623/">Better Privacy</a>.</dd>
<dt><a href="http://www.webmonkey.com/2010/09/open-datas-access-problem-and-how-to-solve-it/">Open Data&#8217;s Access Problem, and How to Solve it</a></dt>
<dd>Shorter version: ensuring equality of access is key. Also see: <a href="http://gurstein.wordpress.com/2010/09/02/open-data-empowering-the-empowered-or-effective-data-use-for-everyone/">Open Data: Empowering the Empowered or Effective Data Use for Everyone?</a></dd>
<dt><a href="http://www.developer.com/features/article.php/52691_3904261_1/Build-Your-First-PHP-for-Android-Application.htm">Build Your First PHP for Android Application</a></dt>
<dd>Some fine folks ported PHP to Android, which means that your favorite scripting language can now be used to create programs for your phone.</dd>
</dl>
]]></content:encoded>
			<wfw:commentRss>http://tiffanybbrown.com/2010/09/22/links-for-2010-09-22/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>On Apple&#8217;s iPad, HTML5, and the future of Flash</title>
		<link>http://tiffanybbrown.com/2010/02/04/on-apples-ipad-html5-and-the-future-of-flash/</link>
		<comments>http://tiffanybbrown.com/2010/02/04/on-apples-ipad-html5-and-the-future-of-flash/#comments</comments>
		<pubDate>Thu, 04 Feb 2010 06:40:09 +0000</pubDate>
		<dc:creator>tiffany</dc:creator>
				<category><![CDATA[Browsers]]></category>
		<category><![CDATA[DOM]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Internet Explorer]]></category>
		<category><![CDATA[Opera]]></category>
		<category><![CDATA[Safari]]></category>
		<category><![CDATA[WebKit]]></category>
		<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[app store]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[dom storage]]></category>
		<category><![CDATA[e-reader]]></category>
		<category><![CDATA[excanvas]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[flash builder]]></category>
		<category><![CDATA[g1]]></category>
		<category><![CDATA[gadgets]]></category>
		<category><![CDATA[h.264]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[ipad]]></category>
		<category><![CDATA[ipod]]></category>
		<category><![CDATA[kindle]]></category>
		<category><![CDATA[mobile web]]></category>
		<category><![CDATA[mozilla]]></category>
		<category><![CDATA[ogg theora]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://tiffanybbrown.com/?p=3359</guid>
		<description><![CDATA[So Apple announced the iPad, and it won&#8217;t support Flash. That shouldn&#8217;t be a surprise. Neither the iPhone nor iPod Touch support Flash. Indeed most mobile platforms don&#8217;t (yet) support Flash. Even the smartest of smart phones have limited processing power and storage space compared to laptops and desktops. According to Steve Jobs, Apple doesn&#8217;t [...]]]></description>
			<content:encoded><![CDATA[<div class="image500"><a href="http://www.apple.com/ipad/"><img src="http://tiffanybbrown.com/images/uploads/2010/02/ipad.jpg" alt="" title="ipad" width="580" height="398" class="alignnone size-full wp-image-3361" /></a></div>
<p>So Apple announced the <a href="http://www.apple.com/ipad/" class="ext">iPad</a>, and it <a href="http://www.guardian.co.uk/technology/blog/2010/feb/02/flash-plugin-browser-apple-adobe">won&#8217;t support Flash</a>. </p>
<p>That shouldn&#8217;t be a surprise. Neither the iPhone nor iPod Touch support Flash. Indeed most mobile platforms don&#8217;t (yet) support Flash. Even the smartest of smart phones have limited processing power and storage space compared to laptops and desktops.</p>
<p>According to Steve Jobs, Apple doesn&#8217;t support Flash on its mobile devices because &#8220;<a href="http://www.wired.com/epicenter/2010/01/googles-dont-be-evil-mantra-is-bullshit-adobe-is-lazy-apples-steve-jobs/" class="ext">it&#8217;s buggy</a>.&#8221; But I&#8217;d guess their decision has as much to do with Flash&#8217;s capabilities. Many of the products in that <a href="http://www.informationweek.com/news/personal_tech/iphone/showArticle.jhtml?articleID=208403482" class="ext" title="$1.2 billions? GOTDAMN!">cash cow</a> known as the Apple App Store could be developed using Flash instead.<sup><a href="#n20100203a">1</a></sup> Supporting Flash would undermine that billion-dollar revenue stream, piss off iPhone / iPad developers, and also put Apple at Adobe&#8217;s mercy. </p>
<p>Besides, everyone&#8217;s moving towards <a href="http://www.w3.org/TR/html5/">HTML5</a>, right? Well yes they are, but not so quickly. <strong>I wouldn&#8217;t rule Flash out for another 3 to 5 years</strong>.<br />
<span id="more-3359"></span><br />
Why do I say this?  Four reasons:</p>
<ol>
<li>
<p><strong>Flash has inertia on its side</strong>. Major content sites such as <a href="http://disney.go.com/index" class="ext">Disney</a> and <a href="http://www.hulu.com/">Hulu</a> still use Flash to deliver video, animation, and interactive experiences. According to Adobe&#8217;s statistics, Flash has <a href="http://www.adobe.com/products/player_census/flashplayer/version_penetration.html">over 90% penetration</a> in mature markets. Developers already know how to use Flash and ActionScript to create these experiences. In short: there are a lot of folks invested in Flash as a platform.</p>
</li>
<li>
<p><strong>HTML 5 isn&#8217;t quite ready for prime time</strong>. It&#8217;s a shifting standard, a work-in-progress. Though even Internet Explorer 8 <a href="http://msdn.microsoft.com/en-us/library/cc288472%28VS.85%29.aspx" class="ext" title="I know, right? I was shocked to learn that too.">supports some significant HTML5 features</a>, Internet Explorers 6 and 7 do not. And both browser versions are still used widely enough that dropping support is not an option for most developers.<sup><a href="#n20100203b">2</a></sup></p>
</li>
<li>
<p><strong>Flash is still the best cross-browser, cross-platform way to serve audio and video</strong>. Safari / WebKit, Firefox / Mozilla and Opera all support the HTML5 <code>video</code> element. They <em>do not</em>, however support the same codec. </p>
<p>Apple is squarely in the <a href="http://www.apple.com/quicktime/technologies/h264/">H.264 camp</a>. Google paid a licensing fee so that it could <a href="http://www.sitepoint.com/blogs/2010/01/25/the-dark-side-of-html-5-video/">include an H.264 decoder</a> in Chrome. H.264 is a patented codec. Any browser that wants to enable H.264 video will need to pay a licensing fee.</p>
<p>Licensing fees and patent concerns are why <a href="http://arstechnica.com/open-source/news/2009/07/decoding-the-html-5-video-codec-debate.ars">Opera and Mozilla are backing Ogg Theora</a>. <a href="http://www.theora.org/" class="ext">Ogg Theora</a> is an open sourced codec with no known patents. I should add here that Chrome also supports Ogg Theora. Google, perhaps wisely, chose to include both.</p>
<p>The big monkey wrench in <code>video</code> element adoption, however, is Internet Explorer. Internet Explorer is waiting for <a href="http://www.internetnews.com/dev-news/article.php/3828901">them other fools to work out that default codec business</a> before it implements support for the element. </p>
<p>And all of this is before we get into the differences in how browser vendors will execute the specification. That&#8217;s a whole &#8216;nother headache.</p>
<p>We will be using Flash until clients are willing to pay for separate Safari, Firefox and Internet Explorer video integration or until the HTML5 working group agrees  on a default codec.</p>
</li>
<li><strong>Adobe is working to <a href="http://blogs.adobe.com/conversations/2010/02/open_access_to_content_and_app.html">bring Flash to other mobile platforms</a>.</strong> As Adobe&#8217;s Chief Technology Officer Kevin Lynch explained, <q>We are now on the verge of delivering Flash Player 10.1 for smartphones with all but one of the top manufacturers. This includes Google&#8217;s Android, RIM&#8217;s Blackberry, Nokia, Palm Pre and many others across form factors including not only smartphones but also tablets, netbooks, and internet-connected TVs.</q> Could the iPhone and iPad&#8217;s lack of Flash support be a deciding factor in consumers&#8217; decisions not to buy an Apple device?</li>
</ol>
<h3>My Prediction for Flash</h3>
<p>I suspect that as HTML5 gains prominence, Flash will &#8212; eff that, it <em>should</em> &#8212; shift from an authoring environment for its proprietary SWF format to one that generates HTML, CSS, JS and SVG code for the browser. I think the building blocks for such software are in place. <a href="http://labs.adobe.com/technologies/flashbuilder4/">Flash Builder (formerly Flex Builder)</a> for example, eliminates (most of) the need for FLA files.  Perhaps developers will one day use a mix of ActionScript and JavaScript in the Flash Builder authoring environment to create web-ready assets and animation that don&#8217;t require a browser plug-in.</p>
<h3>Mobile-friendly Web Development Right Now</h3>
<p>Despite the fact that Flash is supposed to come to every other mobile platform, Apple&#8217;s decision to keep Flash off of the iPhone, iPad, and iPod Touch is not without impact. Apple still runs the smart phone market; in some ways they drive the mobile web. That means the prudent path is (still) <a href="http://hesketh.com/publications/articles/progressive-enhancement-paving-the-way-for/" class="ext" title="Progressive Enhancement: Paving the Way for Future Web Design">progressive enhancement</a>, and ensuring that your critical content and navigation are built using HTML.</p>
<h3>So will I buy an iPad?</h3>
<p>Nope. I have a laptop, a smart phone (a T-Mobile G1), a desktop and an iPod Touch. To me, the iPad is that weird spot between my smart phone or iPod Touch and a laptop with the convenience of neither. It doesn&#8217;t have the pocket-sized portability of my iPod Touch or my phone. And it doesn&#8217;t (yet) have the robust features of a laptop &#8212; USB ports, optical media drives, and the ability to install <em>any</em> app. I can&#8217;t justify the value for the price.</p>
<p>Besides, I still much prefer books to e-readers. I can sell books, trade books, leave books, loan books, and get books wet. I am not about to soak in the tub with a $300 device, but I would with an $11 book. </p>
<p><strong>What do you think about the iPad, Apple&#8217;s decision, or the future of Flash and HTML5?</strong></p>
<p id="n20100203a" class="footnote"><sup>1</sup>  Many of these apps could also be <a href="http://quirksmode.org/blog/archives/2009/11/apple_is_not_ev.html">built using HTML, CSS and JavaScript</a>, but there&#8217;s no money in that either.</p>
<p id="n20100203b" class="footnote"><sup>2</sup> There are scripts available to make IE act right, of course. <a href="http://excanvas.sourceforge.net/" class="ext">ExCanvas</a>, for example, mimics support for the <code>canvas</code> element in IE. Simple HTML5 isn&#8217;t much different from HTML 4.01. You can actually forge ahead with HTML5 now if you don&#8217;t need advanced features like <a href="https://developer.mozilla.org/en/DOM/Storage">DOM Storage</a>. </p>
]]></content:encoded>
			<wfw:commentRss>http://tiffanybbrown.com/2010/02/04/on-apples-ipad-html5-and-the-future-of-flash/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>WebKit gets Web Inspector Updates</title>
		<link>http://tiffanybbrown.com/2009/11/04/webkit-gets-web-inspector-updates/</link>
		<comments>http://tiffanybbrown.com/2009/11/04/webkit-gets-web-inspector-updates/#comments</comments>
		<pubDate>Wed, 04 Nov 2009 16:32:19 +0000</pubDate>
		<dc:creator>tiffany</dc:creator>
				<category><![CDATA[Browsers]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Web Development & Programming]]></category>
		<category><![CDATA[WebKit]]></category>
		<category><![CDATA[firebug]]></category>
		<category><![CDATA[page speed]]></category>
		<category><![CDATA[yslow]]></category>

		<guid isPermaLink="false">http://tiffanybbrown.com/?p=2332</guid>
		<description><![CDATA[Yesterday the folks at Surfin&#8217; Safari announced several new and/or improved features to its Web Inspector. Web Inspector is a debugging tool similar to Firebug and Page Speed or YSlow. These updates will be be available in the next version of Safari. To use them now, install a nightly build of WebKit. The latest version [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://tiffanybbrown.com/images/uploads/2009/11/webkit_edit_attributes.png" alt="webkit_edit_attributes" title="webkit_edit_attributes" width="500" height="320" class="alignnone size-full wp-image-2334" /></p>
<p>Yesterday the folks at Surfin&#8217; Safari <a href="http://webkit.org/blog/829/web-inspector-updates/" class="ext">announced</a> several new and/or improved features to its Web Inspector. Web Inspector is a debugging tool similar to <a href="http://getfirebug.com/" class="ext">Firebug</a> and <a href="http://code.google.com/speed/page-speed/" class="ext">Page Speed</a> or <a href="http://developer.yahoo.com/yslow/">YSlow</a>. These updates will be be available in the next version of Safari. To use them now, install a <a href="http://nightly.webkit.org/" class="ext">nightly build</a> of WebKit. </p>
<p>The latest version includes:</p>
<ul>
<li>Improved Editing Element Attributes and Style Properties feature</li>
<li>Ability to create and modify existing CSS rules and selectors</li>
<li>View colors in short hex, full hex, RGB, HSL or its name (if available)</li>
<li>Storage monitoring is now rendered in an editable data grid and includes cookie data</li>
<li>Ajax debugging</li>
<li>New keyboard shortcuts</li>
<li>Better support of the <a href="http://getfirebug.com/commandline.html" class="ext">Firebug Command Line API</a></li>
</ul>
<p>There are several additional features that I haven&#8217;t mentioned here. Read the post for a more complete picture.</p>
]]></content:encoded>
			<wfw:commentRss>http://tiffanybbrown.com/2009/11/04/webkit-gets-web-inspector-updates/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Firefox 3.5 JavaScript vulnerability; WebKit 3D CSS transforms for Leopard</title>
		<link>http://tiffanybbrown.com/2009/07/15/firefox-35-javascript-vulnerability-webkit-3d-css-transforms-for-leopard/</link>
		<comments>http://tiffanybbrown.com/2009/07/15/firefox-35-javascript-vulnerability-webkit-3d-css-transforms-for-leopard/#comments</comments>
		<pubDate>Wed, 15 Jul 2009 14:26:54 +0000</pubDate>
		<dc:creator>tiffany</dc:creator>
				<category><![CDATA[WebKit]]></category>

		<guid isPermaLink="false">http://tiffanybbrown.com/?p=2128</guid>
		<description><![CDATA[Day old news because I am fresh like that. Critical JavaScript vulnerability in Firefox 3.5 The vulnerability can be mitigated by disabling the JIT in the JavaScript engine. This post tells you how to do so. 3D CSS transforms available in Leopard via WebKit nightlies The feature was already available in Safari 4 for Snow [...]]]></description>
			<content:encoded><![CDATA[<p>Day old news because I am fresh like that.</p>
<dl>
<dt><a href=""http://blog.mozilla.com/security/2009/07/14/critical-javascript-vulnerability-in-firefox-35>Critical JavaScript vulnerability in Firefox 3.5</a></dt>
<dd><q>The vulnerability can be mitigated by disabling the JIT in the JavaScript engine.</q> This post tells you how to do so.</dd>
<dt><a href="http://arstechnica.com/apple/news/2009/07/3d-css-transforms-available-in-leopard-via-webkit-nightlies.ars#">3D CSS transforms available in Leopard via WebKit nightlies</a></dt>
<dd>The feature was already available in Safari 4 for Snow Leopard, but now it&#8217;s available for Leopard as well.</dd>
</dl>
]]></content:encoded>
			<wfw:commentRss>http://tiffanybbrown.com/2009/07/15/firefox-35-javascript-vulnerability-webkit-3d-css-transforms-for-leopard/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

