<?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>Karoshi Ethos &#187; SWFObject</title>
	<atom:link href="http://karoshiethos.com/tag/swfobject/feed/" rel="self" type="application/rss+xml" />
	<link>http://karoshiethos.com</link>
	<description>Navigating the treacherous waters of interactive technology</description>
	<lastBuildDate>Sat, 06 Nov 2010 16:38:51 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1</generator>
		<item>
		<title>ClipStation Clipboard Writer 2.0 Released</title>
		<link>http://karoshiethos.com/2009/07/12/clipstation-clipboard-writer-20-released/</link>
		<comments>http://karoshiethos.com/2009/07/12/clipstation-clipboard-writer-20-released/#comments</comments>
		<pubDate>Mon, 13 Jul 2009 00:55:57 +0000</pubDate>
		<dc:creator>Rob Ruchte</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[ClipStation]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Kung-Foo]]></category>
		<category><![CDATA[SWFObject]]></category>

		<guid isPermaLink="false">http://karoshiethos.com/?p=408</guid>
		<description><![CDATA[ClipStation is a free lightweight solution for writing to your user’s clipboard from an HTML page. Using a small SWF that is embedded dynamically via JavaScript, you can pass an unlimited number of content clips onto the clipboard. ClipStation is designed to be lightweight, flexible, and easy to implement. What makes ClipStation different from other [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://thirdpartylabs.com/clipstation/">ClipStation</a> is a free lightweight solution for writing to your user’s clipboard from an HTML page. Using a small SWF that is embedded dynamically via JavaScript, you can pass an unlimited number of content clips onto the clipboard.</p>
<p>ClipStation is designed to be lightweight, flexible, and easy to implement. What makes ClipStation different from other clipboard SWF solutions is the ability to decode HTML character entities, allowing you to pass complex HTML markup to the clipboard from within form elements, divs, pre tags, etc. We developed ClipStation for use on a widget sharing page we've implemented for a client. After looking around for a good lightweight cross-browser solution and coming up empty handed, we decided to build our own. We're now happy to offer it to you at the low, low price of free. </p>
<p>Version 2.0 includes changes to allow access to the clipboard in Flash Player 10. Adobe changed the security requirements for clipboard access in version 10 of the player; now a user action is required before a SWF may access the clipboard. Instead of using a single hidden instance of the ClipStation SWF, we embed an instance for every clip that the user clicks to perform the clipboard copy. A source distribution is available, so you can change the design to fit your needs.</p>
<p>More information and the release package can be found at <a href="http://thirdpartylabs.com/clipstation/">thirdpartylabs.com/clipstation/</a></p>
<p><a href="http://thirdpartylabs.com/clipstation/">»Download ClipStation 2.0</a></p>
]]></content:encoded>
			<wfw:commentRss>http://karoshiethos.com/2009/07/12/clipstation-clipboard-writer-20-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lazy developers, good libraries, and The 80/20 Rule</title>
		<link>http://karoshiethos.com/2008/07/31/lazy-developers-good-libraries-and-the-8020-rule/</link>
		<comments>http://karoshiethos.com/2008/07/31/lazy-developers-good-libraries-and-the-8020-rule/#comments</comments>
		<pubDate>Thu, 31 Jul 2008 22:51:35 +0000</pubDate>
		<dc:creator>Rob Ruchte</dc:creator>
				<category><![CDATA[Commentary]]></category>
		<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Kung-Foo]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[SWFAddress]]></category>
		<category><![CDATA[SWFObject]]></category>

		<guid isPermaLink="false">http://karoshiethos.com/?p=59</guid>
		<description><![CDATA[I was searching for something or other related to SWFAddress the other day, and ran across a blog post talking about the launch of SWFObject2 and SWFAddress2, and how handy they were for building usable Flash sites. No surprises there, they are in fact very handy. What caught my attention was this comment on the [...]]]></description>
			<content:encoded><![CDATA[<p>I was searching for something or other related to <a href="http://www.asual.com/swfaddress/" target="_blank">SWFAddress</a> the other day, and ran across a blog post talking about the launch of <a href="http://blog.deconcept.com/swfobject/" target="_blank">SWFObject2</a> and SWFAddress2, and how handy they were for building usable Flash sites. No surprises there, they are in fact very handy. What caught my attention was this comment on the post:</p>
<blockquote><p>"We were looking at SWF Address a while ago. While it’s very cool it was useless for what we wanted. By using HTML anchors (# in the URL) the deep links are only relevant to client side logic inside the browser (JavaScript, HTML and Flash).</p>
<p>If you serve HTML content generated server side, in addition to flash there is no way to extract the deep link from the URL (after the #) as it’s not passed to the server in the request!</p>
<p>I will be interested to see if they have updated this in the new version… and also see what changes have been made to SWFObject2, or swffix or whatever it’s called these days."</p></blockquote>
<p>I had to read that twice.</p>
<p>SWFAddress is not a solution for implementing multiple content types. It's purpose in life is to keep the browser informed about the user's movements within a rich application. It does that job very well. One of the things you can do with SWFAddress is implement <em>your own</em> solution for managing your URLs across multiple content types.</p>
<p><a href="http://karoshiethos.com/author/jon/">Jon</a> and I are just finishing up a big client site for which we have a nifty flash client and an SEO/Usability optimized HTML version of all content on the site. SWFAddress allowed us to maintain a similar URI structure for both, and a little bit of custom javascript handles the translation of SWFAddress URIs, which all start with # to the standard URIs, and vice-versa. SWFObject handles the embedding of the Flash client. It's a really simple solution that took less than an afternoon to prototype and refine into a production-ready solution. I'm not saying this to make myself out to be a bad-ass, it's just <strong>not rocket science</strong>. All it takes is a general understanding of how the tools work, and the willingness to craft your own solutions to your specific problems.</p>
<p>There are well built, elegant, open source libraries to do just about anything these days. The thing is, they're libraries, tools, not complete solutions. They will solve the tough 80% of your problem for you. It's up to you to do the last 20% and make the tool work for you. Enter the <a href="http://en.wikipedia.org/wiki/Pareto_principle" target="_blank">80/20 rule</a>, or, more specifically, the <a title="2080 concept" href="http://en.wikipedia.org/wiki/2080_%28software_concept%29" target="_blank">2080 concept</a>.</p>
<blockquote><p>The 20 missing percent of functionality will take up 80% of the build time.</p></blockquote>
<p>If you expect canned solutions to solve your problems 100%, you will constantly be disappointed, and, most likely, be building poor software. If you go into your project knowing that a tool you will rely on provides a limited set of functionality, and you will need to do devote time and energy to make it fit, you will be more likely to succeed.</p>
<blockquote><p>"There is something to be learned from a rainstorm. When meeting with a sudden shower, you try not to get wet and run quickly along the road. But doing such things as passing under the eaves of houses, you still get wet. When you are resolved from the beginning, you will not be perplexed, though you still get the same soaking. This understanding extends to everything."</p>
<p style="text-align: center;"><em>-Yamamoto Tsunemoto, <a href="http://en.wikipedia.org/wiki/Hagakure">Hagakure</a></em></p>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://karoshiethos.com/2008/07/31/lazy-developers-good-libraries-and-the-8020-rule/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

