<?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>Code: Flickr Developer Blog &#187; externalinterface</title>
	<atom:link href="http://code.flickr.com/blog/tag/externalinterface/feed/" rel="self" type="application/rss+xml" />
	<link>http://code.flickr.com/blog</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Thu, 19 Nov 2009 15:59:29 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Making a better Flickr Web Uploadr (Or, &#8220;Web Browsers Aren&#8217;t Good At Uploading Files By Themselves&#8221;)</title>
		<link>http://code.flickr.com/blog/2008/04/22/making-a-better-flickr-web-uploadr-or-web-browsers-arent-good-at-uploading-files-by-themselves/</link>
		<comments>http://code.flickr.com/blog/2008/04/22/making-a-better-flickr-web-uploadr-or-web-browsers-arent-good-at-uploading-files-by-themselves/#comments</comments>
		<pubDate>Tue, 22 Apr 2008 00:27:07 +0000</pubDate>
		<dc:creator>schill</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[externalinterface]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[uploadr]]></category>

		<guid isPermaLink="false">http://code.flickr.com/blog/?p=6</guid>
		<description><![CDATA[Sometimes when browsers won&#8217;t do what you want by themselves, you have to get creative.

 A Brief History Of Web Uploading

As any developer who&#8217;s suffered through form-based uploading will understand, browsers have very limited native support for selecting and uploading files. While useable, Flickr&#8217;s form-based upload needed a refresh that would allow for batch selection [...]]]></description>
			<content:encoded><![CDATA[<p>Sometimes when browsers won&#8217;t do what you want by themselves, you have to get creative.</p>
<p id="a-brief-history">
 <b>A Brief History Of Web Uploading</b>
</p>
<p>As any developer who&#8217;s suffered through form-based uploading will understand, browsers have very limited native support for selecting and uploading files. While useable, Flickr&#8217;s form-based upload needed a refresh that would allow for batch selection and other improvements. After some consideration, Flash&#8217;s file-handling capabilities combined with the usual HTML/CSS/JS looked to be the winning solution.</p>
<p>In the past, ActiveX controls and Firefox extensions provided enhanced web-based upload experiences on Yahoo! Photos, supporting batch uploads, per-file progress , error reporting and so on; however, the initial browser-specific download/install requirement was &#8220;just another thing in the way&#8221; of a successful experience, not to mention one limited to Firefox and Internet Explorer. With Flickr&#8217;s new web Uploadr, my personal goals were to minimize or eliminate an install/set-up process altogether whenever possible, while at the same time keeping the approach browser-agnostic. Because of Flash&#8217;s distribution amongst Flickr users, it was safe to have as a requirement for the new experience. (In the non-flash/unsupported cases, browsers fall through to the old form-based Uploadr.)</p>
<p id="and-now-for-something-completely-different">
 <b>And Now, For Something Completely Different</b>
</p>
<p>By using Flash to push files to Flickr, a number of advantages were clear over the old form-based method:</p>
<ul id="flash-upload-advantages">
<li>Batch file selection</li>
<li>File details (size, date etc.) for UI, business logic</li>
<li>Improved upload speed (faster than native browser form-based upload)</li>
<li>&#8220;Per-file&#8221;, asynchronous upload (as opposed to posting all data at once)</li>
<li>Upload progress reporting (per-file and overall)</li>
</ul>
<p>Flash is able to do batch selection through standard operating system dialogs, report file names and size information, POST file data and read responses. Flickr&#8217;s new web Uploadr uses these features to provide a much-needed improvement over the old form-based Uploadr. The Flash component was developed by Allen Rabinovich on the Yahoo! Flash Platform Team. <a href="http://developer.yahoo.com/flash/">http://developer.yahoo.com/flash/</a></p>
<p>This Flash-based upload method did come with a few technical quirks, but ultimately we were still able to make signed calls to the Flickr API and upload files.</p>
<p>
 <b id="you-can-too">Now You Can, Too!</b>
</p>
<p>The Flash and client-side code which underlies the Flickr Web Uploadr is part of the <a href="http://developer.yahoo.com/yui/">Yahoo User Interface Library</a>, available as the <a href="http://developer.yahoo.com/yui/uploader/">YUI Uploadr</a> component.</p>
<p>
 <b id="its-the-little-things-ui-feedback">It&#8217;s The Little Things That Count: UI Feedback</b>
</p>
<p>Given that Flash reports both file size and bytes uploaded, it made sense to show progress in the UI. In addition to per-file and overall progress in-page, the page&#8217;s title as shown in a browser window or tab also updates to reflect overall progress during upload &#8211; for example, &#8220;(42% complete) Flickr: Upload Photos&#8221;</p>
<p>Under Firefox, an .GIF-based &#8220;favicon&#8221; replaces the static Flickr icon, showing animation in the browser address bar while uploading is active. This combined with the title change is a nice indication of activity and status while the page is &#8220;working&#8221;, a handy way of checking progress without requiring the user to work to bring the window or tab back into focus.</p>
<p>In showing attention to detail in the UI and finding creative solutions to common browser drawbacks, a much nicer web upload experience is most certainly possible.</p>
<p style="color:#333;font-style:italic">Scott Schiller is a front-end engineer and self-professed &#8220;DHTML + web standards evangelist / resident DJ and record crate digger&#8221; who works on Flickr. He enjoys making browsers do nifty things with client-side code, and making designers happy in bringing their work to life with close attention to detail. His <a href="http://schillmania.com/">personal site</a> is a collection of random client-side experiments. <a href="http://flickr.com/photos/schill/">http://flickr.com/photos/schill/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://code.flickr.com/blog/2008/04/22/making-a-better-flickr-web-uploadr-or-web-browsers-arent-good-at-uploading-files-by-themselves/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
