<?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>Advanced CSS Design Resources - last-child.com &#187; DHTML</title>
	<atom:link href="http://www.last-child.com/category/dhtml/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.last-child.com</link>
	<description>CSS Toys for Professional Web Developers</description>
	<lastBuildDate>Thu, 08 Jul 2010 16:59:14 +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>ARIA support with the YUI library</title>
		<link>http://www.last-child.com/aria-support-with-the-yui-library/</link>
		<comments>http://www.last-child.com/aria-support-with-the-yui-library/#comments</comments>
		<pubDate>Wed, 06 Aug 2008 16:15:51 +0000</pubDate>
		<dc:creator>Ted</dc:creator>
				<category><![CDATA[AJAX]]></category>
		<category><![CDATA[Accessibility]]></category>
		<category><![CDATA[DHTML]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[YUI]]></category>
		<category><![CDATA[Yahoo!]]></category>

		<guid isPermaLink="false">http://www.last-child.com/?p=157</guid>
		<description><![CDATA[AJAX and DHTML have made web sites more interactive and easier to use. At least for visitors who are not using a screen reader. Screen reader users have to struggle with pages that lose focus, change without prompting the user of new data, and much more. However, there are many developers working on solutions to [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://en.wikipedia.org/wiki/Ajax_%28programming%29" title="Ajax (programming)" rel="wikipedia" class="zem_slink">AJAX</a> and <a href="http://en.wikipedia.org/wiki/Dynamic_HTML" title="Dynamic HTML" rel="wikipedia" class="zem_slink">DHTML</a> have made  web sites more interactive and easier to use. At least for visitors who are  not using a screen reader. Screen reader users have to struggle with pages that lose focus, change without prompting the user of new data, and much more. However, there are many developers working on solutions to this problem.</p>
<p>Todd Kloots, of the Yahoo User Interface group was one of the first to develop accessible javascript libraries with the YUI menu package. He just published a blog post on the YUI web site about adding ARIA support to the YUI tab package. This information could also help you add this functionality to your existing YUI-based applications. </p>
<p>Here&#8217;s how Todd describes the goal</p>
<blockquote cite="http://yuiblog.com/blog/2008/07/30/tabview-aria/">
<p>
The <a href="http://developer.yahoo.com/yui/tabview/">YUI TabView Control</a> is built on a strong<br />
foundation of semantic markup that provides users with some basic accessibility.  But while TabView looks like a desktop tab control, <a href="http://en.wikipedia.org/wiki/Screen_reader" title="Screen reader" rel="wikipedia" class="zem_slink">screen readers</a> don’t present it as an atomic<br />
widget, leaving users to figure out how the various HTML elements that compose a TabView relate to each other.  However, through the application of the <a href="http://www.w3.org/TR/wai-aria/">WAI-ARIA Roles and States</a>, it is possible to enhance TabView’s accessibility such that users of screen readers perceive it as a desktop tab control.
</p>
<p><cite><a href="http://yuiblog.com/blog/2008/07/30/tabview-aria/">Enhancing TabView Accessibility with WAI-ARIA Roles and States</a>  &#8211; Todd Kloots</cite>
</p></blockquote>
<p>The following video shows how this approach works with Firefox and a screen reader.</p>
<div><object height="322" width="512"><param name="movie" value="http://d.yimg.com/static.video.yahoo.com/yep/YV_YEP.swf?ver=2.2.17"><param name="allowFullScreen" value="true"><param name="bgcolor" value="#000000"><param name="flashVars" value="id=9051193&amp;vid=3199866&amp;lang=en-us&amp;intl=us&amp;thumbUrl=http%3A//us.i1.yimg.com/us.yimg.com/p/i/bcst/videosearch/4371/69134473.jpeg&amp;embed=1"><embed src="http://d.yimg.com/static.video.yahoo.com/yep/YV_YEP.swf?ver=2.2.17" type="application/x-shockwave-flash" allowfullscreen="true" bgcolor="#000000" flashvars="id=9051193&amp;vid=3199866&amp;lang=en-us&amp;intl=us&amp;thumbUrl=http%3A//us.i1.yimg.com/us.yimg.com/p/i/bcst/videosearch/4371/69134473.jpeg&amp;embed=1" height="322" width="512"></object><br /><a href="http://video.yahoo.com/watch/3199866/9051193">YUI TabView with ARIA roles and states/Todd Kloots</a> @ <a href="http://video.yahoo.com">Yahoo! Video</a></div>
<h3>Related articles </h3>
<ul class="zemanta-article-ul">
<li class="zemanta-article-ul-li"><a href="http://arstechnica.com/news.ars/post/20080708-ibm-makes-web-accessibility-for-blind-users-a-social-effort.html">IBM makes web accessibility for blind users a social effort</a></li>
<li class="zemanta-article-ul-li"><a href="http://ajaxian.com/archives/accessible-google-charts">Accessible Google Charts</a></li>
<li class="zemanta-article-ul-li"><a href="http://ajaxian.com/archives/axsjax-access-enabling-ajax">AxsJAX: Access-Enabling AJAX</a></li>
<li class="zemanta-article-ul-li"><a href="http://www.nytimes.com/idg/IDG_852573C4006938800025747F007CBD5E.html?partner=rssnyt&amp;emc=rss">I.B.M. Software Enhances Web Accessibility for the Blind</a></li>
<li class="zemanta-article-ul-li"><a href="http://www.ajaxperformance.com/2007/08/29/quick-follow-up-more-yui-compressor-work/">Quick follow-up: more YUI Compressor work</a></li>
<li class="zemanta-article-ul-li"><a href="http://ajaxian.com/archives/high-performance-ajax-applications">High Performance Ajax Applications</a></li>
<li class="zemanta-article-ul-li"><a href="http://ajaxian.com/archives/reminded-of-speaking-your-yahoolang">Reminded of speaking your YAHOO.lang</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.last-child.com/aria-support-with-the-yui-library/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Progressive enhancement of links using the CSS attribute selector</title>
		<link>http://www.last-child.com/css-attribute-selector/</link>
		<comments>http://www.last-child.com/css-attribute-selector/#comments</comments>
		<pubDate>Wed, 04 Jun 2008 20:13:00 +0000</pubDate>
		<dc:creator>Ted</dc:creator>
				<category><![CDATA[:after]]></category>
		<category><![CDATA[Accessibility]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[CSS2]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[DHTML]]></category>
		<category><![CDATA[Hacks]]></category>
		<category><![CDATA[IE7]]></category>
		<category><![CDATA[IE8]]></category>
		<category><![CDATA[Image Sprites]]></category>
		<category><![CDATA[Link]]></category>
		<category><![CDATA[Online Resource]]></category>
		<category><![CDATA[W3C]]></category>
		<category><![CDATA[attribute selector]]></category>
		<category><![CDATA[min-height]]></category>
		<category><![CDATA[attribute]]></category>
		<category><![CDATA[selector]]></category>

		<guid isPermaLink="false">http://www.last-child.com/?p=152</guid>
		<description><![CDATA[Attribute Selector Test Page We have avoided using CSS3 rules for too long. It&#8217;s been difficult to justify using rules that won&#8217;t work for a significant portion of our audience, Internet Explorer 7 and below. However, Internet Explorer 8 is coming out soon and does work with the features we like. I think it&#8217;s fairly [...]]]></description>
			<content:encoded><![CDATA[<p><a href="/examples/attrib-files/index.html">Attribute Selector Test Page </a></p>
<p>
We have avoided using CSS3 rules for too long. It&#8217;s been difficult to justify using rules that won&#8217;t work for a significant portion of our audience, Internet Explorer 7 and below.  However, Internet Explorer 8 is coming out soon and does work with the features we like. </p>
<p>
 I think it&#8217;s fairly safe to assume IE7 users will upgrade to IE8 within a short time. Those stuck with IE6 for one reason or another will slowly disappear as they are given new computers or their locked down environments are upgraded.</p>
<p>
So, with the future of CSS3 functionality within reach, I&#8217;ve been energized to begin experimenting again.  I&#8217;ll be writing a series of blog posts over the next few months that look at CSS3 functionality as a progressive enhancement. How can we continue to deliver a perfectly fine web site to IE6 and IE7 and mobile phones while enhancing the functionality of more modern browsers and devices?</p>
<h3>Attribute Selectors</h3>
<p>
CSS attribute selectors are the golden ring on the web development merry-go-round. They can be daunting to learn, addictive to use, but then disappointing when you realize they are out of your grasp when you test in Internet Explorer.  We can, however, begin using them to add additional functionality based on your pre-existing, semantic code. Attribute selectors give you power to write CSS that pinpoints the stuff you already code, without having to go back and add classes or ids. I&#8217;ve written previously about <a href="/attribute-selectors-to-provide-language-information/">using attribute selectors to let your users know the language of a site they are about to visit</a>. This trick relies on the rarely used hreflang attribute, which identifies the language of the site targeted in a link.</p>
<p>
There are many other attributes in your HTML, from <a href="http://www.w3.org/TR/html4/struct/tables.html#h-11.4.1">table headers</a>, <a href="http://www.w3.org/TR/REC-html40/struct/objects.html#adef-src-IMG">image src</a>,  <a href="http://www.w3.org/TR/html401/struct/links.html#h-12.1.4">link titles</a>, and <a href="http://www.w3.org/TR/REC-html40/interact/forms.html#h-17.6.1">selected options</a>. Think about all of those juicy attributes just waiting to be targeted. Also think about how you could actually do something useful with them.</p>
<h3>Announce the file type of a link with CSS</h3>
<p>
I once worked for a company that had hundreds of thousands of static HTML pages in their intranet. With no content management system; it was impossible to make global changes. The only thing they shared was a common set of style sheets. Does this sound familiar?  Follow along as we increase your site&#8217;s usability in a less than perfect, but efficient way. </p>
<p>
First off, for accessibility, you need to let users know when a link  will open a file, what type it is, and how large it is. This is best done by adding it to your HTML code:</p>
<p><code lang="HTML"><br />
<a href="foo.pdf" class="pdf">Foo presentation (.pdf, 5kb)</a><br />
</code></p>
<p>That delivers the information to everyone, regardless of their browser.  This, however takes time and is a daunting task for updating legacy code. </p>
<p>
We can, however, use the <a href="http://www.w3.org/TR/2001/CR-css3-selectors-20011113/#attribute-selectors">atttribute selector</a> to target the extension of the link to display the icon and insert the text describing the file type. Here&#8217;s the sample HTML code:</p>
<p><code lang="HTML"></p>
<ul>
<li><a href="foo.zip" >sample zip link</a></li>
<li><a href="foo.pdf" >sample pdf link</a></li>
<li><a href="foo.doc" >sample Word link</a></li>
<li><a href="foo.exe" >sample Executable link</a></li>
<li><a href="foo.png" >sample png image</a></li>
<li><a href="foo.mp3" >sample MP3 file </a></li>
</ul>
<p></code><br />
It&#8217;s a simple list of links for different types of files. We&#8217;ll be looking at the extensions: .zip, .pdf, .doc, .exe, .png, and .mp3. Feel free to extend this list to any extension you so desire. This would be especially helpful for a company that uses proprietary file types within their intranet.</p>
<p>
Now, let&#8217;s look at the CSS:</p>
<p><code lang="CSS"><br />
a[href$="zip"],<br />
a[href$="pdf"],<br />
a[href$="doc"],<br />
a[href$="exe"],<br />
a[href$="png"],<br />
a[href$="mp3"]  {padding-left:20px; background:url(bg-file-icons.png) no-repeat 0 0;}<br />
a[href$="png"]{background-position: 0 -48px;}<br />
a[href$="pdf"] {background-position: 0 -99px;}<br />
a[href$="mp3"]{background-position: 0 -145px;}<br />
a[href$="doc"]{background-position: 0 -199px;}<br />
a[href$="exe"]{background-position: 0 -250px;}</p>
<p>a[href$=".zip"]:after{content: "(.zip file)"; color:#999; margin-left:5px;}<br />
a[href$=".pdf"]:after{content: "(.pdf file)"; color:#999; margin-left:5px;}<br />
a[href$=".doc"]:after{content: "(.doc file)"; color:#999; margin-left:5px;}<br />
a[href$=".exe"]:after{content: "(.exe file)"; color:#999; margin-left:5px;}<br />
a[href$=".mp3"]:after{content: "(.mp3 file)"; color:#999; margin-left:5px;}<br />
a[href$=".png"]:after{content: "(.png file)"; color:#999; margin-left:5px;}<br />
a[href$=".exe"]:after{content: "(.exe file)"; color:#999; margin-left:5px;}<br />
</code></p>
<p><a href="/examples/attrib-files/index.html">See the final test page.</a></p>
<h4>Pattern matching in the attribute selector</h4>
<p>We have some limited &#8220;regular expression&#8221; functionality in CSS3. We can search for an attribute&#8217;s presence and match a pattern within the attribute&#8217;s value.<br />
<a href="http://www.hunlock.com/">Patrick Hunlon</a> has a good summary of the pattern matching: </p>
<blockquote cite="http://www.hunlock.com/blogs/Attach_icons_to_anything_with_CSS">
<ul>
<li>[foo]        &#8212; Has an attribute named &#8220;foo&#8221;</li>
<li>[foo="bar"]  &#8212; Has an attribute named &#8220;foo&#8221; with a value of &#8220;bar&#8221; (&#8220;bar&#8221;)</li>
<li>[foo~="bar"] &#8212; Value has the word &#8220;bar&#8221; in it somewhere (&#8220;blue bar stools&#8221;)</li>
<li>[foo^="bar"] &#8212; Value begins with &#8220;bar&#8221; (&#8220;barstool&#8221;)</li>
<li>[foo$="bar"] &#8212; Value ends with &#8220;bar&#8221; (&#8220;I was at the bar&#8221;)</li>
<li>[foo*="bar"] &#8212; Value has bar somewhere (&#8220;I was looking for barstools&#8221;)  </li>
</ul>
<p><cite><a href="http://www.hunlock.com/blogs/Attach_icons_to_anything_with_CSS">Attach icons to anything with CSS</a></cite>
</p></blockquote>
<p>
The CSS is simply looking to see if the desired extension is at the end of the link href. If so, apply the following styles. </p>
<h4>Adding an icon to the link</h4>
<p>First, we are match any of the desired file extensions.  We then add a background image and some padding on the left side with a bulk rule. Then  the background position on the sprite is adjust for each particular link type. Combining multiple icons into one background image reduces the number of files the user has to download, <a href="http://developer.yahoo.com/performance/rules.html#opt_sprites">making your page faster</a>. This will work with any browser that recognizes attribute selectors, including Internet Explorer 7. However, support for more obscure attributes may be spotty.</p>
<p>
There&#8217;s another peculiarity with pattern matching. Some attributes are case sensitive while others are not. The href attribute is NOT case sensitive, so the above rules will also work if your image name was <em>FOO.ZIP</em>, <em>foo.Zip</em>, or <em>foo.zip</em>.</p>
<h4>Adding the descriptive text</h4>
<p>Now, we are going to add a bit of descriptive text to each link. We can&#8217;t describe the file size, but we can tell the user what type of file it is. This is using the :after(content:) functionality and is supported by Internet Explorer 8 (yeah!!!) but not Internet Explorer 7 and below (boo!!!).<br />
We will also adjust the color and give it a bit of spacing.</p>
<h3>A big step forward with a small chunk of work</h3>
<p>
There you have it. A small chunk of CSS coding has now added substantial usability to your legacy pages. While the CSS version is not as accessible as having the data in the actual link code, it&#8217;s a significant improvement over nothing at all. Further, there&#8217;s no harmful effect on browsers that do not understand the function. You&#8217;ve added information, but haven&#8217;t taken anything away. This is a win in my book. To save some time and effort, you could just download and use this  package of <a href="http://pooliestudios.com/projects/iconize/">CSS and icons</a> from <a href="http://pooliestudios.com">Alexander Kaiser</a>.</p>
<p>
This rather simple example of attribute selectors and pattern matching can open your eyes to many possibilities. There are a number of developers that have been expoloring this potential for the past few years. Take a look at some of these resources for more ideas and have some fun.</p>
<ul>
<li><a href="http://www.w3.org/TR/2001/CR-css3-selectors-20011113/#attribute-selectors">CSS3 &#8211; Atribute Selectors Definition </a> W3C</li>
<li><a href="http://www.456bereastreet.com/archive/200601/css_3_selectors_explained/">CSS 3 Selectors Explained</a></li>
<li><a href="http://www.stuffandnonsense.co.uk/archives/css_a_tribute_to_selectors.html">CSS: A Tribute to Selectors</a></li>
<li><a href="http://developer.yahoo.com/yui/selector/">YUI: Selector Utility</a> Use CSS3 selectors in JavaScript</li>
<li><a href="http://www.cssdrive.com/index.php/forums/viewthread/45/">Dynamic File Type Notations </a></li>
<li><a href="http://www.andybudd.com/archives/2003/09/cool_use_for_css_attribute_selectors/">Cool use for CSS attribute selectors </a> &#8211; Hiding banner ads with CSS</li>
<li><a href="http://www.askthecssguy.com/2006/12/showing_hyperlink_cues_with_cs_1.html">Showing Hyperlink Cues with CSS </a></li>
<li><a href="http://www.askthecssguy.com/2006/12/showing_hyperlink_cues_with_cs_1.html">Showing Hyperlink Cues with CSS </a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.last-child.com/css-attribute-selector/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Yahoo! Music &#8211; Easy, semantic, unobtrusive music badges</title>
		<link>http://www.last-child.com/yahoo-music-easy-semantic-unobtrusive-music-badges/</link>
		<comments>http://www.last-child.com/yahoo-music-easy-semantic-unobtrusive-music-badges/#comments</comments>
		<pubDate>Thu, 14 Feb 2008 12:59:09 +0000</pubDate>
		<dc:creator>Ted</dc:creator>
				<category><![CDATA[DHTML]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Online Resource]]></category>
		<category><![CDATA[YUI]]></category>
		<category><![CDATA[Yahoo!]]></category>

		<guid isPermaLink="false">http://www.last-child.com/yahoo-music-easy-semantic-unobtrusive-music-badges/</guid>
		<description><![CDATA[Let&#8217;s say you want to link to a song on the internet. Let&#8217;s also say that you want your users to easily listen to that music. Further, let&#8217;s say you want people to find and enjoy the music without having JavaScript enabled. Is this asking too much? Yahoo&#8217;s Christian Heilmann has been advocating layered, semantic [...]]]></description>
			<content:encoded><![CDATA[<p>Let&#8217;s say you want to link to a song on the internet. Let&#8217;s also say that you want your users to easily listen to that music. Further, let&#8217;s say you want people to find and enjoy the music without having JavaScript enabled.</p>
<h3>Is this asking too much?</h3>
<p>Yahoo&#8217;s <a href="http://www.wait-till-i.com/">Christian Heilmann</a> has been advocating <a href="http://www.wait-till-i.com/2008/02/12/the-great-implementer-swindle-making-badge-use-easy-doesnt-make-it-clever/">layered, semantic badging</a>. </p>
<h3>Yahoo Music badges and the simple href</h3>
<p><a href="http://mediaplayer.yahoo.com/">Yahoo! Media Player</a> has taken this approach to embedding music. You simply put a link to a music file in your site, insert the music JavaScript and away you go. The <a href="http://yahoomediaplayer.wikia.com/wiki/How_To_Link">Music Badge Twiki </a>also shows how you can extend the functionality with basic HTML elements, such as adding a title attribute or image inside the link.</p>
<p>Here&#8217;s an example of the badge in effect. <a href="http://music.tdrake.net/orca.mp3" title="untitled song"><img src="http://farm1.static.flickr.com/41/83669348_cbcae831d8_s.jpg" alt="Orca at the Casbah, 1992" />Orca live at the Casbah, 1992</a> I made a bootleg recording of <a href="http://www.flickr.com/photos/draket/83669348/">Orca</a>, a San Diego supergroup circa 1993. I&#8217;m simply going to create a basic link to the music file  and include an optional image from <a href="http://flickr.com">flickr</a>. The JavaScript will use that information for the player to appear. You&#8217;ll see page loads with a little play icon next to the link. There&#8217;s also a small player on the side of the browser. Click on either and you&#8217;ll see a media player appear in your browser with the music controls.</p>
<p>Here&#8217;s the code:<br />
<code lang="HTML"><br />
<a href="http://music.tdrake.net/orca.mp3" title="untitled song"><img src="http://farm1.static.flickr.com/41/83669348_cbcae831d8_s.jpg" alt="Orca at the Casbah, 1992" />Orca live at the Casbah, 1992</a><br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.last-child.com/yahoo-music-easy-semantic-unobtrusive-music-badges/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
<enclosure url="http://music.tdrake.net/orca.mp3" length="48629323" type="audio/mpeg" />
		</item>
		<item>
		<title>Storyboard your DHTML interactions</title>
		<link>http://www.last-child.com/storyboard-your-dhtml-interactions/</link>
		<comments>http://www.last-child.com/storyboard-your-dhtml-interactions/#comments</comments>
		<pubDate>Fri, 28 Sep 2007 22:04:26 +0000</pubDate>
		<dc:creator>Ted</dc:creator>
				<category><![CDATA[AJAX]]></category>
		<category><![CDATA[DHTML]]></category>
		<category><![CDATA[Developers]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Online Resource]]></category>
		<category><![CDATA[YUI]]></category>
		<category><![CDATA[Yahoo!]]></category>
		<category><![CDATA[Design pattern]]></category>

		<guid isPermaLink="false">http://www.last-child.com/storyboard-your-dhtml-interactions/</guid>
		<description><![CDATA[Bill Scott gave an interesting lecture today at Yahoo! about AJAX design patterns. He explained how good AJAX designs keep the user&#8217;s attention on the page, remove roadblocks, and increase stickiness to a site. Patterns of successful AJAX behaviors are beginning to appear (Netflix, 37Signals, Yahoo!). There are subtle, and sometimes not so subtle, changes [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.flickr.com/photos/draket/534888874/"><img src="http://farm2.static.flickr.com/1156/534888874_b1c783a5a8_m.jpg" alt="Bill Scott - AJAX God"></a><a href="http://looksgoodworkswell.blogspot.com/">Bill Scott</a> gave an interesting lecture today at Yahoo! about AJAX design patterns. He explained how <a href="http://looksgoodworkswell.blogspot.com/2005/05/interactive-wireframes-documenting.html">good AJAX designs</a> keep the user&#8217;s attention on the page, remove roadblocks, and increase stickiness to a site. </p>
<p>Patterns of successful AJAX behaviors are beginning to appear (<a href="http://netflix.com">Netflix</a>, <a href="http://37signals.com/">37Signals</a>, <a href="http://developer.yahoo.com/ypatterns/">Yahoo!</a>). There are subtle, and sometimes not so subtle, changes that can occur  to let a user know that an action has happened. </p>
<p><a href="http://developer.yahoo.com/yui/dragdrop/dragdrop_storyboard.zip" title="this is a .zip file"><img src="http://us.i1.yimg.com/us.yimg.com/i/ydn/yuiweb/img/dragdrop_storyboard.gif" alt="storyboard for AJAX interactions">Download the drag and drop storyboard design package</a></p>
<p>For instance, he pointed out an interaction on the recently departed Yahoo! Photos site. A user could select multiple photos and then drag them to  special collection folders. The page generated several panels to let the user know that the move would go to the preferred folder (hit yes), wait for the action to finish, and then a final congratulations panel (hit yes). These panels and the two required clicks could have been avoided if the folder changed when the photos were dropped into it. This could be a simple glow and maybe the number of photos in the folder is increased.</p>
<h3>Plan your entire sequence in advance</h3>
<p>Eric Miraglia coined the phrase <a href="http://developer.yahoo.com/yui/dragdrop/#moments">Interesting Moments</a> to describe the multiple changes that occur during an AJAX/DHTML action. </p>
<blockquote><p>In most cases, Drag and Drop requires that you write code to respond to the interesting moments in the interaction: when the drag event starts, when the dragged object enters another object, and so on.<br />
<cite><a href="http://developer.yahoo.com/yui/dragdrop/#moments">Yahoo! UI Library: Drag &amp; Drop &#8211; Interesting Moments </a></cite>
</p></blockquote>
<p>Your user will have a much more pleasant experience if these are considered in the beginning of production. The Yahoo User Interface library includes a <a href="http://developer.yahoo.com/yui/dragdrop/dragdrop_storyboard.zip">storyboard template (.zip)</a> for planning these interactions effectively. This <a href="http://en.wikipedia.org/wiki/Storyboard" title="Storyboard" rel="wikipedia" class="zem_slink">story board</a> concept also works well for forms (especially form validation actions) and Flash components.</p>
<h3>Update</h3>
<p>The YUI blog has posted a video of Bill&#8217;s lecture: <a href="http://yuiblog.com/blog/2007/10/15/video-scott/">YUI Theater — Bill Scott: “Designing the Rich Web Experience: Principals and Patterns for Rich Interaction Design on the Web”</a>. This is a great opportunity to learn from one of the finest developers around.</p>
<h3>Related articles</h3>
<ul class="zemanta-article-ul">
<li class="zemanta-article-ul-li"><a   href="http://ajaxian.com/archives/yui-252-released-big-focus-on-firefox-3-and-opera-95-support">YUI 2.5.2 Released, Big Focus on Firefox 3 and Opera 9.5 Support</a> [via&nbsp;Zemanta]</li>
<li class="zemanta-article-ul-li"><a  href="http://ajaxian.com/archives/pingdom-checks-on-javascript-usage-on-top-sites">Pingdom checks on JavaScript usage on top sites</a> [via&nbsp;Zemanta]</li>
<li class="zemanta-article-ul-li"><a   href="http://wisdump.com/design/a-need-for-information-and-interface-design-pattern-websites/">A Need for Information and Interface Design Pattern Websites</a> [via&nbsp;Zemanta]</li>
<li class="zemanta-article-ul-li"><a   href="http://bokardo.com/archives/social-design-patterns-for-reputation-systems-two/">Social Design Patterns for Reputation Systems: An Interview with Yahoo&#8217;s Bryce Glass (Part II)</a> [via&nbsp;Zemanta]</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.last-child.com/storyboard-your-dhtml-interactions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Take the pain out of CSS-based layouts</title>
		<link>http://www.last-child.com/take-the-pain-out-of-css-based-layouts/</link>
		<comments>http://www.last-child.com/take-the-pain-out-of-css-based-layouts/#comments</comments>
		<pubDate>Fri, 31 Aug 2007 17:45:03 +0000</pubDate>
		<dc:creator>Ted</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[DHTML]]></category>
		<category><![CDATA[Developers]]></category>
		<category><![CDATA[Div]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Online Resource]]></category>
		<category><![CDATA[Standardista]]></category>
		<category><![CDATA[YUI]]></category>
		<category><![CDATA[Yahoo!]]></category>

		<guid isPermaLink="false">http://www.last-child.com/take-the-pain-out-of-css-based-layouts/</guid>
		<description><![CDATA[I hate dealing with CSS-based layouts. Don&#8217;t get me wrong, I&#8217;m not saying I&#8217;d rather use tables. It&#8217;s just that I don&#8217;t relish the idea of fussing with the hacks, negative margins, floats, and more to get the page looking good in all browsers. This problem was solved a few years ago by a series [...]]]></description>
			<content:encoded><![CDATA[<p>I hate dealing with CSS-based layouts. Don&#8217;t get me wrong, I&#8217;m not saying I&#8217;d rather use tables. It&#8217;s just that I don&#8217;t relish the idea of fussing with the hacks, negative margins, floats, and more to get the page looking good in all browsers.</p>
<p>This problem was solved a few years ago by a series of layouts donated to the greater good by wonderful developers. This gave me the ability to ignore layouts and concentrate on semantic, structural markup and using CSS to turn this into a great set of modules on the page. This is the stuff that makes web development fun for me.</p>
<p>Over the years, new layouts came and went and cross-browser layouts developed to a science. It&#8217;s now even easier for you to build a web site layout that is predictable, flexible, and lightweight.  </p>
<h3>The YUI-Grid</h3>
<p>Just because I work at Yahoo!, doesn&#8217;t mean I immediately jumped onto the <a href="http://developer.yahoo.com/yui/grids/">YUI-Grid</a> when it was released. I&#8217;ve built several sites without it since its launch. A developer becomes comfortable with a solution and change hurts. However, I recently began working on a very simple, small gallery site and gave this tool a try.</p>
<p>First, a bit of an explanation on some of the nomenclature. The YUI has laid down the law on some <a href="http://developer.yahoo.com/yui/container/module/index.html">naming conventions</a>, and while it may seem a bit bloated, the resulting hooks allow a site to easily incorporate the YUI JavaScript and CSS. </p>
<p>Each main container div has three children, class=&#8221;hd&#8221; for the header, class=&#8221;bd&#8221; for the body, and class=&#8221;ft&#8221; for the footer. You can delete the hd or ft if they are not needed, but you need to at least have the body element. The main portions of the page use the same naming conventions, although with id instead of class. The header has id=&#8221;hd&#8221;, the body container: id=&#8221;bd&#8221;, and finally the footer has id=&#8221;ft&#8221;.</p>
<h3>YUI flexibility</h3>
<p>Nate Koechley, the man behind the grids, has created a series of rules that let you change the width of your grid, the number of columns, position of columns, and how nested columns divide the avialable space by simply changing a few classes on the parent containers. </p>
<p>It&#8217;s a very powerful set of controls. Here&#8217;s an example of how the classes change the widths of nested divs.</p>
<blockquote cite="http://developer.yahoo.com/yui/grids/"><p>
<img src="http://us.i1.yimg.com/us.yimg.com/i/ydn/yuiweb/img/grids-docs-3.gif" alt="YUI Grid demonstration" /><br />
The standard grid-unit interplay always divides space in two, evenly. To create layouts of more than two units (e.g., three), and to create layouts divided unevenly (e.g., 66% and 33% or 75% and 25%), we employ special grid holders. While &#8220;yui-g&#8221; tells the two children each take up half the space each, &#8220;yui-gc&#8221; tells the first unit to take up two-thirds of the space, and the other unit to take up one-third of the space. Everything else remains the same: units live within grids, and the first of a set must be indicated.<br />
<cite><a href="http://developer.yahoo.com/yui/grids/">Nate Koechley &#8211; Yahoo! UI Library: Grids CSS</a></cite>
</p></blockquote>
<h3>Help?</h3>
<p>Now, if you are like me, your head has begun throbbing after reading the YUI Grid CSS page several times, making notes on how it works, and reading it a few more times before figuring out how to start. The package is complex and yet easy to work with once you dive in. </p>
<p>However, it&#8217;s easy to skip most of the headaches and begin building your site immediately. <a href="http://blog.davglass.com/">Dav Glass</a>, also of the YUI team, created a great <a href="http://developer.yahoo.com/yui/grids/builder/">Grid Builder</a> that makes it sinfully easy to build your complicated layout. Not only does it generate the HTML for your basic page, it also incorporates the full YUI CSS library.</p>
<p>This means you also get the <a href="http://developer.yahoo.com/yui/base/">YUI Base CSS</a>, <a href="http://developer.yahoo.com/yui/reset/">YUI Reset CSS</a>, as well as the excellent <a href="http://developer.yahoo.com/yui/fonts/">YUI Fonts CSS</a>. All of these are combined into one CSS file that has been akamized for faster downloads. This means your final site CSS can focus solely on the things that make it unique. You&#8217;ll be surprised how small your custom files will be when all of these issues have already been dealt with.</p>
<h3>Take it one step further</h3>
<p>I was prompted to write this post after seeing the latest extension of the Grid CSS from the outside. <a href="http://www.wait-till-i.com">Christian Heilmann</a> just published a simple javascript, <a href="http://www.wait-till-i.com/index.php?p=479">Enhancing YUI grids with equal height columns</a>,  that builds on the established nomenclature of the Grid CSS. It&#8217;s a demonstration of the power afforded by a standardized class and id naming convention.</p>
<p>Christian&#8217;s javascript also utilizes the basic YUI Javascript library to take all of your nested divs and make them the same height. So, with the addition of one more js script, you now have complete control of your grid layout and your nested divs are all the same height. </p>
<p>Here&#8217;s how Christian describes the simplicity.</p>
<blockquote cite="http://www.wait-till-i.com/index.php?p=479"><p>
All you need to do is to add YAHOO, YAHOO Dom and YAHOO Event (easiest with the collated <a href="http://developer.yahoo.com/yui/articles/hosting/">yahoo-dom-event package</a>) and the script in the bottom of your document’s body. The script automatically equals all columns in nested grids. If you don’t want all of them to be equal, define only those that need fixing by adding a &#8220;columnfix&#8221;CSS class.<br />
<cite>Christian Heilmann &#8211; <a href="http://www.wait-till-i.com/index.php?p=479">Enhancing YUI grids with equal height columns</a></cite>
</p></blockquote>
<h3>Future flexibility</h3>
<p>This powerful package of YUI CSS and standardized nomenclature for establishing the building blocks and the YUI JavaScript library for building interactions will allow developers to spend more time creating the elements that make their site unique and reduce the cross-browser issues caused by individual mistakes. We&#8217;ll see more extensions from within and outside the YUI developers as the usage becomes more universal. They YUI libraries are not doing the work for me, they&#8217;re just making it a lot more fun and productive.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.last-child.com/take-the-pain-out-of-css-based-layouts/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Browser wars get the star geek treatment</title>
		<link>http://www.last-child.com/browser-wars-get-the-star-geek-treatment/</link>
		<comments>http://www.last-child.com/browser-wars-get-the-star-geek-treatment/#comments</comments>
		<pubDate>Mon, 12 Feb 2007 17:14:00 +0000</pubDate>
		<dc:creator>Ted</dc:creator>
				<category><![CDATA[DHTML]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[IE7]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Opera]]></category>
		<category><![CDATA[Standardista]]></category>
		<category><![CDATA[Yahoo!]]></category>

		<guid isPermaLink="false">http://www.last-child.com/browser-wars-get-the-star-geek-treatment/</guid>
		<description><![CDATA[The Web Sig in the Silicon Valley is putting together a very impressive meeting at the end of the month. Browser Wars, it&#8217;s a spoof of Star Wars and the dreaded browser wars of the 90&#8242;s. I&#8217;m the first to cringe when someone discusses Star Trek or Star Wars in reverential tones. The theme alone [...]]]></description>
			<content:encoded><![CDATA[<p>The Web Sig in the Silicon Valley is putting together a very impressive meeting at the end of the month. <a href="http://www.svwebbuilder.com/">Browser Wars</a>, it&#8217;s a spoof of Star Wars and the dreaded browser wars of the 90&#8242;s. </p>
<p><img id="image116" src="http://www.last-child.com/wp-content/uploads/2007/02/browserwars.jpg" alt="Browser Wars" /><br />
I&#8217;m the first to cringe when someone discusses Star Trek or Star Wars in reverential tones. The theme alone is enough for me to think twice about this event. However, this night at the Yahoo! campus will bring out the big guns of the browsers (<a href="http://blogs.msdn.com/cwilso/">Chris Wilson</a> from IE, Mike Shaver from FireFox, and <a href="http://www.devarticles.com/c/a/HTML/Virtual-Interview-Hakon-Wium-Lie/">Håkon Wium Lie</a> from Opera are members of W3C). </p>
<p>The three of them will discuss the DOM object, the future of browsers, and more. Here&#8217;s a snippet of the announcement.</p>
<blockquote><p>
Attack of the DOMs is very relevant in this Browser Wars Episode II as Web 2.0 increasingly utilizes AJAX in interface design, functionality and web applications. Each browser implements its supported DOM. IE7 is known to suffer in performance from memory leaks that are related to its inherited DOM architectural design. Firefox quickly gains popularity with its DOM strategy among Web 2.0 communities with faster loading time. DOM Level 2 CSS allows programs and scripts to dynamically access and update the content and of style sheets documents. No designers can deny the importance of the interaction between CSS and DOM in rendering site design properly across browsers.<br />
<cite><a href="http://browserwarii.eventbrite.com/?invite=MjE5NDcvdGRyYWtlQHlhaG9vLWluYy5jb20vMQ%3D%3D%0A">Web Sig</a></cite>
</p></blockquote>
<p>If you are in the Silicon Valley, hurry up and reserve your seating today! This will fill up quickly and you shouldn&#8217;t pass up the opportunity to see Håkon Wium Lie, the inventor of CSS and one of the original creators of the &#8220;internet&#8221;. The event is free to attend and Yahoo! will provide snacks and free sodas.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.last-child.com/browser-wars-get-the-star-geek-treatment/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Aggregate RSS from all over the web with Yahoo! Pipes</title>
		<link>http://www.last-child.com/aggregate-rss-from-all-over-the-web-with-yahoo-pipes/</link>
		<comments>http://www.last-child.com/aggregate-rss-from-all-over-the-web-with-yahoo-pipes/#comments</comments>
		<pubDate>Thu, 08 Feb 2007 17:19:26 +0000</pubDate>
		<dc:creator>Ted</dc:creator>
				<category><![CDATA[AJAX]]></category>
		<category><![CDATA[Accessibility]]></category>
		<category><![CDATA[DHTML]]></category>
		<category><![CDATA[JSON]]></category>
		<category><![CDATA[Online Resource]]></category>
		<category><![CDATA[XML]]></category>
		<category><![CDATA[Yahoo!]]></category>

		<guid isPermaLink="false">http://www.last-child.com/aggregate-rss-from-all-over-the-web-with-yahoo-pipes/</guid>
		<description><![CDATA[Yahoo! has been thriving on hacks. It&#8217;s quarterly Hack Days have given engineers the opportunity to build radical and sometimes silly alterations of existing services. Once in a while, these hacks are truly revolutionary. Enter Yahoo! Pipes. This super cool project started as a Hack and has now become an official project. How cool is [...]]]></description>
			<content:encoded><![CDATA[<p>Yahoo! has been thriving on <a href="http://hackday.org/">hacks</a>. It&#8217;s quarterly Hack Days have given engineers the opportunity to build radical and sometimes silly alterations of existing services.  Once in a while, these hacks are truly revolutionary.  Enter <a href="http://pipes.yahoo.com/">Yahoo! Pipes</a>. </p>
<p><a href="http://pipes.yahoo.com/"><img id="image114" src="http://www.last-child.com/wp-content/uploads/2007/02/logo-lg.gif" alt="Yahoo Pipes" /></a><br />
This super cool project started as a Hack and has now become an official project. How cool is it? Think of the impact <a href="http://digg.com">Digg</a>, <a href="http://flickr.com">Flickr</a>, <a href="http://del.icio.us/">Delicious</a>, <a href="http://technorati.com">Technorati</a>, and <a href="http://youtube.com">YouTube</a> had on the internet in 2006. Pipes has that potential!</p>
<p>So, what is this potential &#8220;<a href="http://cagle.msnbc.com/news/GingertheScooter/main.asp">Segway</a>&#8221; product? Pipes allows you to create aggregated feeds to publish on your own site.  </p>
<p>Lets say you wanted to create a web page about Pizza in someone&#8217;s local area. B.P. (Before Pipes) you would have to write code for a form requesting a zip code, you&#8217;d then have to write code to request the appropriate rss feed from <a href="http://local.yahoo.com">Yahoo! Local</a> for restaurants, <a href="http://www.epicurious.com/recipes/find/results?search=pizza">Epicurious</a>  for recipes, Craigslist for <a href="http://sfbay.craigslist.org/search/ppp?query=pizza">pizza loving personal ads</a>, Flickr for <a href="http://www.flickr.com/search/?q=pizza&#038;w=all">images of pizza</a>, etc. You&#8217;d then have to parse the XML and build  modules to display the information.</p>
<p>That&#8217;s a lot of work for a simple project.</p>
<h3>Enter the Pipe</h3>
<p>Pipes allows you to do all of this in a simple drag and drop interface. I first used it in its early Alpha stage and it took me about 10 minutes to figure out what was happening. They&#8217;ve steadily worked on the interface and you can accomplish the above tasks in about 5 minutes. You can then use their tools to publish the results to your own blog or web site.</p>
<p>Mashing up has now become easier than opening a box of potato flakes and adding water.  This is big folks, really big.</p>
<p>Here&#8217;s how the Pipes team describes their goal</p>
<blockquote cite="http://pipes.yahoo.com/"><p>
Pipes is an interactive feed aggregator and manipulator. Using Pipes, you can create feeds that are more powerful, useful and relevant.<br />
<cite><a href="http://pipes.yahoo.com/">pipes.yahoo.com</a></cite>
</p></blockquote>
<h4>It ain&#8217;t perfect&#8230; yet</h4>
<p>Pipes does have some rough edges, there&#8217;s no doubt about it.  It&#8217;s not very accessible, but they&#8217;re working on that right now. If you have suggestions or find bugs, <a href="http://discuss.pipes.yahoo.com/yahoo/Message_Boards_for_Pipes/">let them know</a>.   </p>
<p>Enjoy this site as the super-cool, revolutionary site it is. It&#8217;s was created with passion and hard work by a small devoted team. They&#8217;ve got the spirit of a startup with the power of Yahoo!  </p>
<p>Enjoy the new A.P. Era (After Pipes).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.last-child.com/aggregate-rss-from-all-over-the-web-with-yahoo-pipes/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Add accessibility to your AJAX applications</title>
		<link>http://www.last-child.com/add-accessibility-to-your-ajax-applications/</link>
		<comments>http://www.last-child.com/add-accessibility-to-your-ajax-applications/#comments</comments>
		<pubDate>Fri, 19 Jan 2007 18:13:25 +0000</pubDate>
		<dc:creator>Ted</dc:creator>
				<category><![CDATA[AJAX]]></category>
		<category><![CDATA[Accessibility]]></category>
		<category><![CDATA[DHTML]]></category>
		<category><![CDATA[Form Input]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Standardista]]></category>

		<guid isPermaLink="false">http://www.last-child.com/add-accessibility-to-your-ajax-applications/</guid>
		<description><![CDATA[In December, I made a number of predictions for the 2007. I confidently predicted that Gez Lemon would discover a solution to AJAX accessibility issues. Gez had earlier defined the virtual buffer&#8217;s role in JAWS. Understanding the virtual buffer is essential for empowering screen reader users, particularly considering the number of Web 2.0 applications that [...]]]></description>
			<content:encoded><![CDATA[<p>In December, I made a number of <a href="http://www.last-child.com/2007-web-development-predictions/">predictions for the 2007</a>. I confidently predicted that <a href="http://juicystudio.com/">Gez Lemon</a> would discover a solution to AJAX accessibility issues.  Gez had earlier defined the <a href="http://juicystudio.com/article/making-ajax-work-with-screen-readers.php">virtual buffer&#8217;s role in JAWS</a>.</p>
<blockquote cite="http://juicystudio.com/article/improving-ajax-applications-for-jaws-users.php"><p>
Understanding the virtual buffer is essential for empowering screen reader users, particularly considering the number of Web 2.0 applications that depend on Ajax. Screen readers typically take a snapshot of a web page, and place the content in a virtual buffer to allow the user to interact with the content.<br />
<cite>Gez Lemon and Steve Faulkner &#8211; <a href="http://juicystudio.com/article/improving-ajax-applications-for-jaws-users.php">http://juicystudio.com/article/improving-ajax-applications-for-jaws-users.php</a><br />
</cite>
</p></blockquote>
<p>Gez and Steve Faulkner have just released a set of <a href="http://juicystudio.com/article/improving-ajax-applications-for-jaws-users.php#theupdatefunction">javascript functions</a> that refresh the virtual buffer by working with <em>setAttribute</em>. They discovered this function triggers JAWS 7.1+ screen readers to grab a new snapshot of the page. </p>
<p>The scripts are fairly simple. When the page loads, insert a hidden form input. When your AJAX application completes its duties, change the value of that hidden input with the setAttribute function. This setAttribute activity will refresh the buffer and the screen reader will announce the content that has been changed via an AJAX call.</p>
<blockquote cite="http://juicystudio.com/article/improving-ajax-applications-for-jaws-users.php"><p>
The updateBuffer function presented here extends the limited improvements in JAWS 7.1 and later, by providing a mechanism to update the virtual buffer for other interface elements, that works regardless of input device. This means that users of JAWS 7.1 and later do not need to explicitly update the virtual buffer in order to interact with Ajax applications.<br />
<cite>Gez Lemon and Steve Faulkner</cite>
</p></blockquote>
<p>As I also predicted, I believe the <a href="http://developer.yahoo.com/yui/connection/">YUI Connection Manager </a> will incorporate this type of functionality. This will give enhanced accessibility to thousands of web sites instantaneously.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.last-child.com/add-accessibility-to-your-ajax-applications/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>2007 Web Development Predictions</title>
		<link>http://www.last-child.com/2007-web-development-predictions/</link>
		<comments>http://www.last-child.com/2007-web-development-predictions/#comments</comments>
		<pubDate>Fri, 01 Dec 2006 18:51:00 +0000</pubDate>
		<dc:creator>Ted</dc:creator>
				<category><![CDATA[AJAX]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[DHTML]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[IE7]]></category>
		<category><![CDATA[JSON]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Standardista]]></category>
		<category><![CDATA[Yahoo!]]></category>
		<category><![CDATA[atmedia]]></category>
		<category><![CDATA[attribute selector]]></category>

		<guid isPermaLink="false">http://www.last-child.com/2007-web-development-predictions/</guid>
		<description><![CDATA[The standardistas were abuzz a year ago with hopeful predictions for the coming year. Visions of sugar plums dropping rounded corners, AJAX, and alpha transparent pngs danced through their heads. 2006 has been a great year for web development. Did we get what we wanted? Did we get too much of what we wanted? Further, [...]]]></description>
			<content:encoded><![CDATA[<p>The standardistas were abuzz a year ago with hopeful predictions for the coming year. Visions of sugar plums dropping rounded corners, AJAX, and alpha transparent pngs danced through their heads. 2006 has been a great year for web development. Did we get what we wanted? Did we get too much of what we wanted? Further, what lies ahead?</p>
<h3>Getting drunk on the possibilities and waking up to sober reality</h3>
<p>It could be argued that 2006 was the year of AJAX and DHTML. They matured this year and  solid libraries were released. The <a href="http://developer.yahoo.com/yui/">Yahoo User Interface Library</a> makes a JavaScript mangler like me seem downright competent. Not only that, it&#8217;s got some good accessibility and security built in. <a href="http://juicystudio.com/">Gez Lemon</a> and others have been tearing apart AJAX for a possible accessibility hook that makes all of us happy. <a href="http://www.json.org/">JSON</a> gave us new ways to transfer information.</p>
<p>Yes, we got giddy with the possibilities.  I helped build <a href="http://tech.yahoo.com">Yahoo! Tech</a>. It&#8217;s a great site, if I do say so myself. We launched with every flash, web 2.0, animation, AJAX driven widget imaginable. Someone even called it &#8220;an explosion of a web 2.0 factory.&#8221; The site was  accessible, harnessed the powers of a web-service architecture, and was the first completely new site for Yahoo! Media in a long time. But the web 2.0-ification was the star in many people&#8217;s eyes.</p>
<p>A funny thing happened over the months after launching. We got rid of the flash on the home page. We removed the dynamic width widget. We removed some animations. We began removing these Web 2.0 stars because the users didn&#8217;t use them <strong>AND</strong> they made the site performance horrible. Yahoo Tech, like many other sites, learned an age-old lesson. Just because you can, doesn&#8217;t mean you should.</p>
<h4>Prediction #1 &#8211; In 2007, AJAX and DHTML will be used reasonably. </h4>
<p>I predict new sets of AJAX/DHTML libraries will be released with great features and accessibility. People will go gaga over a few sparkly ideas and ultimately settle with good sites that use the libraries reasonably. I predict AJAX will be used less often as commercial sites realize they need page refreshes for advertising revenue. AJAX will continue to be used for features that significantly help the user&#8217;s experience (<a href="http://finance.yahoo.com">Yahoo Finance Streaming Quotes</a>) and not so much for page level mechanisms (<a href="http://tech.yahoo.com/sp?prod=ipod&#038;search.x=0&#038;search.y=0&#038;search=search">Yahoo! Tech Search</a>). </p>
<h3>No More Rounded Corners</h3>
<p>I hate rounded corners. They were fashionable for a year and everyone had to have them. You could build them with 15 nested divs, with javascript, with extra paragraphs, extra this, that and the other. Die rounded corners die!  </p>
<p>Seriously, rounded corners add a bit of visual white space but they&#8217;ve gone overboard. They&#8217;ve hit the designer&#8217;s toolkit like a bad font and are being used because people feel like that have to use them. It&#8217;s time to be creative again and kill rounded corners. Please! </p>
<h4>Prediction #2: Rounded Corners Replaced With Dancing Hamsters</h4>
<p>Let&#8217;s look at alternate container variations. Put rounded corners on the shelf next to drop shadows and let&#8217;s explore line quality, tonality, texture, and contrast instead.</p>
<h3>Accessibility is a big deal and then it isn&#8217;t</h3>
<p>Accessibility for web sites will become a big deal in 2007 as the <a href="http://www.dralegal.org/cases/private_business/nfb_v_target.php">Target</a> lawsuit comes back and someone figures out a way to make AJAX accessible and easy to implement. I&#8217;m putting my money on <strong>Gez Lemon</strong> finding a solution and  the <strong>Yahoo! User Interface Library</strong> making it available. </p>
<p>Firefox, Apple, Yahoo!, Google, IBM, Sun, and who knows what other companies will come together and agree that there is a particular way that these things should be done and will create some resolutions. After these things happen, you will see more and more sites become accessible without even trying. Platforms such as <a href="http://wordpress.org">WordPress</a> have already made huge impacts in setting up sites to be accessible from the beginning. Look for more advances from Microsoft, Adobe, and more.</p>
<p>Apple will release their new OS with extended assistive technologies built-in. Existing screen reader companies will have to deal with a big new competitor. Watch for Jaws, et al to scurry around fixing outstanding issues to hold onto their audience.</p>
<h4>Prediction #3 &#8211; Accessibility for All</h4>
<p>Even if JaneDoe43 is simply dragging images into her MyLinkedInSpace page, it will have the hooks necessary to be accessible. Platforms and libraries will make it easier for people to worry more about content and less about rules. The web will be a better place for novice and advanced programmers. It will certainly be better for those that need assistive technologies.</p>
<h3>IE7 opens the possibilities</h3>
<p><a href="http://downloads.yahoo.com/internetexplorer/index.php">Internet Explorer 7</a> has been released and will soon see adoption rates increase significantly. <a href="http://www.microsoft.com/windowsvista/default.aspx">Vista</a> is ready to also increase the graphic processing potential for millions of users. As web developers, we have new tools in our kit to work with. Start studying your attribute selectors, pseudo selectors, and playing with alpha transparencies. 2007 will see the death of Internet Explorer 6. It will still sit on a small percentage of machines, but IE7 will take over and with it comes hope.</p>
<h4>Prediction #4: CSS2 and CSS3 Get Used</h4>
<p>Start looking at progressive enhancements with your CSS. Give Firefox, Opera, Safari, and IE7 the best possible experience. You may have to dumb down some of the IE6 images but go for the beauty and simplicity that advanced CSS offers.</p>
<h3>Where&#8217;s the new blood?</h3>
<p>The standardistas of the past are busy working on big projects now. Sure, they&#8217;re still doing some innovative stuff. But where are the young guns inventing wonders like Son of Suckerfish, Microformats, CSS Zen Garden,Image Replacement, SIFR, and god-forbid the image-free rounded corners? Seriously, it&#8217;s time for some exciting developments to come from people recently discovering web standards and bringing a new approach to solving issues. Who knows who will be the next Erik Meyer, Big John, Andy Budd, Shaun Inman, PPK, etc. Who&#8217;s gonna carry Joe Clark&#8217;s  torch for being the genius with a cattle prod as he solves the captioning dilemna next year?</p>
<h4>Prediction #5 &#8211; New Standardistas Rock The House</h4>
<p>Further, these new standardistas are going to come from Asia, India, South America, and possibly the United States and Europe. They&#8217;ll have us on the edge of our seat as <a href="http://www.alistapart.com">AListApart</a> releases the latest tools to completely change the way we build sites. My number one pick for standardista of the future goes to <a href="http://www.hedgerwow.com/">Hedger Wang</a> who tirelessly experiments and publishes little teasers on a regular basis.</p>
<p>I can picture the <a href="http://www.vivabit.com/atmedia2006/">@media 2008</a> conference in Singapore with Molly, Andy, PPK, et al lining up for a chance to rub shoulders with the new greats.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.last-child.com/2007-web-development-predictions/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>YUI libraries are updated again!</title>
		<link>http://www.last-child.com/yui-libraries-are-updated-again/</link>
		<comments>http://www.last-child.com/yui-libraries-are-updated-again/#comments</comments>
		<pubDate>Tue, 11 Jul 2006 00:07:24 +0000</pubDate>
		<dc:creator>Ted</dc:creator>
				<category><![CDATA[DHTML]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Online Resource]]></category>

		<guid isPermaLink="false">http://www.last-child.com/yui-libraries-are-updated-again/</guid>
		<description><![CDATA[The Yahoo! platform developers work continuously to make the YUI libraries as bulletproof as possible. Don&#8217;t pass up on this opportunity to have top-quality interactions that scale to enormous traffic, are platform independent, and evolve with new technology and concepts. Remember, they&#8217;re built for Yahoo! first and then offered to you for free. They&#8217;ve got [...]]]></description>
			<content:encoded><![CDATA[<p>The Yahoo! platform developers work continuously to make the YUI libraries as bulletproof as possible. Don&#8217;t pass up on this opportunity to have top-quality interactions that scale to enormous traffic, are platform independent, and evolve with new technology and concepts. Remember, they&#8217;re built for Yahoo! first and then offered to you for free. They&#8217;ve got to be the best to handle Yahoo&#8217;s demands.</p>
<p>The libraries are now version v.0.11. I think that still puts them in the pre-teen category. Wait until they hit version .14 when they begin listening to really bad boy bands and hanging out at the mall after school. </p>
<p>Visit the <a href="http://yuiblog.com/blog/2006/07/10/yui-library-release-011-a-host-of-enhancements-and-a-new-logger-control/">YUI developer blog</a> today to get the lowdown on all of the fixes.  I have had an annoying issue with a select box and z-index that will be fixed with the introduction of this latest version. So make sure you update your import links and enjoy. </p>
<p>Here&#8217;s a summary of the benefits:</p>
<ul>
<li>New <a href="http://developer.yahoo.com/yui/animation/">color animation controls</a></li>
<li>Better <a href="http://developer.yahoo.com/yui/dragdrop/">drag and drop performance</a></li>
<li>New documentation for Yahoo! Global Object, superclass and subclass assignments, <a href="http://developer.yahoo.com/yui/#cheatsheets">cheat sheets</a>, and more</li>
<li><a href="http://developer.yahoo.com/yui/connection/">File upload control</a></li>
<li>Lots of tweaks and bug fixes </li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.last-child.com/yui-libraries-are-updated-again/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
