<?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>HenryTapia.com - Experiencing and designing things &#187; JavaScript</title>
	<atom:link href="http://henrytapia.com/tags/javascript/feed/" rel="self" type="application/rss+xml" />
	<link>http://henrytapia.com</link>
	<description>User experience design - Experience and design thinking</description>
	<lastBuildDate>Tue, 13 Sep 2011 03:39:25 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Javascript, e-commerce and progressive enhancement</title>
		<link>http://henrytapia.com/archives/2010/03/01/javascript-e-commerce-and-progressive-enhancement/</link>
		<comments>http://henrytapia.com/archives/2010/03/01/javascript-e-commerce-and-progressive-enhancement/#comments</comments>
		<pubDate>Mon, 01 Mar 2010 23:13:11 +0000</pubDate>
		<dc:creator>hank</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[e-commerce]]></category>

		<guid isPermaLink="false">http://www.henrytapia.com/archives/2010/03/01/javascript-e-commerce-and-progressive-enhancement/</guid>
		<description><![CDATA[I just published a blog post over at The Snow Patrol, in turn relating to a discussion at Econsultancy about the growing trend in e-commerce platforms to be reliant on Javascript.
It would seem that it&#8217;s often a tall order to build sites in a way that will work without Javascript as the baseline, but instead [...]]]></description>
			<content:encoded><![CDATA[<p>I just published a blog post over at <a href="http://snowpatrol.snowvalley.com/2010/03/01/is-e-commerce-with-javascript-turned-off-too-hard/">The Snow Patrol</a>, in turn relating to a discussion at <a href="http://econsultancy.com/">Econsultancy</a> about the <a href="http://econsultancy.com/blog/5498-progressive-enhancement-why-do-some-ecommerce-platforms-get-javascript-so-wrong">growing trend in e-commerce platforms to be reliant on Javascript</a>.</p>
<p>It would seem that it&#8217;s often a tall order to build sites in a way that will work without Javascript as the baseline, but instead going straight for the all-singing, all-dancing full-blown AJAX rich-media awesome experience. I tend to think you can have your cake and eat it too. That&#8217;s if you&#8217;re <a href="http://snowpatrol.snowvalley.com/">epically brilliant</a>.</p>
<blockquote><p>I love all the new bells and whistles we&#8217;re able to roll out on sites these days, just using native browser technologies. But bells and whistles shouldn&#8217;t come at the expense of a functional base</p></blockquote>
<p>I do believe I just quoted myself there. Slightly weird&#8230; But anyway, if that&#8217;s your kind of thing, do <a href="http://snowpatrol.snowvalley.com/2010/03/01/is-e-commerce-with-javascript-turned-off-too-hard/">have a read</a> and feel free to share your thoughts.</p>
<p><em>Published at <a href="http://henrytapia.com/">HenryTapia.com</a> – Experiencing and designing things</em></p>
]]></content:encoded>
			<wfw:commentRss>http://henrytapia.com/archives/2010/03/01/javascript-e-commerce-and-progressive-enhancement/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TurnTubelist wins first prize at Webjam 8</title>
		<link>http://henrytapia.com/archives/2008/09/27/turntubelist-wins-first-prize-at-webjam-8/</link>
		<comments>http://henrytapia.com/archives/2008/09/27/turntubelist-wins-first-prize-at-webjam-8/#comments</comments>
		<pubDate>Sat, 27 Sep 2008 20:12:11 +0000</pubDate>
		<dc:creator>hank</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://www.henrytapia.com/archives/2008/09/27/turntubelist-wins-first-prize-at-webjam-8/</guid>
		<description><![CDATA[UPDATE: Webjam 8 vids are up. Check out the Turntubelist presentation at the end of this post.
UPDATE 2: TurnTubelist is now LIVE. Go now and play with it and let us know what you think. We are still tweaking it but we decided to get it up and out there. More details to come soon&#8230;
So [...]]]></description>
			<content:encoded><![CDATA[<p><strong>UPDATE:</strong> <a href="http://www.viddler.com/explore/tags/global/webjam:event=8">Webjam 8 vids</a> are up. Check out the <a href="http://www.viddler.com/explore/Webjam/videos/33/">Turntubelist presentation</a> at the end of this post.</p>
<p><strong>UPDATE 2:</strong> <a href="http://turntubelist.com/">TurnTubelist</a> is now LIVE. Go now and play with it and let us know what you think. We are still tweaking it but we decided to get it up and out there. More details to come soon&#8230;</p>
<p>So <a href="http://www.webjam.com.au/">Webjam 8</a> was the biggest and best so far <a href="http://webjam.com.au/news/2008/webjam8-mixes-it-up">by</a> <a href="http://www.technation.com.au/2008/09/26/webjam-8-goes-off/">all</a> <a href="http://www.sitepoint.com/blogs/2008/09/27/webjam08-smells-like-geek-spirits/">accounts</a>. There were brilliant presentations and competition was as tough as ever, but it was to <a href="http://mrspeaker.webeisteddfod.com/">Mr Speaker</a>&#8217;s and my absolute delight to win first prize for TurnTubelist, a little pet project we&#8217;ve been mucking around with in our spare time. Props where due, Mr Speaker (aka Earle Castledine) presented brilliantly as always in his own inimitable style, not to mention his JavaScript prowess in turning a beer-idea into something well cool. <del>When it&#8217;s available, I&#8217;ll also put up the vid of the presentation here</del><ins>The vid is now at the end of this post</ins>.</p>
<dl class="thumbnail-grid">
<dt><a href="http://farm4.static.flickr.com/3088/2886929799_42357ba0b2.jpg" rel="lightbox[webjam8]" title="Mr Speaker presenting at Webjam - photo courtesy of &lt;a href=&quot;http://flickr.com/photos/halans/2886929799/&quot;&gt;Halans&lt;/a&gt;"><img src="http://farm4.static.flickr.com/3088/2886929799_42357ba0b2_s.jpg" width="75" height="75" alt="Mr Speaker presenting at Webjam"  /></a></dt>
<dd>Mr Speaker at Webjam. Photo by <a href="http://flickr.com/photos/halans/2886929799/">Halans</a></dd>
<dt><a href="http://farm4.static.flickr.com/3210/2886929985_3087b0e7a2.jpg" rel="lightbox[webjam8]" title="Mr Speaker demos TurnTubelist at Webjam - courtesy of &lt;a href=&quot;http://flickr.com/photos/halans/2886929985/&quot;&gt;Halans&lt;/a&gt;"><img src="http://farm4.static.flickr.com/3210/2886929985_3087b0e7a2_s.jpg" width="75" height="75" alt="Mr Speaker demos TurnTubelist at Webjam"  /></a></dt>
<dd>TurnTubelist demo. Photo by <a href="http://flickr.com/photos/halans/2886929985/">Halans</a></dd>
<dt><a href="http://farm4.static.flickr.com/3083/2892203729_5982491cd5.jpg" rel="lightbox[webjam8]" title="Sneak-peek at TurnTubelist - from &lt;a href=&quot;http://www.flickr.com/photos/henrytapia/2892203729/&quot;&gt;Flickr&lt;/a&gt;"><img src="http://farm4.static.flickr.com/3083/2892203729_5982491cd5_s.jpg" width="75" height="75" alt="Sneak-peek at TurnTubelist"  /></a></dt>
<dd>Sneak-peek at TurnTubelist</dd>
</dl>
<div class="clear">&nbsp;</div>
<p><span id="more-144"></span></p>
<p>TurnTubelist is a web application that lets you crossfade YouTube videos and build your own playlists for continual YouTube fun. It currently works entirely on the client-side using HTML, CSS and lots of JavaScript (mainly jQuery). It&#8217;s not up yet but we aim to put a beta up on the web really soon.</p>
<p>Earle has come up with some neat wizardry that hooks up to YouTube via their API, does some nice AJAX to search for YouTube vids without interrupting playback and stores your playlists in a cookie. Not to mention, the sliders, keyboard shortcuts and a whole bunch of other stuff.</p>
<p>I worked on the graphics, the user interaction design and got my hands dirty with some jQuery for a lot of the user interface bells and whistles. There&#8217;s still a lot of work and testing to be done, but I think it&#8217;s just about time to put it out there to get some feedback.</p>
<p>Stay tuned for when we launch the beta, this thing is a hell of a lot of fun to use if I do say so myself.</p>
<p>In the meantime here&#8217;s the presentation video:</p>

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
			id="fm__612171237"
			class="flashmovie"
			width="400"
			height="320">
	<param name="movie" value="http://www.viddler.com/simple/14659a47/" />
	<!--[if !IE]>-->
	<object	type="application/x-shockwave-flash"
			data="http://www.viddler.com/simple/14659a47/"
			name="fm__612171237"
			width="400"
			height="320">
	<!--<![endif]-->
		
	<!--[if !IE]>-->
	</object>
	<!--<![endif]-->
</object>
<p></p>
<p><em>Published at <a href="http://henrytapia.com/">HenryTapia.com</a> – Experiencing and designing things</em></p>
]]></content:encoded>
			<wfw:commentRss>http://henrytapia.com/archives/2008/09/27/turntubelist-wins-first-prize-at-webjam-8/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Load only the jQuery plugins you need, when you need them</title>
		<link>http://henrytapia.com/archives/2008/04/22/load-only-the-jquery-plugins-you-need-when-you-need-them/</link>
		<comments>http://henrytapia.com/archives/2008/04/22/load-only-the-jquery-plugins-you-need-when-you-need-them/#comments</comments>
		<pubDate>Tue, 22 Apr 2008 22:16:23 +0000</pubDate>
		<dc:creator>hank</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://www.henrytapia.com/archives/2008/04/22/load-only-the-jquery-plugins-you-need-when-you-need-them/</guid>
		<description><![CDATA[Here&#8217;s some jQuery love for you front-end types. I have certainly been enjoying using jQuery a lot lately. So damn efficient and easy to use. An active community means there are lots of handy plug-in libraries out there to take care of your tabs, carousels and fadey bits&#8230; (If you&#8217;re a HTML/CSS person and you [...]]]></description>
			<content:encoded><![CDATA[<p><img src="/images/content/jQuery.gif" alt="jQuery" class="noborder" align="right" />Here&#8217;s some jQuery love for you front-end types. I have certainly been enjoying using <a href="http://jquery.com/">jQuery</a> a lot lately. So damn efficient and easy to use. An active community means there are lots of handy plug-in libraries out there to take care of your <a href="http://www.sunsean.com/idTabs/">tabs</a>, <a href="http://sorgalla.com/jcarousel/">carousels</a> and <a href="http://plugins.jquery.com/project/color">fadey</a> bits&#8230; (If you&#8217;re a HTML/CSS person and you don&#8217;t know what all this jQuery stuff is about, have a look at these easy <a href="http://www.webdesignerwall.com/tutorials/jquery-tutorials-for-designers/">jQuery Tutorials for Designers</a>.)</p>
<p>Once you start getting a few such libraries going on a site, you can end up with a whole pile of script includes in your header for minor user interface enhancements here and there. This can be a hassle to deploy over various page templates/master pages/etc, particularly if you work with large sites. More importantly, you want to minimise requests to the server if they&#8217;re not necessary &#8211; it&#8217;s been shown that <a href="http://yuiblog.com/blog/2006/11/28/performance-research-part-1/">reducing HTTP requests can reduce response times</a> and improve server performance.</p>
<p>There are various ways you can reduce HTTP requests from the front-end (like using CSS sprites to reduce image requests, aggregating CSS and JS files), but the tip I want to share is to not include multiple javascript libraries (eg. jQuery plug-ins) on your pages but having your main JavaScript file load the relevant libraries on demand, as the need arises.</p>
<p><span id="more-135"></span></p>
<p>JQuery has a handy method for dynamically loading script files: <strong>$.getScript()</strong></p>
<p>But you don&#8217;t want to load all libraries on <strong>$(document).ready</strong> (thus when each page loads), instead you only want a plug-in to load when it&#8217;s needed. You can do this by testing for the existence of the relevant element(s) first. You can&#8217;t do this (as I found when I looked at Firebug&#8217;s console) by saying: </p>
<pre>
if ($(".tabs")) {
	$.getScript(<em>URL</em>, <em>callback function</em>)
}
</pre>
<p>This will work in other helper libraries like <a href="http://mootools.net/">MooTools</a> (as it&#8217;s just short form for <em>document.getElementById</em>), but jQuery will return an array of all matched elements, so even if that array is empty it will never return false. This is actually a good feature of jQuery as you don&#8217;t have to test for the existence of anything before applying behaviours.</p>
<p>There&#8217;s an easy way to get around this (which wasn&#8217;t obvious to me right away). Make sure the array length is greater than zero, of course:</p>
<pre>
if($(".tabs").length > 0) {
	$.getScript(<em>URL</em>, <em>callback function</em>)
}
</pre>
<p>So a more complete code snippet would look like:</p>
<pre>
$(document).ready(function(){
	if($(".tabs").length > 0) {
		$.getScript("/scripts/jQuery.idTabs.js", function(){
			$(".tabs").idTabs();
		});
	}
});
</pre>
<p>Basically, if you include that snippet in your main JS file, then whenever you have an element with given the class &#8220;tabs&#8221;, then it will load idTabs.js from the location specified and then initialise <a href="http://www.sunsean.com/idTabs/">Sean&#8217;s neat script</a>, and you&#8217;ll have yourself nice easy tab behaviour.</p>
<p>Thanks to my co-worker buddy Nick at <a href="http://www.snowvalley.com/">the Valley</a> for introducing me to the $.getScript feature in jQuery.</p>
<p><strong>Update 23/06/08:</strong></p>
<p>It seems in Firefox 3 and Safari Webkit, objects loaded via $.getScript() aren&#8217;t instantly available when called via the callback function. Adding a setTimeout of as little as 100ms seems to get around this like so:</p>
<pre>
$(document).ready(function(){
	if($(".tabs").length > 0) {
		$.getScript("/scripts/jQuery.idTabs.js", function(){
			setTimeout(function(){
				$(".tabs").idTabs();
			}, 100);
		});
	}
});
</pre>
<p></p>
<p><em>Published at <a href="http://henrytapia.com/">HenryTapia.com</a> – Experiencing and designing things</em></p>
]]></content:encoded>
			<wfw:commentRss>http://henrytapia.com/archives/2008/04/22/load-only-the-jquery-plugins-you-need-when-you-need-them/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>A JavaScript overlay image gallery</title>
		<link>http://henrytapia.com/archives/2007/08/28/javascript-overlay-gallery/</link>
		<comments>http://henrytapia.com/archives/2007/08/28/javascript-overlay-gallery/#comments</comments>
		<pubDate>Mon, 27 Aug 2007 19:58:34 +0000</pubDate>
		<dc:creator>hank</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Technical]]></category>
		<category><![CDATA[Web Standards]]></category>

		<guid isPermaLink="false">http://www.henrytapia.com/archives/2007/08/28/javascript-overlay-gallery/</guid>
		<description><![CDATA[
Update: 31/05/2010
I&#8217;m no longer using this technique on the site since the redesign &#8211; I&#8217;m using jQuery Tools Overlay. The examples below will still work but they use the new overlay library.

We interrupt the travelogues to talk about some geeky stuff that&#8217;s been going on around these parts.
I&#8217;ve recently been using grids of thumbnails to [...]]]></description>
			<content:encoded><![CDATA[<div class="update">
<h3>Update: 31/05/2010</h3>
<p>I&#8217;m no longer using this technique on the site since the redesign &#8211; I&#8217;m using <a href="http://flowplayer.org/tools/overlay/index.html" target="_blank">jQuery Tools Overlay</a>. The examples below will still work but they use the new overlay library.
</div>
<p>We interrupt the travelogues to talk about some geeky stuff that&#8217;s been going on around these parts.</p>
<p>I&#8217;ve recently been using grids of thumbnails to link to <a href="http://www.flickr.com/" target="_blank">Flickr</a> photos as they relate to blog posts (e.g. my <a href="/archives/2007/08/22/mexico-city-mexico/">previous post</a>). One thing I&#8217;ve wanted to do is find a way to show these images without sending viewers over to Flickr and away from my site for fear that they might get lost (if they are navigationally challenged) or simply be pulled into something more interesting and not return. This would be a good excuse to add a little <a href="http://script.aculo.us/" target="_blank">Script.aculo.us</a> and <a href="http://en.wikipedia.org/wiki/Ajax_%28programming%29" title="Wikipedia entry" target="_blank">AJAX</a> sweetness to my blog posts.</p>
<p><span id="more-122"></span></p>
<p><strong>What I needed was:</strong></p>
<ul>
<li>To be able to embed images into blog posts and just link to my Flickr account rather than hosting the photos myself;</li>
<li>A list of thumbnails for when there are several images to show;</li>
<li>To avoid encouraging users to go off-site without resorting to pop-ups and such;</li>
<li>A JavaScript solution, ideally, but I wanted to avoid adding more libraries (e.g. <a href="http://www.mootools.net/">Mootools</a>) and if possible re-use the ones my already rather bloated <a href="http://www.getk2.com/" title="K2" target="_blank">Wordpress theme</a> already uses (in this case <a href="http://www.prototypejs.org/" target="_blank">Prototype</a>).</li>
</ul>
<p><strong>Solution:</strong></p>
<p>Here&#8217;s an example of the end product. Click on the thumbnails&#8230;</p>
<dl class="thumbnail-grid">
<dt><a href="http://farm2.static.flickr.com/1375/1153003771_e4a945ed6c.jpg" rel="lightbox[mexicocity2]" title="Plaza de las Tres Culturas - from &lt;a href=&quot;http://www.flickr.com/photos/henrytapia/1153003771/&quot;&gt;Flickr&lt;/a&gt;"><img src="http://farm2.static.flickr.com/1375/1153003771_e4a945ed6c_s.jpg" width="75" height="75" alt="Plaza de las Tres Culturas"  /></a></dt>
<dd>Plaza de las Tres Culturas</dd>
<dt><a href="http://farm2.static.flickr.com/1302/1153004583_2d3fdcf7fb.jpg" rel="lightbox[mexicocity2]" title="Monument at Plaza de las Tres Culturas - from &lt;a href=&quot;http://www.flickr.com/photos/henrytapia/1153004583/&quot;&gt;Flickr&lt;/a&gt;"><img src="http://farm2.static.flickr.com/1302/1153004583_2d3fdcf7fb_s.jpg" width="75" height="75" alt="Monument at Plaza de las Tres Culturas"  /></a></dt>
<dd>Monument at Plaza de las Tres Culturas</dd>
<dt><a href="http://farm2.static.flickr.com/1380/1153005163_1410fe79b6.jpg" rel="lightbox[mexicocity2]" title="Statue of JPII - from &lt;a href=&quot;http://www.flickr.com/photos/henrytapia/1153005163/&quot;&gt;Flickr&lt;/a&gt;"><img src="http://farm2.static.flickr.com/1380/1153005163_1410fe79b6_s.jpg" width="75" height="75" alt="Statue of JPII"  /></a></dt>
<dd>Statue of JPII</dd>
<dt><a href="http://farm2.static.flickr.com/1114/1153005903_4cccc4898c.jpg" rel="lightbox[mexicocity2]" title="Basilica de Guadalupe - from &lt;a href=&quot;http://www.flickr.com/photos/henrytapia/1153005903/&quot;&gt;Flickr&lt;/a&gt;"><img src="http://farm2.static.flickr.com/1114/1153005903_4cccc4898c_s.jpg" width="75" height="75" alt="Basilica de Guadalupe"  /></a></dt>
<dd>Basilica de Guadalupe</dd>
<dt><a href="http://farm2.static.flickr.com/1314/1153853484_49874e0d47.jpg" rel="lightbox[mexicocity2]" title="Obsidian carving - from &lt;a href=&quot;http://www.flickr.com/photos/henrytapia/1153853484/&quot;&gt;Flickr&lt;/a&gt;"><img src="http://farm2.static.flickr.com/1314/1153853484_49874e0d47_s.jpg" width="75" height="75" alt="Obsidian carving"  /></a></dt>
<dd>Obsidian carving</dd>
<dt><a href="http://farm2.static.flickr.com/1050/1153007139_f7c667fed1.jpg" rel="lightbox[mexicocity2]" title="Temple of the Moon at Teotihuacán - from &lt;a href=&quot;http://www.flickr.com/photos/henrytapia/1153007139/&quot;&gt;Flickr&lt;/a&gt;"><img src="http://farm2.static.flickr.com/1050/1153007139_f7c667fed1_s.jpg" width="75" height="75" alt="Temple of the Moon at Teotihuacán"  /></a></dt>
<dd>Temple of the Moon at Teotihuacán</dd>
<dt><a href="http://farm2.static.flickr.com/1040/1153855250_9f385aaed3.jpg" rel="lightbox[mexicocity2]" title="At the Temple of the Sun at Teotihuacán - from &lt;a href=&quot;http://www.flickr.com/photos/henrytapia/1153855250/&quot;&gt;Flickr&lt;/a&gt;"><img src="http://farm2.static.flickr.com/1040/1153855250_9f385aaed3_s.jpg" width="75" height="75" alt="At the Temple of the Sun at Teotihuacán"  /></a></dt>
<dd>At the Temple of the Sun at Teotihuacán</dd>
</dl>
<div class="clear">&nbsp;</div>
<p>You can hit escape, click the close button or anywhere outside the box to close the overlay. Mouse over the image and click on previous or next to view other images (when part of a series). Even use keyboard shortcuts (P and N). <a href="/images/content/nice.jpg" title="She is NICE!" rel="lightbox">NICE</a>.</p>
<p>For this I had to use my many and varied skills (such as searching on <a href="http://www.google.com/search?q=javascript+lightbox" target="_blank">Google</a>, copying and pasting code snippets, checking my <a href="http://www.facebook.com/" target="_blank">Facebook</a>) to come up with the best solution. The end result was shamefully easy and involved:</p>
<ul>
<li>Floating the thumbnails and captions in a grid (using a <a href="http://www.w3schools.com/tags/tag_dl.asp" title="W3 Schools entry">DL</a> element) was a nice reusable way of displaying the thumbnails regardless of container and text size. <a href="http://www.tjkdesign.com/">TJK Design</a> has a <a href="http://www.tjkdesign.com/articles/how_to_style_thumbnail_and_caption.asp" target="_blank">good scalable technique</a> for this.</li>
<li><a href="http://en.wikipedia.org/wiki/Modal_window" title="Wikipedia entry" target="_blank">Modal windows</a> are becoming a good solution for contextual user interactions when used appropriately. They are becoming fairly familiar to users, especially those who use Windows Vista (where they have the annoying tendency to come up every 10 seconds or so), and are quite appropriate for viewing larger images in the context of a gallery.</li>
<li>Using <abbr title="Asynchronous JavaScript and XML">AJAX</abbr> to load the images (as I wanted to load an external image rather than load all the images within the page or launch another window).</li>
</ul>
<p>I found a <a href="http://jquery.com/demo/thickbox/" title="ThickBox" target="_blank">few</a> <a href="http://alexei.417.ro/node/4" title="TinyBox" target="_blank">great</a> <a href="http://orangoo.com/labs/GreyBox/" title="GreyBox" target="_blank">contenders</a> but I settled on the very excellent <a href="http://www.huddletogether.com/projects/lightbox2/" target="_blank">Lightbox 2</a> by <a href="http://www.huddletogether.com/" target="_blank">Lokesh Dhakar</a>, as it did exactly what I needed, looked good and used prototype and script.aculo.us. If I wanted overlays in general for other interactions or content, I would have gone with one of the scripts previously mentioned, or the very cool <a href="http://www.wildbit.com/demos/modalbox/" target="_blank">ModalBox</a>, and if I was using the <a href="http://mootools.net" target="_blank">Mootools</a> JavaScript framework (which would have been ideal, I really like Mootools) I would have used <a href="http://www.e-magine.ro/web-dev-and-design/36/moodalbox/" target="_blank">MOOdalBox</a>. </p>
<p>I was pleased to find I didn&#8217;t need to really hack any JavaScript out at all in order to get this going, I just had to make a few changes here and there to tie it in with my current Wordpress scheme. </p>
<p>This type of interaction is something you will see more often in sites rich in functionality. I&#8217;m currently starting to use these type of techniques at work in order to build user friendly standards-based e-commerce user interfaces. The down side of the ease of using these types of libraries is that it&#8217;s very possible there will be a flurry of overuse leading to massive user annoyance. Use wisely&#8230;</p>
<p><em>Published at <a href="http://henrytapia.com/">HenryTapia.com</a> – Experiencing and designing things</em></p>
]]></content:encoded>
			<wfw:commentRss>http://henrytapia.com/archives/2007/08/28/javascript-overlay-gallery/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Re-thinking Flash&#8230;</title>
		<link>http://henrytapia.com/archives/2006/11/14/re-thinking-flash/</link>
		<comments>http://henrytapia.com/archives/2006/11/14/re-thinking-flash/#comments</comments>
		<pubDate>Mon, 13 Nov 2006 23:20:03 +0000</pubDate>
		<dc:creator>hank</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Technical]]></category>
		<category><![CDATA[Web Standards]]></category>

		<guid isPermaLink="false">http://www.henrytapia.com/archives/2006/11/14/re-thinking-flash/</guid>
		<description><![CDATA[The very funny Flash Website Flowchart (Should I make a Flash site?) I recently linked to (&#8220;elsewhere&#8221;) featured an interesting discussion in the comments that made me think about Flash again &#8211; when is it best to use Flash, and if you do, how do you do it right? 
Generally speaking, I&#8217;ve been one to [...]]]></description>
			<content:encoded><![CDATA[<p>The very funny <a href="http://www.thegooglecache.com/rants-and-raves/should-i-make-a-flash-site-flash-website-flowchart/trackback/">Flash Website Flowchart (Should I make a Flash site?)</a> I recently linked to (&#8220;elsewhere&#8221;) featured an interesting discussion in the comments that made me think about Flash again &#8211; when is it best to use Flash, and if you do, how do you do it right? </p>
<p>Generally speaking, I&#8217;ve been one to follow the aforementioned flowchart (ie. just say no), but having been in the role of &#8220;The company Flash guy&#8221; previously, I was used to sprinkling bits of Flash here and there on various websites I worked on. Being a search-friendly, usability and accessibility sort-of-guy, I generally avoided full Flash site development like the plague, but I&#8217;ve found some interesting reads on Flash best practices, for those times you choose to use it.</p>
<p><span id="more-101"></span></p>
<p>Geoff at <a href="http://blog.deconcept.com/">Deconcept</a> discusses Flash and search engines, yes those two things <strong>can</strong> work together:<br />
<strong><a href="http://blog.deconcept.com/2006/03/13/modern-approach-flash-seo/trackback/">A modern approach to Flash SEO</a><br />
</strong></p>
<p><a href="http://www.glassonion.com.au/">Glass Onion</a> (my employer until <a href="http://www.henrytapia.com/archives/2006/11/11/thanks-glass-onion/">a few days ago</a>) have been wise to the technique Geoff mentions for a while, using a little JavaScript called <a href="http://blog.deconcept.com/swfobject/">SWFObject</a>, which detects the presence of the Flash plugin and replaces a piece of accessible, search-friendly XHTML with your razzle-dazzle Flash piece. It just so happens to also get around the whole <a href="http://en.wikipedia.org/wiki/Eolas">EOLAS mess</a> that forces IE users to click on a Flash piece to activate it.</p>
<p>The very wise <a href="http://www.bobbyvandersluis.com/">Bobby van der Sluis</a>, writing for Adobe explains how to similarly do this using his <a href="http://www.bobbyvandersluis.com/ufo/">UFO</a> (Unobtrusive Flash Objects) script, and explains the whole technique with examples in this tutorial:<br />
<strong><a href="http://www.adobe.com/devnet/flash/articles/progressive_enhancement.html">Developing Flash websites using progressive enhancement</a></strong></p>
<p>The whole concept of progressive enhancement fascinates me &#8211; you get the best of both worlds, the accessibility and search engine friendliness of web standards, coupled with the beauty and enhanced user experience of AJAX, or in this case, Flash. </p>
<p>Along with the accessibility features being built into the Flash plugin by Adobe, other flash enhancements are being written in the form of small scripts like SWFObject and UFO. One I&#8217;ve just recently seen and found interesting is:<br />
<strong><a href="http://www.asual.com/swfaddress/">ASUAL&#8217;s SWFAddress</a></strong></p>
<blockquote><p><small>SWFAddress is a small script that sits on top of SWFObject and provides deep linking for Flash websites and applications. In other words it enables the Back, Forward and Reload buttons of the browser and creates unique URLs with page titles that can be sent over email or IM.</small></p></blockquote>
<p>SWFAddress involves attaching a JavaScript file (after the SWFObject js file) to the head of the page and then adding a little ActionScript to your Flash movies. </p>
<p>The thing to remember with all these techniques is that they still involve building on a base of HTML. We then enhance this basic accessible version with CSS, JavaScript and Flash. It&#8217;s a bit of extra work but it&#8217;s worth it for the search engine factor as well as accessibility (not just blind people, think about all those mobile devices out there &#8211; they&#8217;re not all Flash ready yet). If the budget (or inclination) is not there to take these extra steps, refer back to the <a href="http://www.thegooglecache.com/rants-and-raves/should-i-make-a-flash-site-flash-website-flowchart/">Flash Website Flowchart</a>&#8230;<br />
</p>
<p><em>Published at <a href="http://henrytapia.com/">HenryTapia.com</a> – Experiencing and designing things</em></p>
]]></content:encoded>
			<wfw:commentRss>http://henrytapia.com/archives/2006/11/14/re-thinking-flash/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

