<?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>Transitioning.to</title>
	<atom:link href="http://transitioning.to/feed/" rel="self" type="application/rss+xml" />
	<link>http://transitioning.to</link>
	<description>Documenting a Year of Change for Interactive Technology</description>
	<lastBuildDate>Tue, 08 May 2012 14:58:28 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Deal With It</title>
		<link>http://transitioning.to/2012/05/deal-with-it/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=deal-with-it</link>
		<comments>http://transitioning.to/2012/05/deal-with-it/#comments</comments>
		<pubDate>Mon, 07 May 2012 22:10:55 +0000</pubDate>
		<dc:creator>Tom Green</dc:creator>
				<category><![CDATA[Community]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[adobe]]></category>
		<category><![CDATA[edge]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[html5]]></category>

		<guid isPermaLink="false">http://transitioning.to/?p=389</guid>
		<description><![CDATA[My love affair with Flash goes back to 1998 and Flash 3. I was a hard-core Director user and teacher and, frankly, I didn’t think it could get any better than that. Of course what I didn’t expect was to have my Course Coordinator toss a box with a red swirl on the cover on [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-medium wp-image-392" title="Adobe Flash 3" src="http://transitioning.to/wp-content/uploads/2012/05/3-300x150.png" alt="Adobe Flash 3" width="300" height="150" />My love affair with Flash goes back to 1998 and Flash 3. I was a hard-core Director user and teacher and, frankly, I didn’t think it could get any better than that. Of course what I didn’t expect was to have my Course Coordinator toss a box with a red swirl on the cover on my desk at the College and ask, “You know anything about this application?”</p>
<p>I gave the standard Director-centric response. “It’s a wind up toy.” I said.</p>
<p>“Get over it,” he said, “You are teaching it next semester.”</p>
<p>I installed the app – Flash 3– opened it and, 15 years later, I finally closed Flash CS 5.5 and walked away.</p>
<p>For me, the five years between 1998 and 2003, were the absolute best years. Nobody really had a clue what the app could do and, as is so typical in this business, we made it up as we went along. Branden Hall, some kid out on the East Coast, was doing amazing stuff with ActionScript. Eric Natzke was exploring Flash as an artistic medium. <img class="alignleft size-full wp-image-397" title="FlashForward" src="http://transitioning.to/wp-content/uploads/2012/05/ff01ny.gif" alt="FlashForward" width="150" height="72" />Hillman Curtis was quietly using it as a story-telling medium. Joe Cartoon put frogs in a blender and showed Flash could be a serious animation tool. Todd Purgason was moving Flash into the corporate market. Lynda Weinman was running FlashForward, which became the Flash equivalent of Woodstock. Local Flash User groups were springing up like weeds and the Flash Player was being installed at an astounding rate.</p>
<p>For me, my move away from Flash started, slowly, when Flash tried to go mobile.</p>
<p>In spite of all of the “Whiz Bang Smoke and Mirrors” presentations Adobe dropped on its Fanboyz at Max and elsewhere, they just never seemed to get it right.</p>
<p>My moment of clarity around that point happened in, of all places, Adobe’s Head Office in San Jose, California in 2009. I had just finished a presentation to the Adobe Education Leaders crew and someone in the audience asked me why I didn’t teach mobile to my students. My response? “I would rather drive chop sticks into my eyeballs.”</p>
<p>I went through my reasoning for that statement in typical academic fashion but the bottom line was something I had been feeling for over a year: There was no consistency of the experience. It changed from device to device and trying to develop a Flash movie that did that was futile.</p>
<p>When Adobe announced it was suspending mobile development of the Flash Player it was greeted with the usual storm of hair pulling, teeth gnashing and self-righteous sputtering. The way it was announced was “bone headed” but for me it was something I had sort of expected and I used <a title="Tom Green on G+" href="https://plus.google.com/u/0/109732816282804649211/posts" target="_blank">my Google + page</a> to explain my ambivalence and how I saw it as an opportunity to learn and teach something new. I also felt, in the immortal words of Yogi Berra, that this was “déjà vu all over again”. As I wrote:</p>
<blockquote><p>“… A good example is the rise of devices and smartphones and, in a certain way, the death of Flash on these devices. Having lived through, and taught through, a few of these things – the rise of the internet, the decline of print publishing and the rise of Desktop Publishing, the rise and death of the Interactive CD, and the rise of web interactivity and motion graphics – the common factor behind this disruption is not a “new way of doing things”. It is a “new way of talking about it.”</p></blockquote>
<p>That something “new” crossed my radar in the oddest place … a Flash Conference.</p>
<p><img class="alignright size-medium wp-image-398" title="FITC 2011" src="http://transitioning.to/wp-content/uploads/2012/05/i_fitc2011-300x256.jpg" alt="FITC 2011" width="300" height="256" />Doug Winnie, former Adobe Edge Product Manager, corralled me at FITC 2011 in Toronto, and asked if I was interested in looking at a new product &#8211; code name “Helium” – that was in the process of being developed. He sat me down in a corner, flamed up Helium and, as he handed me the laptop, said, “Tell me what you think.”</p>
<p>When I finished, all I could think was, “The magic is back.”</p>
<p>With the rapid pace of technological change within our industry we tend to have a short-term perspective on new technology. We focus on the immediate and the short-term future, which is dangerous but understandable, considering the pace of change we experience and embrace.</p>
<p>What we don’t tend to have is an historical view of this change. This sort of thing tends to arrive quietly, explode across the industry and disruption takes hold until we get a collective handle on the technology. Back in the late 80’s and early 90’s Digital Publishing literally wiped out art departments, type houses, printing shops, highly skilled trades (Film Strippers, PrePress, Typesetting) and, once the dust settled, a funny thing happened – these guys mostly went back to work once they discovered the computer was a tool and that nothing had really changed other than how we talk about it.</p>
<p>Are you seeing a trend here?</p>
<p>The current debate about HTML 5 and Flash, on this site and elsewhere, is nothing more than our dealing with disruption. Edge, through its use of <img class="alignleft size-full wp-image-399" title="Adobe Edge" src="http://transitioning.to/wp-content/uploads/2012/05/edge-300x232.png" alt="Adobe Edge" width="300" height="232" />HTML5, CSS3, JavaScript and so on, gives us a consistent experience across platforms ranging from the 32’ monitor on my desk to touch screen devices mounted in the back of taxis in Beijing to the smartphone in my pocket. How can this be a “bad thing”? The other point I have discovered is moving to Edge or other interactive motion graphics technology from Flash is not hard. The Flash skills developed over the years are easily transferrable to Edge. It is the same way of doing what we have always done. It is just a different way of talking about it.</p>
<p>Still Edge is a hammer . Flash is a wrench. HTML 5 is a screwdriver. They are just tools. This is something the HTML 5 zealots seem to overlook. Whenever one of those guys tells me HTML 5 is the way to go I simply flip them a video and ask them to get it to run it in a touch screen mounted on the back seat of a Beijing taxi crashing around the city. You use the tool best suited to the job at hand and if it is Flash … so be it. If it is Edge … then use it. Something else? Knock yourself out because the bottom line hasn’t changed: “Does it work?”</p>
<p>As I tell my students, nobody cares how you did it. They just care that it works.</p>
<p>So where’s the magic I was talking about? We are back where we were with Flash 3. We have a technology that is disrupting our lives and businesses and, this early in the game, we really don’t have a clue how to use it. Standards are in flux . Clients are confused. We are making it up as we go along and that is fine. It’s the way it worked in the past and is the way it will always work.</p>
<p>Deal with it because, in the final analysis, you have to admit …. Damn this is fun.</p>
<p>&nbsp;</p>
<p>&#8211;</p>
<p><span><strong>About the Author</strong>: Tom Green has been teaching with the Interactive Multimedia Program at Humber College since 1995. He was appointed to his current full-time faculty position in 2004. He is also the author of over a dozen books published by Pearson Education and Friends of Ed, including such best-sellers as Foundation Flash CS5 for Designers, Foundation Flash CS3 Video, and From After Effects to Flash: Poetry in Motion Graphics, and has produced an online and DVD video training series on Fireworks CS3.</span></p>
<p>Tom is an Adobe Community Professional, a member of Adobe’s Higher Education Leader Program in the post-secondary area, and a member of the Product Advisory Boards for Flash Media Server, Edge and Fireworks at the Adobe Corporation and the Camtasia Studio Advisory Board at TechSmith Corporation. He is also in great demand as a speaker and regularly does presentations at major industry conferences around the world, including D2WC, FlashintheCan, Spark Europe, TODCON, FITC, Adobe Max, Web Design World, and Digital Design World. He has conducted expert lectures at such post-secondary institutions as the Rochester Institute of Technology, Pasadena Community College, the Central Academy of Fine Arts in Beijing, the University of Wisconsin, the Sloan Merlot Consortium, the EMMA Foundation Master Classes for Post Secondary students in Hamburg, Germany and Toronto, and Red River Community College in Winnipeg.</p>
<p>Along with these industry efforts, Tom regularly contributes articles and tutorials to Layersmagazine.com, webdesign.tutsplus, the Adobe Design Center, and the Adobe Developer Center. His personal site is <a href="http://www.tomontheweb.ca" target="_blank">http://www.tomontheweb.ca</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://transitioning.to/2012/05/deal-with-it/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Industry Responses to HTML5 &amp; Flash in 2012</title>
		<link>http://transitioning.to/2012/04/industry-responses-to-html5-flash-in-2012/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=industry-responses-to-html5-flash-in-2012</link>
		<comments>http://transitioning.to/2012/04/industry-responses-to-html5-flash-in-2012/#comments</comments>
		<pubDate>Fri, 27 Apr 2012 16:54:30 +0000</pubDate>
		<dc:creator>R Blank</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Community]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[browsers]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[html5]]></category>

		<guid isPermaLink="false">http://transitioning.to/?p=298</guid>
		<description><![CDATA[Over the course of the past six months or so, the conversation seems to have settled quite a bit. Whereas much of the 2010 and 2011 discussions on HTML, Flash and web technologies were laced with (often emotionally-heated) misleading abstraction (for example, last July, Fred Cavazza posted on Forbes, lamenting how the discussion about Flash [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://aigaphilly.org/events/2012/flash-html5"><img class="alignright size-medium wp-image-353" title="From Flash to HTML5 held at AIGA Philadelphia on April 24th, 2012" src="http://transitioning.to/wp-content/uploads/2012/04/flash-html5_trunc-300x158.png" alt="From Flash to HTML5 held at AIGA Philadelphia on April 24th, 2012" width="300" height="158" /></a>Over the course of the past six months or so, the conversation seems to have settled quite a bit. Whereas much of the 2010 and 2011 discussions on HTML, Flash and web technologies were laced with (often emotionally-heated) misleading abstraction (for example, last July, <a href="http://www.forbes.com/sites/fredcavazza/2011/07/17/why-opposing-html5-and-flash-is-a-non-sense/" target="_blank">Fred Cavazza posted on Forbes</a>, lamenting how the discussion about Flash and <a href="http://www.forbes.com/sites/fredcavazza/2011/07/17/why-opposing-html5-and-flash-is-a-non-sense/" target="_blank"><img class="alignleft size-medium wp-image-310" title="" src="http://transitioning.to/wp-content/uploads/2012/04/forbes-300x129.png" alt="Fred Cavazza on Forbes, Why Opposing HTML5 And Flash Is Nonsense" width="300" height="129" /></a>HTML5 often ignores actual details of the technologies), the discussion in 2012 seems to have become much more nuanced, intricate &#8212; and accurate.</p>
<p>I thought it would be helpful and informative to provide a brief round-up of what some others have saying on this subject over that time. This is not meant to be a comprehensive overview, but instead a representative sampling of what’s being said and written on these subjects.</p>
<h1><strong>The Realities of HTML5</strong></h1>
<p><a href="http://silktricky.com/blog/html5/" target="_blank"><img class="alignright size-medium wp-image-323" title="HTML5 by Noah Costello" src="http://transitioning.to/wp-content/uploads/2012/04/html5_blog-300x164.jpg" alt="HTML5 by Noah Costello" width="300" height="164" /></a>I have read two fantastic posts in particular, about nuances in the consideration and adoption of Flash and HTML5. <a href="http://silktricky.com/blog/html5/" target="_blank">The first, by Noah Costello</a>, specifically addresses how this shift in technologies is impacting interactive production in ad agencies. He addresses the details of actual implications of HTML5 adoption on agency workflows, budgets, and features. It&#8217;s just not an easy set of issues to confront:</p>
<blockquote><p>Truthfully, HTML5 is a bit of a freight train right now.  The technical details don’t really matter, it has so much buzz and momentum that to stand in front of it and try to influence its path is a fool’s errand.  It will take a little time for it to run its course and for everyone figure out where it fits within the world of advertising and digital campaign concepting and development.</p>
<p>&#8230;</p>
<p>[Flash] was a great ecosystem for those involved.  Creatives could come up with big ideas and feel confident they were possible, without having to worry too much about the technology.  Developers were pushed to do some amazing work and often did amazing work on their own, which lead creatives to great new ideas.  One developer invents PaperVision 3D, another one figures out Augmented Reality Markers and next thing you know we have a live Big Foot interacting with you live on your webcam (<a href="http://www.livingsasquatch.com/" target="_blank">www.livingsasquatch.com</a>).</p>
<p>&#8230;</p>
<p><strong>HTML5 cannot do everything Flash can</strong>.  In reality trying to create these sites in HTML5 is more like “Mission Impossible” and most of them would need to be re-concepted from the ground up; with creative and user experience design that was tailored to HTML5′s capabilities.  Could the ’Ethan Hunt’ of HTML5 Development pull it off? Maybe in a few cases, but what would be the cost and what percentage of the target audience will be able to view the site?  I know that with Flash sites, most clients were unwilling to allow a site published in the latest version of the Flash player until it reaches higher that 95% penetration.  Will a WebGL site that 50% of your visitors can use really be acceptable?  And we’ll often get briefs for Flash projects that have as little as a two or three week development timeline. Good luck with that in HTML5.</p>
<p>Ironically, most of the cutting edge, Flash-like HTML5 sites you see these days don’t work on tablets or smart phones either.  They either use HTML5 features that aren’t available in mobile browsers (WebGL), offer poor performance (Canvas),  or the layout and user experience design does not work properly.  This is perplexing since the primary argument for dropping Flash is compatibility on Mobile.</p>
<p>The technology aside, there are other fundamental problems with trying to make one site fit all. Screen resolutions are all over the place. Can you really expect to design something for a  22″ desktop screen that will look good on a 10″ tablet (iPad), a 7″ tablet (Kindle fire) and 3.5″ screen (average smartphone)? You also may not want the same amount of content on your mobile site, as lots of people like to find necessary information quickly and prefer more immersive experiences on a large screen when they’re sitting comfortably.</p></blockquote>
<p>Costello concludes with real-world recommendations for agencies and developers:</p>
<blockquote><p>&nbsp;</p>
<ul>
<ul>
<ul>
<li>Don’t decide on the technology until you figure out your audience. Is the primary target mobile or desktop? What percent of your audience is on HTML5 compatible browsers?</li>
<li>Figure out your clients goals. Are they ok with you targeting a smaller audience for the sake of industry buzz and awards? Or are they more concerned with overall reach to consumers.</li>
<li>Creatives concepting HTML5 sites need to learn more about the technology and limitations.  You can’t assume everything you would have concepted for a Flash targeted site will be possible in HTML5.  Especially if it is running on tablets and smart phones.</li>
<li>If the goal is a highly interactive site on the desktop that will reach a maximum audience, use Flash.</li>
<li>If a site uses interactive video and/or alpha channel video, use Flash and don’t expect the same type of experience to be possible on mobile.</li>
<li>If the site only requires basic animations (think animating layers of a photoshop document) and video in contained players, use HTML5.</li>
<li>Deep content/copy heavy portals, corporate sites, and blogs should be HTML. This has always been a good rule.</li>
<li>If the same site needs to work on the desktop and tablet expect less (in terms of interactivity, animation, and innovative UX).</li>
<li>If the same site needs to work on the desktop, tablet, and smart phones, expect a lot less.</li>
<li>Be careful not to expect a robust HTML5 site be built on a tight timeline. Extra time will be needed for build and more importantly QA/bug fixes. i.e. Don’t plan on approving creative two weeks before a site needs to go live.</li>
<li>Understand that not all HTML5 features are created equal. Some work on mobile, but not desktop. Some work on desktop, but not mobile.  WebGL is a good example.  Currently it is not enabled in mobile browsers and Internet Explorer on the desktop.</li>
</ul>
</ul>
</ul>
</blockquote>
<p>&nbsp;</p>
<p>Another post, from just last month, comes from <a href="http://www.webdesignerdepot.com/2012/03/flash-centric-misconceptions-of-html5" target="_blank">Philip Donald writing about HTML5 misconceptions</a>. In it, Donald gets into how actual feature differences between Flash and HTML5 should influence tech selection for different projects.</p>
<blockquote><p><a href="http://www.webdesignerdepot.com/2012/03/flash-centric-misconceptions-of-html5/" target="_blank"><img class="alignright size-medium wp-image-325" title="Flash-centric misconceptions of HTML5 by Philip Donald" src="http://transitioning.to/wp-content/uploads/2012/04/Scenario-11-300x219.jpg" alt="Flash-centric misconceptions of HTML5 by Philip Donald" width="300" height="219" /></a>Firstly, HTML 5 offers a very convenient audio and video solution with some advanced functionalities. All well and good, but what many people ignore is the fact that these audio and video files are played within the browsers. Each browser has built-in plugins for audio and video but different browsers support different versions of the audio and video. Because of this, it becomes difficult to cater to the requirements of all browsers.</p>
<p>Secondly, the SVG and Canvas elements have definitely made it easier for developers to implement and integrate 2D animations, but it’s been observed that this animation has a detrimental effect on website performance. Also, HTML5 is proving to be weak when it comes to handling 3D animations, resulting in developers not being able to replicate an entire Flash website with similar efficiency in HTML5. There will always be limitations.</p>
<p>Thirdly, you can use HTML5 Rich Internet Applications, but don’t be under the misconception that they can offer you the same brand of efficiency and functionality that Flash/Flex can offer, for example Flash can directly communicate with remote services, whereas HTML5 cannot.</p>
<p>Now that you know what HTML5 cannot do, allow me to offer you a small list of things that HTML5 can do and, in fact, can do very well. This can also help reduce the misconceptions in a big way.</p>
<ul>
<ul>
<ul>
<li>You can create a single application that works on the iPad, iPhone, Windows etc. In other words, it facilitates platform/device independency — a huge benefit in itself.</li>
<li>Helps develop a single website that works on the tablet, mobile, and desktop at the same time.</li>
<li>If used well and the way it is supposed to be used, it can improve website performance.</li>
<li>Enables the use of audio and videos tags across all platforms, but be prepared to do a bit of hard work.</li>
<li>Video, audio and images are all written right into the codes, eliminating the need for any third party software.</li>
<li>Quicker load time as compared to its older version because of WebSockets implementation.</li>
<li>Offers great vector animations for graphics and light effect, but do not expect the moon, the sun, and the stars when it comes to animations; Flash is way ahead in this aspect.</li>
<li>Provides appropriate built-in form validation and type declarations to offer specific keyboard support.</li>
</ul>
</ul>
</ul>
<p>HTML 5 definitely has the potential of upstaging Flash in more ways than one, but it is presently a work in progress. Even in its current avatar it helps make mobile phone applications more accessible, and developers are now able to create universal applications for different mobile phones. Additionally, there is no doubt that it offers more flexibility in website creativity. For now, this is enough. What happens in the future is pure hypothesis.</p></blockquote>
<p><a href="http://www.longtailvideo.com/html5/" target="_blank"><img class="alignright size-full wp-image-327" title="Long Tail Video HTML5" src="http://transitioning.to/wp-content/uploads/2012/04/chart_fullscreen.png" alt="Long Tail Video HTML5" width="280" height="140" /></a>I think that perhaps no post symbolizes the evolution of the online discussion as much as <a href="http://www.longtailvideo.com/html5/" target="_blank">Long Tail Video’s post about HTML5</a>. Whereas 2011 saw a massive (and often, uninformed) push to HTML5 video solutions, Long Tail Video (the makers of the JW Video Player) presents actual details about video playback features and format support, across browser implementations of HTML5 and HTML5 video. And (thank god) they go to the effort of keeping that post current, with new browser releases. This type of information was simply impossible to come by last year, but is essential to have when making tech decisions.</p>
<h1><strong>Adobe</strong></h1>
<p>The posts above demonstrate, Flash still supports many use-cases better than any available alternative technology. As just one real-world example, <a href="http://www.simple-talk.com/opinion/geek-of-the-week/peldi-guilizzoni-geek-of-the-week/" target="_blank">Giacomo Guilizzoni (founder of Balsamiq wireframing software, and better known as ‘Peldi’ to many in the Macromedia and Adobe communities) said in a recent interview</a> that, while:</p>
<blockquote><p><a href="http://www.simple-talk.com/opinion/geek-of-the-week/peldi-guilizzoni-geek-of-the-week/" target="_blank"><img class="alignright size-full wp-image-329" title="Peldi Guilizzoni: Geek of the Week" src="http://transitioning.to/wp-content/uploads/2012/04/1478-peldi_guilizzoni.jpg" alt="Peldi Guilizzoni: Geek of the Week" width="145" height="200" /></a>It’s fashionable to criticize Flash and Air these days, but the reality is that for certain kinds of rich, graphic-intensive, cross-platform applications, it’s still the only serious option.</p>
<p>&#8230;</p>
<p>We don’t have any current plans to switch to a different platform. A full rewrite is suicide for a startup, and like I said, our customers don’t care right now. Plus, I don’t really see an alternative right now either, HTML5 doesn’t even have full-screen support yet, let alone a good desktop installation experience or serious IDEs for JS development.</p></blockquote>
<p>However, in the world of technology, many people make decisions not only on where things are (that is, what technology can do today), but also based on perceptions of where things are going. Flash and AIR, of course, are owned by Adobe, <a href="http://www.rblank.com/2011/11/10/adobes-november-9th-case-study-in-message-failure/" target="_blank">who significantly disrupted the markets for both Flash and AIR last November</a>. Today, half a year later, while much of the discussion about HTML5 and Flash has evolved and become more nuanced, what is Adobe&#8217;s influence on explicating or defining a direction for web technologies?</p>
<p><a href="http://www.adobe.com/products/edge.html" target="_blank"><img class="alignright size-medium wp-image-331" title="Adobe Edge" src="http://transitioning.to/wp-content/uploads/2012/04/edge-300x232.png" alt="Adobe Edge" width="300" height="232" /></a>One of Adobe’s primary initiatives around HTML5 is called <em>Edge</em>, which is a new HTML5 animation tool. Edge (for which Adobe maintains three separate URLs, <a href="http://success.adobe.com/en/na/sem/products/edge.html" target="_blank">here</a>, <a href="http://www.adobe.com/products/edge.html" target="_blank">here</a>, and <a href="http://labs.adobe.com/technologies/edge/" target="_blank">here on Adobe labs</a>), though, is still not a released product. Similarly, Adobe is now promoting that the <a href="http://tv.adobe.com/watch/adobe-technology-sneaks-2012/export-to-html5-from-flash-professional/" target="_blank"><em>next</em> version of Flash Professional will have the ability to export HTML5 animations</a>. As of today, there is still no professional-grade HTML5 tooling from Adobe &#8212; everything remains in the future &#8212; leaving the community of developers with continued questions as to how these new tools will actually impact their work.</p>
<p>On Flash (and AIR), Adobe has attempted to reduce uncertainty and solidify expectations as to the direction and future support for the platform. Earlier this year, <a href="http://www.adobe.com/devnet/flashplatform/whitepapers/roadmap.html" target="_blank">Adobe published a road map for Flash Player and AIR</a>, reiterating their emphasis on Flash and AIR as a solution primarily for video delivery and gaming.</p>
<blockquote><p>Looking forward, Adobe believes that Flash is particularly suited for addressing the gaming and premium video markets, and will focus its development efforts in those areas. At the same time, Adobe will make architectural and language changes to the runtimes in order to ensure that the Flash runtimes are well placed to enable the richest experiences on the web and across mobile devices for another decade.</p></blockquote>
<p>There was “a lot of negative discussion [in the community] around the focus on gaming and premium video talked about in <a href="http://inflagrantedelicto.memoryspiral.com/2012/02/flash-runtimes-whitepaper/"><img class=" wp-image-333 alignright" title="Labrecque_120_2011" src="http://transitioning.to/wp-content/uploads/2012/04/Labrecque_120_2011.jpg" alt="Joseph Labrecque on Adobe's Flash Whitepaper" width="72" height="108" /></a>the whitepaper,” according to educator and developer Joseph Labrecque, who <a href="http://inflagrantedelicto.memoryspiral.com/2012/02/flash-runtimes-whitepaper/" target="_blank">penned a defense of Adobe’s positioning of the technology in the document</a>. Still, for a roadmap to be valuable, the markets and community must trust that it is accurate &#8212; and, in Adobe’s case, that trust was significantly reduced last November. So, for example, in a pair of recent Tweets, author, developer and community leader <a href="https://twitter.com/phillip" target="_blank">Phillip Kerman</a> noted his concern that, despite the representations in its product roadmap, Adobe will drop support for mobile AIR (just as it did for mobile Flash Player):</p>
<p><center><a href="http://twitter.com/phillip" target="_blank"><img class="size-full wp-image-304 alignnone" src="http://transitioning.to/wp-content/uploads/2012/04/kermanTweets_20120425.png" alt="Phillip Kerman Tweets" width="520" height="168" /></a></center>While Adobe’s product teams are trying to build community understanding of the direction of the Flash Player, it would appear from the online discussion that Adobe as a company has, to date, been unsuccessful at rebuilding the trust that was lost last year &#8212; there is much more work left for Adobe to do on this front, but as technologies move forward, one wonders how much time they have left to address the situation.</p>
<p>As a case-in-point, earlier this year, Adobe promoted that anyone could send questions to Adobe CEO Shantanu Narayen (<a href="http://motherjones.com/politics/2011/04/10-most-ridiculously-overpaid-ceos" target="_blank">one of the top 10 most overcompensated CEOs in America, according to Mother Jones Magazine</a>) by including the hashtag #askShantanu, and he would answer them in a conference keynote. All told, only six questions were posted. <a href="http://archive.peterelst.com/2012/03/21/shantanu-where-are-you/" target="_blank"><img class="alignright size-medium wp-image-337" title="Shantanu, Where Are You, by Peter Elst" src="http://transitioning.to/wp-content/uploads/2012/04/elst-300x69.png" alt="Shantanu, Where Are You, by Peter Elst" width="300" height="69" /></a>The most direct question was tweeted by developer and community leader, Peter Elst, who asked: “with respect, do you feel you’ve taken enough personal responsibility around the massive communication failure in November? #askShantanu”. <a href="http://archive.peterelst.com/2012/03/21/shantanu-where-are-you/" target="_blank">As Elst elaborated on his blog</a>:</p>
<blockquote><p>It is in my opinion time for Adobe as a company to clean up its mess and move on, but to do so it needs to come to terms with the present situation and acknowledge its failures. If nothing else, I expect from a CEO to be willing to step up and defend his position.</p></blockquote>
<p>At the scheduled event, Narayen did not acknowledge or respond to any of these #askShantanu questions &#8212; much less the one from Peter Elst. With this style of leadership emanating from the top of the organization, it is unsurprising that the once vibrant community around Flash (and Adobe’s web products, in general) continues to deteriorate. As Adobe Certified Instructor (ACI) Dee Sadler tweeted earlier this week:</p>
<p><center><a href="https://twitter.com/deesadler" target="_blank"><img class="alignnone size-full wp-image-306" title="" src="http://transitioning.to/wp-content/uploads/2012/04/sadlerTweet.png" alt="Dee Sadler Tweet" width="520" height="77" /></a></center>Similarly unsurprisingly, firms and decision makers will also continue to lose interest in working with Flash technology. <a href="http://blogs.atlassian.com/2012/04/how-gliffy-is-managing-the-risk-of-re-writing-their-product-in-html5/" target="_blank">As one recent example, Chris Kolhardt, CEO and Founder of Gliffy (an online diagram and flowchart tool) explains</a>, “Flash helped make Gliffy successful, but has no future.” His support for that conclusion?</p>
<blockquote><p><a href="http://blogs.atlassian.com/2012/04/how-gliffy-is-managing-the-risk-of-re-writing-their-product-in-html5/" target="_blank"><img class="alignright size-full wp-image-339" title="How Gliffy is managing the risk of re-writing their product in HTML5" src="http://transitioning.to/wp-content/uploads/2012/04/gliffy-logo1-e1334104223599.png" alt="How Gliffy is managing the risk of re-writing their product in HTML5" width="150" height="55" /></a></p>
<ul>
<li>Flash isn’t supported in iOS devices</li>
<li>Android is dropping Flash support</li>
<li>Google Chrome support of Flash on the Mac seems to add new bugs that are out of our control in every new release</li>
<li>Developers aren’t really excited about doing anything related to Flash</li>
</ul>
</blockquote>
<h1><strong>Meanwhile&#8230;</strong></h1>
<p><a href="http://yakovfain.com/2012/02/22/will-html-force-you-to-lie/" target="_blank"><img class="alignright  wp-image-341" title="Will HTML Force You To Lie? by Yakov Fain" src="http://transitioning.to/wp-content/uploads/2012/04/yakov_fain.jpg" alt="Will HTML Force You To Lie? by Yakov Fain" width="102" height="102" /></a>While the industry discussion is becoming more articulate, nuanced and accurate, this process occurs more slowly in the broader market. The sophistication of the tech discussion in sales and with clients (unsurprisingly) lags behind what developers know and understand. Earlier this year, <a href="http://yakovfain.com/2012/02/22/will-html-force-you-to-lie/" target="_blank">Yakov Fain asked if “Will HTML Force You to Lie?”</a></p>
<blockquote><p>Yesterday, one perspective customer asked me if we have an HTML5 version of this application. I said, “We can create one for you”. The next moment I realized that I lied and added, “I mean, most of it can be turned into HTML/JavaScript, but some heavy duty stuff we’re doing now would be too expensive to re-create in HTML/JavaScript”.</p>
<p>I didn’t start questioning why they even wanted to do a pure HTML5 version. I know what the answer would be: “Everybody goes HTML5, we want it too, and we want it now”. You can’t piss against the wind. You shouldn’t attack windmills unless your name is Don Quixote.</p></blockquote>
<p>Clearly (and again, unsurprisingly), it will take more time for these discussions to approach reality. The education of clients often presents unique challenges in software; it is even more difficult in light of the legacy of the HTML5 and Flash discussion from the past two years, and will likely remain so for at least the next year or so.</p>
<p>At the same time, the technological landscape in which all of this is occurring is becoming increasingly fragmented, complicated (and expensive). As just one recent example, the introduction of the pixel-rich iPad 3 has led once again to <a href="http://www.webmonkey.com/2012/03/what-the-new-ipads-retina-display-means-for-web-developers/" target="_blank">basic questions (without easy answers) about how to deliver images inside of a browser</a> (something that I think we all thought was resolved over a decade ago):</p>
<blockquote><p><a href="http://www.webmonkey.com/2012/03/what-the-new-ipads-retina-display-means-for-web-developers/" target="_blank"><img class="alignright size-medium wp-image-344" title="What the New iPad’s Retina Display Means for Web Developers" src="http://transitioning.to/wp-content/uploads/2012/04/retinascreen-300x167.jpg" alt="What the New iPad’s Retina Display Means for Web Developers" width="300" height="167" /></a>The problem is simple: you need to send smaller images to small screens and larger images to larger screens. Sending a huge iPad-optimized image to a device with a max resolution of 320×480 just doesn’t make sense. At the same time, when bandwidth isn’t an issue, most sites will want to serve high-resolution content to displays that can handle it.</p>
<p>The ideal solution would be to detect both the resolution of the screen and the available bandwidth. Then, based on the combination of those two factors, the server could offer up the appropriate image. Currently that’s not possible, though there are already <a href="http://www.alistapart.com/articles/responsive-images-how-they-almost-worked-and-what-we-need/" target="_blank">proposals to extend HTML to handle that scenario</a>.</p>
<p>The <a href="http://www.w3.org/community/respimg/" target="_blank">Responsive Image Working Group</a> is a W3C community group hoping to solve some of these problems. The group is proposing a new HTML element, &lt;picture&gt;, which will take into account factors like network speed, device dimensions, screen pixel density and browser cache to figure out which image to serve up. Think of it as a much smarter version of the old <a href="http://www.w3schools.com/jsref/prop_img_lowsrc.asp" target="_blank">lowsrc property</a>. So far though it’s all hypothetical</p></blockquote>
<p><a href="http://trigger.io/cross-platform-application-development-blog/2012/03/15/what-multi-platform-means-for-viral-loops/" target="_blank"><img class="alignright size-medium wp-image-345" title="What multi-platform means for viral loops by Amir Nathoo" src="http://transitioning.to/wp-content/uploads/2012/04/Viral-300x187.png" alt="What multi-platform means for viral loops by Amir Nathoo" width="300" height="187" /></a>And, <a href="http://trigger.io/cross-platform-application-development-blog/2012/03/15/what-multi-platform-means-for-viral-loops/" target="_blank">as Amir Nathoo writes</a>, if you are hoping to achieve viral success, you really do need to invest in proper experiences on all of these increasing varied devices. So, supporting all platforms bears increased cost; and ignoring platforms also incurs real costs. <a href="http://transitioning.to/2012/01/the-major-trend-in-interactive-development/" target="_blank">As I wrote earlier this year</a>, “a 2012-dollar spent on interactive production will get you less functionality delivered to a smaller percentage of the consumer market than the same dollar spent only two years ago.”</p>
<p>In my inaugural post on this site, I explained that “while there are no clear answers, you can still make informed decisions”. More and more people are learning what variables and parameters influence informed decisions in this climate, and thankfully, some of them are taking the time to share them. In that sense, I think the industry is now moving into another phase. One in which more honest discussions occur, where there is a much less reflexive attitude towards technology evaluation and decisions, and these technologies are increasingly well understood by a wider segment of the industry who, on a daily basis, must confront the challenges of actually executing interactive experiences in a highly complex environment.</p>
<p>And that is most definitely a good and positive trend for the broader health of the interactive industry.</p>
]]></content:encoded>
			<wfw:commentRss>http://transitioning.to/2012/04/industry-responses-to-html5-flash-in-2012/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Solving HTML5 Video Problems with Adaptive Streaming</title>
		<link>http://transitioning.to/2012/03/solving-html5-video-problems-with-adaptive-streaming/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=solving-html5-video-problems-with-adaptive-streaming</link>
		<comments>http://transitioning.to/2012/03/solving-html5-video-problems-with-adaptive-streaming/#comments</comments>
		<pubDate>Thu, 01 Mar 2012 17:55:06 +0000</pubDate>
		<dc:creator>Robert Reinhardt</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[adaptive streaming]]></category>
		<category><![CDATA[ffmpeg]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://transitioning.to/?p=195</guid>
		<description><![CDATA[In my last article, I discussed the confusing landscape of options in online video delivery. Now, I want to outline an online video solution that has the greatest payoff for your investment of time and resources. Every client approaches me with a unique set of objectives for their video content; some clients want to offer video [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-medium wp-image-286" title="Solving HTML5 Video Problems with Adaptive Streaming" src="http://transitioning.to/wp-content/uploads/2012/03/adaptiveStreaming_featured_768x567-300x221.jpg" alt="Solving HTML5 Video Problems with Adaptive Streaming" width="300" height="221" /><a title="The World of Pain that is HTML5 Video" href="http://transitioning.to/2012/01/the-world-of-pain-that-is-html5-video/">In my last article</a>, I discussed the confusing landscape of options in online video delivery. Now, I want to outline an online video solution that has the greatest payoff for your investment of time and resources. Every client approaches me with a unique set of objectives for their video content; some clients want to offer video services to their customers within their own web portals, while others simply want to &#8220;own&#8221; their media assets and not utilize free video hosting services such as YouTube and Vimeo. There&#8217;s no one single right way to deploy video content. Before I commit my clients to a video solution, I make sure we&#8217;ve answered the following questions:</p>
<ul>
<li><strong>Purpose:</strong> Why are you offering video online? Do you have product demos or marketing content that everyone who visits your online presence can view? Or, do you have training videos, or exclusive content that only specific customers can view?</li>
<li><strong>Target audience:</strong> What devices and platforms are watching the video content? Have you identified a particular audience that needs specific optimized video delivery (e.g. Apple&#8217;s HTTP Live Streaming requirements for iOS applications)?</li>
<li><strong>Production:</strong> Is your video content produced with high visual and audio quality? How frequently do you need to deploy new video content to an online audience?</li>
<li><strong>Resources:</strong> What is your budget for online video, from production to post-production to deployment? Do you have managed resources (e.g. internal staff or contracted services) that can handle ongoing encoding and hosting tasks?</li>
</ul>
<p>The answers to all of these questions determine how your video content will be produced, encoded, and distributed. For my approach outlined here to be worthwhile and meaningful, here&#8217;s a sample response that could benefit from an optimized online video deployment:</p>
<ul>
<li><strong>Purpose:</strong> You have video content that you want to keep within your control and domain. You&#8217;d prefer not to have videos in their entirety cached on the viewer&#8217;s device or computer.</li>
<li><strong>Target audience:</strong> You have content that you want to optimally display on iOS devices, and play well across desktop browsers new and old.</li>
<li><strong>Production:</strong> You have high quality video content, and you create it on a semi-regular basis (once a month, a week, or daily)</li>
<li><strong>Resources:</strong> You don&#8217;t mind paying for premium video services, but you also don&#8217;t want a high upfront cost for encoding and hosting.</li>
</ul>
<p><strong>Note:</strong> In a future article, I will position services such as YouTube and Vimeo within a larger comprehensive online video strategy.</p>
<h2>Goal: Reduce encoding efforts</h2>
<p>As I mentioned in my earlier post, there is no single HTML5 video codec. Over the last decade, most encoding tools have honed their H.264 encoding options and their overall output quality. WebM and Theora encoding tools and options though are still quite limited.  If you stick with H.264, you&#8217;ll encode your video content with H.264 Baseline profile for smartphone delivery, and H.264 Main profile for tablet and desktop delivery. Within the next three years, I suspect we won&#8217;t need to worry as much as about H.264 Baseline profile as smartphones will universally have the GPU and/or CPU power to handle more advanced video decoding. Apple iPhone 4 and 4S already support H.264 Main profile playback. If you&#8217;re really savvy with your deployment, you&#8217;ll encode multiple bitrates in both H.264 Baseline and Main profiles for adaptive streaming. On videoRx.com, our automated presets output anywhere from 4 to 16 targets for adaptive streaming.</p>
<h2>Goal: Reduce player logic/overhead</h2>
<p>The standard mantra is to use the HTML5 &lt;video&gt; tag and only use a Flash-based video player as a fallback where the &lt;video&gt; tag isn&#8217;t recognized. I recommend to my clients the exact opposite approach: position a Flash-based video experience first, and fallback to HTML5 &lt;video&gt; support if the viewer isn&#8217;t on a platform that supports the Flash Player. With this approach, you can always use H.264 as your single video codec, because Flash Player supports it, and non-Flash-compatible platforms such as Apple iOS do support H.264 natively.</p>
<p>You can still create HTML5 and SEO friendly web content–you&#8217;re just going to use JavaScript to replace a &lt;video&gt; tag with Flash &lt;object&gt;/&lt;embed&gt; tags to play the video wherever the Flash Player is installed. This approach is not the same as putting &lt;object&gt; and &lt;embed&gt; tags within a &lt;video&gt; tag. On the contrary, JavaScript is used to swap out the &lt;video&gt; tag even within HTML5 capable browsers, to ensure consistency of H.264 playback. If you only have H.264 content, a non-H.264 compliant HTML5 browser such as Mozilla Firefox will not fallback to a nested &lt;object&gt;/&lt;embed&gt; Flash video player without the aid of JavaScript. <a title="Home page for MediaElement.js" href="http://mediaelementjs.com/">MediaElement.js</a> is one such library that will automatically insert an alternate playback engine if you only have H.264 content available. However, MediaElement.js doesn&#8217;t detect or implement adaptive streaming capabilities for both iOS and Flash Player. Therefore, if you want to use adaptive streaming techniques, you have to <a title="2.0.0 version of videoRx.com JavaScript library" href="http://s3.videorx.com/player/videorx_player_2.0.0.js" target="_blank">build your own JavaScript library</a> like I&#8217;ve done on <a title="Home page of videoRx.com" href="http://videoRx.com">videoRx.com</a>.</p>
<p><strong>Note:</strong> If you&#8217;re wondering why I&#8217;m positioning the Flash Player as the first tier of playback over HTML5, just look at the lack of true fullscreen playback in HTML5 browsers. Firefox has only recently released its fullscreen API for their latest beta releases of Firefox 10. There are a slew of other features that we don&#8217;t have in current HTML5 specifications that the Flash Player has had for quite a while, but I&#8217;ll leave that discussion to another article.</p>
<h2>Goal: Optimize delivery for mobile and desktop</h2>
<p>Finally, encode and deploy using adaptive streaming technologies. While adaptive streaming was once a domain for broadcast and movie distribution companies, today <em>any</em> video content creator can deploy adaptive streaming video with even the most meager of budgets. I&#8217;m a huge fan of <a title="Home page of Wowza Media Systems" href="http://wowza.com">Wowza Media Server</a> (WMS), which reduces much of the complexity and overhead with streaming management. You can use WMS on the cloud with Amazon EC2 and Amazon S3 storage for a relatively minor cost (or use a AWS-backed  service like<a title="Home page of videoRx.com" href="http://videoRx.com"> videoRx.com</a> to even further minimize hosting costs). While you can use a standard web (HTTP) server with Apple HTTP Live Streaming (HLS) deployment , you need to pre-process all of your video into manifests and timed MPEG TS chunks. Once you&#8217;ve committed to that pre-processing workflow, you have to also encode non-HLS H.264 video files available for playback environments that don&#8217;t support HLS, regardless of whether you use Flash as a first responder or a fallback technology.</p>
<h2>A Comprehensive Solution with AVC/H.264 and Adaptive Streaming</h2>
<p>If you follow my recommendations, you&#8217;ll end up with a final scenario that includes the following tech setup:</p>
<ol>
<li>H.264 Baseline and Main profile encoded video content in two or more bitrates. That&#8217;s a minimum of four H.264 video files.</li>
<li>A &lt;div&gt; container with an optional &lt;video&gt; tag for SEO purposes that is replaced with the appropriate Flash-based video player for adaptive streaming, or updated with an adequate source for the &lt;video&gt; tag that uses Apple HLS or progressive download.</li>
<li>A JavaScript library that detects if you&#8217;re using a browser that&#8217;s HLS compliant, and use an appropriate M3U8 manifest file for H.264 Baseline playback on smartphones or a M3U8 manifest file for H.264 Main playback on tablet or desktop computers. If Flash Player is installed (or available for the platform viewing the video), the JS library will write Flash Player embed code for a video player that supports adaptive streaming such Adobe&#8217;s free <a title="Home page for Strobe Media Playback" href="http://www.osmf.org/strobe_mediaplayback.html">Strobe Media Playback SWF</a>.</li>
<li>A Wowza Media Server instance that handles the transmuxing of your H.264 encoded content for Apple HLS and Adobe HTTP Dynamic Streaming (HDS), as well as the creation of M3U8 manifests for Apple HLS and F4M manifests for Adobe HDS.</li>
</ol>
<p><a href="http://transitioning.to/wp-content/uploads/2012/03/delivery_spec_v2.png"><img class="alignnone  wp-image-282" title="Adaptive streaming deployment" src="http://transitioning.to/wp-content/uploads/2012/03/delivery_spec_v2-1024x613.png" alt="" width="578" height="347" /></a></p>
<p>To see past examples of this approach, you can review the HTML and JavaScript I&#8217;ve employed on the <a title="Samples page on videoRx.com" href="http://videorx.com/samples/">videoRx.com samples page</a>.</p>
<p>The world of online video can certainly be intimidating, especially as non-Flash components enter your workflow and distribution. And there are real costs and trade-offs that flow directly from the decisions you and your clients make. I hope this post, and the one before it, help you decipher your options, and devise solutions that work for your needs.</p>
]]></content:encoded>
			<wfw:commentRss>http://transitioning.to/2012/03/solving-html5-video-problems-with-adaptive-streaming/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Will HTML5 Ever Catch Up to Flash on Features?</title>
		<link>http://transitioning.to/2012/03/will-html5-ever-catch-up-to-flash-on-features/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=will-html5-ever-catch-up-to-flash-on-features</link>
		<comments>http://transitioning.to/2012/03/will-html5-ever-catch-up-to-flash-on-features/#comments</comments>
		<pubDate>Thu, 01 Mar 2012 01:26:54 +0000</pubDate>
		<dc:creator>R Blank</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[video]]></category>
		<category><![CDATA[w3c]]></category>
		<category><![CDATA[webcam]]></category>

		<guid isPermaLink="false">http://transitioning.to/?p=273</guid>
		<description><![CDATA[I’ve been scanning Twitter quite a bit lately for mentions of HTML5, because while the landscape for interactive technologies is far more complex than just HTML5, that is where a lot of the discussion is happening. I saw one tweet last week that mentioned how HTML5 had “not yet” caught up to Flash’s features. I, [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-medium wp-image-275" title="Will HTML5 Ever Catch Up to Flash on Features?" src="http://transitioning.to/wp-content/uploads/2012/03/flash_html5_features_inline-300x234.jpg" alt="Will HTML5 Ever Catch Up to Flash on Features?" width="300" height="234" />I’ve been scanning Twitter quite a bit lately for mentions of HTML5, because while the landscape for interactive technologies is far more complex than just HTML5, that is where a lot of the discussion is happening. I saw one tweet last week that mentioned how HTML5 had “not yet” caught up to Flash’s features. I, in turn, tweeted that, while HTML5 would improve, “HTML5 will *never* do all of what Flash can already do.”</p>
<p>I honestly thought that was a no-brainer, and while I saw support and re-tweets, I also got a little push-back on the notion.</p>
<p>As Twitter just doesn’t permit for thoughtful expression, I wanted to spend a few words on this blog to expand on my meaning. Because, while this is forward-looking speculation (and won’t be proven out, one way or the other, for quite some time), I feel that a discussion like this can help the industry establish realistic expectations of what will be possible in the new web.</p>
<p>So, the question is whether HTML5 will ever offer all of the features that Flash Player 11 offers today.</p>
<h1><strong>Can HTML5 Ever Offer the Flash 11 Feature-Set?</strong></h1>
<p>I do not believe that HTML5 will ever offer the same features as Flash 11. This is due primarily to three factors:</p>
<h2><strong>Maturity of Flash Player 11 Feature Set</strong></h2>
<p><strong>Stated simply, Flash is a very mature technology.</strong> Across 14 years of enhancements and evolution, Flash today offers a tremendous set of functionality. Too vast to cover with any justice in a post such as this. Whether you are talking about video delivery, audio manipulation, peripheral integration, GPU control, data format support, or any other number of specific and mature features, HTML5 has a very, very tall order in terms of catching up to Flash’s current offering.</p>
<h2><strong>The HTML5 Specification</strong></h2>
<p><strong>Stated simply, HTML5 evolution is slow. </strong>HTML5 has been in discussion since 2004, and is still, eight years later, not a complete specification. This is how open standards tend to proceed, given the number of stakeholders, and the number of stages at which those stakeholders can provide input and influence.</p>
<p>The speed (or lack thereof) with which features are added to the specification, combined with the number of features in Flash 11, means that even if all stakeholders today agreed on the desirability of these features (and that is a BIG if), it would take many years for the W3C to add all of the Flash 11 features to the HTML5 specification.</p>
<p>Now, it’s important to realize that much of what people consider to be HTML5, is actually not HTML5 &#8212; but instead, uses and implementations of JavaScript and CSS. In other words, HTML5 does not need to evolve or change, in order for more sophisticated and creative uses of JavaScript and CSS to enter the market.</p>
<p>Still, there is a limit to the nature of features that can be executed with JS and CSS, without additions to the HTML5 specification. And I do not believe that the W3C has demonstrated an ability to move at a sufficient pace to catch up.</p>
<h2><strong>The HTML5 Browser Implementations</strong></h2>
<p><strong>HTML5 is completely dependent on browser implementations for functionality</strong>. The W3C defines HTML5, but each browser vendor writes their own HTML5 interpreter. Each one varies, with discrepancies (some small and some large). A quick scan of <a href="http://caniuse.com/%23cats=HTML5" target="_blank">When Can I Use’s HTML5 compatibility table</a> should give some indication of what this can mean.</p>
<p>Once a feature is added to HTML5, it still must be added to the browsers, and users must upgrade to those newer browser versions, in order for people to actually use the feature. (The process of introducing a new browser version to a sufficient number of users can take years.)</p>
<p>A feature is not a feature unless a user can use it. It’s one thing for HTML5 to support a feature; it’s entirely another for a user to have a browser in which that feature works.</p>
<h2><strong>Taken Together</strong></h2>
<p>Taking the above three factors into consideration, I believe it is clear why HTML5 has a very difficult challenge ahead, in terms of matching the feature set of Flash 11. Let’s take webcam support as an example. In this case, <a href="http://www.w3.org/TR/html-media-capture/" target="_blank">the W3C has already engaged in discussions on this type of support</a>, but we are still years away from any practical implementations being in the hands of a wide number of consumers. First, the W3C (which has shown great reluctance to agree on even a standard video codec for HTML5) would have to agree on a specification for webcam support. Then, the HTML5 specification support for webcams would hopefully be picked up by the browser makers (<a href="http://www.longtailvideo.com/html5/" target="_blank">not all of whom can yet support the ‘loop’ or ‘autoplay’ attributes of HTML5 video</a>). This process would take years. And, that is just one (admittedly complex) of the many features that HTML5 would need to add, in order to match the feature set of Flash 11.</p>
<h1><strong>What This Means</strong></h1>
<p>I believe that, more than anything, this demonstrates some of the impact of the messy nature of these international standards, and identifies some of the tangible trade-offs that consumers will be making in this new world. With HTML5, unlike Flash, it just takes a lot of time and effort to get a new feature standardized, approved, implemented and distributed. And Flash, today, offers a lot of advanced and mature features that are not yet even in discussion in the HTML5 world.</p>
<p>In those areas where developers can really innovate with HTML5, they will. So we’ll see more mature frameworks, libraries, and workflow tools designed to improve HTML5 features and production options. However, in those areas which require W3C and browser-maker consent, HTML5 will continue to lag, for a very long-while.</p>
<p>I hope it is clear, but I feel compelled to add that this isn’t at all to say that HTML5 is inferior to Flash. The subject of this post is a very specific and limited one. Of course, in any real-world discussion, one can not ignore that HTML5 is supported on mobile devices (and it is important to remember that the value of a feature in large part stems from the number of screens to which it can be delivered). And, in my final disclaimer, arguing that HTML5 will never support the same feature set as Flash 11, is not the same as claiming that browsers will never support those features. Just that, if and when they do, it will be with something other than HTML5; HTML5 will not be the medium through which the in-browser equivalent of the Flash 11 feature set is achieved.</p>
<p>All that said, this is speculation. And I would love to see some different opinions in the comments. Again, the goal here is to try to spark a conversation in which the industry works to establish realistic expectations around what HTML5 has to offer.</p>
]]></content:encoded>
			<wfw:commentRss>http://transitioning.to/2012/03/will-html5-ever-catch-up-to-flash-on-features/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Embracing Uncertainty</title>
		<link>http://transitioning.to/2012/02/embracing-uncertainty/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=embracing-uncertainty</link>
		<comments>http://transitioning.to/2012/02/embracing-uncertainty/#comments</comments>
		<pubDate>Tue, 21 Feb 2012 19:48:56 +0000</pubDate>
		<dc:creator>R Blank</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Community]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[standards]]></category>
		<category><![CDATA[uncertainty]]></category>

		<guid isPermaLink="false">http://transitioning.to/?p=250</guid>
		<description><![CDATA[They say the first step is admitting you have a problem. In this case, I’d say the first step is more about admitting that the entire industry has a problem. Now, I’m sure there are plenty of you out there who would respond “there’s no problems, everything’s copacetic.” And, if that’s the case, congratulations! Of [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-full wp-image-253" title="Embracing Uncertainty" src="http://transitioning.to/wp-content/uploads/2012/02/Age_uncertainty_LG.jpg" alt="Embracing Uncertainty" width="350" height="250" />They say the first step is admitting you have a problem. In this case, I’d say the first step is more about admitting that the entire industry has a problem.</p>
<p>Now, I’m sure there are plenty of you out there who would respond “there’s no problems, everything’s copacetic.” And, if that’s the case, congratulations! Of course, for most, that’s not actually the case.</p>
<p>In the process of trying to find some good articles for this site, I’m in touch with many of my colleagues in the industry, explaining to them the mission and purpose. And, as a result, I find myself having pretty open discussions about these sensitive matters with some very well informed and experienced people &#8212; people who have been building careers and making money with digital tools for interactive production (coders, animators, designers and video engineers) for well over a decade.</p>
<p>In a typical exchange I had just this week, one colleague replied with a series of questions that he would wish to ask the world, in light of the shifts in the industry (and these weren’t questions on small or minor points; these are fundamental questions of tools and workflows). Then he concluded that it’s “just a matter of if I ask it in public.”</p>
<p>Of course, this is entirely understandable.</p>
<p>We all trade on our skills and expertise. Admitting that we don’t know where things are going, or what the right solutions are for right now, can feel as though we are admitting that we are no longer experts, we are not worth the money we charge, and we are not worthy of admiration or respect from our peers.</p>
<p>While this is all understandable, it is not accurate.</p>
<p>Your uncertainty does not stem from your own short-comings. It is not reflective of your skills. It does not mean that you are behind the rest of the industry. It does not mean that you missed the conference where ‘The Answers’ were distributed to your peers.</p>
<p>Instead, your uncertainty is the result of the actions of, and battles between, large, multi-national firms (each of whom is acting in its own profit-seeking interests), as well as the actions and decisions of international standards bodies that reflect a mix of Ivory Tower abstraction from real world commercial contexts, and the specific, narrowly-defined interests of their corporate stakeholders (who, of course, fund the activities of these organizations).</p>
<p>The unfortunate outcome of these battles (at least in the near-term) is a massive degree of uncertainty &#8212; more uncertainty that I have ever seen in this industry (I’ve been building websites since 1993, when the public web was just 2 years old).</p>
<p>As many observers already know, one of the main sources of this confusion and uncertainty is HTML5. Now, HTML version 5, as the newest generation of the HTML specification, is a massive (and, in my opinion, long-overdue) upgrade to the standard language of the web.</p>
<p>But HTML5 is simply not what it is commonly represented as &#8212; what some very large, powerful and well-resourced firms are spending a lot of money to convince you of. To Apple, HTML5 is ready-for-primetime &#8212; as long as you only cater to users of iOS. To Adobe, HTML5 is ready-for-primetime &#8212; despite that they do not have one releasable version of any of the HTML5 tooling that they’ve been showing off. To W3C, HTML5 is ready-for-primetime (despite that it is not a complete or final spec) &#8211; as long as you don’t need to stream a video file, or play two audio files simultaneously in that experience. To the browser makers, HTML5 is ready-for-primetime, despite that each browser treats HTML5 more as a suggestion than a specification.</p>
<p>Heck, even the term ‘HTML5’ itself is frequently referenced so misleadingly, as to be inaccurate. In business contexts, it’s frequently synonymous with ‘no Flash’ or &#8216;mobile solution&#8217;. In tech circles, HTML5 is often used to mean &#8216;HTML5, JavaScript, CSS and the browser video renderers&#8217; or simply, &#8216;in the browser&#8217;.</p>
<p>So we have an incompletely defined and supported technology, misleadingly labeled in common usage as short-hand for a set of related technologies &#8212; all without a mature set of tooling or professional-grade workflows.</p>
<p>But, none of the firms who are now so heavily invested in the HTML5 future will tell you this. Instead, their (very well-funded, if not particularly well-crafted) message is, simply “use HTML5”.</p>
<p>So, as I say, the first step is to admit that the entire industry has a problem. Once you do that, you will realize that almost all of the questions that you have are shared by a large number of your colleagues. The “experts” do not have magical answers that you do not.</p>
<p>Asking questions &#8212; even simple ones &#8212; is the entirely natural response to situations such as these. And I would actively encourage you to become more comfortable asking questions in public forums &#8212; even (nay, especially) if you are seen as an ‘expert&#8217;. Once the community feels comfortable asking these questions in the open, we can finally begin to have an honest discussion about what is actually transpiring in the industry. Otherwise, we&#8217;ll be ceding the discussion to the same firms who created this situation, leading to an unnecessarily extended period of uncertainty.</p>
<p>Don&#8217;t deny the uncertainty. Embrace it.</p>
]]></content:encoded>
			<wfw:commentRss>http://transitioning.to/2012/02/embracing-uncertainty/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>The Major Trend in Interactive Development</title>
		<link>http://transitioning.to/2012/01/the-major-trend-in-interactive-development/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=the-major-trend-in-interactive-development</link>
		<comments>http://transitioning.to/2012/01/the-major-trend-in-interactive-development/#comments</comments>
		<pubDate>Mon, 30 Jan 2012 16:57:02 +0000</pubDate>
		<dc:creator>R Blank</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[audio]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[production]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://transitioning.to/?p=197</guid>
		<description><![CDATA[The current trend towards HTML5 as the medium for rich browser experiences is leading to changes in large segments of the interactive industry. As people learn the details about HTML5 feature-support, how these features are implemented in various browsers, and what tools and frameworks exist to expedite and simplify this process, they are sharing their learnings [...]]]></description>
			<content:encoded><![CDATA[<p><img class="wp-image-229 alignright" title="The Increasing Cost of Interactive Production" src="http://transitioning.to/wp-content/uploads/2012/01/CurrentTrend_Featured_768x567-copy.jpg" alt="The Increasing Cost of Interactive Production" width="133" height="197" />The current trend towards HTML5 as the medium for rich browser experiences is leading to changes in large segments of the interactive industry. As people learn the details about HTML5 feature-support, how these features are implemented in various browsers, and what tools and frameworks exist to expedite and simplify this process, they are sharing their learnings in posts and other social media.</p>
<p>And the trends we’re seeing emerge lead to one primary conclusion.</p>
<h1><strong>Inflation</strong></h1>
<p>From a business perspective, the key take-away from this period, is that dollar-for-dollar, experiences will provide less functionality, to a smaller percentage of viewers. Viewed another way, producing the same feature, delivered to the same percentage of the market, will cost more.</p>
<h1><strong>The Central Cost Driver: HTML5 &amp; The Browsers</strong></h1>
<p>This conclusion isn’t a comment on the particular values of either HTML or Flash. Instead, it is reflective of one underlying fact: Adobe absorbs a not-insignificant portion of the cost of production for the rest of us who have used Flash to deliver rich experiences inside of browsers. Adobe ensures that Flash runs the same everywhere, in every browser, on every platform, so that you don&#8217;t have to. As such, Flash represents a significant subsidy from Adobe to the rest of the Internet.</p>
<div id="attachment_214" class="wp-caption alignright" style="width: 253px"><a href="http://netmarketshare.com/" target="_blank"><img class="size-full wp-image-214" title="Market Share for Different Browsers" src="http://transitioning.to/wp-content/uploads/2012/01/BrowserMarketShare.gif" alt="Market Share for Different Browsers" width="243" height="318" /></a><p class="wp-caption-text">Market Share for Different Browsers</p></div>
<p>There is no firm investing in a similarly consistent runtime for HTML5. Instead, HTML5 works just the same way as prior versions of HTML; it is an international standard, and the different browser makers implement it differently. Each browser you wish to support increases cost and time in production, first by increasing time spent in quality assurance efforts, and then the engineering time spent on remediation of browser-specific issues that are inevitably discovered. All you need is to review a few posts like <a title="Why Can't it Just Work?" href="http://blogs.adobe.com/edge/2012/01/04/why-cant-it-just-work/" target="_blank">Adobe&#8217;s &#8220;Why Can&#8217;t it Just Work?&#8221;</a> to see what impact these inconsistencies can have on production.</p>
<p>The browser inconsistencies fall into two categories:</p>
<ol>
<li>Certain aspects of the HTML5 specification which are not implemented with 100% consistency across browsers and platforms.</li>
<li>Some items are not standardized in the HTML5 specification. These are left to the browser vendors to determine.</li>
</ol>
<p>Let&#8217;s examine both.</p>
<h1><strong>The Example of Audio and Video</strong></h1>
<p>Audio and video implementations across HTML5 browsers illustrate these points. Both audio and video are characteristic of many rich experiences (it is difficult to imagine a rich digital experience without sound; and video is also a highly consumed digital medium). So what does HTML5 support look like for audio and video?</p>
<p>Well, it’s sort of a mess. At least to anyone who has been working with Flash as a web delivery medium for the past decade (see Robert Reinhardt’s earlier post on <a href="http://transitioning.to/2012/01/the-world-of-pain-that-is-html5-video/" target="_blank">The World of Pain that is HTML5 Video</a>).</p>
<div id="attachment_203" class="wp-caption alignright" style="width: 310px"><a href="http://www.longtailvideo.com/html5/" target="_blank"><img class="size-medium wp-image-203" title="Browser Support for HTML5 Video Tag Attributes" src="http://transitioning.to/wp-content/uploads/2012/01/html5VideoTagAttributeSupport_20120129-300x172.png" alt="Browser Support for HTML5 Video Tag Attributes" width="300" height="172" /></a><p class="wp-caption-text">Browser Support for HTML5 Video Tag Attributes</p></div>
<p>For example, the HTML5 &lt;video&gt; tag defines several attributes (poster, preload, autoplay, loop, and controls). However, as we learn from <a title="The State of HTML5 Video" href="http://www.longtailvideo.com/html5/" target="_blank">Long Tail Video&#8217;s post, &#8220;The State of HTML5 Video&#8221;</a>, not all of these attributes are implemented in all browsers, and as such, they can not be utilized reliably (unless you force viewers to a specific browser).</p>
<p>That is an example of how not all browsers implement the spec to the same standard. However, some key items are missing from the spec. Newcomers to HTML5 video may be surprised to learn that HTML5 does not define a codec (or, in layman’s terms, HTML5 does not specify a video format). Neither does HTML5 define an audio codec.</p>
<div id="attachment_204" class="wp-caption alignnone" style="width: 598px"><a href="http://www.longtailvideo.com/html5/" target="_blank"><img class=" wp-image-204 " title="Browser Support for HTML5 Audio and Video Codecs" src="http://transitioning.to/wp-content/uploads/2012/01/html5AVCodecSupport_20120129.png" alt="Browser Support for HTML5 Audio and Video Codecs" width="588" height="282" /></a><p class="wp-caption-text">Browser Support for HTML5 Audio and Video Codecs</p></div>
<p>If you want to deliver sound reliably to all browsers using HTML5, you need that sound encoded into at least two separate formats (and deliver the correct one based on browser detection). If you want to deliver a video to all HTML5-enabled browsers, you need at least two separate copies of that video. This clearly and directly increases the cost of production and delivery.</p>
<h1><strong>Related Issues</strong></h1>
<p>There are related issues that each support the overall trend I’ve highlighted above.</p>
<h2><strong>Unequal Spec</strong></h2>
<p>Stated simply, the HTML5 specification does not offer equivalent functionality to what Flash has offered for many years now. I believe that many firms are choosing (or feel compelled by market forces) to adopt HTML5 for their web presences, without a complete understanding of what features and functionality would have to be sacrificed.</p>
<p>There are many examples of the unequal features (many of which I hope will be explained and examined on Transitioning.to over the coming months), but I think two features of video are illustrative of this point.</p>
<div id="attachment_206" class="wp-caption alignleft" style="width: 310px"><a href="http://www.longtailvideo.com/html5/" target="_blank"><img class="size-medium wp-image-206" title="Browser Support for Full Screen HTML5 Video" src="http://transitioning.to/wp-content/uploads/2012/01/html5FullScreenVideoSupport_20120129-300x160.png" alt="Browser Support for Full Screen HTML5 Video" width="300" height="160" /></a><p class="wp-caption-text">Browser Support for Full Screen HTML5 Video</p></div>
<p>For several years now, we’ve grown accustomed to full-screen video experiences delivered through the browser (which Flash has offered since <a title="Flash Player Version History" href="http://www.mediacollege.com/adobe/flash/player/version/" target="_blank">late 2006</a>). Unfortunately, <a title="The State of HTML5 Video" href="http://www.longtailvideo.com/html5/" target="_blank">full-screen is not supported in most HTML5 environments</a>.</p>
<p>Another key aspect of delivering video online that Flash has long supported is adaptive streaming &#8212; the name of the set of features which enable the delivery of the appropriate level of video quality for the active connection speed, as well as other important features such as DRM. And, once again, as we can see from the graphic, below, <a title="The State of HTML5 Video" href="http://www.longtailvideo.com/html5/" target="_blank">HTML5 lags behind</a>.</p>
<div id="attachment_207" class="wp-caption alignnone" style="width: 595px"><a href="http://www.longtailvideo.com/html5/" target="_blank"><img class=" wp-image-207 " title="Browser Support for Adaptive Video Streaming in HTML5" src="http://transitioning.to/wp-content/uploads/2012/01/html5AdaptiveStreamingVideoSupport_20120129.png" alt="Browser Support for Adaptive Video Streaming in HTML5" width="585" height="282" /></a><p class="wp-caption-text">Browser Support for Adaptive Video Streaming in HTML5</p></div>
<p>And it’s not just video. <a href="http://www.gamasutra.com/view/feature/6587/7_things_to_know_about_html5.php?page=2" target="_blank">According to Zynga Germany&#8217;s Paul Bakaus</a>, &#8220;the number one challenge with HTML5 is audio, and this needs to be fixed. It&#8217;s as simple as that. There&#8217;s no way we can work around audio, right?&#8221; As an example, HTML5 is only capable of playing a single audio file at a time. The issues go beyond the fundamentals, as Flash has provided some stellar support for audio, which can simply not be reproduced with current HTML5 technology and support. <a href="http://blog.chenalexander.com/2011/limitations-of-layering-html5-audio/" target="_blank">Alexander Chen reveals many of these in last year’s post about his experience</a> attempting to convert his custom Flash music generator/player to HTML5.</p>
<p>The lack of presence and maturity in certain functionality in HTML5 will force certain features off the table completely, and significantly increase the cost of compensating for the lack of some others (such as producing fall-back experiences in Flash).</p>
<h2><strong>Incomplete Distribution</strong></h2>
<p>Now, despite those areas in which HTML5 lags behind, there is also a class of experiences which HTML5 will be able to provide better, and less expensively, than prior browser technologies. But even in those instances it is likely that the total cost of production will increase. Why?</p>
<p>Adobe Flash Player has long maintained a very large distribution base. In the era of desktop computing, you could essentially rely on the fact that people had Flash Player installed (and, for those that didn’t, it was a relatively small download). It was as close to ubiquity as possible in the digital industry (<a title="Adobe Player Census" href="http://www.adobe.com/products/player_census/" target="_blank">it is still very prevalent on desktops</a>; it&#8217;s just that <a title="Market Share for Devices and OSs" href="http://netmarketshare.com/" target="_blank">desktops form a diminishing share of the market</a>).</p>
<p>HTML5 has not yet reached that level of support in the market. Yes, all new smartphones support HTML5, but many people still use their desktop computers to browse the web, and many still use older browsers without HTML5 support. <a href="http://www.business2community.com/tech-gadgets/state-of-the-web-flash-vs-html5-0123342" target="_blank"><img class="alignright  wp-image-208" title="HTML5 vs. Flash Viewership" src="http://transitioning.to/wp-content/uploads/2012/01/HTML5vsFlashViewership.png" alt="HTML5 vs. Flash Viewership" width="517" height="102" /></a>So, even with Flash’s lack of presence on mobile devices, as we see in <a title="State of the Web: Flash vs. HTML5" href="http://www.business2community.com/tech-gadgets/state-of-the-web-flash-vs-html5-0123342" target="_blank">this infographic from Business2Community</a>, 26% of viewers can not properly see HTML5, while only 4% of people can not properly see Flash. (If you think ‘skip intro’ was bad, let’s see how you feel about going back to the world of ‘Best Viewed in [the browser you do not have]’.)</p>
<p>This means that, unless you are willing to force all of your users to upgrade their desktop browsers (a notoriously difficult hurdle), HTML5 solutions must be supplemented with other technology: using either Flash as a fall-back, or deliver a less-rich experience in an older version of HTML. Pursuing either of these will further increase your cost of production.</p>
<h2><strong>Where We’re Headed</strong></h2>
<p>So, the major trend in interactive development is that, at least for the time being, it is getting messier and messier. As a result, web production of rich experiences will become increasingly expensive, limiting the number of firms that can afford production of outstanding experiences in browsers. Yes, existing and future frameworks, tools and platforms will make this adjustment easier, and less expensive over time (we are ripe for some workflow innovation in this sector). But that doesn’t change the basic market dynamic that is in play here: if you continue to play in the browser, you need to start thinking about increasing your budgets and/or trimming features.</p>
<p><a href="http://transitioning.to/2012/01/youve-probably-underestimated-just-how-big-this-is/" target="_blank"><img class="alignleft size-medium wp-image-209" title="Web Browsing vs. App Usage Stats from Flurry, Dec 2011" src="http://transitioning.to/wp-content/uploads/2012/01/Flurry_Browsing_vs_AppUsage_Dec2011-resized-600-300x212.png" alt="Web Browsing vs. App Usage Stats from Flurry, Dec 2011" width="300" height="212" /></a>Following from this, we will see many rich experiences migrate to native apps, such as iPhone or Android apps (in line with what others are seeing, <a href="http://transitioning.to/2012/01/youve-probably-underestimated-just-how-big-this-is/" target="_blank">as Amir Nathoo posted just last week</a>). None of the above trends I have cited in this post impact native apps. They do not have inconsistent runtimes; they do not suffer from incomplete feature sets. They do, however, by definition reach fewer viewers (the web plays everywhere, on every connected device; an iPhone app only plays on iPhones where the user has taken the time and effort to install the app).</p>
<p>Increasingly, then, it will be the larger firms that will have the resources to invest in the creation of outstanding experiences inside of the browser. Others will have to trim expectations, either by delivering less impressive browser experiences or by delivering native device apps that reach fewer eyeballs.</p>
<p>In short, a 2012-dollar spent on interactive production will get you less functionality delivered to a smaller percentage of the consumer market than the same dollar spent only two years ago.</p>
]]></content:encoded>
			<wfw:commentRss>http://transitioning.to/2012/01/the-major-trend-in-interactive-development/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>You’ve Probably Underestimated Just How Big This Is</title>
		<link>http://transitioning.to/2012/01/youve-probably-underestimated-just-how-big-this-is/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=youve-probably-underestimated-just-how-big-this-is</link>
		<comments>http://transitioning.to/2012/01/youve-probably-underestimated-just-how-big-this-is/#comments</comments>
		<pubDate>Sat, 28 Jan 2012 17:11:01 +0000</pubDate>
		<dc:creator>Amir Nathoo</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://transitioning.to/?p=186</guid>
		<description><![CDATA[I met a team at a mobile dev shop a couple of weeks ago and in the discussion I casually mentioned that mobile app usage exceeds web usage. Eyebrows were raised. I couldn’t remember where I’d heard it. No big deal, everyone knows mobile is important, we moved on. It bothered me afterwards though so [...]]]></description>
			<content:encoded><![CDATA[<p>I met a team at a mobile dev shop a couple of weeks ago and in the discussion I casually mentioned that mobile app usage exceeds web usage. Eyebrows were raised. I couldn’t remember where I’d heard it. No big deal, everyone knows mobile is important, we moved on.</p>
<p>It bothered me afterwards though so I checked my facts and found it again on Flurry’s blog – it’s true, <a href="http://blog.flurry.com/bid/63907/Mobile-Apps-Put-the-Web-in-Their-Rear-view-Mirror">Mobile Apps Put the Web in Their Rear-view Mirror</a>. That’s a big shift, unexpected to many, but you guys are probably nodding to yourselves. You know this stuff right?</p>
<p>Stop.</p>
<p>What if I told you that people who right now are developing standard web apps will actually spend most of their next 10 years writing mobile apps? Too far? Before you judge, consider this:</p>
<p>According to Flurry consumers spend 72 minutes web browsing each day:</p>
<p><img class="alignnone" src="http://blog.flurry.com/Portals/41620/images/Flurry_Browsing_vs_AppUsage_Dec2011-resized-600.png" alt="" width="600" height="399" /></p>
<p>How many web sites are competing for that time? I asked Howmanythereare.net and <a href="http://howmanyarethere.net/how-many-websites-are-there-on-the-internet/">turned up 346M</a>. What about mobile apps competing for those 94 minutes? Well, <a href="http://techcrunch.com/2012/01/04/android-market-hits-400000-app-milestone-says-distimo/">400,000 Android apps</a> was considered big enough to make the news.</p>
<p>What the headline should be is that consumers are leaving web developers behind. And so those that can follow quickly have a HUGE opportunity. Forget a few hundred thousand, there are going to be tens of millions of mobile apps available to consumers in the next few years. App goldrush over? Difficult to be visible on mobile? I don’t think so – not even close. The graph is going to look a bit like this where now is 1997 (logarithmic scale):</p>
<p>&nbsp;</p>
<h3>The number of Internet websites each year since the Web’s founding.</h3>
<p><a href="http://www.useit.com/alertbox/web-growth.html"><img class="alignnone" src="http://www.useit.com/alertbox/web-growth-chart.gif" alt="" width="535" height="310" /></a></p>
<p>Many will be more advanced than desktop equivalents taking advantage of location data, push notifications, camera and features currently under lock and key in Cupertino, Mountain View and Seattle. Some will be billion-dollar businesses in their own right, mobile first, and maybe mobile only.</p>
<p>Infrastructure will be built to support those apps and businesses behind them: middleware, development tools, libraries, open source projects, cloud services. More billion dollar companies.</p>
<p>Now this really is a cursory review of the numbers but seeing them makes me think we’re sleepwalking into a revolution. We think we know that mobile is big because of the fast adoption so far. But actually we’re underestimating 100x how big this change is and what it’ll mean for developers. I know I did, and <a href="https://trigger.io/cross-platform-application-development-blog/2012/01/17/cross-platform-app-development-made-simpler-the-first-step/">mobile is my business</a>. So did the pros I met a few week ago who already write mobile apps for a living. What do you think?</p>
<p>If you’re a web developer and this inspired you to go mobile: <a href="https://trigger.io">we hope you get started with us</a>.</p>
<p><em>[Ed. Note: This post <a title="You’ve probably underestimated just how big this is - on the Trigger Blog" href="https://trigger.io/cross-platform-application-development-blog/2012/01/24/youve-probably-underestimated-just-how-big-this-is/" target="_blank">originally appeared on the Trigger Blog</a>, and was reposted here by permission of the author.]</em></p>
]]></content:encoded>
			<wfw:commentRss>http://transitioning.to/2012/01/youve-probably-underestimated-just-how-big-this-is/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Cucumber and JS: Getting Started with cucumber.js</title>
		<link>http://transitioning.to/2012/01/cucumber-and-js-getting-started-with-cucumber-js/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=cucumber-and-js-getting-started-with-cucumber-js</link>
		<comments>http://transitioning.to/2012/01/cucumber-and-js-getting-started-with-cucumber-js/#comments</comments>
		<pubDate>Fri, 27 Jan 2012 23:50:44 +0000</pubDate>
		<dc:creator>omargonzalez</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[bdd]]></category>
		<category><![CDATA[cucumber]]></category>
		<category><![CDATA[cucumber.js]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://transitioning.to/?p=134</guid>
		<description><![CDATA[The Cucumber project is a Behavior Driven Development (BDD) tool originally designed to work with Ruby. However, since its inception its popularity has grown and there have been implementations of Cucumber written for different languages including Java, .Net, Flex, and JavaScript. Cucumber understands a language named Gherkin which allows features and specs to be written in a plain [...]]]></description>
			<content:encoded><![CDATA[<p>The <a title="The Cucumber Project" href="http://cukes.info" target="_blank">Cucumber project</a> is a Behavior Driven Development (BDD) tool originally designed to work with Ruby. However, since its inception its popularity has grown and there have been implementations of Cucumber written for different languages including Java, .Net, Flex, and JavaScript. Cucumber understands a language named <a title="Gherkin" href="https://github.com/cucumber/cucumber/wiki/Gherkin" target="_blank">Gherkin<span id="more-134"></span></a> which allows features and specs to be written in a plain text format. In this post I will step through getting started with <a title="cucumber.js" href="https://github.com/cucumber/cucumber-js" target="_blank">cucumber.js</a> - the JavaScript implementation of Cucumber, writing your first Gherkin features and making a cucumber. The instructions for this post are based on my experience on a MacBook Pro with OS X Lion 10.7.2. I don&#8217;t know exactly how these steps differ on a Windows machine. If I set up my Windows box with it I&#8217;ll update this post if there are drastically different steps. Also, feel free to post in the comments any differences and I&#8217;ll update the post.</p>
<h2>Installing cucumber.js</h2>
<p>In order to get cucumber.js running on your computer there are two pre-requisites that must be installed first, node.js &#8211; a JavaScript based application server, and npm &#8211; a package manager for node.js that is used to manage JavaScript libraries and their dependencies. The node.js installer now includes npm with the installation so both will be installed at the same time. Download the installer from http://nodejs.org.</p>
<p>Once the installer is done open a Terminal window and type &#8216;node -v&#8217; and hit Enter. The node.js version number should appear, 0.6.8 at the time of this writing.</p>
<p><a href="http://transitioning.to/wp-content/uploads/2012/01/Screen-Shot-2012-01-27-at-9.10.17-AM.png" target="_blank"><img class="aligncenter size-full wp-image-140" title="node.js version" src="http://transitioning.to/wp-content/uploads/2012/01/Screen-Shot-2012-01-27-at-9.10.17-AM.png" alt="" width="675" height="352" /></a></p>
<p>Type &#8216;npm list&#8217; and hit Enter to see a list of the packages that come with the node.js default installation.</p>
<p><a href="http://transitioning.to/wp-content/uploads/2012/01/Screen-Shot-2012-01-27-at-2.41.52-PM.png" target="_blank"><img class="aligncenter size-large wp-image-145" title="npm unmet dependencies tree" src="http://transitioning.to/wp-content/uploads/2012/01/Screen-Shot-2012-01-27-at-2.41.52-PM-1024x379.png" alt="" width="670" height="247" /></a></p>
<p>If you see lots of red text that says UNMET DEPENDENCY or INVALID the packages need to be updated so all the JavaScript libraries have everything they need to run. Type &#8216;npm update&#8217; and npm will update all the packages and download any missing libraries. This could take a couple of minutes as npm downloads all of the dependencies for the packages. Once the packages are done updating and you&#8217;re back at the CLI prompt type &#8216;npm list&#8217; again and you should now see a list of packages all green and no more red like below.</p>
<p><a href="http://transitioning.to/wp-content/uploads/2012/01/Screen-Shot-2012-01-27-at-2.45.27-PM.png" target="_blank"><img class="aligncenter size-large wp-image-147" title="npm list with all green packages" src="http://transitioning.to/wp-content/uploads/2012/01/Screen-Shot-2012-01-27-at-2.45.27-PM-1024x416.png" alt="" width="670" height="272" /></a></p>
<p>Now we&#8217;re ready to install the cucumber.js package. Type &#8216;npm install cucumber&#8217; and npm will download the package. Once that is done go back to Terminal and type &#8216;cucumber.js -v&#8217; and you should see the version number.</p>
<p><a href="http://transitioning.to/wp-content/uploads/2012/01/Screen-Shot-2012-01-27-at-9.21.42-AM.png" target="_blank"><img class="aligncenter size-full wp-image-149" title="cucumber.js version command" src="http://transitioning.to/wp-content/uploads/2012/01/Screen-Shot-2012-01-27-at-9.21.42-AM.png" alt="" width="675" height="352" /></a></p>
<p>If you see the cucumber.js version then you are ready to start writing some Gherkin features! If you get a node.js error try checking the packages needed by cucumber.js to make sure they were all installed. Type &#8216;npm list&#8217; and make sure there are no lines that say UNMET DEPENDENCY below cucumber.js. If you do see some then type &#8216;npm update&#8217; again to make sure it downloads the missing packages.</p>
<h2>Project Setup</h2>
<p>Below is a suggested project structure for your project. Of course this is an area that is highly based on personal preference and as such this is merely a suggestion to help get you started. The things to note in the structure are the node_modules folder to start. Node.js places all of the packages that you use for a project in the node_modules folder. The Makefile is a file to use with the make command to run your cucumber.js commands. I&#8217;ll touch on that some more in the Making a Cucumber section later. The rest is arbitrary but if you change the location or names you&#8217;ll need to also update the Makefile to make sure its targets are all correct. You can use the same node_modules folder to get started from the code for this example. I got it from the Express.js sample app on the cucumber-js GitHub site. With the set up in place now you&#8217;re ready to write your first Gherkin feature and run it to see it fail.</p>
<pre>-project folder
	-client
	-node_modules
	-tests
		-client
			-unit (jasmine, etc, another blog post...)
		-features
			-step_definitions
				-anExampleStepDef.js
			-support
				-world.js
			-AnExample.feature
	-Makefile</pre>
<h2>Writing Your First Gherkin Feature</h2>
<p>Gherkin is the language that Cucumber implementations understand, they&#8217;re the entry point to the automated testing code you write which is referred to as the step definitions. Each step definition is in its own JavaScript file and defines the steps of a scenario of a Gherkin feature. Each feature spec is also its own file, ending in a .feature extension. Here is an example of a simple feature.</p>
<p>file: AnExample.feature</p>
<pre>Feature: This is an example feature
	In order to learn Cucumber
	As a developer
	I want to make this feature pass

	Scenario: wrote my first scenario
		Given a variable set to 1
		When I increment the variable by 2
		Then the variable should contain 3</pre>
<p>There are several parts to the feature definition. All features start with the keyword &#8220;Feature:&#8221;, followed by a short description or feature name. The lines that follow immediately below are indented by a single tab and always go in the pattern: &#8220;In order to&#8230;&#8221;, &#8220;As a &#8230;&#8221;, &#8220;I want to&#8230;&#8221;. This pattern comes from some of the basic tenets of BDD, which there is a good description of on Wikipedia (<a title="Wikipedia BDD Entry" href="http://en.wikipedia.org/wiki/Behavior_Driven_Development" target="_blank">http://en.wikipedia.org/wiki/Behavior_Driven_Development</a>). Immediately following the description of the feature are N number of Scenario definitions. In the example above there is only one but multiple scenarios can be expressed for a single feature. Scenarios always start with the keyword &#8220;Scenario:&#8221;, followed by a short description of what that scenario for that particular feature is about to be described in the following steps. The steps that follow are the most vital part of the feature definition as they directly tie in to the cucumber step definitions you&#8217;ll be writing to verify this feature. We will see how exactly those tie together in the next section Writing Your First Step Definition. These steps always start with the keywords &#8220;Given&#8221;, &#8220;When&#8221;, and &#8220;Then&#8221;. Additionally you can use the keyword &#8220;And&#8221; after any of the keywords. You can read a lot more about Gherkin and its syntax and examples by checking out the book Specification by Example (<a title="Specification by Example Book" href="http://manning.com/adzic/" target="_blank">http://manning.com/adzic/</a>). This example is a very basic one just to show how it all works and comes together. With this feature file in place we can now write the step definition to start testing this feature with cucumber.js.</p>
<h2>Writing Your First Step Definition</h2>
<p>The step definition code should go in its own JavaScript file per feature. In the code example below the JavaScript file is named after the feature file name with a js extension.</p>
<p>file: anExampleStepDef.js</p>
<pre>var aTest = function () {
	this.World = require("../support/world.js").World;

	this.givenNumber = 0;

	this.Given(/^a variable set to (\d+)$/, function(number, next) {
		this.givenNumber = parseInt(number);
		next();
	});

	this.When(/^I increment the variable by (\d+)$/, function (number, next) {
		this.givenNumber = this.givenNumber + parseInt(number);
		next();
	});

	this.Then(/^the variable should contain (\d+)$/, function (number, next) {
		if (this.givenNumber != number)
			throw(new Error("This test didn't pass, givenNumber is " + this.givenNumber + " expected 0"));
		next();
	});
};

module.exports = aTest;</pre>
<p>Lets break down this step definition. The function assigned to the aTest variable is the code that will verify the Gherkin feature. The first line of the function is the set up for the step definition, similar to the set up of a FlexUnit or any other xUnit test case. A World variable is defined that accepts a callback that is passed in by cucumber.js. In the World function is where you would set up beforeEach(), afterEach() and all the set up that needs to happen for this &#8220;world&#8221;. The last line tells cucumber.js its ready to go and passes in the reference to &#8220;this&#8221;.</p>
<p>file: world.js</p>
<pre>var World = function (callback) {
	// set up code goes here

	// last line to tell cucumber.js the World is ready.
	callback(this);
};

exports.World = World;</pre>
<p>The next three function calls are where the step definition directly ties in to the feature file. Each of the steps of the scenario that the step definition js file is testing is written with the function calls to &#8216;this.Given()&#8217;, &#8216;this.When()&#8217; and &#8216;this.Then()&#8217;. The first argument of each function is a regular expression that will match the plain english in its matching step in the feature file. The phrase &#8220;Given a variable set to 1&#8243; then translates to &#8220;this.Given(/^a variable set to (\d+)$/, function (number, next) {&#8230;})&#8221;. The callback function that is in the second argument will always have at least a single argument sent in which is the callback function to call at the end of the step, in this example named &#8216;next&#8217;. If there are regular expression tokens, such as &#8216;(\d+)&#8217; to catch a digit those are sent in to the callback function and can be named arbitrarily and sent to the function call in the order that they appear. That is why the function call has two arguments: &#8216;function (number, next) {&#8230;}&#8217;.</p>
<p>With these files in place now we can move on to making a cucumber. But first we&#8217;ll have to talk about the Makefile.</p>
<h2>The Makefile</h2>
<p>Because cucumber.js is a command line interface program it is cumbersome to use frequently when the parameters list is long or they have to change often. The make utility solves the problem and a Makefile are the instructions to make the process of running and making a cucumber more efficient by having predetermined build targets. Below is an example of a basic Makefile to run cucumber.js on the feature in this example.</p>
<p>file: Makefile</p>
<pre>cucumber:
		@NODE_ENV=test ./node_modules/.bin/cucumber.js tests/features \
				-r tests/features/step_definitions

.PHONY: cucumber</pre>
<p>You can also add additional targets so you can for example run node.js server tests with mocha or run your client unit tests written in Jasmine from the same Makefile. I will expand on those in a later post or you can also check out the Express.js application example mentioned in the cucumber-js GitHub repo README file. The paths in the Makefile file are relative to the location of the Makefile which is the same directory you run the make command from.</p>
<h2>Finally, Making a Cucumber</h2>
<p>With the Makefile in place we can finally make a cucumber. From the directory with the Makefile, which is usually the project root, open a Terminal. Type &#8216;make cucumber&#8217; and you should see some output from cucumber.js telling you how many features were tested and how many scenarios were tested, including how many passed and failed.</p>
<p><a href="http://transitioning.to/wp-content/uploads/2012/01/Screen-Shot-2012-01-27-at-2.51.23-PM.png" target="_blank"><img class="aligncenter size-large wp-image-151" title="a failed scenario" src="http://transitioning.to/wp-content/uploads/2012/01/Screen-Shot-2012-01-27-at-2.51.23-PM-1024x416.png" alt="" width="670" height="272" /></a></p>
<p>If you scroll up the output will give you the details about the step that failed.<br />
<a href="http://transitioning.to/wp-content/uploads/2012/01/Screen-Shot-2012-01-27-at-2.51.28-PM.png" target="_blank"><img class="aligncenter size-large wp-image-152" title="a failed scenario error details" src="http://transitioning.to/wp-content/uploads/2012/01/Screen-Shot-2012-01-27-at-2.51.28-PM-1024x416.png" alt="" width="670" height="272" /></a></p>
<p>That&#8217;s it! If your code has a bug or error in it it&#8217;ll look like above. If it is passing cucumber.js will look like the screenshot below. There&#8217;s a bit of set up upfront, but I believe its worth the price of admission and once its set up all you have to type again is &#8220;make cucumber&#8221; to test your code&#8230; and its fast! If you want more information about Cucumber I would recommend the new e-book/paperback that&#8217;s available in beta form due out in February 2012 and the Specification by Example book which are both on the <a title="Cucumber Project" href="http://cukes.info" target="_blank">http://cukes.info</a> page.</p>
<p><a href="http://transitioning.to/wp-content/uploads/2012/01/Screen-Shot-2012-01-27-at-2.54.06-PM.png" target="_blank"><img class="aligncenter size-full wp-image-154" title="a passing cucumber" src="http://transitioning.to/wp-content/uploads/2012/01/Screen-Shot-2012-01-27-at-2.54.06-PM.png" alt="" width="715" height="296" /></a></p>
<p>Happy cuking!</p>
]]></content:encoded>
			<wfw:commentRss>http://transitioning.to/2012/01/cucumber-and-js-getting-started-with-cucumber-js/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The World of Pain that is HTML5 Video</title>
		<link>http://transitioning.to/2012/01/the-world-of-pain-that-is-html5-video/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=the-world-of-pain-that-is-html5-video</link>
		<comments>http://transitioning.to/2012/01/the-world-of-pain-that-is-html5-video/#comments</comments>
		<pubDate>Tue, 17 Jan 2012 06:44:48 +0000</pubDate>
		<dc:creator>Robert Reinhardt</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[adobe]]></category>
		<category><![CDATA[flash video]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[mpegLA]]></category>
		<category><![CDATA[video]]></category>
		<category><![CDATA[videoRX]]></category>

		<guid isPermaLink="false">http://transitioning.to/?p=63</guid>
		<description><![CDATA[With the continuing momentum of HTML5, industry expectations of the online video space continue to grow. Unfortunately, there are many misconceptions about HTML5 video, and I find myself in the position of explaining to my clients (many already heavily invested in Flash-based video solutions) that current HTML5 capabilities are not on par with those of [...]]]></description>
			<content:encoded><![CDATA[<p>With the continuing momentum of HTML5, industry expectations of the online video space continue to grow. Unfortunately, there are many misconceptions about HTML5 video, and I find myself in the position of explaining to my clients (many already heavily invested in Flash-based video solutions) that current HTML5 capabilities are not on par with those of Flash Player 9, released over five years ago, much less the current Flash Player 11. And so, I&#8217;m doing more of the same exercises I did when native video playback was first introduced in Flash Player 6, in 2002: managing my clients&#8217; expectations of what can be achieved with current technologies. More importantly, when my clients say they want to support HTML5 compliant video, the subtext is, “I want my video to work on iPhones and iPads.”</p>
<p>Given the current state of affairs, I wanted to assemble some notes on the state of HTML5 video, as a helpful introduction to those of you who need to start conceiving, planning and building solutions that necessarily involve aspects of HTML5 video. I&#8217;ve had to consider all of these factors and more as I&#8217;ve built my own video encoding and hosting service at <a title="videoRx.com :: prescription video &amp; encoding" href="http://videoRx.com">videoRx.com</a> over the last two years.</p>
<h3>Introduction to the Problems (or Pain)</h3>
<p>Many web developers already believe that HTML5&#8242;s &lt;video&gt; support can do away with plugin-supported video delivered by Adobe Flash Player or other runtimes. My three biggest concerns with using HTML5 &lt;video&gt; for &#8220;real world&#8221; video deployment revolve around:</p>
<ol>
<li>Current cross-browser implementations and adoption rates</li>
<li>Cross-platform mobile optimizations</li>
<li>Codec support</li>
</ol>
<table style="border-width: 1px; border-style: solid;">
<tbody>
<tr>
<td><strong>Note:</strong> There are more than three reasons to proceed with caution using HTML5 video. For example, video playback capabilities such as true full screen support with graphic and text overlays that online audiences have come to expect from online experiences delivered with Flash-based video players aren&#8217;t available in customized HTML5 video players. I&#8217;ll compare Flash and HTML5 video capabilities in a future post.</td>
</tr>
</tbody>
</table>
<h4>Cross-Browser Implementations</h4>
<p>I&#8217;ll start with current desktop browser usage statistics. Microsoft Windows is still the primary desktop operating system in use today. Microsoft has decided to only release Internet Explorer 9 (IE9) and higher on Windows Vista, Windows 7, and future versions of the operating system, despite the fact that <a title="Browser market share statistics" href="http://bit.ly/y4KCEo" target="_blank">46.52% of the desktop market</a> is still using Windows XP, which can only run IE8 or lower. The HTML5 &lt;video&gt; tag is only supported in IE9 or higher. And by most counts, Windows XP has several years left as a viable operating system. As Table 1 illustrates, nearly 30% of desktop browser usage in North America from December 2011 to January 2012 could not interpret the HTML5 &lt;video&gt; tag. By default, then, if you want to reach a significant portion of desktop viewers with browser-based online content, you need to have a solution that more than likely will require the Flash Player. If you don&#8217;t believe me, just look at <a title="YouTube" href="http://youtube.com">YouTube</a>, which still uses a Flash-based player as the default video player wherever Flash is supported—even when an HTML5 &lt;video&gt; ready browser is detected.</p>
<table style="border-style: solid; border-width: 1px;">
<tbody>
<tr>
<td><strong>Note:</strong> Windows XP can run other non-Microsoft browsers such as Mozilla Firefox or Opera that are HTML5 &lt;video&gt; compliant. However, as I later discuss, these popular browser alternatives do not support H.264 video playback.</td>
</tr>
</tbody>
</table>
<table cellpadding="6">
<caption><strong>Table 1: Browser Market Share &#8211; North America</strong></caption>
<tbody>
<tr>
<th>Browser</th>
<th>Market Share</th>
<th>&lt;video&gt; support</th>
<th>Codec support</th>
</tr>
<tr>
<td colspan="4"><strong><a href="http://gs.statcounter.com/#browser_version-na-daily-20111218-20120116">Desktop</a></strong></td>
</tr>
<tr>
<td>IE8</td>
<td style="text-align: center;">24.83%</td>
<td style="text-align: center;">-</td>
<td style="text-align: center;">-</td>
</tr>
<tr>
<td>Chrome 16</td>
<td style="text-align: center;">19.83%</td>
<td style="text-align: center;"><span style="color: #339966;"><strong>✓</strong></span></td>
<td style="text-align: center;">H.264*, WebM, Theora</td>
</tr>
<tr>
<td>IE9</td>
<td style="text-align: center;">15.75%</td>
<td style="text-align: center;"><span style="color: #339966;"><strong>✓</strong></span></td>
<td style="text-align: center;">H.264*</td>
</tr>
<tr>
<td>Safari 5.1</td>
<td style="text-align: center;">5.9%</td>
<td style="text-align: center;"><span style="color: #339966;"><strong>✓</strong></span></td>
<td style="text-align: center;">H.264*</td>
</tr>
<tr>
<td>IE7</td>
<td style="text-align: center;">4.16%</td>
<td style="text-align: center;">-</td>
<td style="text-align: center;">-</td>
</tr>
<tr>
<td style="text-align: left;">Firefox 3.6</td>
<td style="text-align: center;">2.95%</td>
<td style="text-align: center;"><span style="color: #339966;"><strong>✓ </strong></span></td>
<td style="text-align: center;">Theora</td>
</tr>
<tr>
<td>IE6</td>
<td style="text-align: center;">0.89%</td>
<td style="text-align: center;">-</td>
<td style="text-align: center;">-</td>
</tr>
<tr>
<td colspan="3"><strong><a href="http://gs.statcounter.com/#mobile_browser-na-daily-20111218-20120116">Mobile</a></strong></td>
</tr>
<tr>
<td>Safari Mobile (iOS)</td>
<td style="text-align: center;">45.89%</td>
<td style="text-align: center;"><span style="color: #339966;"><strong>✓</strong></span></td>
<td style="text-align: center;">H.264*</td>
</tr>
<tr>
<td>Android Browser</td>
<td style="text-align: center;">36.88%</td>
<td style="text-align: center;"><span style="color: #339966;"><strong>✓</strong></span></td>
<td style="text-align: center;">H.264*, WebM**</td>
</tr>
<tr>
<td>Blackberry</td>
<td style="text-align: center;">7.33%</td>
<td style="text-align: center;">-</td>
<td style="text-align: center;">-</td>
</tr>
</tbody>
</table>
<p>* Hardware acceleration available</p>
<p>** Not available in early versions of Android browser.</p>
<h4>Mobile Optimization</h4>
<p>While the desktop browser market may not be HTML5 video ready, I frequently hear that one segment of the market is HTML5-ready and has been for sometime now: the smartphone and tablet markets. By and large, it&#8217;s true—nearly every Android and iOS device supports HTML5 &lt;video&gt; playback as shown in Table 1. But, HTML5 &lt;video&gt; options here ironically are not good enough for the mobile platforms that so desperately need enhanced attributes. Mobile devices require special video care: specific video formats (H.264 Baseline for widest support), and video formats that are hardware accelerated to avoid unnecessary battery usage. Cross-browser HTML5 &lt;video&gt; support is limited to progressive downloads, which aren&#8217;t exactly mobile friendly. Yet most video delivered on the web (and to mobile!) still use progressive download over HTTP as the primary delivery method.</p>
<p>Apple is the only browser vendor to introduce a specification, called <a title="HTTP Live Streaming Resources at Apple.com" href="http://developer.apple.com/resources/http-streaming/">Apple HTTP Live Streaming</a> (or HLS), that&#8217;s available in all iOS and now some Android devices. But, this specification is not adopted by other major vendors including Microsoft, Mozilla Firefox, and Opera. Google is the only other vendor to implement HLS with the native Android browser, universally in 3.0 versions and with limited support (varying by device manufacturer and carrier) in 2.3 and higher versions. Another streaming specification that&#8217;s been introduced is <a title="What is MPEG-Dash?" href="http://www.streamingmedia.com/Articles/ReadArticle.aspx?ArticleID=78835" target="_blank">MPEG-Dash</a>, which has many promising mobile and bandwidth friendly features but is not yet adopted by browser vendors. However, a streaming protocol is just one aspect of being mobile (and desktop) friendly. The more important aspect of an HTTP streaming protocol is adaptive streaming, which enables the browser to determine the appropriate video quality (or bitrate) to play. Adaptive streaming requires the content producer to create two or more versions of the video per device target, each version having a specific bitrate that will play well for a given Internet connection speed. Apple requires any iOS application accessing video over cellular networks to use HLS adaptive streaming for any video playback within the application that is over 10 minutes in duration or over 5 MB of data in a five minute period (<a href="http://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/StreamingMediaGuide/UsingHTTPLiveStreaming/UsingHTTPLiveStreaming.html#//apple_ref/doc/uid/TP40008332-CH102-SW5" target="_blank">read more</a>).</p>
<h4>Codec Support</h4>
<p>Lastly, there&#8217;s the video (and audio) codec issues with current HTML5 browsers. IE9, Safari Mac 3.1 and nearly all of the native smartphone browsers support the industry standard <a title="H.264 entry at Wikipedia" href="http://en.wikipedia.org/wiki/H.264/MPEG-4_AVC">AVC/H.264 video codec</a>, as well as the <a title="AAC entry at Wikipedia" href="http://en.wikipedia.org/wiki/Advanced_Audio_Coding">AAC audio codec</a>. However, Firefox 4+, Opera 10.6+, and Chrome 10.1+ support the <a title="WebM Project home page" href="http://www.webmproject.org/">WebM video codec</a>, a newly open-sourced video codec, and the open source <a href="http://www.vorbis.com/">Vorbis audio codec</a>. (Firefox 3.5 and Opera 10.5 browsers also support an older open source video codec, <a href="http://theora.org/">Theora</a>, which is not optimized for high quality video at lower bitrates as modern video codecs are.)</p>
<p>If you want to adhere to current HTML5 video standard(s) and not rely on plug-in based playback, then, you&#8217;ll need multiple versions of a video, each encoded with the codecs necessary across all HTML5 browsers. You&#8217;ll also need multiples of those multiples, if you want optimal mobile playback with adaptive streaming. Developers focused on &#8220;standards only&#8221; would have you believe it&#8217;s best to encode your video in four or five different versions. This approach adds considerable time and expense to any video distribution workflow for a content producer that has more than just a couple of videos to manage on their site.</p>
<h3>Standards versus Business Goals</h3>
<p>In many respects, a strict standards approach for online video delivery is not financially responsible for business. With the current state of HTML5 video, there are too many codecs to support, and limited options for delivery protocols. WebM is far from an industry standard, and we&#8217;re years away from seeing WebM hardware acceleration across devices and desktop that we currently enjoy with AVC/H.264. While HTML5 is &#8220;video ready&#8221; for smartphones, WebM as a viable codec option is not. Apple iOS doesn&#8217;t support WebM, and for reasons similar to Apple&#8217;s resistance to the Flash runtime, I don&#8217;t see Apple adopting WebM anytime soon. Simply put, if company X is producing the hottest and best-selling devices to the same folks you want to see your video content, then company X&#8217;s implementation is going to dictate how you publish that content. Right now and for the foreseeable future, company X, of course, is Apple. Apple and Microsoft have both rallied behind H.264 as the preferred video codec for video playback, from device to desktop to TV.</p>
<p>If you view the current online video landscape from a business perspective, you likely want to achieve one or more of the following:</p>
<ul>
<li><strong>Maximum viewership</strong> of your video. You want your video to play across mobile and desktop browsers with a consistent experience as much as possible.</li>
<li><strong>SEO</strong> (Search Engine Optimization) friendliness. You want your video content recognized by as many search engines as possible.</li>
<li><strong>Efficient encoding workflow</strong>. Video, unlike other HTML visual assets, requires substantially more time, effort, and storage. You want a manageable workflow that can reuse assets across delivery mechanisms.</li>
<li><strong>Wide range of delivery options</strong>, from live streaming to protected content. Business stakeholders will increasingly want to monetize their online video content, and HTML5 video doesn&#8217;t provide methodologies to limit access to the video source files. Apple HLS and MPEG Dash are the only options to stream and encrypt content, but only the former option is available now and only on iOS and limited Android devices.</li>
</ul>
<p>The following factors should not, and likely will not, influence the business of online video:</p>
<ul>
<li><strong>Standards compliance</strong>. In the best of all possible worlds, we&#8217;d see a simple &lt;video&gt; tag that works consistently with the same format and delivery options everywhere. We won&#8217;t have that option anytime soon. First and foremost, sites that have video content want their target audience(s) to be able to watch the video with as little fuss on both sides of the equation: reduced encoding and deployment effort for publishers, and reduced playback headaches for viewers.</li>
<li><strong>Open source reliance</strong>. While WebM and Vorbis are open source codecs, the industry standard for high quality video production is H.264. It&#8217;s consistently used for video from professional video capture to Blu-ray discs to online video. Just as the video disc market couldn&#8217;t support HD DVD and Blu-ray simultaneously (or Beta and VHS), there&#8217;s likely only going to be one winner in the online video codec battle. While H.264/AAC codecs can incur royalty charges for subscription and pay-per-view use cases, the vast majority of online content is under the royalty-free clause of <a title="MPEG LA home page" href="http://www.mpegla.com">MPEG-LA</a>&#8216;s licensing terms. And if you&#8217;re lucky enough to be one of the few content creators that successfully monetizes their video online, your royalty obligations for H.264 usage to MPEG-LA won&#8217;t prohibit you from being successful.</li>
</ul>
<table style="border-style: solid; border-width: 1px;">
<tbody>
<tr>
<td><strong>Note:</strong> As a quick example, <a title="Louis CK: How He Made $500K in 4 Days" href="http://www.ibtimes.com/articles/267089/20111214/louis-ck-500k-4-days-comedy-special.htm">Louis CK&#8217;s online-only sale of his standup special</a> for $5.00 would likely only incur a royalty of $0.02 per purchase. For 100,000 copies sold (or $500,000 in gross revenue), he&#8217;s looking at $10,000 in licensing fees for H.264 usage. Would he have been so successful with his venture had he only offered a license-free WebM version instead which had limited playback support? (For more information on licensing terms of H.264, <a href="http://www.mpegla.com/main/programs/avc/Documents/AVC_TermsSummary.pdf">read this PDF</a> on the MPEG LA site.)</td>
</tr>
</tbody>
</table>
<p>A business goal-oriented approach deals with the problem of viewership and what&#8217;s widely available for your playback requirements. Facts support that Flash Player is very viable on desktop and on browsers that don&#8217;t play nice with the predominant (read: Apple) mandates of H.264.</p>
<h3>H.264, HTML5, and Flash: A Solution to All Online Video Problems</h3>
<p>So, here we are. We have HTML5 standards telling us to create three versions of our video (H.264, WebM and Theora) or more if you&#8217;re using adaptive streaming and/or H.264 profiles and bitrates specific to smartphone, tablet, and desktop deployment. We have a significant portion of browsers in use today that don&#8217;t implement the &lt;video&gt; tag at all. We have a perception that the Flash Player is on its way out, and that HTML5 can do most if not all of the things that Flash can do. The solution to the problem is relatively simple: base your solution around H.264 and forget about supporting WebM and Theora. If you consider yourself a professional web solutions expert and want to offer your clients (and, more importantly, your target audience) the best mobile and desktop experience, you&#8217;ll also encode and deploy for adaptive streaming on iOS, Android (where supported), and the Flash Player.</p>
<p>What an unfortunate mess of confounding options that we solution providers must present to decision makers. <a title="Solving HTML5 Video Problems with Adaptive Streaming" href="http://transitioning.to/2012/03/solving-html5-video-problems-with-adaptive-streaming/">In my next post, I’ll outline the simplest and most effective solution to reduce the pain of distributing your video online</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://transitioning.to/2012/01/the-world-of-pain-that-is-html5-video/feed/</wfw:commentRss>
		<slash:comments>30</slash:comments>
		</item>
		<item>
		<title>Surveying the Post-November 9th Landscape</title>
		<link>http://transitioning.to/2012/01/surveying-the-post-november-9th-landscape/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=surveying-the-post-november-9th-landscape</link>
		<comments>http://transitioning.to/2012/01/surveying-the-post-november-9th-landscape/#comments</comments>
		<pubDate>Sun, 15 Jan 2012 22:07:00 +0000</pubDate>
		<dc:creator>Joseph Labrecque</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[adobe]]></category>
		<category><![CDATA[edge]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://transitioning.to/?p=73</guid>
		<description><![CDATA[With Adobe announcing the abandonment of all mobile Flash Player efforts, developers who formerly specialized in this platform are branching out a bit more and taking up both new and old technologies in exploration of other opportunities. This article is not meant to be comprehensive rundown in any way. I&#8217;m simply working through a number [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://transitioning.to/wp-content/uploads/2012/01/trans_lab001.jpg"><img src="http://transitioning.to/wp-content/uploads/2012/01/trans_lab001.jpg" alt="" width="768" height="567" class="aligncenter size-full wp-image-75" /></a></p>
<p>With Adobe announcing the abandonment of all mobile Flash Player efforts, developers who formerly specialized in this platform are branching out a bit more and taking up both new and old technologies in exploration of other opportunities. This article is not meant to be comprehensive rundown in any way. I&#8217;m simply working through a number of thoughts in regard to certain avenues which I&#8217;ve considered approaching.</p>
<p>One of the excellent problems Flash has, is that it is good for such a variety of things. With such a tool (especially if you know it well enough) at your disposal, this makes it difficult to look beyond to other technologies. With that said, most Flash developers do already have a grasp on a variety of other tech simply because Flash is so great at working alongside other platforms. This is good for developers who are expanding their investigations into these technologies; considering what may be, at the least, a passive familiarity with a number of other avenues.</p>
<p>As an author and video trainer heavily invested in the Flash Platform, I fortunately don&#8217;t feel the bite as badly as some others in this industry. Since the announcements of November the 9th 2011, I&#8217;ve actually signed a number of new contracts focused upon Flash content (though I&#8217;m under contract for non-Flash subjects as well, now). With that said, I&#8217;m also a consultant and full time software engineer&#8230; so I do need to stay ahead of where things are moving so that I can advise others and make intelligent choices for any active projects.</p>
<p><a href="http://transitioning.to/wp-content/uploads/2012/01/trans_lab003.jpg"><img src="http://transitioning.to/wp-content/uploads/2012/01/trans_lab003.jpg" alt="" width="550" height="120" class="aligncenter size-full wp-image-80" /></a></p>
<h2>HTML/CSS/JS</h2>
<p>This seems to be where most developers are moving. It makes sense in a way since this is often where these developers working in Flash actually began their careers. This is certainly true for myself. In fact, I was championing standards based web design and table-less layouts before it was popular to do so&#8230; back in Mozilla Phoenix times&#8230; so I am no stranger to this stuff. </p>
<p>While I never completely left the HTML/CSS side of things- JavaScript is something I&#8217;ve avoided simply because there was historically very little that could be done with it. Differences across browsers compounded this problem to the point where I just didn&#8217;t bother &#8211; if it could be avoided. This isn&#8217;t the case now, of course; as JavaScript engines have become much more capable, differences across browsers have diminished, and a number of very useful frameworks are beginning to emerge.<br />
<a href="http://www.html5rocks.com/">http://www.html5rocks.com/</a></p>
<h2>jQuery/jQuery Mobile</h2>
<p>For some years now, I&#8217;ve used jQuery to take some of the pain points away from any JavaScript work I&#8217;ve had to undertake. jQuery provides what I have thought of a nice cushion to the difficulties one would normally experience in using this language &#8211; though, in truth&#8230; it provides a whole lot more that I&#8217;ve yet to take advantage of. With the proliferation of mobile devices, jQuery Mobile has emerged as a complimentary set of libraries when dealing with mobile websites, or even HTML-based applications.<br />
<a href="http://jquerymobile.com/">http://jquerymobile.com/</a></p>
<h2>PhoneGap</h2>
<p>PhoneGap (Apache Cordova) provides developers with the ability to write a mobile app using web standards and then bundle everything up for distribution to a wide number of mobile platforms&#8230; a much greater number than AIR. This is a pretty big draw, and the PhoneGap Build service allows cloud-based bundling of an app to any of the supported platforms. Very convenient all around.</p>
<p>I&#8217;ve had terrible luck with all of my PhoneGap experiments so far. I keep telling myself this is because I&#8217;m unfamiliar with the technology. Not sure if this is the case or not. Everything just &#8220;looks/feels&#8221; so much crappier in HTML than it does in Flash. I attempted to port a mobile app I created as an experiment back when mobile Flex became possible for Android and just gave up. I&#8217;m hoping that it&#8217;s just a reflection of my inexperience in this area since I know people have had great success with it.<br />
<a href="http://phonegap.com/">http://phonegap.com/</a></p>
<h2>Dart</h2>
<p>Dart is a new language being offered by Google. They pretty much want this to take the place of JavaScript due to that languages shortcomings. I haven&#8217;t done anything substantial in Dart yet aside from downloading the editor and running through their tutorials and samples. It does seem much closer to ActionScript 3 than JavaScript does&#8230; and the editor is based on Eclipse so even that aspect is familiar if coming from Flash Builder or FDT. I&#8217;m hoping Dart catches on and that it does become an alternative to JavaScript. In the meanwhile though&#8230; it will compile to JavaScript&#8230; so that&#8217;s something.<br />
<a href="http://www.dartlang.org/">http://www.dartlang.org/</a></p>
<h2>HaXe</h2>
<p>If I remember correctly, HaXe emerged from the ScreenWeaver project&#8230; someone please correct me if I&#8217;m wrong. I used ScreenWeaver quite a bit (back before Adobe AIR was a possibility) for specialized projection software systems. It basically created enhanced projectors for Flash content similar to what applications such as MDM Zinc are now doing. HaXe has been on my radar for years &#8211; though I&#8217;ve never gotten around to actually using it.</p>
<p>The HaXe platform is very interesting because it allows us to develop in one common language&#8230; and output to whatever supported platform we wish. Target platforms include; JavaScript, Flash, Neko, PHP, C++, with C# and Java in the works. There is this gnawing in my brain telling me that, in the near future, this is going to be the preferred model of programming. It&#8217;s almost like &#8220;run once deploy anywhere&#8221; &#8211; except where  that phrase was used to target a single runtime, this newer model targets multiple runtimes, VMs, and environments by adopting them and their standards. Very different way of doing things, but something I feel we are going to see more and more.<br />
<a href="http://haxe.org/">http://haxe.org/</a></p>
<h2>Adobe Edge</h2>
<p>Adobe Edge is a new motion and interactivity tool from Adobe which can output rich, interactive compositions using standard web technologies like HTML5, CSS, and JavaScript &#8211; basically Flash Professional 4 for HTML output. I don&#8217;t say this to put down Edge &#8211; this is actually a really nice thing. One absolutely great thing about Flash when it was focused on animation and basic activity, was how fun it was to push things, experiment, and see what the technology could do. I get the same feeling from Edge. Is it basic nostalgia or something more substantial? To see HTML do the things only Flash could do even a few years ago &#8211; and to do it with such ease and control&#8230; is a wonderful thing.</p>
<p>I&#8217;m <a href="http://memoryspiral.com/adobeedge/">doing a lot</a> with Edge right now. It&#8217;s a major focus of mine for 2012.<br />
<a href="http://labs.adobe.com/technologies/edge/">http://labs.adobe.com/technologies/edge/</a></p>
<h2>&#8220;Alternative&#8221; ActionScript/Flex IDEs</h2>
<p>I like Flash Builder a lot and am quite comfortable in it. I now have a number of reservations around this IDE though (thanks, Adobe!)&#8230; I mean, what if they decide they just don&#8217;t want to make dev tools at all anymore? On that note; I&#8217;m actually floored that they&#8217;re trashing design view from Flash Builder. Having always found design view to be very useful in layng out components and configuring item renderers. This affects my workflow and makes Flash Builder less useful to me. For a &#8220;creative&#8221; and design-focused company, I cannot imagine the internal justification for this. </p>
<p>Anyhow&#8230; I&#8217;ve installed both FDT5 (free version) and FlashDevelop on my laptop. Even if one of these does not become my primary dev environment for Flash-based work, at least I may be comfortable enough in something else for when Adobe finally does pull a coup de grâce on Flash Builder. as I mentioned above &#8211; I&#8217;m not leaving Flash and need a dependable environment to work in. Not so sure if Flash Builder will be that environment in the future.<br />
<a href="http://fdt.powerflasher.com/">http://fdt.powerflasher.com/</a> / <a href="http://www.flashdevelop.org/">http://www.flashdevelop.org/</a></p>
<p><a href="http://transitioning.to/wp-content/uploads/2012/01/trans_lab002.jpg"><img class="aligncenter size-full wp-image-77" src="http://transitioning.to/wp-content/uploads/2012/01/trans_lab002.jpg" alt="" width="550" height="120" /></a></p>
<h2>Moving Forward</h2>
<p>I fully expected by now to have done some real work in these alternate technologies&#8230; but have been far too busy with Flash, Flex, and AIR work to really get involved and commit to anything new. Like all things, it just takes time I suppose. </p>
<p>I remain a huge champion of the Flash Platform and will continue as such in 2012 while looking into other things. I believe one of the best ways of getting some footing with any new tech is to survey what others in the community are up to. <a href="http://transitioning.to/">transitioning.to</a> is a great example of this sort of effort, but simply speaking to others that are going through these pains as well will go a long way to understanding what might be the smart choices to make. I expect to see a lot of conference talks in the coming year focused on these very topics.</p>
<p>Aside from changes in programming, I’m hoping to swing back into the design side of things a bit more as well. I&#8217;ve been in strict development mode for far too long and recent events are a good excuse to strengthen my skills in other areas. Back in graduate school, I began my studies strictly as a designer thinking Photoshop and Illustrator would be the applications that defined my career. It wasn&#8217;t until I was introduced to Lingo, ActionScript, and ASP (of all things&#8230;) that I shifted to a career in software development. Moving back into design a bit would be good for me.</p>
<p>I believe it is also important to step out of the sphere of creating software for balance and release. In the coming months, I plan to resume recording through my aural project &#8220;<a href="http://displaced.memoryspiral.com/">An Early Morning Letter, Displaced</a>&#8221; with a new collection of work. This will be difficult with the rigorous authoring schedule I have committed to for the first few months of the year, but it&#8217;s a necessary creative outlet and one that I am very excited about. I encourage anyone so involved in programming, engineering, or anything similar to do something raw and free on the side. I often joke about leaving this field of work to become a gardener or a baker&#8230; maybe I&#8217;m not joking so much about that any longer. </p>
<p>Happy travels.</p>
]]></content:encoded>
			<wfw:commentRss>http://transitioning.to/2012/01/surveying-the-post-november-9th-landscape/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

