<?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>Web Platform Team Blog</title>
	<atom:link href="http://blogs.adobe.com/webplatform/feed/" rel="self" type="application/rss+xml" />
	<link>http://blogs.adobe.com/webplatform</link>
	<description>Making the web awesome</description>
	<lastBuildDate>Tue, 21 May 2013 06:02:48 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>Canvas blending is now in Chrome Canary, Safari and Firefox!</title>
		<link>http://blogs.adobe.com/webplatform/2013/05/20/canvas-blending-is-now-in-chrome-canary-safari-and-firefox/</link>
		<comments>http://blogs.adobe.com/webplatform/2013/05/20/canvas-blending-is-now-in-chrome-canary-safari-and-firefox/#comments</comments>
		<pubDate>Mon, 20 May 2013 16:00:30 +0000</pubDate>
		<dc:creator>Mihai Țică</dc:creator>
				<category><![CDATA[Web Platform Features]]></category>

		<guid isPermaLink="false">http://blogs.adobe.com/webplatform/?p=3801</guid>
		<description><![CDATA[After landing in Firefox and Safari, canvas blend modes are now available in Chrome Canary! Here&#8217;s what you need to do check out the feature in your favorite browser: Mozilla Firefox For Firefox, canvas blend modes are enabled by default in the stable version, so there are no prerequisite steps for enabling canvas blend modes. Chrome...]]></description>
				<content:encoded><![CDATA[<p>After landing in Firefox and Safari, canvas blend modes are now available in Chrome Canary!</p>
<p><a href="http://blogs.adobe.com/webplatform/files/2013/05/Screen-Shot-2013-05-14-at-10.33.48-AM.png"><img class="alignnone size-full wp-image-3808" alt="Screen Shot 2013-05-14 at 10.33.48 AM" src="http://blogs.adobe.com/webplatform/files/2013/05/Screen-Shot-2013-05-14-at-10.33.48-AM.png" width="989" height="666" /></a></p>
<p dir="ltr">Here&#8217;s what you need to do check out the feature in your favorite browser:</p>
<p dir="ltr"><strong>Mozilla Firefox</strong></p>
<p dir="ltr">For Firefox, canvas blend modes are enabled by default in the stable version, so there are no prerequisite steps for enabling canvas blend modes.</p>
<p dir="ltr"><strong>Chrome Canary</strong></p>
<p dir="ltr">To see canvas blending at work in Chrome, <a href="https://www.google.com/intl/en/chrome/browser/canary.html">download</a> the latest Canary build, navigate to chrome://flags , turn the &#8220;Enable experimental WebKit features” flag and restart the browser.</p>
<p dir="ltr"><strong>Safari</strong></p>
<p dir="ltr">For Safari, simply download one of the nightly builds from <a href="http://nightly.webkit.org">http://nightly.webkit.org</a>.</p>
<p>Once you’ve completed these steps, navigate to this <a href="http://codepen.io/adobe/pen/gbzmE">codepen</a> to see canvas blending at work!</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.adobe.com/webplatform/2013/05/20/canvas-blending-is-now-in-chrome-canary-safari-and-firefox/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Creating an Installed Application Experience on Mobile With Web Technologies</title>
		<link>http://blogs.adobe.com/webplatform/2013/05/16/creating-an-installed-application-experience-on-mobile-with-web-technologies/</link>
		<comments>http://blogs.adobe.com/webplatform/2013/05/16/creating-an-installed-application-experience-on-mobile-with-web-technologies/#comments</comments>
		<pubDate>Thu, 16 May 2013 16:28:09 +0000</pubDate>
		<dc:creator>Christian Cantrell</dc:creator>
				<category><![CDATA[Custom Filters]]></category>
		<category><![CDATA[Exclusions]]></category>
		<category><![CDATA[Regions]]></category>
		<category><![CDATA[Transforms]]></category>

		<guid isPermaLink="false">http://blogs.adobe.com/webplatform/?p=3817</guid>
		<description><![CDATA[Adobe&#8217;s Web Platform team recently showcased a prototype demonstrating the future of digital layout on the web using content provided to us by National Geographic. Although the experience is fully responsive (meaning it adapts to screens of all sizes), we decided to push things a little further by creating an entirely new &#8212; and much...]]></description>
				<content:encoded><![CDATA[<p>Adobe&#8217;s Web Platform team recently <a href="http://blogs.adobe.com/webplatform/2013/05/06/adobe-explores-the-future-of-responsive-digital-layout-with-national-geographic-content/">showcased a prototype</a> demonstrating the future of digital layout on the web using content provided to us by National Geographic. Although the experience is fully responsive (meaning it adapts to screens of all sizes), we decided to push things a little further by creating an entirely new &mdash; and much more interactive &mdash; mobile version.</p>
<div align="center"><iframe width="640" height="360" src="http://www.youtube.com/embed/zKjoZvRCyh0" frameborder="0" allowfullscreen></iframe></div>
<p><br/></p>
<p>As you can see from the video above, the mobile version is more interactive and expressive than the version we created for the browser. Since the primary interaction model on mobile is touch, we believe devices provide an opportunity for more playful and engaging experiences.</p>
<p>Delivering these types of experiences on mobile devices today frequently means having to build native applications for every platform you want to target. However, as the web platform becomes more powerful, we are going to see an increasing number of these experiences implemented entirely with standard web technologies.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.adobe.com/webplatform/2013/05/16/creating-an-installed-application-experience-on-mobile-with-web-technologies/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Define flow areas directly with CSS Regions</title>
		<link>http://blogs.adobe.com/webplatform/2013/05/13/define-flow-areas-directly-with-css-regions/</link>
		<comments>http://blogs.adobe.com/webplatform/2013/05/13/define-flow-areas-directly-with-css-regions/#comments</comments>
		<pubDate>Mon, 13 May 2013 16:00:51 +0000</pubDate>
		<dc:creator>Alan Stearns</dc:creator>
				<category><![CDATA[Regions]]></category>
		<category><![CDATA[Tips and Tricks]]></category>

		<guid isPermaLink="false">http://blogs.adobe.com/webplatform/?p=3698</guid>
		<description><![CDATA[CSS Regions allows you to define where your content flows, as opposed to blocking out where your content should not flow. Indirect CSS gives you many tools for defining where your content flows. But the tools available so far are indirect. You can use a float to say &#8220;don&#8217;t flow in this area.&#8221; Or you...]]></description>
				<content:encoded><![CDATA[<p><a href="http://dev.w3.org/csswg/css-regions/" target="_blank">CSS Regions</a> allows you to define where your content flows, as opposed to blocking out where your content should not flow.</p>
<h3>Indirect</h3>
<p>CSS gives you many tools for defining where your content flows. But the tools available so far are indirect. You can use a float to say &#8220;don&#8217;t flow in this area.&#8221; Or you can use a margin to keep an area clear. You get one rectangular box for your content, and the tools let you cut away from the rectangle to make a more interesting shape.</p>
<p>Take this layout. An article flows through three areas, creating some visual interest. There are ways of achieving something like this layout now, but they are all indirect and have limitations.</p>
<p style="text-align: center;"><a href="http://codepen.io/astearns/full/bgmeH"><img class="aligncenter size-medium wp-image-3699" alt="layout" src="http://blogs.adobe.com/webplatform/files/2013/04/layout-300x280.png" width="300" height="280" /></a></p>
<p>You can create this with margins (ignoring the blue boxes for the moment) &#8211; right margin to begin with, then left margin, then auto on the left and right sides. The main limitation with this method is that you have to break your content up into three pieces to have something to assign those margins to. So the height of these columns is fixed. Another limitation is that you&#8217;re defining the column width by subtracting the margin from the container size. Since you define a single margin value, you&#8217;re stuck with a particular length or percentage column width.</p>
<p>You could also create this with floats. You define the column size by subtracting the float width from the container size, so again you&#8217;re stuck with a particular length or percentage column width. The height can be flexible, though. You&#8217;d just have to add some clearing to the second float and the column heights could be determined by the float heights. But to maintain this height flexibility, you&#8217;d have to continue using (two) floats for the last centered column with more clearance. All of these floats would need to be at or near the beginning of the content, to make sure there are no gaps between the float areas where a line of text would take up the entire width of the container. That&#8217;s a lot to maintain just to say where your content doesn&#8217;t flow.</p>
<h3>Direct</h3>
<p>Unlike these indirect methods, CSS Regions allows you to define the three column areas directly. This has all sorts of advantages. You get the benefit of using min-width and max-width to create a flexible but still readable column width. Since the CSS Region for each column is a fully-stylable box, you can position the column using any CSS method you&#8217;d like, instead of relying on the quirks of a single feature like floats.</p>
<p>I&#8217;ve put a <a href="http://codepen.io/astearns/full/bgmeH" target="_blank">CodePen</a> together that creates the layout above using CSS Regions and Flexbox. You can see how it works in <a href="https://www.google.com/intl/en/chrome/browser/canary.html" target="_blank">Chrome Canary</a>. Because each column is its own box, I can make the first two columns flex items. This allows me to give the column a min-width and max-width width that flexes as more or less space is available. And if a lot of space is available, the space between the column and the blue box can flex as well. I&#8217;ve used two flex containers to ensure that no more than two flex items are arranged next to each other.</p>
<p>The best part of using Flexbox is that if the available width is too small, the wrapping flex containers create a single-column layout for mobile without any changes to the widths I&#8217;ve defined. I do have one media query in the CodePen, but all it does is change the order of the second blue box so the mobile layout runs text-box-text-box-text. Try it out with different screen widths.</p>
<h3>Future-Proof</h3>
<p>The reason that I can create this layout using CSS Regions and Flexbox is because I define the region boxes directly. Flexbox does not have to know anything about CSS Regions &#8211; it just operates on the boxes inside the flex container. CSS Regions can participate in any new CSS feature that works on boxes (which tends to be most of them). So as CSS improves, you gain more and more expressive power by defining where your content flows directly using CSS Regions.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.adobe.com/webplatform/2013/05/13/define-flow-areas-directly-with-css-regions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Explore LA through the prism of custom filters</title>
		<link>http://blogs.adobe.com/webplatform/2013/05/06/custom-filters-demo-app-available-on-github/</link>
		<comments>http://blogs.adobe.com/webplatform/2013/05/06/custom-filters-demo-app-available-on-github/#comments</comments>
		<pubDate>Mon, 06 May 2013 16:48:02 +0000</pubDate>
		<dc:creator>Jacob Goldstein</dc:creator>
				<category><![CDATA[Custom Filters]]></category>
		<category><![CDATA[Web Platform Features]]></category>

		<guid isPermaLink="false">http://blogs.adobe.com/webplatform/?p=3774</guid>
		<description><![CDATA[&#160; The Adobe Web Platform team recently partnered with two talented contractors (Edan Kwan and David Vale) to build a mobile application that showcases one of the features the team has been implementing in WebKit and Blink. The application is modeled after a travel app &#8211; with the addition of some really cool CSS Custom...]]></description>
				<content:encoded><![CDATA[<p><a href="http://adobe-webplatform.github.io/custom-filters-demo-travel-app/src/"><img class="aligncenter size-full wp-image-3796" alt="1368203704" src="http://blogs.adobe.com/webplatform/files/2013/05/1368203704.png" width="933" height="678" /></a></p>
<p>&nbsp;</p>
<p>The Adobe <a href="https://twitter.com/adobeweb">Web Platform team</a> recently partnered with two talented contractors (<a href="http://www.edankwan.com/">Edan Kwan</a> and <a href="http://www.linkedin.com/in/davidvale">David Vale</a>) to build a mobile application that showcases one of the features the team has been implementing in WebKit and Blink. The application is modeled after a travel app &#8211; with the addition of some really cool CSS Custom Filters (aka CSS Shaders) to enhance the UI. The application provides a glimpse into the new capabilities that will be available to designers and developers interested in creating compelling UI experiences using web standards. CSS Custom Filters are defined in the <a href="http://www.w3.org/TR/filter-effects/">CSS Filter Effects Specification</a>.</p>
<p>The application was written entirely in HTML, CSS and JavaScript and packaged for Android using Adobe&#8217;s <a href="http://phonegap.com/">PhoneGap</a> and a custom build of Google&#8217;s Blink rendering engine. The application also runs on desktop computers; CSS Custom Filters are currently available in Chrome behind the <a href="http://blogs.adobe.com/webplatform/2012/09/21/css-custom-filters-now-available-under-flag-in-chrome-canary/">CSS Shaders flag</a>, so anyone can start experimenting with them now.  <a href="http://adobe-webplatform.github.io/custom-filters-demo-travel-app/src/">See how custom filters have been used to create an enhanced user experience in this travel app</a>.</p>
<p>The <a href="https://github.com/adobe-webplatform/custom-filters-demo-travel-app">code for this travel application</a> has been open sourced under the MIT license and is available right now on GitHub. We love feedback, so feel free to clone it, fork it, and experiment with it. Members of the Web Platform team are at MAX and will be at the Web Platform booth with Android devices that have the demo running. Be sure to stop by and check out just how easy it will be to add engaging effects to an application using CSS Custom Filters.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.adobe.com/webplatform/2013/05/06/custom-filters-demo-app-available-on-github/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Adobe Explores the Future of Responsive Digital Layout with National Geographic Content</title>
		<link>http://blogs.adobe.com/webplatform/2013/05/06/adobe-explores-the-future-of-responsive-digital-layout-with-national-geographic-content/</link>
		<comments>http://blogs.adobe.com/webplatform/2013/05/06/adobe-explores-the-future-of-responsive-digital-layout-with-national-geographic-content/#comments</comments>
		<pubDate>Mon, 06 May 2013 12:51:00 +0000</pubDate>
		<dc:creator>Christian Cantrell</dc:creator>
				<category><![CDATA[CSS Shaders]]></category>
		<category><![CDATA[CSS Text]]></category>
		<category><![CDATA[Custom Filters]]></category>
		<category><![CDATA[Exclusions]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Regions]]></category>
		<category><![CDATA[Web Platform Features]]></category>
		<category><![CDATA[WebKit]]></category>

		<guid isPermaLink="false">http://blogs.adobe.com/webplatform/?p=3761</guid>
		<description><![CDATA[National Geographic partnered with Adobe, sharing select content for Adobe’s use to experiment with digital layout. The results mark the beginning of a technical and design collaboration that will look at innovating around layout while responding to some of the real world needs of National Geographic&#8217;s designers. By combining a National Geographic feature entitled &#34;Forest...]]></description>
				<content:encoded><![CDATA[<p>National Geographic partnered with Adobe, sharing select content for Adobe’s use to experiment with digital layout.  The results mark the beginning of a technical and design collaboration that will look at innovating around layout while responding to some of the real world needs of National Geographic&#8217;s designers. By combining a National Geographic feature entitled &quot;Forest Giant&quot; with some of Adobe&#8217;s contributions to web standards, Adobe has created a forward-looking vision of how readers will consume web content in the very near future.</p>
<div align="center"><iframe width="640" height="360" src="http://www.youtube.com/embed/UM0Cl3wWys0" frameborder="0" allowfullscreen></iframe></div>
<p><br/></p>
<h2>Configuration</h2>
<p>Because some of the features the demo uses are still experimental, the article needs to be viewed in <a href="https://www.google.com/intl/en/chrome/browser/canary.html">Chrome Canary</a> with the following runtime flags enabled:</p>
<ul>
<li>Experimental WebKit features</li>
<li>CSS Shaders</li>
</ul>
<p>To learn more about enabling runtime flags, <a href="http://www.youtube.com/watch?v=QndSTFwwOs0">see this tutorial</a>.</p>
<p>Once you have Chrome Canary installed and properly configured, <a href="http://adobe-webplatform.github.io/Demo-for-National-Geographic-Forest-Giant/browser/src/">go check out the demo</a>. (Note that the entire project is open source and <a href="https://github.com/adobe-webplatform/Demo-for-National-Geographic-Forest-Giant">available on GitHub</a>.) Of course, if you&#8217;re in a hurry, you can always just watch the video above to get a feel for the experience.</p>
<h2>Editor&#8217;s Marks</h2>
<p>Some of the advantages of modern layout capabilities can be subtle, so we created an &quot;editor&#8217;s overlay&quot; mode which highlights the more noteworthy features and explains how they were implemented. To enable editor&#8217;s marks, click on the bar at the bottom of the article (or just press the tilde key).</p>
<div align="center"><img src="http://blogs.adobe.com/webplatform/files/2013/05/nat_geo_editors_marks.jpg" width="830" height="660"/></div>
<h2>Regions</h2>
<p>In order to have better control over the flow of the article, we used CSS regions. At its core, regions allows you to separate your content from where and how it gets displayed. Specifically, it allows you to designate which part of your DOM is your content, and which elements your content should flow through. The flow of the content happens automatically, adjusting for things like font size changes, resizing, zooming, etc.</p>
<p>In the &quot;Forest Giant&quot; demo, we use regions to make the content flow throughout the page in interesting ways, even creating shallow columns in one instance. Without regions, the designer would have had to break the content up manually, and would have to make major adjustments to the entire page if the content ever changed. With regions, the content is automatically broken up across various elements as the source text flows through the specified region chain.</p>
<div align="center"><img src="http://blogs.adobe.com/webplatform/files/2013/05/nat_geo_regions.jpg" width="830" height="660"/></div>
<p>Regions are also an excellent tool for responsive design. When you change the size and/or position of your regions in response to changes in screen size, your content automatically reflows through your region chain.</p>
<div align="center"><img src="http://blogs.adobe.com/webplatform/files/2013/05/nat_geo_responsive.jpg" width="576" height="1090"/></div>
<p><a href="http://html.adobe.com/webplatform/layout/regions/">Learn more about CSS Regions.</a></p>
<h2>Exclusions</h2>
<p>CSS Exclusions allow text to flow along either the inside or the outside of a shape. Take a look at the drop cap at the beginning of the article. Without exclusions, the text to the right of the &quot;O&quot; would be vertically aligned, creating uneven spacing. By using exclusions &mdash; and specifically shape-outside &mdash; the text is able to follow the contour of the initial letter creating a much cleaner and far more polished visual effect.</p>
<div align="center" style="margin-bottom:20px"><img src="http://blogs.adobe.com/webplatform/files/2013/05/nat_geo_drop_cap.png" width="609" height="330"/></div>
<p>Another example of exclusions is the text at the bottom of the article. Notice how the paragraph follows the shape of the map. This type of high-end layout was not formerly possible with HTML content. Without exclusions, the best way to do this on the web would probably be through the use of images, however you then lose the ability for your text to be resized, indexed, searched, copied, and easily updated.</p>
<div align="center"><img src="http://blogs.adobe.com/webplatform/files/2013/05/nat_geo_map.jpg" width="514" height="483"/></div>
<p><a href="http://html.adobe.com/webplatform/layout/exclusions/">Learn more about CSS Exclusions.</a></p>
<h2>Balanced Text</h2>
<p>The concept of balanced text is fairly subtle, but once you&#8217;re aware of it, you&#8217;ll find that it makes a huge difference in the way your content is laid out. By default, browsers wrap text one word at a time which means you can easily end up with lines containing only one or two words while the line above it might stretch the entire length of your container. Although this is something we&#8217;re pretty accustomed to seeing on the web, it&#8217;s not a layout that would ever be permitted in print. When designers have full control over how lines of text are broken up, they will balance the text such that every line is approximately the same length.</p>
<p>We&#8217;re using a <a href="https://github.com/adobe-webplatform/balance-text">balanced text polyfill</a> for both the subtitle of the article, and the pull quote between the second and third paragraphs. To see how it works, try resizing your browser horizontally. If you have a wide enough monitor, you should see the entire pull quote on one line. As you decrease the width of your window, you will see that the text always wraps in such a way as to keep the lines close to the same width.</p>
<div>
<div style="margin-bottom:20px"><img src="http://blogs.adobe.com/webplatform/files/2013/05/nat_geo_balanced_text_1.jpg" width="830" height="63"/></div>
<div style="margin-bottom:20px"><img src="http://blogs.adobe.com/webplatform/files/2013/05/nat_geo_balanced_text_2.jpg" width="612" height="136"/></div>
<div style="margin-bottom:20px"><img src="http://blogs.adobe.com/webplatform/files/2013/05/nat_geo_balanced_text_3.jpg" width="475" height="151"/></div>
</div>
<p><a href="http://blogs.adobe.com/webplatform/2013/01/30/balancing-text-for-better-readability/">Learn more about Balanced Text.</a></p>
<h2>Custom Filters</h2>
<p>Most of us are accustomed to applying filters to images in applications like Photoshop and Instagram. And if you&#8217;ve used SVG on the web extensively, you&#8217;ve probably also experimented with SVG filters. Now you can apply the same visual effects to any HTML elements using CSS Filters.</p>
<p>The advantages of filters are:</p>
<ul>
<li>They can be applied dynamically which means you don&#8217;t have to preprocess your assets.</li>
<li>You can apply them to any HTML element (not just images).</li>
<li>They can be animated with CSS Animations.</li>
</ul>
<p>We&#8217;re using a custom filter at the bottom of the article to allow users to &quot;peel back&quot; the bottom of the page and expose an interactive infographic (click on the &quot;Explore the President Tree&quot; text to see the filter in action). The effect is a subtle but fun way to create a sense of depth in the content, and is achieved entirely through CSS.</p>
<div align="center"><img src="http://blogs.adobe.com/webplatform/files/2013/05/nat_geo_custom_filter.jpg" width="830" height="734"/></div>
<p><a href="http://html.adobe.com/webplatform/graphics/customfilters/">Learn more about CSS Custom Filters.</a></p>
<h2>WebGL</h2>
<p>Because the &quot;Forest Giant&quot; article is about the second largest tree in the world (but probably the biggest in terms of mass), we wanted to convey a sense of size. If you click on the &quot;Click Here to Pan &amp; Zoom&quot; link below the thumbnail of the giant sequoia, you&#8217;ll see a huge image of the tree assembled tile-by-tile until you reach the top. Try scrolling around the image and note how small the three scientists appear in relation to the tree they are studying.</p>
<p>This effect is accomplished with WebGL (through a library called <a href="http://threejs.org/">three.js</a>). Although WebGL is not a specification or implementation that Adobe is contributing to directly, we&#8217;re a big fan, and it was the perfect technology for building a smooth 3D animation.</p>
<div align="center"><img src="http://blogs.adobe.com/webplatform/files/2013/05/nat_geo_web_gl.jpg" width="830" height="675"/></div>
<p><a href="http://www.khronos.org/webgl/">Learn more about WebGL.</a></p>
<h2>Conclusion</h2>
<p>Advances in technology have proven many times that convenience often trumps fidelity. For example, MP3s became popular &mdash; even at their initial low bitrates &mdash; because it was more important for us to have all of our music available wherever we were than it was to have the best possible audio quality. Similarly, digital books, magazines, and newspapers are replacing their analog counterparts at an increasing rate because convenient and instant access to content frequently supersedes aesthetics.</p>
<p>Now that the internet has helped to make content ubiquitous, we&#8217;re starting to see a shift back toward production value. Users want HD video, beautiful and fluid user interfaces, and they increasingly expect content to be presented in interesting and compelling ways. With features like regions, exclusions, balanced text, custom filers, and WebGL, content producers will no longer have to choose between reach and design. Working with National Geographic’s stunning visual content, Adobe has proven that the web of tomorrow will enable both.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.adobe.com/webplatform/2013/05/06/adobe-explores-the-future-of-responsive-digital-layout-with-national-geographic-content/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
		<item>
		<title>Growing and Shrinking Polygons</title>
		<link>http://blogs.adobe.com/webplatform/2013/05/02/growing-and-shrinking-polygons/</link>
		<comments>http://blogs.adobe.com/webplatform/2013/05/02/growing-and-shrinking-polygons/#comments</comments>
		<pubDate>Thu, 02 May 2013 18:13:24 +0000</pubDate>
		<dc:creator>Jacob Goldstein</dc:creator>
				<category><![CDATA[Exclusions]]></category>
		<category><![CDATA[Web Platform Features]]></category>
		<category><![CDATA[WebKit]]></category>

		<guid isPermaLink="false">http://blogs.adobe.com/webplatform/?p=3742</guid>
		<description><![CDATA[Hans Muller recently added another fascinating blog post to his running series on the implementation of shape-inside from the CSS Exclusions and Shapes specification.  In this post Hans describes the initial support he recently added for applying shape-inside and shape-padding to polygonal shapes. While this first round of support in limited in scope, it is another step down...]]></description>
				<content:encoded><![CDATA[<p><a href="https://twitter.com/Hans_Muller_CA">Hans Muller</a> recently added another fascinating <a href="http://hansmuller-webkit.blogspot.com/2013/04/growing-and-shrinking-polygons-round-one.html">blog post</a> to his running series on the implementation of shape-inside from the <a href="http://dev.w3.org/csswg/css-exclusions/">CSS Exclusions and Shapes</a> specification.  In this post Hans describes the initial support he recently added for applying shape-inside and shape-padding to polygonal shapes.</p>
<p><a href="http://blogs.adobe.com/webplatform/files/2013/05/hans_shapeInside_shapePadding_polygonalShapes.png"><img class="size-full wp-image-3743 aligncenter" alt="hans_shapeInside_shapePadding_polygonalShapes" src="http://blogs.adobe.com/webplatform/files/2013/05/hans_shapeInside_shapePadding_polygonalShapes.png" width="633" height="517" /></a></p>
<p>While this first round of support in limited in scope, it is another step down the road towards providing a complete implementation of CSS Exclusions and Shapes.  In addition to Hans&#8217;s examples, his post also includes an interactive demos that you can play with to see the algorithm in action.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.adobe.com/webplatform/2013/05/02/growing-and-shrinking-polygons/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Chromium Embedded Framework</title>
		<link>http://blogs.adobe.com/webplatform/2013/05/01/the-chromium-embedded-framework/</link>
		<comments>http://blogs.adobe.com/webplatform/2013/05/01/the-chromium-embedded-framework/#comments</comments>
		<pubDate>Wed, 01 May 2013 16:00:29 +0000</pubDate>
		<dc:creator>Horia Olaru</dc:creator>
				<category><![CDATA[Web Platform Features]]></category>

		<guid isPermaLink="false">http://blogs.adobe.com/webplatform/?p=3706</guid>
		<description><![CDATA[Many thanks to Marshall Greenblatt, the Chromium Embedded Framework founder, for writing and helping edit part of this blog post. The Chromium Embedded Framework (CEF) is an open source project that allows developers to easily display HTML content in their desktop applications. The HTML view can be finely controlled and even extended through the available API....]]></description>
				<content:encoded><![CDATA[<p dir="ltr" style="text-align: left;"><em>Many thanks to Marshall Greenblatt, the Chromium Embedded Framework founder, for writing and helping edit part of this blog post.</em></p>
<p dir="ltr">The <a href="https://code.google.com/p/chromiumembedded/">Chromium Embedded Framework (CEF)</a> is an open source project that allows developers to easily display HTML content in their desktop applications. The HTML view can be finely controlled and even extended through the available API. Underneath, the HTML rendering is done through the <a href="http://www.chromium.org/Home">Chromium</a> browser project, on top of the <a href="http://www.chromium.org/blink">Blink</a> engine (formerly WebKit) and the V8 JavaScript virtual machine.</p>
<p dir="ltr">As frameworks usually go, CEF provides mainly a set of headers and a library. It is available on Windows, Mac OSX and Linux, though there is still work to do to have feature parity between platforms. C++ and C APIs are available as a part of the project, but there are projects out there which maintain wrappers for other environments like .NET, Java and Python.</p>
<h2 dir="ltr">Relationship with Chromium</h2>
<p dir="ltr">CEF comes in two versions &#8211; CEF1 and CEF3, both of which are actively maintained. These two projects expose almost the same API to embedding clients, whie rendering HTML using the Chromium flavor of WebKit (now Blink). Where they differ is in how they hook into the HTML engine underneath, but to better understand that, it is useful to have a general overview of the Chromium architecture.</p>
<p dir="ltr">The Chromium architecture has three main layers: Blink (formerly WebKit) API, Content API and Chrome. The Blink API provides access to the rendering and V8 JavaScript engine which together run in a single process. The Content API adds the <a href="http://www.youtube.com/watch?v=A0Z0ybTCHKs">multi-process architecture</a> and provides implementations for more complex HTML5 and browser features like accelerated compositing, Geolocation and WebRTC. The Chrome layer includes the Chrome browser user interface and feature implementations like history management, extensions and bookmarks that are tightly coupled to the Chrome browser. The Chromium team is currently working to introduce a fourth concept, called Components, which will provide modular implementations for browser features that span multiple layers.</p>
<p dir="ltr">The Blink and Content APIs are not stable and many features have additional implementation requirements. CEF provides these implementations along with a stable API that hides most of the underlying Chromium and Blink complexity. CEF1 uses the Blink API directly and as a result shares the single-process architecture. CEF3 uses the Content API and benefits from the multi-process architecture and many of the advanced features that are implemented in the Content API. As an added benefit for CEF3 the Components changes will make it easier to selectively enable and share feature implementations that at this time cannot be shared due to tight coupling with the Chrome layer.</p>
<p dir="ltr">CEF3 implements some of the interfaces and delegates that the Content API provides, much in the same way that Chrome does. While a developer can embed Chromium starting directly from the Content API, this would involve a rather significant amount of work, which is already done in CEF3. This includes implementing the Content API interfaces and delegates that the application wants to manipulate, and while doing so, also writing the platform code for the platforms the application needs to run on (Windows/Mac/Linux). Using CEF, on the other hand, is as simple as writing a few lines of code before firing up a modern, up-to-date HTML5 view right inside the application.</p>
<p dir="ltr">Both CEF1 and CEF3 include parts Chromium into the resulting library, and as such, have a build dependency on the Chromium code. The project maintains <a href="https://code.google.com/p/chromiumembedded/source/browse/trunk/cef3/CHROMIUM_BUILD_COMPATIBILITY.txt">compatibility</a> with a specific revision of the Chromium code underneath, which is updated pretty regularly. From that point of view, embedders don’t have to worry that updating Chromium will break their application.</p>
<p dir="ltr">From here on, the term CEF will refer to CEF3, unless specified otherwise.</p>
<h2 dir="ltr">Getting Started</h2>
<p dir="ltr">Probably the simplest way to start using CEF is to <a href="http://www.magpcss.net/cef_downloads/">download</a> one of the binary releases. CEF maintains branches that are compatible with the Chromium stabilisation branches used for releases. The periodic binary releases are usually built from one such stable branch.</p>
<p dir="ltr">The distributable package contains the headers, the library, some required resources, and also a test application called cefclient. This is where you should be looking. It is the perfect showcase of how to use CEF, from starting up the framework to implementing the HTML content callbacks exposed through the API. You can test things out by hacking at the application code, quickly rebuilding, and so on.</p>
<p dir="ltr">Note that you can also pass Chromium <a href="http://peter.sh/experiments/chromium-command-line-switches/">command line switches</a> to cefclient, and they will have the same effect they would have in the browser (if they apply).</p>
<p dir="ltr">If you want to contribute, or use a feature that is not currently in one of the binary releases, you will have to build the CEF library from source. Although CEF is itself pretty lightweight, this also involves building Chromium, which makes the job a bit more complicated. I will not go into details in this post, but if you’re looking for a place to start, have a look at the CEF <a href="https://code.google.com/p/chromiumembedded/source/browse/trunk/cef3/tools/automate/">automate folder</a>. The python script inside checks out both the CEF and Chromium source code and proceeds to build the final CEF package. The README file in the same folder describes the process in more detail, and also contains some required steps to be performed before running the script.</p>
<h2 dir="ltr">Adobe Contributions</h2>
<p dir="ltr">Our more considerable contributions to CEF, aside from various bug fixes are listed below.</p>
<h3 dir="ltr">IME on Mac [CEF1]</h3>
<p dir="ltr">The first considerable contribution we made to CEF was implementing the missing platform code for the Mac OS X <a href="http://en.wikipedia.org/wiki/Input_method_editor">Input Method Editor (IME)</a>. In CEF1, this code was upright missing. In CEF3, it is already available underneath the Content API umbrella.</p>
<h3 dir="ltr">Tracing API [CEF3]</h3>
<p dir="ltr">The tracing mechanism is a Chromium development tool which can be used to profile the Chromium code across threads and processes. Just type <a href="chrome://tracing">chrome://tracing</a> in the Chrome URL bar if you’re wondering what this is, and start tracing. Our contribution was to expose the internal tracing API as a part of the CEF API. Embedders can use these methods to profile calls inside their own client application in the same view as the whole CEF &#8211; Chromium &#8211; Blink stack.</p>
<h3 dir="ltr">Offscreen Rendering on Windows and Mac [CEF3]</h3>
<p dir="ltr">This feature allows embedders to receive paint notifications from CEF instead of having CEF render directly to a native window. The embedder can then handle the rendering themselves using technologies like OpenGL or Direct3D. As a part of this feature, UI events can also be forwarded to the HTML page. It is particularly useful when an embedder wants to draw something else on top of the HTML view or integrate with an existing application framework that performs its own rendering. Using offscreen rendering provides a simple solution for synchronized drawing between two overlapping views, even two HTML views. This would be a real hassle when dealing with two overlapped, transparent native views.</p>
<p dir="ltr">Another use case is to break the boundary between 64 and 32 bit processes. Since Chromium does not support 64 bit builds at the moment, CEF binaries will also be 32 bit bound. Hence, a 64 bit application will not be able to link directly with CEF. The HTML rendering could, however, be isolated in a 32 bit process without any UI, thanks to offscreen rendering. The rendered HTML results could then be passed through a bridge back to the 64 bit application, and drawn inside UI objects belonging to it.</p>
<h3 dir="ltr">Next Steps</h3>
<p dir="ltr">We plan on contributing the IME functionality for offscreen rendering on Mac. Since implementing offscreen rendering overrides some of the internal Content API implementations, IME needs to be fitted to work without the native window it was bound to.</p>
<p dir="ltr">We are also working on setting up an automated build infrastructure for CEF. This will build CEF regularly, run the unit tests, and post the builds at a public location. We are still ironing out the details on this project (nightly builds vs change by change builds, branches vs trunk etc.).</p>
<h2 dir="ltr">To Sum Up</h2>
<p dir="ltr">If you need a simple, cross-platform way to display HTML content in your desktop application, CEF may be exactly what you’re looking for. It is open and has a healthy community behind it, as also shown by all the <a href="http://en.wikipedia.org/wiki/Chromium_Embedded_Framework#Applications_using_CEF">applications</a> that are using it.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.adobe.com/webplatform/2013/05/01/the-chromium-embedded-framework/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>See us @ Adobe MAX!</title>
		<link>http://blogs.adobe.com/webplatform/2013/04/30/see-us-adobe-max/</link>
		<comments>http://blogs.adobe.com/webplatform/2013/04/30/see-us-adobe-max/#comments</comments>
		<pubDate>Tue, 30 Apr 2013 16:47:22 +0000</pubDate>
		<dc:creator>nimbupani</dc:creator>
				<category><![CDATA[Community Events]]></category>

		<guid isPermaLink="false">http://blogs.adobe.com/webplatform/?p=3717</guid>
		<description><![CDATA[We will be joining a whole entourage of other teams  from Adobe to be at Adobe Max 2013 in LA! We are going to be presenting not just sessions but also workshops and labs exclusive to MAX participants. Here are what we are going to be talking about: Sunday 5th May 2013 Lab: Deep Dive...]]></description>
				<content:encoded><![CDATA[<p><a href="http://max.adobe.com/sessions.html"><img class="aligncenter" alt="" src="http://max.adobe.com/content/assets/images/video/max-marquee-JW-nav_v4_1024x550_end.jpg" width="1024" height="550" /></a></p>
<p>We will be joining a whole entourage of other teams  from Adobe to be at Adobe Max 2013 in LA! We are going to be presenting not just sessions but also workshops and labs exclusive to MAX participants. Here are what we are going to be talking about:</p>
<h2>Sunday 5th May 2013</h2>
<p><a href="https://www.adobe-max.com/scheduler/sessionDetails.do?SESSION_ID=8122">Lab: Deep Dive into Web Standards and Technologies, Sunday 9.00am &#8211; 403B (Session Details)</a><br />
<a href="http://twitter.com/razvancaliman">Razvan Caliman</a> will conduct an exhaustive hands-on session for those who are yet to get dazzled by the newer features offered on the web through HTML, CSS, SVG and JavaScript.</p>
<h2>Monday 6th May 2013</h2>
<p><a href="https://www.adobe-max.com/scheduler/sessionDetails.do?SESSION_ID=9327">Lab: Layout on the Web: What&#8217;s New, Monday 2.45pm &#8211; 409B (Session Details)</a><br />
In this lab session you will get to experience a hands-on tutorial that examines the latest features for laying out content on the web and how they can simplify design patterns in use today from <a href="http://twitter.com/bear_travis">Bear Travis</a>.</p>
<p><a href="https://www.adobe-max.com/scheduler/sessionDetails.do?SESSION_ID=8964">HTML5 for ActionScript 3.0 developers, Monday 5.00pm &#8211; 510</a><br />
<a href="http://twitter.com/thibault_imbert">Thibault Imbert</a>, our Group Product Manager will take a deep dive into JavaScript &amp; HTML5 and explain what is different from ActionScript 3.0.</p>
<h2>Tuesday 7th May 2013</h2>
<p><a href="https://www.adobe-max.com/scheduler/sessionDetails.do?SESSION_ID=8386">Advanced Layout with CSS, Tuesday 8.30am &#8211; 513 (Session Details)</a><br />
<a href="https://twitter.com/alanstearns">Alan Stearns</a> who edits the Regions specification, will speak on various layout features that are available now and those that will be available in the future including Flexbox, Grid Systems, Regions &amp; Exclusions</p>
<p><a href="https://www.adobe-max.com/scheduler/sessionDetails.do?SESSION_ID=8182">Philosophy Behind Responsive Web Design, Tuesday 8.30am &#8211; 511B</a><br />
<a href="http://twitter.com/dam">Kristofer Joseph</a> was one of the developers of Reflow, and he will walk you through some of the common pitfalls &amp; misconceptions around responsive web design and how to achieve your design intent with simple workflows.</p>
<p><a href="https://www.adobe-max.com/scheduler/sessionDetails.do?SESSION_ID=8387">SVG Reboot, Tuesday 1pm &#8211; 514 (Session Details)</a><br />
<a href="http://twitter.com/dirkschulze">Dirk Schulze</a> who is a co-editor of the SVG 2 specification, will speak with <a href="https://twitter.com/agreenblatt">Alan Greenblatt</a> on what SVG is, and demonstrate some features of SVG that are useful while also demonstrating some advanced features of SVG 2 that are making their way into browsers.</p>
<p><a href="https://www.adobe-max.com/scheduler/sessionDetails.do?SESSION_ID=9242">Creating Web Experiences with Users in Mind, Tuesday 4pm &#8211; 501A (Session Details)</a><br />
<a href="http://twitter.com/achicu">Alex Chiculita</a> and I will take you through some context for why you should care about user experience and some of the technical details of what makes a web experience awesome.</p>
<p><a href="https://www.adobe-max.com/scheduler/sessionDetails.do?SESSION_ID=8388">Combining Web Graphics: SVG, HTML, CSS, 2D and 3D Canvas, Tuesday 4pm &#8211; 514</a><br />
<a href="http://twitter.com/DmitryBaranovsk">Dmitry Baranovskiy</a> will talk about Canvas, SVG and how to combine multiple graphical features to create a compeling effect.</p>
<h2>Wednesday 8th May 2013</h2>
<p><a href="https://www.adobe-max.com/scheduler/sessionDetails.do?SESSION_ID=8536">Go Beyond the Canvas Box to Create Your Own Cinematic Effects, Wednesday 11am &#8211; 511C (Session Details)</a><br />
Alan Greenblatt will speak on how to use custom filters to create compelling web experiences and the state of browser support.</p>
<p><a href="https://www.adobe-max.com/scheduler/sessionDetails.do?SESSION_ID=8962">Getting Shellacked with TopCoat, Wednesday 1.30pm &#8211; 511A</a><br />
Kristofer is now working on TopCoat &#8211; a UI Framework that is minimally invasive, and will talk on how to use TopCoat to build your next native desktop or mobile applications with examples of applications that use this library while also talking about how you can be a contributor to this Open Source project.</p>
<p><a href="https://www.adobe-max.com/scheduler/sessionDetails.do?SESSION_ID=9182">Lab: Creating Special Effects for your Web Content with CSS Filters and Shaders, Wednesday 1.30pm &#8211; 402AB (Session Details)</a><br />
In this lab session you will learn about using a GLSL shader to apply interesting UI effects to create interesting web experiences from Alan Greenblatt.</p>
<p><a href="https://www.adobe-max.com/scheduler/sessionDetails.do?SESSION_ID=9328">The Quest for the Graphical Web, Wednesday 3.30pm &#8211; 506 (Session Details)</a><br />
<a href="http://twitter.com/emalasky">Ethan Malasky</a>, our Engineering Manager is going to walk us through the history of graphics on the web and how we are at the threshold of a new era of web graphics.</p>
<p><a href="https://www.adobe-max.com/scheduler/sessionDetails.do?SESSION_ID=9326">Exploring Digital Reading Experiences, Wednesday 5pm &#8211; 503</a><br />
<a href="http://twitter.com/cjgammon">CJ</a> is going to be speaking about creating digital reading experiences and his experiences working on creating such applications using powerful new technologies.</p>
<h2>Wait there is more!</h2>
<p>A lot of our team members (in addition to those listed) will be around to talk to you in the Community Pavilion, and at the Adobe Booth and will be on hand to show you two brand new demos that we will be sneaking in. We will also have loads of <a href="http://webplatform.org">webplatform.org</a> &amp; <a href="http://testthewebforward.org">testthewebforward.org</a> stickers to give away! Look us up at either of these places if you would like to chat about what we are doing for the web, the hows and the whys.</p>
<p>See you at MAX!</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.adobe.com/webplatform/2013/04/30/see-us-adobe-max/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Test the Web Forward Seattle Recap</title>
		<link>http://blogs.adobe.com/webplatform/2013/04/25/test-the-web-forward-seattle-recap/</link>
		<comments>http://blogs.adobe.com/webplatform/2013/04/25/test-the-web-forward-seattle-recap/#comments</comments>
		<pubDate>Thu, 25 Apr 2013 18:34:15 +0000</pubDate>
		<dc:creator>Rebecca Hauck</dc:creator>
				<category><![CDATA[Community Events]]></category>
		<category><![CDATA[Testing]]></category>

		<guid isPermaLink="false">http://blogs.adobe.com/webplatform/?p=3551</guid>
		<description><![CDATA[We were pleased to attend the fifth successful Test the Web Forward on April 12-13, held this time in the Pacific Northwest. The event took place at Microsoft&#8217;s Seattle office, graciously hosted by the Internet Explorer Developer Relations team. Experts, web developers, students and other newcomers came together and wrote over 500 tests on a...]]></description>
				<content:encoded><![CDATA[<p>We were pleased to attend the fifth successful Test the Web Forward on April 12-13, held this time in the Pacific Northwest. The event took place at Microsoft&#8217;s Seattle office, graciously hosted by the Internet Explorer Developer Relations team. Experts, web developers, students and other newcomers came together and wrote over 500 tests on a rainy Saturday, the highest number of tests at an event to date. You could say it was raining new tests in Seattle.</p>
<p>Following the usual format, the event kicked off on Friday evening with a series of tech talks. <a href="https://twitter.com/fantasai">Elika &#8220;fantasai&#8221; Etemad</a> began as the keynote speaker, giving an inspiring and thought-provoking talk on how to approach writing W3C spec tests. She gave advice on how to extract testable assertions, how to design robust tests, and things to consider when reviewing tests.</p>
<p><a href="http://blogs.adobe.com/webplatform/files/2013/04/TestTWFSeattle_12.jpg"><img class="size-medium wp-image-3574 alignright" style="margin: 15px;" alt="Kris Krueger" src="http://blogs.adobe.com/webplatform/files/2013/04/TestTWFSeattle_12-300x221.jpg" width="300" height="221" /></a></p>
<p>Then Microsoft&#8217;s Kris Krueger and I each gave short talks on how to write W3C tests. I covered reftests, which are used when a test case requires a browser&#8217;s rendering to be verified and Kris covered testharness.js, which is the W3C&#8217;s JavaScript test framework. The attendees were very engaged and interested in all of the talks, evident from the good questions that followed.</p>
<p>After the presentations, there was a series of lightning talks, where several experts introduced themselves and tried to recruit new test writers for their favorite specs. After the pitches were made, people formed groups to write tests for HTML5, Pointer Events, CSS Flexbox, and CSS Transforms. The evening wrapped with a great spread of food and plenty of cold beverages. Everyone was ready with a plan to hack the next day.</p>
<p><a href="http://blogs.adobe.com/webplatform/files/2013/04/TestTWFSeattle_29.jpg"><img class="size-medium wp-image-3584   alignleft" style="margin: 15px;" alt="Dave Methvin leading Pointer Events testing" src="http://blogs.adobe.com/webplatform/files/2013/04/TestTWFSeattle_29-217x300.jpg" width="217" height="300" /></a></p>
<p>On Saturday, groups formed in three rooms &#8211; Kris led a team in the HTML5 room, <a href="https://twitter.com/MrCSS">Arron Eicholz</a> from Microsoft joined Elika and me in the CSS room, and <a href="https://twitter.com/jacobrossi">Jacob Rossi</a> (also with Microsoft) paired with the president of the jQuery Foundation, <a href="https://twitter.com/davemethvin">Dave Methvin</a> to lead a group writing tests for Pointer Events. This was a great example of the community having a voice in how each TestTWF is is run. Dave reached out to the organizers suggesting a focus on the Pointer Events spec, so he was invited as an expert and along with Jacob, turned out lots of new tests!</p>
<p>Over in the HTML5 room, Kris&#8217; team was also writing lots of tests and finding bugs. <a href="https://twitter.com/GregBulmash">Greg Bulmash</a> quickly exposed some interoperability issues with the HTMLOptionsCollection tests he wrote.  It was also very cool to see some remote people participating in this event. Opera&#8217;s <a href="https://twitter.com/odinho">Odin Hørthe Omdal</a> (and expert alumni from <a href="http://blogs.adobe.com/webplatform/2012/11/09/test-the-web-forward-paris/">TestTWF Paris</a>) was online in Norway reviewing tests.  Ms2ger was also reviewing tests and even quickly fixed a <a href="https://github.com/w3c/testharness.js/commit/4d2322948478763734ab268282b0a87879cea002">bug in testharness.js</a> found by <a href="https://twitter.com/alanstearns">Alan Stearns</a> during the event. This was the first truly global TestTWF.</p>
<p style="text-align: left;">In the third room were the CSS folks. Those writing tests for CSS Flexbox were in good hands with Arron and Elika.  They put the spec on a large projector and walked through the sections to help people identify test cases.  Elika then went into further detail on the points she had discussed in her talk the night before, reiterating the three main points every test author should consider:</p>
<p>1. Does the test pass when it&#8217;s supposed to pass?<br />
2. Does it fail when it&#8217;s supposed to fail?<br />
3. Does it test what it thinks it&#8217;s testing?</p>
<p>The rest of the CSS people wrote tests for CSS Transforms. It was great to see people learning and collaborating on the best test design for this very cool CSS feature.</p>
<div id="attachment_3613" class="wp-caption alignnone" style="width: 1034px"><a href="http://blogs.adobe.com/webplatform/files/2013/04/TestTWFSeattle_35.jpg"><img class="size-large wp-image-3613" alt="Designing a CSS Transforms test" src="http://blogs.adobe.com/webplatform/files/2013/04/TestTWFSeattle_35-1024x678.jpg" width="1024" height="678" /></a><p class="wp-caption-text">Designing a CSS Transforms test</p></div>
<p>All in all, it was another great event, producing over 500 new tests!. People left knowing more than they did when they came, we grew the community, and we moved the Web forward just a little bit more.</p>

<a href='http://blogs.adobe.com/webplatform/2013/04/25/test-the-web-forward-seattle-recap/testtwfseattle_1/' title='Welcome to TestTWF Seattle'><img width="150" height="150" src="http://blogs.adobe.com/webplatform/files/2013/04/TestTWFSeattle_1-150x150.jpg" class="attachment-thumbnail" alt="Welcome to TestTWF Seattle" /></a>
<a href='http://blogs.adobe.com/webplatform/2013/04/25/test-the-web-forward-seattle-recap/testtwfseattle_7/' title='Master of Ceremony, Millo Ognissanti'><img width="150" height="150" src="http://blogs.adobe.com/webplatform/files/2013/04/TestTWFSeattle_7-150x150.jpg" class="attachment-thumbnail" alt="Master of Ceremony, Millo Ognissanti" /></a>
<a href='http://blogs.adobe.com/webplatform/2013/04/25/test-the-web-forward-seattle-recap/testtwfseattle_8/' title='Keynote by fantasai'><img width="150" height="150" src="http://blogs.adobe.com/webplatform/files/2013/04/TestTWFSeattle_8-150x150.jpg" class="attachment-thumbnail" alt="Keynote by fantasai" /></a>
<a href='http://blogs.adobe.com/webplatform/2013/04/25/test-the-web-forward-seattle-recap/testtwfseattle_2/' title='Planning to hack'><img width="150" height="150" src="http://blogs.adobe.com/webplatform/files/2013/04/TestTWFSeattle_2-150x150.jpg" class="attachment-thumbnail" alt="Planning to hack" /></a>
<a href='http://blogs.adobe.com/webplatform/2013/04/25/test-the-web-forward-seattle-recap/testtwfseattle_3/' title=''><img width="150" height="150" src="http://blogs.adobe.com/webplatform/files/2013/04/TestTWFSeattle_3-150x150.jpg" class="attachment-thumbnail" alt="" /></a>
<a href='http://blogs.adobe.com/webplatform/2013/04/25/test-the-web-forward-seattle-recap/testtwfseattle_4/' title='Nice T-shirt!'><img width="150" height="150" src="http://blogs.adobe.com/webplatform/files/2013/04/TestTWFSeattle_4-150x150.jpg" class="attachment-thumbnail" alt="Nice T-shirt!" /></a>
<a href='http://blogs.adobe.com/webplatform/2013/04/25/test-the-web-forward-seattle-recap/testtwfseattle_5/' title=''><img width="150" height="150" src="http://blogs.adobe.com/webplatform/files/2013/04/TestTWFSeattle_5-150x150.jpg" class="attachment-thumbnail" alt="" /></a>
<a href='http://blogs.adobe.com/webplatform/2013/04/25/test-the-web-forward-seattle-recap/testtwfseattle_6/' title=''><img width="150" height="150" src="http://blogs.adobe.com/webplatform/files/2013/04/TestTWFSeattle_6-150x150.jpg" class="attachment-thumbnail" alt="" /></a>
<a href='http://blogs.adobe.com/webplatform/2013/04/25/test-the-web-forward-seattle-recap/testtwfseattle_13/' title=''><img width="150" height="150" src="http://blogs.adobe.com/webplatform/files/2013/04/TestTWFSeattle_13-150x150.jpg" class="attachment-thumbnail" alt="" /></a>
<a href='http://blogs.adobe.com/webplatform/2013/04/25/test-the-web-forward-seattle-recap/testtwfseattle_14/' title='Kris Krueger rallying HTML5 testers'><img width="150" height="150" src="http://blogs.adobe.com/webplatform/files/2013/04/TestTWFSeattle_14-150x150.jpg" class="attachment-thumbnail" alt="Kris Krueger rallying HTML5 testers" /></a>
<a href='http://blogs.adobe.com/webplatform/2013/04/25/test-the-web-forward-seattle-recap/testtwfseattle_15/' title=''><img width="150" height="150" src="http://blogs.adobe.com/webplatform/files/2013/04/TestTWFSeattle_15-150x150.jpg" class="attachment-thumbnail" alt="" /></a>
<a href='http://blogs.adobe.com/webplatform/2013/04/25/test-the-web-forward-seattle-recap/testtwfseattle_16/' title=''><img width="150" height="150" src="http://blogs.adobe.com/webplatform/files/2013/04/TestTWFSeattle_16-150x150.jpg" class="attachment-thumbnail" alt="" /></a>
<a href='http://blogs.adobe.com/webplatform/2013/04/25/test-the-web-forward-seattle-recap/testtwfseattle_17/' title=''><img width="150" height="150" src="http://blogs.adobe.com/webplatform/files/2013/04/TestTWFSeattle_17-150x150.jpg" class="attachment-thumbnail" alt="" /></a>
<a href='http://blogs.adobe.com/webplatform/2013/04/25/test-the-web-forward-seattle-recap/testtwfseattle_18/' title='Step 1 when writing tests'><img width="150" height="150" src="http://blogs.adobe.com/webplatform/files/2013/04/TestTWFSeattle_18-150x150.jpg" class="attachment-thumbnail" alt="Step 1 when writing tests" /></a>
<a href='http://blogs.adobe.com/webplatform/2013/04/25/test-the-web-forward-seattle-recap/testtwfseattle_19/' title='Dave Storey'><img width="150" height="150" src="http://blogs.adobe.com/webplatform/files/2013/04/TestTWFSeattle_19-150x150.jpg" class="attachment-thumbnail" alt="Dave Storey" /></a>
<a href='http://blogs.adobe.com/webplatform/2013/04/25/test-the-web-forward-seattle-recap/testtwfseattle_20/' title=''><img width="150" height="150" src="http://blogs.adobe.com/webplatform/files/2013/04/TestTWFSeattle_20-150x150.jpg" class="attachment-thumbnail" alt="" /></a>
<a href='http://blogs.adobe.com/webplatform/2013/04/25/test-the-web-forward-seattle-recap/testtwfseattle_21/' title=''><img width="150" height="150" src="http://blogs.adobe.com/webplatform/files/2013/04/TestTWFSeattle_21-150x150.jpg" class="attachment-thumbnail" alt="" /></a>
<a href='http://blogs.adobe.com/webplatform/2013/04/25/test-the-web-forward-seattle-recap/testtwfseattle_25/' title='It all boils down to this'><img width="150" height="150" src="http://blogs.adobe.com/webplatform/files/2013/04/TestTWFSeattle_25-150x150.jpg" class="attachment-thumbnail" alt="It all boils down to this" /></a>
<a href='http://blogs.adobe.com/webplatform/2013/04/25/test-the-web-forward-seattle-recap/testtwfseattle_22/' title='Testable assertions in the Pointer Events spec'><img width="150" height="150" src="http://blogs.adobe.com/webplatform/files/2013/04/TestTWFSeattle_22-150x150.jpg" class="attachment-thumbnail" alt="Testable assertions in the Pointer Events spec" /></a>
<a href='http://blogs.adobe.com/webplatform/2013/04/25/test-the-web-forward-seattle-recap/testtwfseattle_24-2/' title='Jacob Rossi'><img width="150" height="150" src="http://blogs.adobe.com/webplatform/files/2013/04/TestTWFSeattle_241-150x150.jpg" class="attachment-thumbnail" alt="Jacob Rossi" /></a>
<a href='http://blogs.adobe.com/webplatform/2013/04/25/test-the-web-forward-seattle-recap/testtwfseattle_26/' title=''><img width="150" height="150" src="http://blogs.adobe.com/webplatform/files/2013/04/TestTWFSeattle_26-150x150.jpg" class="attachment-thumbnail" alt="" /></a>
<a href='http://blogs.adobe.com/webplatform/2013/04/25/test-the-web-forward-seattle-recap/testtwfseattle_30/' title='Same tests, different browsers, different results'><img width="150" height="150" src="http://blogs.adobe.com/webplatform/files/2013/04/TestTWFSeattle_30-150x150.jpg" class="attachment-thumbnail" alt="Same tests, different browsers, different results" /></a>
<a href='http://blogs.adobe.com/webplatform/2013/04/25/test-the-web-forward-seattle-recap/testtwfseattle_27/' title=''><img width="150" height="150" src="http://blogs.adobe.com/webplatform/files/2013/04/TestTWFSeattle_27-150x150.jpg" class="attachment-thumbnail" alt="" /></a>
<a href='http://blogs.adobe.com/webplatform/2013/04/25/test-the-web-forward-seattle-recap/testtwfseattle_31/' title=''><img width="150" height="150" src="http://blogs.adobe.com/webplatform/files/2013/04/TestTWFSeattle_31-150x150.jpg" class="attachment-thumbnail" alt="" /></a>
<a href='http://blogs.adobe.com/webplatform/2013/04/25/test-the-web-forward-seattle-recap/testtwfseattle_32/' title='Seattle is high energy!'><img width="150" height="150" src="http://blogs.adobe.com/webplatform/files/2013/04/TestTWFSeattle_32-150x150.jpg" class="attachment-thumbnail" alt="Seattle is high energy!" /></a>
<a href='http://blogs.adobe.com/webplatform/2013/04/25/test-the-web-forward-seattle-recap/testtwfseattle_33/' title='Teamwork'><img width="150" height="150" src="http://blogs.adobe.com/webplatform/files/2013/04/TestTWFSeattle_33-150x150.jpg" class="attachment-thumbnail" alt="Teamwork" /></a>
<a href='http://blogs.adobe.com/webplatform/2013/04/25/test-the-web-forward-seattle-recap/testtwfseattle_34/' title='Writing a reftest'><img width="150" height="150" src="http://blogs.adobe.com/webplatform/files/2013/04/TestTWFSeattle_34-150x150.jpg" class="attachment-thumbnail" alt="Writing a reftest" /></a>
<a href='http://blogs.adobe.com/webplatform/2013/04/25/test-the-web-forward-seattle-recap/testtwfseattle_36/' title='514 Tests!'><img width="150" height="150" src="http://blogs.adobe.com/webplatform/files/2013/04/TestTWFSeattle_36-150x150.jpg" class="attachment-thumbnail" alt="514 Tests!" /></a>
<a href='http://blogs.adobe.com/webplatform/2013/04/25/test-the-web-forward-seattle-recap/testtwfseattle_37/' title='Celebrating new tests!'><img width="150" height="150" src="http://blogs.adobe.com/webplatform/files/2013/04/TestTWFSeattle_37-e1366674727167-150x150.jpg" class="attachment-thumbnail" alt="Celebrating new tests!" /></a>
<a href='http://blogs.adobe.com/webplatform/2013/04/25/test-the-web-forward-seattle-recap/testtwfseattle_38/' title='Test the Web Forward!'><img width="150" height="150" src="http://blogs.adobe.com/webplatform/files/2013/04/TestTWFSeattle_38-150x150.jpg" class="attachment-thumbnail" alt="Test the Web Forward!" /></a>

<p>Next stop: <a href="http://testthewebforward.org/events/tokyo-2013.html">Tokyo</a>!</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.adobe.com/webplatform/2013/04/25/test-the-web-forward-seattle-recap/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>All blend modes for CSS fragment shaders have landed</title>
		<link>http://blogs.adobe.com/webplatform/2013/04/23/all-blend-modes-for-css-fragment-shaders-have-landed/</link>
		<comments>http://blogs.adobe.com/webplatform/2013/04/23/all-blend-modes-for-css-fragment-shaders-have-landed/#comments</comments>
		<pubDate>Tue, 23 Apr 2013 16:27:57 +0000</pubDate>
		<dc:creator>Jacob Goldstein</dc:creator>
				<category><![CDATA[Custom Filters]]></category>
		<category><![CDATA[Web Animations]]></category>
		<category><![CDATA[Web Platform Features]]></category>

		<guid isPermaLink="false">http://blogs.adobe.com/webplatform/?p=3552</guid>
		<description><![CDATA[Thanks to the great work by Max Vujovic, Michelangelo de Simone and others on the Adobe Web Platform team, all blend modes for CSS fragment shaders have landed in the latest versions of Chrome Canary (with the CSS Shaders flag turned on) and Safari WebKit Nightly builds. Max has a blog post up on his personal site with...]]></description>
				<content:encoded><![CDATA[<p>Thanks to the great work by <a href="https://twitter.com/mvujovic">Max Vujovic</a>, <a href="https://twitter.com/michelangelo">Michelangelo de Simone</a> and others on the <a href="https://twitter.com/adobeweb">Adobe Web Platform team</a>, all blend modes for CSS fragment shaders have landed in the latest versions of Chrome Canary (with the <a href="http://blogs.adobe.com/webplatform/2012/09/21/css-custom-filters-now-available-under-flag-in-chrome-canary/">CSS Shaders flag turned on</a>) and Safari WebKit Nightly builds. Max has a <a href="http://maxvujovic.blogspot.com/2013/04/all-blend-modes-for-css-custom-filters.html">blog post</a> up on his personal site with more details and pointers to the <a href="http://codepen.io/adobe/pen/nygsD">samples in codepen</a>, be sure to check both out.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.adobe.com/webplatform/2013/04/23/all-blend-modes-for-css-fragment-shaders-have-landed/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
