<?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>Joe Song &#187; javascript</title> <atom:link href="http://joesong.com/tag/javascript/feed/" rel="self" type="application/rss+xml" /><link>http://joesong.com</link> <description>Development, music.</description> <lastBuildDate>Tue, 22 Jun 2010 04:37:09 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.0</generator> <item><title>WestlawNext.com</title><link>http://joesong.com/2010/01/westlawnext-com/</link> <comments>http://joesong.com/2010/01/westlawnext-com/#comments</comments> <pubDate>Sun, 31 Jan 2010 23:00:25 +0000</pubDate> <dc:creator>josephsong</dc:creator> <category><![CDATA[Portfolio]]></category> <category><![CDATA[CSS]]></category> <category><![CDATA[Development]]></category> <category><![CDATA[javascript]]></category> <category><![CDATA[jQuery]]></category> <category><![CDATA[OLSON]]></category> <category><![CDATA[programming]]></category><guid
isPermaLink="false">http://joesong.com/?p=683</guid> <description><![CDATA[Product launch site for the biggest name in legal research.]]></description> <content:encoded><![CDATA[<p><a
href="http://joesong.com/wp-content/uploads/2010/02/westlawnext.png"><img
class="alignright size-thumbnail wp-image-686" title="WestlawNext.com" src="http://joesong.com/wp-content/uploads/2010/02/westlawnext-150x150.png" alt="" width="150" height="150" /></a><strong>The Site:</strong> Thomson Reuters, the leading provider of legal and business research products, needed a site to promote the launch of their newest product, WestlawNext.<br
/> <a
href="http://westlawnext.com" target="_blank">http://westlawnext.com</a></p><p><strong>The Client:</strong> Thomson Reuters&#8217; clients are savvy and busy. They knew that if the site was going to reach them, it had to be fast, solid and engaging.</p><p><strong>My Role:</strong> Developer in small, focused group to create the prototype and an on-site advisor during integration with their existing systems.</p><p><strong>The Technology:</strong> The client needed to integrate the site into their CMS but they had asked us to create and test a prototype site before handing it over. We built the original with very limited PHP since we knew TR would be using .NET in the end but PHP allowed our team to quickly build the prototype. The site uses a custom Flash video player and also has a limited but useful mobile version. This mobile version was very important to the client as the majority of their customers regularly use BlackBerrys and other mobile devices. During integration a few technical hurdles appeared from use of their legacy systems but because I was on-site at the time, launch was not affected.</p><p><strong>The Highlights:</strong> <a
href="http://west.thomson.com/westlawnext/seeit/default.aspx" target="_blank">Multiple video players</a> used in conjunction with jQuery UI tabs. Animated main navigation.</p> ]]></content:encoded> <wfw:commentRss>http://joesong.com/2010/01/westlawnext-com/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Avoiding flickering in jQuery when animating elements which contain Flash</title><link>http://joesong.com/2010/01/avoiding-flickering-in-jquery-when-animating-elements-which-contain-flash/</link> <comments>http://joesong.com/2010/01/avoiding-flickering-in-jquery-when-animating-elements-which-contain-flash/#comments</comments> <pubDate>Mon, 18 Jan 2010 21:28:55 +0000</pubDate> <dc:creator>josephsong</dc:creator> <category><![CDATA[CSS]]></category> <category><![CDATA[Development]]></category> <category><![CDATA[JavaScript]]></category> <category><![CDATA[javascript]]></category> <category><![CDATA[jQuery]]></category><guid
isPermaLink="false">http://joesong.com/?p=648</guid> <description><![CDATA[jQuery slideToggle or slideDown will cause a Flash movie to flicker if the movie is inside the animated element. A short note on how to fix it.]]></description> <content:encoded><![CDATA[<p>So, we had this issue when were were using slideToggle (and it would apply to slideDown) where the Flash movie contained inside the element we were animating would flicker once the animation is complete.</p><p>What&#8217;s happening: While animating, jQuery needs to add a few style definitions if they are not already declared. Among these is the &#8216;overflow&#8217; property. jQuery sets this to &#8216;hidden&#8217; in order to show the animation and then removes this declaration upon completion of the animation. When the declaration is removed, Flash gets the signal to re-render the movie (because, possibly, the layout of the page has changed).</p><p>How to fix it: declare &#8216;overflow:hidden&#8217; in the CSS for the element. Voilá, the flickering is gone.</p> ]]></content:encoded> <wfw:commentRss>http://joesong.com/2010/01/avoiding-flickering-in-jquery-when-animating-elements-which-contain-flash/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>MyChinet.com</title><link>http://joesong.com/2009/11/mychinet-com/</link> <comments>http://joesong.com/2009/11/mychinet-com/#comments</comments> <pubDate>Thu, 05 Nov 2009 20:00:44 +0000</pubDate> <dc:creator>josephsong</dc:creator> <category><![CDATA[Portfolio]]></category> <category><![CDATA[codeigniter]]></category> <category><![CDATA[development lead]]></category> <category><![CDATA[javascript]]></category> <category><![CDATA[PHP]]></category> <category><![CDATA[progressive enhancement]]></category><guid
isPermaLink="false">http://joesong.com/?p=600</guid> <description><![CDATA[PHP and JavaScript development for the premium disposable tableware manufacturer, Chinet&#174;.]]></description> <content:encoded><![CDATA[<p><strong><a
href="http://joesong.com/wp-content/uploads/2009/11/mychinet.png"><img
class="alignright size-thumbnail wp-image-603" title="MyChinet.com" src="http://joesong.com/wp-content/uploads/2009/11/mychinet-150x150.png" alt="MyChinet.com" width="150" height="150" /></a>The Site:</strong> The site of the premium disposable tableware manufacturer.<br
/> <a
style="color: #000099; text-decoration: none; padding: 0px; margin: 0px;" href="http://mychinet.com" target="_blank">http://mychinet.com</a></p><p
style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding: 0px;"><strong>The Client:</strong> Chinet wanted to revamp its site to drive sales of a product line that was deeper than most people knew. As part of a full campaign, OLSON designed, developed and promoted their new website.</p><p
style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding: 0px;"><strong>My Role:</strong> Development lead of concentrated development group. Development planning and production.</p><p
style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding: 0px;"><strong>The Technology:</strong> The client had an existing CMS which they wished to keep. The system had been hand-rolled by another agency. We were asked to work with the CMS, improve it where needed and rebuild the public-facing side using CodeIgniter PHP framework. The end product included an implementation of the Zend Lucene search library and smart data caching to reduce server load and speed load times.  The team developed inviting Flash features for the home page and Moments Calendar on the site. Also, the site used MooTools for JavaScript interactions. Finally, the site was built for progressive enhancement where the content is available without Flash or JavaScript and present for SEO.</p><p
style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding: 0px;"><strong>The Highlights:</strong> <a
href="http://mychinet.com/club" target="_blank">Club Chinet</a> where visitors can save recipes and tips and sign up for the Chinet newsletter, <a
href="http://mychinet.com/moments" target="_blank">Moments Calendar</a> where visitors can find a reason to celebrate any day.</p> ]]></content:encoded> <wfw:commentRss>http://joesong.com/2009/11/mychinet-com/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>External Links in New Window. Passive and with MooTools.</title><link>http://joesong.com/2009/11/external-links-in-new-window-passive-and-with-mootools/</link> <comments>http://joesong.com/2009/11/external-links-in-new-window-passive-and-with-mootools/#comments</comments> <pubDate>Wed, 04 Nov 2009 15:50:55 +0000</pubDate> <dc:creator>josephsong</dc:creator> <category><![CDATA[Development]]></category> <category><![CDATA[JavaScript]]></category> <category><![CDATA[javascript]]></category> <category><![CDATA[mootools]]></category> <category><![CDATA[passive]]></category> <category><![CDATA[programming]]></category><guid
isPermaLink="false">http://joesong.com/?p=571</guid> <description><![CDATA[Sx All external links from the site should open in a new window. Do not want to write this on a link-by-link basis. Should be light and unobtrusive. Using MooTools. Dx We can easily know what domain the script lives on. Other domains are easily distinguished. Links come and go and are loaded in, sometimes, by [...]]]></description> <content:encoded><![CDATA[<h3>Sx</h3><p>All external links from the site should open in a new window. Do not want to write this on a link-by-link basis. Should be light and unobtrusive. Using MooTools.</p><h3>Dx</h3><p>We can easily know what domain the script lives on. Other domains are easily distinguished. Links come and go and are loaded in, sometimes, by other links. We will use one of my favorite patterns, which I am calling the Passive Click Pattern (got a better or more widely-used name?) to listen to all clicks anywhere on the document.body. In this case, if the click is on a link and the link is external, then we will set the target of the link to &#8216;_blank&#8217;.  Paramount to using the PCP (OMG, I did not realize that was the acronym) is the pattern of not <em>stopping </em>clicks in other patterns but just using <em>preventDefault</em>. That way, the click can flow through the DOM and be heard by multiple listeners.</p><p>This solution requires only the most core of MooTools and is built against version 1.2.3.</p><h3>Tx</h3><pre class="brush: jscript;">
window.addEvent('domready', function(){
	var currentDomain = window.location.host;
	$(document.body).addEvent('click', function(evt) {
		$trgt = $(evt.target);
		if ($trgt.get('tag') !== 'a') {
			$trgt = $trgt.getParent();
		}
		// if the target is a link AND the link is absolute AND the link goes to a different domain,
		// then set the target to _blank to open in new page
		if ($trgt &amp;&amp;
				$trgt.get('tag') === 'a' &amp;&amp;
				$trgt.get('href').test('http') &amp;&amp;
				!$trgt.get('href').test(currentDomain)) {
			$trgt.set('target', '_blank');
		}
	});
});
</pre><h3>EDIT:</h3><p>A more fitting name for this pattern is &#8220;Passive EVENT Pattern&#8221; since it can be applied to more than just clicks. Form submissions, for instance, or key entry.</p><p>Plus, then you can say your application is PEPpy. #amirightfolks</p> ]]></content:encoded> <wfw:commentRss>http://joesong.com/2009/11/external-links-in-new-window-passive-and-with-mootools/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>OCO.com</title><link>http://joesong.com/2009/10/oco-com/</link> <comments>http://joesong.com/2009/10/oco-com/#comments</comments> <pubDate>Thu, 01 Oct 2009 20:32:59 +0000</pubDate> <dc:creator>josephsong</dc:creator> <category><![CDATA[Portfolio]]></category> <category><![CDATA[daisy cms]]></category> <category><![CDATA[development lead]]></category> <category><![CDATA[html]]></category> <category><![CDATA[javascript]]></category> <category><![CDATA[progressive enhancement]]></category><guid
isPermaLink="false">http://joesong.com/?p=606</guid> <description><![CDATA[Development leading for OLSON's showcase site.]]></description> <content:encoded><![CDATA[<p
style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding: 0px;"><strong><a
href="http://joesong.com/wp-content/uploads/2009/11/oco.png"><img
class="alignright size-thumbnail wp-image-607" title="oco" src="http://joesong.com/wp-content/uploads/2009/11/oco-150x150.png" alt="oco" width="150" height="150" /></a>The Site:</strong> Advertising agency OLSON&#8217;s showcase. <a
href="http://oco.com" target="_blank">http://oco.com</a></p><p
style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding: 0px;"><strong>The Client:</strong> OLSON is dedicated to building social circles around their clients. OLSON designed the new site to show off the ability and results of our work.</p><p
style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding: 0px;"><strong>My Role:</strong> Development lead of concentrated development group. Development planning and production.</p><p
style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding: 0px;"><strong>The Technology:</strong> We wanted to make our site fun, intuitive and easy and the data long-lasting and reusable. The CMS behind the site holds a lot of data about our work and client relationships (more than we could show on the site) and we wanted that data to be reusable for presentations and other communications. We loaded the information into the Daisy CMS and stored it in logical ways that would allow us to easily retrieve whatever we were looking for. On the front end, the site uses Java Faces and a custom caching system to quickly present the data as pulled from our custom Java services. The site uses jQuery for JavaScript interactions.</p><p
style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding: 0px;"><strong>The Highlights:</strong> <a
href="http://www.oco.com/" target="_blank">JavaScript-backed animation of features and features card stack on home page</a>, <a
href="http://www.oco.com/work" target="_blank">New and Featured Work</a>, <a
href="http://www.oco.com/about/client-list" target="_blank">Interactive Client List</a>.</p> ]]></content:encoded> <wfw:commentRss>http://joesong.com/2009/10/oco-com/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Mootools 1.2 Horizontal Accordion &#8211; the secret revealed</title><link>http://joesong.com/2009/04/mootools-12-horizontal-accordion-the-secret-revealed/</link> <comments>http://joesong.com/2009/04/mootools-12-horizontal-accordion-the-secret-revealed/#comments</comments> <pubDate>Wed, 15 Apr 2009 18:44:42 +0000</pubDate> <dc:creator>josephsong</dc:creator> <category><![CDATA[Development]]></category> <category><![CDATA[JavaScript]]></category> <category><![CDATA[javascript]]></category> <category><![CDATA[mootools]]></category> <category><![CDATA[programming]]></category><guid
isPermaLink="false">http://joesong.com/?p=445</guid> <description><![CDATA[Sometimes the API docs are wrong. Since I couldn&#8217;t find out how to do it, I&#8217;ll post the secret here. To make the horizontal accordion work in Mootools 1.2 you have to specify a fixed width. The API docs say it is a Boolean, but it ain&#8217;t. It is what the plugin uses to determine [...]]]></description> <content:encoded><![CDATA[<p>Sometimes the API docs are wrong.</p><p>Since I couldn&#8217;t find out how to do it, I&#8217;ll post the secret here. To make the horizontal accordion work in Mootools 1.2 you have to specify a fixed width. The API docs say it is a Boolean, but it ain&#8217;t. It is what the plugin uses to determine the size of open panels.</p><p>Markup:</p><pre class="brush: xml;">
&lt;ul id=&quot;get-started-steps&quot;&gt;
	&lt;li class=&quot;get-started-step&quot;&gt; &lt;a class=&quot;trigger left&quot; href=&quot;#&quot;&gt;Step 1&lt;/a&gt;
		&lt;div class=&quot;get-started-content left&quot;&gt;step 1 content&lt;/div&gt;
	&lt;/li&gt;
	&lt;li class=&quot;get-started-step&quot;&gt; &lt;a class=&quot;trigger left&quot; href=&quot;#&quot;&gt;Step 2&lt;/a&gt;
		&lt;div class=&quot;get-started-content left&quot;&gt;step 2 content&lt;/div&gt;
	&lt;/li&gt;
	&lt;li class=&quot;get-started-step&quot;&gt; &lt;a class=&quot;trigger left&quot; href=&quot;#&quot;&gt;Step 3&lt;/a&gt;
		&lt;div class=&quot;get-started-content left&quot;&gt;step 3 content&lt;/div&gt;
	&lt;/li&gt;
&lt;/ul&gt;
</pre><p>JS:</p><pre class="brush: jscript;">&lt;br /&gt;
new Accordion(&lt;br /&gt;
$$(’.get-started-step .trigger’),&lt;br /&gt;
$$(’.get-started-content’),&lt;br /&gt;
{&lt;br /&gt;
height: false,&lt;br /&gt;
width: true,&lt;br /&gt;
fixedWidth: 200&lt;br /&gt;
});&lt;br /&gt;
</pre><p>CSS:</p><pre class="brush: css;">&lt;br /&gt;
#get-started-steps { width: 100%; }&lt;br /&gt;
#get-started-steps li { float: left; }&lt;br /&gt;
.get-started-content { width: 200px; height: 200px; }&lt;br /&gt;
.left { float: left; }&lt;br /&gt;
</pre>]]></content:encoded> <wfw:commentRss>http://joesong.com/2009/04/mootools-12-horizontal-accordion-the-secret-revealed/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>Lee.com</title><link>http://joesong.com/2009/03/lee-com/</link> <comments>http://joesong.com/2009/03/lee-com/#comments</comments> <pubDate>Sun, 01 Mar 2009 19:18:20 +0000</pubDate> <dc:creator>josephsong</dc:creator> <category><![CDATA[Portfolio]]></category> <category><![CDATA[html]]></category> <category><![CDATA[javascript]]></category> <category><![CDATA[OLSON]]></category> <category><![CDATA[PHP]]></category> <category><![CDATA[progressive enhancement]]></category><guid
isPermaLink="false">http://joesong.com/?p=589</guid> <description><![CDATA[HTML and JavaScript development for top jeans brand, Lee&#174;.]]></description> <content:encoded><![CDATA[<p><strong><a
href="http://joesong.com/wp-content/uploads/2009/11/lee.png"><img
class="alignright size-thumbnail wp-image-590" title="Lee.com" src="http://joesong.com/wp-content/uploads/2009/11/lee-150x150.png" alt="Lee.com" width="150" height="150" /></a>The Site:</strong> The home of Lee® Jeans and Apparel.<br
/> <a
href="http://lee.com" target="_blank">http://lee.com</a></p><p><strong>The Client:</strong> Lee is one of the top Jeans brands in the world. The new site was designed by OLSON for ease of use and style.</p><p><strong>My Role:</strong> HTML and JavaScript development during principal development in small group. PHP programming of prototype site for proof of concept which was handed over to third-party back-end developers. After launch, development lead for follow up and enhancements.</p><p><strong>The Technology:</strong> Dojo Toolkit for JavaScript, complete with custom builds and minification. Our team also provided Flash elements for featured messaging. Deep progressive enhancement; the site is completely usable and friendly with or without JavaScript, Flash or images.</p><p><strong>The Highlights:</strong> <a
href="http://www.lee.com/store/LEE_STORE_US/en_US/fitfinder/FitFinderLanding.html" target="_blank">Fit Finder</a>, <a
href="http://www.lee.com/store/LEE_STORE_US/en_US/category/men/jeans.html" target="_blank">asynchronous results filtering and pagination</a> built to work with IBM&#8217;s WebSphere technology.</p> ]]></content:encoded> <wfw:commentRss>http://joesong.com/2009/03/lee-com/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>JavaScript Namespacing</title><link>http://joesong.com/2009/02/javascript-namespacing/</link> <comments>http://joesong.com/2009/02/javascript-namespacing/#comments</comments> <pubDate>Fri, 20 Feb 2009 19:34:24 +0000</pubDate> <dc:creator>josephsong</dc:creator> <category><![CDATA[Acting]]></category> <category><![CDATA[Development]]></category> <category><![CDATA[JavaScript]]></category> <category><![CDATA[Performing]]></category> <category><![CDATA[javascript]]></category> <category><![CDATA[namespacing]]></category> <category><![CDATA[programming]]></category><guid
isPermaLink="false">http://joesong.com/?p=427</guid> <description><![CDATA[I figure if you are reading even this far you care / know about namespacing in JavaScript so I&#8217;m not going to go into WHY. However, the HOW is here. But, okay, yeah, maybe some specific WHY. We had been using a generic namespacing function that required plugging in the base name three times. Not [...]]]></description> <content:encoded><![CDATA[<p>I figure if you are reading even this far you care / know about namespacing in JavaScript so I&#8217;m not going to go into WHY.</p><p>However, the HOW is here. But, okay, yeah, maybe some specific WHY.</p><p>We had been using a generic namespacing function that required plugging in the base name three times. Not really that much work, but kind of a pain if you want to redistribute it. So, it is now reworked to be changed only in one place. It requires three variables in the default global namespace but that ain&#8217;t bad, right?</p><pre>var APPLICATION_NAMESPACE = "MYPROJECT";
var _global = this;
var _global[APPLICATION_NAMESPACE] = {};

_global[APPLICATION_NAMESPACE].namespace = function() {
    var a=arguments, o=null, i, j, d;
    for (i=0; i&lt;a.length; i=i+1) {
        d=a[i].split(".");
        o=_global[APPLICATION_NAMESPACE];

        for (j=(d[0] == APPLICATION_NAMESPACE) ? 1 : 0; j&lt;d.length; j=j+1) {
            o[d[j]]=o[d[j]] || {};
            o=o[d[j]];
        }
    }

    return o;
}</pre><p>So, <span
class="code">_global</span> here refers to <span
class="code">window</span> most of the time (but sometimes not so we need a reference to it).  <span
class="code">MYPROJECT</span> can be whatever you want it to be.</p><p>When we use the namespacing stuff we refer to the specific namespace directly using JS dot-deliminated object syntax. This function goes soft on existing objects; it will not destroy a previously created object with the same name.</p><p>The function will ignore the name of the namespace if it is the first part in there. I&#8217;m not saying that well, but these calls are functionally identical and both namespace MYPROJECT.SomeOtherPart.</p><pre>MYPROJECT.namespace("SomeOtherPart");
MYPROJECT.namespace("MYPROJECT.SomeOtherPart");</pre>]]></content:encoded> <wfw:commentRss>http://joesong.com/2009/02/javascript-namespacing/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Avoiding redundancies in the Dojo build process</title><link>http://joesong.com/2009/01/dojo-custom-build-with-a-global-layer/</link> <comments>http://joesong.com/2009/01/dojo-custom-build-with-a-global-layer/#comments</comments> <pubDate>Mon, 05 Jan 2009 19:23:49 +0000</pubDate> <dc:creator>josephsong</dc:creator> <category><![CDATA[Development]]></category> <category><![CDATA[JavaScript]]></category> <category><![CDATA[build process]]></category> <category><![CDATA[dojo]]></category> <category><![CDATA[javascript]]></category> <category><![CDATA[optimization]]></category><guid
isPermaLink="false">http://joesong.com/?p=241</guid> <description><![CDATA[Handling redundancies in global .js files and page-specific .js files when using the Dojo build process.]]></description> <content:encoded><![CDATA[<p>So, for our major (full site) project we are using the Dojo Toolkit. We have a build script that is condensing and compressing the JavaScript files using the Dojo build architecture. Each site page uses a global set of scripts for general utilities and ui, and then usually has another set of script for specific widgets and such.</p><p>It took me a while to find how to write the build script to omit duplicate dependencies included in the global but required by the page-specific scripts. For instance, we have a custom form handler called MyProject.form and is extended by page-specific classes. So, with the original build this class was included in the Global layer and the page-specific layer resulting in the MyProject.form class being in both .js files in the built page.</p><p>The answer is: layerDependencies in the build script.</p><pre>dependencies = {
    resourceName: "MyProject",
    layers: [
    {
        name: "../../MyProject/Global.js",
        dependencies: ["MyProject", "MyProject.Global"]
    },
    {
        name: "../../MyProject/CategoryPage.js",
        dependencies: ["MyProject.CategoryPage"],
        layerDependencies: ["../../MyProject/Global.js"]
    }
    ]
};</pre><p>So,  if a class in dojo.required (and therefore included) in Global.js it will be not be copied into CategoryPage.js if it is required there, also.</p> ]]></content:encoded> <wfw:commentRss>http://joesong.com/2009/01/dojo-custom-build-with-a-global-layer/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>Hearst Broadcasting Weather</title><link>http://joesong.com/2008/02/hearst-broadcasting-weather/</link> <comments>http://joesong.com/2008/02/hearst-broadcasting-weather/#comments</comments> <pubDate>Tue, 05 Feb 2008 02:22:54 +0000</pubDate> <dc:creator>josephsong</dc:creator> <category><![CDATA[Portfolio]]></category> <category><![CDATA[Development]]></category> <category><![CDATA[javascript]]></category> <category><![CDATA[OLSON]]></category> <category><![CDATA[programming]]></category> <category><![CDATA[progressive enhancement]]></category><guid
isPermaLink="false">http://joesong.com/?p=627</guid> <description><![CDATA[AJAX-centered singular interface for weather used across Hearst Broadcasting stations.]]></description> <content:encoded><![CDATA[<p><a
href="http://joesong.com/wp-content/uploads/2010/01/kmbc_com_weather.png"><img
class="size-thumbnail wp-image-628 alignright" title="kmbc_com_weather" src="http://joesong.com/wp-content/uploads/2010/01/kmbc_com_weather-150x150.png" alt="KMBC.com Weather" width="150" height="150" /></a><strong>The Site:</strong> Weather information destination in use across Hearst Broadcasting stations.<br
/> <a
href="http://www.kmbc.com/weather/">http://www.kmbc.com/weather/</a> (and many others)</p><p><strong>The Client:</strong> Hearst Broadcasting is a part of the powerful and historic Hearst Corporation. They needed a friendly and useful interface for the weather section of the stations&#8217; sites.</p><p><strong>My Role:</strong> Part of the small, dedicated development group.</p><p><strong>The Technology:</strong> The site is built for progressive enhancement and semantics but at the top level the interface is JavaScript driven with AJAX-loaded content and smooth animations. The JavaScript uses the Yahoo User Interface library and build system to provide a consistent experience across browsers and platforms.</p><p><strong>The Highlights:</strong> Home page tiles are arrangeable by user and saved in a cookie to persist across visits. The tiles and their associated content are built abstractly to allow content owners tight control over presentation and interaction.</p> ]]></content:encoded> <wfw:commentRss>http://joesong.com/2008/02/hearst-broadcasting-weather/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> </channel> </rss>
<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk
Page Caching using disk (enhanced) (user agent is rejected)

Served from: joesong.com @ 2010-07-31 09:42:10 -->