<?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>Siolon &#187; Tutorials</title>
	<atom:link href="http://www.siolon.com/blog/category/tutorials/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.siolon.com</link>
	<description>Musings on SharePoint, User Experience, and More</description>
	<lastBuildDate>Mon, 12 Jul 2010 21:08:58 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Adding Edit Dialog to a Data Form Web Part</title>
		<link>http://www.siolon.com/blog/adding-edit-dialog-to-a-data-form-web-part/</link>
		<comments>http://www.siolon.com/blog/adding-edit-dialog-to-a-data-form-web-part/#comments</comments>
		<pubDate>Thu, 19 Mar 2009 18:55:02 +0000</pubDate>
		<dc:creator>Chris Poteet</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[User Interface]]></category>
		<category><![CDATA[data form]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[page]]></category>
		<category><![CDATA[SharePoint Designer]]></category>
		<category><![CDATA[wcm]]></category>
		<category><![CDATA[web part]]></category>

		<guid isPermaLink="false">http://www.siolon.com/?p=316</guid>
		<description><![CDATA[A client asked me to create a roll-up of some document libraries, and I decided to exercise the data form web part. It worked fine until I was asked why he got an open/save dialog and not the standard SharePoint read-only/edit dialog from document libraries as to the right. After some help from some Twitter [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_321" class="wp-caption alignright" style="width: 115px"><a href="http://www.siolon.com/wp-content/uploads/context.png"><img class="size-thumbnail wp-image-321" title="Edit Dialog" src="http://www.siolon.com/wp-content/uploads/context-150x150.png" alt="Edit Dialog" width="105" height="105" /></a><p class="wp-caption-text">Edit Dialog</p></div>
<p>A client asked me to create a roll-up of some document libraries, and I decided to exercise the data form web part. It worked fine until I was asked why he got an open/save dialog and not the standard SharePoint read-only/edit dialog from document libraries as to the right.</p>
<p>After some help from some Twitter folk (@<a href="http://twitter.com/zaijian">zaijian </a>and @<a href="http://twitter.com/gvaro">gvaro</a>) it was made evident that there is some JavaScript that surrounds the anchors in the document library.  After comparing AllItems.aspx to my custom page I saw the JavaScript not included. I then added the JavaScript references around my XSL, and sure enough I got the dialog!</p>
<p>I tried to go one step farther and the whole context menu, but I was only able to get portions of us such as the gold hover bar. I know there were some hidden divs the JavaScript used, but alas I had other work to move onto. If anyone has experience with adding the whole context menu I’d be glad to add it here for others.</p>
<pre class="brush: xml;">
&lt;a onclick=&quot;return DispEx(this,event,'TRUE','FALSE','TRUE','SharePoint.OpenDocuments.3','0','SharePoint.OpenDocuments','','','','110','0','0','0x7fffffffffffffff')&quot; href=&quot;{@FileRef}&quot; onfocus=&quot;OnLink(this)&quot;&gt;&lt;xsl:value-of select=&quot;@FileLeafRef&quot; /&gt;&lt;/a&gt;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.siolon.com/blog/adding-edit-dialog-to-a-data-form-web-part/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Faking Exchange Support in OS X Leopard</title>
		<link>http://www.siolon.com/blog/faking-exchange-support-in-os-x-leopard/</link>
		<comments>http://www.siolon.com/blog/faking-exchange-support-in-os-x-leopard/#comments</comments>
		<pubDate>Tue, 04 Nov 2008 06:04:38 +0000</pubDate>
		<dc:creator>Chris Poteet</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[User Experience]]></category>
		<category><![CDATA[exchange]]></category>
		<category><![CDATA[ical]]></category>
		<category><![CDATA[Life Hacks]]></category>
		<category><![CDATA[mail.app]]></category>
		<category><![CDATA[os x]]></category>
		<category><![CDATA[outlook]]></category>
		<category><![CDATA[productivity]]></category>

		<guid isPermaLink="false">http://www.siolon.com/?p=217</guid>
		<description><![CDATA[I recently took the plunge and bought the new MacBook Pro (well my company bought it for me).  The workflow is completely different and frustrating at times, but when you get the hang of it it’s worth it. My iPhone experience was so positive that became a victim of the “iPhone Halo.” That being said, [...]]]></description>
			<content:encoded><![CDATA[<p>I recently took the plunge and bought the new MacBook Pro (well my company bought it for me).  The workflow is completely different and frustrating at times, but when you get the hang of it it’s worth it. My iPhone experience was so positive that became a victim of the “<a href="http://blogs.eweek.com/applewatch/content/mac_os_x/the_iphone_halo_effect.html">iPhone Halo</a>.”</p>
<p>That being said, making the migration is painful in some areas. One of which was how I handle the lack of productivity software I had in Windowsâ€”namely Microsoft Outlook.  As I search around there are a few options in attempting to tackle this problem.</p>
<ol>
<li>Use <a href="http://www.vmware.com/products/fusion/">VMWare Fusion</a> or <a href="http://www.codeweavers.com/products/cxmac/">Crossover</a> to load Windows and then Outlook.</li>
<li>Use Microsoft Entourage.</li>
<li>Find a way to use the native OS X applications (iCal, Mail.app, and Address Book).</li>
</ol>
<h3>Using Virtualization Technology</h3>
<p>This seems straight forward enough on the surface, but on the inside it’s fraught with problems.  First, the idea of using a virtual machine to load productivity software doesn’t seem, well, productive.  This is especially true when I have to dedicate a gig of precious memory to the VM (granted I have 4 GB).  I tried it, and I was able to use it without problem but I wasn’t happy with this option.  I became discontent with it when I started using Mail.app for my personal e-mail. I love the simplicity of the application, and I wanted to use it full time.  I should say I tried Crossover, and I didn’t like it at all. VMWare’s unity feature is far better.</p>
<h3>Use Microsoft Entourage</h3>
<p>I went out and got a license of MS Office 2008 for Mac.  Word, Excel, and PowerPoint aren’t bad, but they pale in their Windows counterparts. After using the ribbon for so long now I love it. Office 2008 has a “ribbon” of sorts, and it’s not that bad. For quick document work it works fine. If I need more then I can use my virtual machine. However, this isn’t the case for Entourage.</p>
<p>Microsoft Entourage has to be one of the worst e-mail clients I’ve ever used. Sure, it connects to Exchange without a problem, but when you have expectations it will work like Outlook it is very disappointing.  I tried it for a while, and I decided it simply doesn’t cut it. The way you add recipients in e-mail is awful, and I quickly found out that you can’t do HTML e-mail in Entourage which means no embedded links. Epic fail. I hated it, and it made me look to the third option.</p>
<h3>Faking Exchange Support</h3>
<p>I say “faking,” because the support isn’t native to the OS X apps. Recently, Apple unveiled that the next version of the OS dubbed “<a href="http://www.apple.com/macosx/snowleopard/">Snow Leopard</a>” will have native support for Exchange 2007 in their apps similar to the iPhone (which I use without complaint). But right now my company uses Exchange 2003 which I don’t know if it will be support in Snow Leopard, and it isn’t to be released until next summer.  That leaves a long time for frustration. Surely, there must be a way to do this right?</p>
<p>After searching extensively I discovered I’m not the only who has struggled through this. What surprises me even more is the lack of a third party vendor to fill this void. I would’ve happily paid several hundred dollars for this, but there is nothing out there to accomplish this. It is obvious that only until recently is Apple taking the enterprise environment seriously with Exchange support (no matter how much they may despise it).  I fortunately was able to find a solution in the mean time. Here is my recipe:</p>
<h4>Ingredients</h4>
<ol>
<li>Microsoft Entourage (bear with me)</li>
<li>Mail.app</li>
<li>IMAP enabled in Exchange</li>
<li><a href="http://foggynoggin.com/dockdodger">Dock Dodger</a></li>
</ol>
<h4>Preparation</h4>
<div id="attachment_218" class="wp-caption alignright" style="width: 130px"><a href="http://www.siolon.com/wp-content/uploads/preferences.png"><img class="size-thumbnail wp-image-218" title="Entourage Preferences" src="http://www.siolon.com/wp-content/uploads/preferences-150x150.png" alt="The preferences pane in Entourage" width="120" height="120" /></a><p class="wp-caption-text">The preferences pane in Entourage</p></div>
<p>I discovered that Entourage supports sync services to send calendar events and contacts to the native OS X programs. OK, this is a good start.  As you can see in the screenshot go to Entourage — Preferences and select Sync Services in the left panel.  Then check both boxes to send calender events and contacts to the native applications.  This will via a background service take care of the synchronization from the native apps to Exchange. When you select the option to sync you will receive a prompt, and you will want to choose “Merge Entourage items with Sync Services items” which will allow bi-directional sync between the two. So if you add an event in iCal it will go to Entourage and then Exchange, and if I add an event in my iPhone it will go from Exchange to Entourage to iCal. Not pretty but it works.</p>
<p>Then we have the e-mail issue. This was by far the most difficult and frustrating part. When you create accounts in Mail.app it allows you to create Exchange accounts which is a misnomer. What it means is it will attempt to use Outlook Web Access to send/receive, but it also means you’ll be really using IMAP on an Exchange server.</p>
<p>I <a href="http://www.isaserver.org/img/upl/exchangekit/2003secureimap4/2003secureimap4.htm">found an article</a> which outlines setting up IMAP on Exchange. I had to sweet talk my boss, and he sympathized and helped.  They set up IMAP (Exchange is above me), and that led me to now getting closer to being free of Entourage.  When you set up an account under the Exchange heading you’ll be asked to specify a mail server (such as mail.yourdomain.com) which will come from your Exchange admin. You will also give it the address where you access Outlook Web Access (your webmail address). I was then able to successfully download messages. I had some problems with SMTP. My company uses RPC over HTTPS to connect so I had to use the Password option and specified my credentials (for the username I had to use domain\username).  Then I was up and running!</p>
<h4>Cleaning Up</h4>
<p>Now it’s working. It’s not pretty, but I wasn’t expecting it to be. It was a utilitarian effort, and it succeeded in accomplishing my goal. But it wasn’t as seamless as I wanted. Entourage would always show up in the dock and also the application switcher. Now I never want to see Entourage anywhere, and I found Dock Dodger. This is a freeware program that removes running applications from the dock and application switcher. By simply dragging the Entourage icon into the app it removed it. Before I did that I click on the icon in the dock and decided to open it at login (as I’ll always need it).</p>
<p>You’ll also notice dialogue windows for the send/receive. I haven’t found a way to completely remove them, but if you close it when it’s running it will go away. Unfortunately, on reboot it comes back. I hope to find an answer to get rid of the dialogue.</p>
<h3>Concluding Thoughts</h3>
<p>I can now use the native apps, and I am up and running. Entourage now uses around ~75 MB of memory which is much better than the 1 GB option with VMWare Fusion.  I am happy for now, and I look forward to Snow Leopard when I can completely axe Entourage from my life.</p>
<p>I would like to thank <a href="http://www.nickdawson.net/">Nick Dawson</a> (my Pownce buddy) for empathizing with my struggle and pointing me in the direction I needed.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.siolon.com/blog/faking-exchange-support-in-os-x-leopard/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>The Pains of Altering the SharePoint UI</title>
		<link>http://www.siolon.com/blog/the-pains-of-altering-the-sharepoint-ui/</link>
		<comments>http://www.siolon.com/blog/the-pains-of-altering-the-sharepoint-ui/#comments</comments>
		<pubDate>Fri, 10 Oct 2008 00:42:31 +0000</pubDate>
		<dc:creator>Chris Poteet</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Usability]]></category>
		<category><![CDATA[User Interface]]></category>
		<category><![CDATA[asp.net]]></category>
		<category><![CDATA[branding]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[master pages]]></category>
		<category><![CDATA[Web Design]]></category>

		<guid isPermaLink="false">http://www.siolon.com/?p=192</guid>
		<description><![CDATA[I was recently tagged to “brand” a SharePoint installation for Hirsch Pipe &#38; Supply Co.  I knew it would be an interesting challenge, but I had no idea how bad it truly would be. SharePoint is built on ASP.NET 2.0 which I had worked with in my previous job. I found ASP.NET very powerful and [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_191" class="wp-caption alignright" style="width: 178px"><a href="http://www.siolon.com/wp-content/uploads/hirsch.png"><img class="size-medium wp-image-191" title="Hirsch Pipe and Supply Co." src="http://www.siolon.com/wp-content/uploads/hirsch-300x155.png" alt="Hirschs Branding Effort" width="168" height="87" /></a><p class="wp-caption-text">Hirsch’s Branding Effort</p></div>
<p>I was recently tagged to “brand” a SharePoint installation for <a href="http://www.hirsch.com/">Hirsch Pipe &amp; Supply Co</a>.  I knew it would be an interesting challenge, but I had no idea how bad it truly would be.</p>
<p>SharePoint is built on ASP.NET 2.0 which I had worked with in my previous job. I found ASP.NET very powerful and flexible. Master pages, App_Themes, <a href="http://www.asp.net/CssAdapters/">CSS Friendly Adapters</a>, and more made working on ASP.NET interfaces relatively painless.  Knowing that SharePoint utilized master pages I thought it would be much easier than it was.  However, it turned out to not be the case.</p>
<h3>The Default Master Page</h3>
<p>I was immediately struck by the mess that is the default master page.  The master page is laid out with, of course, tables which is reminiscent of why Microsoft is such a joke in the designer world.  Well, I decided to rip out the tables, and surely that would make it easier right?  No.  It turns out that SharePoint only uses one standard ASP.NET control (the navigation control), and the rest are SharePoint specific “delegate” controls which made layouts with CSS difficult.  These are of course stored on the file system, and the only way to edit them is to create painful features.  It looked as though I was stuck with extensive tables for much of the layout.</p>
<p>When I did yank out much of the table layouts it only opened up a headache down the road.  It was actually more painful to try and layout it with CSS then just sticking with the table layouts.  What made it difficult are the extensive nuances in the SharePoint interface that are dependent on others.  For instance, I would lay it out in CSS, but when I went to edit the page to add web parts everything went awry due to dependencies on extensive tables for layout.  I was able to lay out the majority of the default master page with CSS, but I ended up reverting to tables for the main content area due to pain after pain. I did go with Heather Solomon’s <a href="http://www.heathersolomon.com/blog/articles/BaseMasterPages.aspx">minimal base master page for publishing sites</a> which was a better start then I had.</p>
<h3>The CSS</h3>
<p>The fun doesn’t stop there.  SharePoint has a core stylesheet that is over 4,000 lines long.  I’ve dealt with more styles in one shot, but looking at the stylesheet you would think a 10th grader created them.  There is a lack of shorthand, units of measure, and extensive IE proprietary styles.  Add onto the fact there are no comments in the stylesheet it is absolutely useless to attempt to decode it.  You also can’t simply remove the core styles; well, you could, but it’s another headache that is ultimately not worth tackling.  It’s again easier to deal with the bad then try to make it better.</p>
<p>SharePoint does allow you to specify an alternate stylesheet which does, thankfully, get rendered after the core styles.  The cascade becomes your best friend in altering the styles.  You’ll also notice the “classitis” that abounds in the master page and core styles.  They all have a prefix of ms– which is unneeded and unhelpful.  I wasn’t surprised to find a lack of advanced CSS 2 selectors due to the pressure to support IE 6, but they are hardly any descendant selectors which would drastically decrease the amount of classes in the markup.</p>
<h3>The JavaScript</h3>
<p>I know Microsoft is now <a href="http://weblogs.asp.net/scottgu/archive/2008/09/28/jquery-and-microsoft.aspx">supporting jQuery</a> which we can only hope will reduce the amount of “obtrusive” JavaScript through the site.  It reminds me of how I wrote JavaScript back in the day.  Attempting to decode the core JavaScript is a puzzle I didn’t even attempt.  You are once again forced to use proprietary JavaScript instead of taking it on to write it any better.  If they did abstract the obtrusive JavaScript it would drastically decrease the complexity of the markup sent to the browser. I did end up using jQuery to set the size of certain divs, and I also attempted to clone() and append() DOM elements but it proved fruitless.</p>
<h3>Hope for SharePoint vNext</h3>
<p>I hope, first that I never have to alter the SharePoint UI again, but that the next version of SharePoint will construct a better default UI with the following changes.</p>
<ol>
<li>Use CSS for layouts.</li>
<li>Ditch the delegate controls to use more of the standard ASP.NET controls (or at least improve them).</li>
<li>Use a well-commented core CSS file with advanced selectors to eliminate the need for classes.</li>
<li>Switch to an unobtrusive JavaScript model.</li>
<li>An increased focus on accessibility for public-facing sites.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.siolon.com/blog/the-pains-of-altering-the-sharepoint-ui/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Contributions to End User SharePoint</title>
		<link>http://www.siolon.com/blog/contributions-to-end-user-sharepoint/</link>
		<comments>http://www.siolon.com/blog/contributions-to-end-user-sharepoint/#comments</comments>
		<pubDate>Mon, 16 Jun 2008 01:39:37 +0000</pubDate>
		<dc:creator>Chris Poteet</dc:creator>
				<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Adoption]]></category>
		<category><![CDATA[contribution]]></category>
		<category><![CDATA[Resources]]></category>

		<guid isPermaLink="false">http://www.siolon.com/?p=139</guid>
		<description><![CDATA[When I started becoming interested in the SharePoint world I was immediately drawn to the end-user adoption of the technology. I came across Mark Miller’s blog EndUserSharePoint.com, and I was instantly hooked in. The articles stay away from the ethereal issues that implementers get caught in and stick with the questions that are pertinent to [...]]]></description>
			<content:encoded><![CDATA[<p>When I started becoming interested in the SharePoint world I was immediately drawn to the end-user adoption of the technology.  I came across Mark Miller’s blog <a href="http://endusersharepoint.com/">EndUserSharePoint.com</a>, and I was instantly hooked in.  The articles stay away from the ethereal issues that implementers get caught in and stick with the questions that are pertinent to users that are actually using the application.</p>
<p>I contacted Mark to contribute to his fantastic catalog of contributors, and he passed some my way.  In the last week I handled questions from two users already!  One deals with a technical use of the technology and another asks for advice in encouraging adoption by end users.  Please check them out as well as subscribe to Mark’s blog!</p>
<ul>
<li><a href="http://www.endusersharepoint.com/?p=365">How can I restrict views to the contributor’s content, only?</a></li>
<li><a href="http://www.endusersharepoint.com/?p=374">How do I get End Users to start using SharePoint?</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.siolon.com/blog/contributions-to-end-user-sharepoint/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Browsing SharePoint Sites in Firefox With IE Tab</title>
		<link>http://www.siolon.com/blog/browsing-sharepoint-sites-in-firefox-with-ie-tab/</link>
		<comments>http://www.siolon.com/blog/browsing-sharepoint-sites-in-firefox-with-ie-tab/#comments</comments>
		<pubDate>Tue, 03 Jun 2008 01:14:40 +0000</pubDate>
		<dc:creator>Chris Poteet</dc:creator>
				<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[extension]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[internetexplorer]]></category>

		<guid isPermaLink="false">http://www.siolon.com/?p=137</guid>
		<description><![CDATA[I don’t hate Internet Explorer. I do hate version 6, but 7 was better, and 8 looks blockbuster. But due to the incredible extensions available in Firefox I’m a big fan. The problem is that browsing SharePoint sites in something other than Internet Explorer proves to be a less than perfect experience. With the IE [...]]]></description>
			<content:encoded><![CDATA[<p>I don’t hate Internet Explorer.  I do hate version 6, but 7 was better, and 8 looks blockbuster.  But due to the incredible extensions available in <a href="http://getfirefox.com/">Firefox</a> I’m a big fan.  The problem is that browsing SharePoint sites in something other than Internet Explorer proves to be a less than perfect experience.</p>
<p>With the <a href="https://addons.mozilla.org/en-US/firefox/addon/1419">IE Tab Firefox extension</a> we can browse SharePoint sites inside the Firefox interface on demand without having to open IE.  Here is a short screencast on how to do it.</p>
<p><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="551" height="485" align="center"><param name="movie" value="http://content.screencast.com/bootstrap.swf"></param><param name="quality" value="high"></param><param name="bgcolor" value="#FFFFFF"></param><param name="flashVars" value="thumb=http://content.screencast.com/media/1b2a1795-f386-409e-bb2f-21ffebe76215_4ca41b08-15fb-4bd7-bade-d137faa11398_static_0_0_Thumbnail.gif&#038;content=http://content.screencast.com/media/70fedde4-5d6c-49bd-b6c6-4addf1a7ffb3_4ca41b08-15fb-4bd7-bade-d137faa11398_static_0_0_2008-06-02_2109.swf&#038;width=551&#038;height=485"></param><param name="allowFullScreen" value="true"></param><param name="scale" value="showall"></param><param name="allowScriptAccess" value="always"></param>  <embed src="http://content.screencast.com/bootstrap.swf" quality="high" bgcolor="#FFFFFF" width="551" height="485" type="application/x-shockwave-flash" allowScriptAccess="always" flashVars="thumb=http://content.screencast.com/media/1b2a1795-f386-409e-bb2f-21ffebe76215_4ca41b08-15fb-4bd7-bade-d137faa11398_static_0_0_Thumbnail.gif&#038;content=http://content.screencast.com/media/70fedde4-5d6c-49bd-b6c6-4addf1a7ffb3_4ca41b08-15fb-4bd7-bade-d137faa11398_static_0_0_2008-06-02_2109.swf&#038;width=551&#038;height=485" allowFullScreen="true" scale="showall"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.siolon.com/blog/browsing-sharepoint-sites-in-firefox-with-ie-tab/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Better SEO Titles in WordPress 2.5</title>
		<link>http://www.siolon.com/blog/better-seo-titles-in-wordpress-25/</link>
		<comments>http://www.siolon.com/blog/better-seo-titles-in-wordpress-25/#comments</comments>
		<pubDate>Sun, 30 Mar 2008 17:42:27 +0000</pubDate>
		<dc:creator>Chris Poteet</dc:creator>
				<category><![CDATA[Content Management]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Blogging]]></category>
		<category><![CDATA[Findability]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[seo]]></category>
		<category><![CDATA[Themes]]></category>
		<category><![CDATA[titles]]></category>

		<guid isPermaLink="false">http://www.siolon.com/?p=123</guid>
		<description><![CDATA[A bane of WordPress development for a long time were the awful titles generated for blog posts. In this post I discuss some PHP code to generate better titles for your WordPress blog.]]></description>
			<content:encoded><![CDATA[<p>A bane of WordPress development for a long time were the awful titles generated for blog posts.  When I speak of this I’m talking about the order of the blog title and the post title are put together.  An example of this can be found below.</p>
<p><img class="aligncenter size-full wp-image-124" title="badtitles" src="http://www.siolon.com/wp-content/uploads/badtitles.png" alt="Bad Title" width="483" height="100" /></p>
<p>And this example is better than other’s I’ve seen.  On some sites where the blog/post title is long then the post title is truncated!  This is unacceptable when search engines give so much weight to the content of your post titles.</p>
<p>For a long time I circumvented this behavior by using the <a href="http://elasticdog.com/2004/09/optimal-title/">Optimal Title plugin</a>.  It worked fine, but it was yet another plugin for something that should’ve been inside the core.  So I opened ticket <a href="http://trac.wordpress.org/ticket/4407">#4407</a> to integrate the plugin architecture into the core.  I created a patch, and it became changeset <a href="http://trac.wordpress.org/changeset/6538">6,538</a>!  In short, I added a parameter into wp_title() that sets the location of the separator.  By default, it goes to the left, but you can move it to the right by specifying it.  If you don’t specify anything it defaults to the legacy behavior of going to the left.</p>
<p>This is the code you can now use to generate sexy SEO titles:</p>
<pre class="brush: php;">&lt;?php wp_title('&amp;raquo;',true,'right'); ?&gt; &lt;?php bloginfo('name'); ?&gt;</pre>
<p>This will print: Post/Page Title » Blog Name.  By ensuring that you specify meaningful titles for your postings then you can ensure that your findability will increase.  The <a href="http://codex.wordpress.org/Template_Tags/wp_title#Separator_with_Blog_Name_and_Title_Reversed">official documentation on this function</a> has also been updated to include this change.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.siolon.com/blog/better-seo-titles-in-wordpress-25/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Form Layouts With CSS</title>
		<link>http://www.siolon.com/blog/form-layouts-with-css/</link>
		<comments>http://www.siolon.com/blog/form-layouts-with-css/#comments</comments>
		<pubDate>Thu, 20 Mar 2008 17:41:10 +0000</pubDate>
		<dc:creator>Chris Poteet</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Usability]]></category>
		<category><![CDATA[User Interface]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[forms]]></category>
		<category><![CDATA[layout]]></category>
		<category><![CDATA[Standards]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[xhtml]]></category>

		<guid isPermaLink="false">http://www.siolon.com/2008/form-layouts-with-css/</guid>
		<description><![CDATA[Laying out forms with Cascading Style Sheets (CSS) is a complex topic. In light of many developers doing their first overall CSS layouts they often bail when it comes to laying out forms with CSS and avoiding both tables and line breaks. The code example shows the following: Well-formed, semantic markup CSS for layout and [...]]]></description>
			<content:encoded><![CDATA[<p>Laying out forms with Cascading Style Sheets (CSS) is a complex topic.  In light of many developers doing their first overall CSS layouts they often bail when it comes to laying out forms with CSS and avoiding both tables and line breaks.  The <a href="http://www.siolon.com/wp-content/uploads/cssformlayout.html">code example</a> shows the following:</p>
<ol>
<li>Well-formed, semantic markup</li>
<li>CSS for layout and presentation</li>
<li>Ensure that the form is both usable (easy to read/use) and presentable</li>
<li>No tables or line breaks</li>
</ol>
<p>To avoid the line breaks we simply use the CSS “clear” property.  This property says: “clear all floated elements to the x side of me”.  So for clear: left; means that there should be no floated elements to the left of the element, and I use this in laying out the form.</p>
<p>Here is the CSS, but be sure to check out <a href="http://www.siolon.com/wp-content/uploads/cssformlayout.html">the full example</a>.</p>
<pre class="brush: css;">

body {
font: 13px &quot;Myriad Pro&quot;, serif;
}
fieldset {
width: 300px;
padding: 10px;
}
legend {
font-weight: bold;
}
label, select, textarea, input {
float: left;
font: inherit;
border: 1px solid #ccc;
margin-bottom: 15px;
}
fieldset *:hover, fieldset *:focus {
background-color: #eee;
}
label:hover, legend:hover {
background-color: transparent;
}
label {
width: 75px;
clear: left;
font-weight: bold;
border: none;
}
input[type=&quot;submit&quot;] {
clear: left;
margin-top: 10px;
margin-left: 75px;
}
textarea {
width: 200px;
height: 75px;
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.siolon.com/blog/form-layouts-with-css/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>jQuery: JavaScript That Doesn’t Suck</title>
		<link>http://www.siolon.com/blog/jquery-javascript-that-doesnt-suck/</link>
		<comments>http://www.siolon.com/blog/jquery-javascript-that-doesnt-suck/#comments</comments>
		<pubDate>Fri, 29 Feb 2008 03:44:02 +0000</pubDate>
		<dc:creator>Chris Poteet</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[User Interface]]></category>
		<category><![CDATA[AJAX]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[dom]]></category>
		<category><![CDATA[effects]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[Resources]]></category>
		<category><![CDATA[Web 2.0]]></category>
		<category><![CDATA[Web Design]]></category>

		<guid isPermaLink="false">http://www.siolon.com/2008/jquery-javascript-that-doesnt-suck/</guid>
		<description><![CDATA[I hate JavaScript. I mean I really hate JavaScript. Dealing with different implementations of the DOM between browsers is a menace I couldn’t duplicate if I tried. I’ve tried JS libraries from Mootools, script.aculo.us, and so on until recently. I knew jQuery existed, but I didn’t realize how powerful the language was until recently. When [...]]]></description>
			<content:encoded><![CDATA[<p>I hate JavaScript.  I mean I really hate JavaScript.  Dealing with different implementations of the DOM between browsers is a menace I couldn’t duplicate if I tried.  I’ve tried JS libraries from Mootools, script.aculo.us, and so on until recently.</p>
<p>I knew <a href="http://jquery.com">jQuery</a> existed, but I didn’t realize how powerful the language was until recently.  When I realized I could select and manipulate DOM elements with CSS selectors then I was off to the races!  I love how it’s tailored for designers who already understand that syntax.  There is no more getElementById(“search”) or other garbage, because I can write this.</p>
<pre class="brush: jscript;">
$(&quot;search&quot;).show();
</pre>
<p>Now, that is elegant!  The only thing more impressive then the way it does selectors is how extensive the API is.  Not only is extensive, but it is actually understandable.  It’s the perfect balance between extensibility and ease of use.  It’s like adding Mootools and script.aculo.us together with better DOM selectors.</p>
<h4>Toggle Goodness</h4>
<p>I love JavaScript toggles and its variations.  It’s much more elegant that simply changing an element from display “none” to “block.”  jQuery comes with an easy way to toggle elements, and I recently did something like this at work.  </p>
<pre class="brush: jscript;">
$(&quot;.click&quot;).click(function() {
        $(&quot;.toggle&quot;).slideToggle(&quot;fast&quot;);
	return false;
});
</pre>
<h4>Ajax With jQuery</h4>
<p>jQuery doesn’t stop there.  Doing Ajax is simpler than it seems it should be.  Here’s a function that onclick will do a GET via Ajax and return a message notifying the user that the request was successful.</p>
<pre class="brush: jscript;">
$(&quot;.ajax&quot;).click(function() {
	$.ajax({
    		type: &quot;GET&quot;,
    		url: &quot;load.html&quot;,
    		dataType: &quot;script&quot;
		})
	$(&quot;.successmsg&quot;).ajaxSuccess(function(evt, request, settings){
    	        $(this).append(&quot;&lt;p&gt;Successful Request!&lt;/p&gt;&quot;);
	});
});
</pre>
<p>What if I want to append content into the DOM?  Difficult right?  Not so much.</p>
<pre class="brush: jscript;">
$(&quot;.append&quot;).append(&quot;Append some text&quot;);
</pre>
<h4>jQuery Plugins</h4>
<p>The cool thing for all those effects that jQuery doesn’t provide out-of-the-box then it provides a rich API for users to develop plugins on top of jQuery.  For instance, <a href="/portfolio">my portfolio</a> utilizes the <a href="http://www.ndoherty.com/demos/coda-slider/">Coda-Slider</a> jQuery plugin.</p>
<p>At work I was tasked to create some DHTML menus which I believe is a usability nightmare and an IA mistake, but alas I had to.  I wanted to maximize the usability, and I found <a href="http://users.tpg.com.au/j_birch/plugins/superfish/">Superfish</a> which is “Suckerfish on ‘roids.”  I was able to make sexy menus that had plugins on top of the plugin including the <a href="http://cherne.net/brian/resources/jquery.hoverIntent.html">hoverIntent</a> jQuery plugin which is smart enough to know whether you really want the menu or if you’re just trying to move around the page.</p>
<h4>Additional Resources</h4>
<p>Well, that’s just scratching the surface of what jQuery can do!  While learning more about it I’ve found several sites that have helped me.</p>
<h5>Tutorials/Blogs</h5>
<ul>
<li><a href="http://www.digital-web.com/articles/jquery_crash_course/">jQuery Crash Course</li>
<li><a href="http://www.learningjquery.com/">Learning jQuery</a></li>
<li><a href="http://jqueryfordesigners.com/">jQuery for Designers</a></li>
<li><a href="http://remysharp.com/">Remy Sharp</a></li>
<li><a href="http://www.webdesignerwall.com/tutorials/jquery-tutorials-for-designers/">jQuery Tutorials for Designers</a></li>
</ul>
<h5>jQuery Plugins</h5>
<ul>
<li><a href="http://plugins.jquery.com/">Official Repository</a></li>
<li><a href="http://ui.jquery.com/">jQuery User Interface</a> (Coming Soon)</li>
<li><a href="http://www.sastgroup.com/jquery/240-plugins-jquery">240 Plugins jQuery</li>
<li><a href="http://www.noupe.com/jquery/50-amazing-jquery-examples-part1.html">50+ Amazing jQuery Examples (Part 1)</a></li>
</ul>
<h5>API Documentation</h5>
<ul>
<li><a href="http://remysharp.com/jquery-api/">jQuery API Browser</a></li>
<li><a href="http://docs.jquery.com/Main_Page">Official Documentation</a></li>
<li><a href="http://docs.jquery.com/Discussion">jQuery Mailing Lists/IRC</a></li>
</ul>
<h5>IDE Integration</h5>
<ul>
<li><a href="http://www.aptana.com/docs/index.php/Getting_started_with_Aptana_and_jQuery">Getting Started with Aptana and jQuery</a></li>
<li><a href="http://lancefisher.net/blog/archive/2008/02/12/intellisense-for-jquery-in-visual-studio-2008.aspx">Intellisence for jQuery in Visual Studio 2008</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.siolon.com/blog/jquery-javascript-that-doesnt-suck/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tools For Web Designers</title>
		<link>http://www.siolon.com/blog/tools-for-web-designers/</link>
		<comments>http://www.siolon.com/blog/tools-for-web-designers/#comments</comments>
		<pubDate>Sat, 06 Oct 2007 23:53:01 +0000</pubDate>
		<dc:creator>Chris Poteet</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[books]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[Downloads]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[ide]]></category>
		<category><![CDATA[project management]]></category>
		<category><![CDATA[Resources]]></category>
		<category><![CDATA[templates]]></category>
		<category><![CDATA[testing]]></category>
		<category><![CDATA[version control]]></category>
		<category><![CDATA[Web Design]]></category>

		<guid isPermaLink="false">http://www.siolon.com/2007/tools-for-web-designers/</guid>
		<description><![CDATA[Everyone, especially computer people, love lists of resources. I do as well, and I decided it’s time to share many of the resources that have helped me in my career. All of these resources (except for the print books) are either freeware, open source, or the application offers a free version.Firefox Firebug  - Essential tool [...]]]></description>
			<content:encoded><![CDATA[<p>Everyone, especially computer people, love lists of resources.  I do as well, and I decided it’s time to share many of the resources that have helped me in my career.  All of these resources (except for the print books) are either freeware, open source, or the application offers a free version.<strong>Firefox</strong>
<ul>
<li><a href="http://www.getfirebug.com/">Firebug</a>  - Essential tool for CSS/JavaScript debugging.</li>
<li><a href="http://developer.yahoo.com/yslow/">YSlow</a> — Firebug add-on to help determine performance bottlenecks.</li>
<li><a href="http://chrispederick.com/work/web-developer/">Web Developer Toolbar</a> — Provides tools to compliment Firebug.</li>
<li><a href="http://fireftp.mozdev.org/">Fireftp</a> — The best FTP client and in a browser no less!</li>
<li><a href="http://www.sitepoint.com/dustmeselectors/">Dust-Me Selectors</a> — Scans the page against your current style sheet to determine extraneous styles.</li>
<li><a href="http://jacquetc.free.fr/mozilla/exts/ServerSpy/">Server Spy</a> — See the server technology for current page.</li>
<li><a href="http://www.iosart.com/firefox/colorzilla/">Colorzilla</a> — Awesome color picker.</li>
<li><a href="http://users.skynet.be/mgueury/mozilla/">HTML Validator</a> — Validate pages and clean them with this tool.</li>
<li><a href="http://ietab.mozdev.org/">IE Tab</a> — View pages in IE inside Firefox.</li>
<li><a href="http://www.openqa.org/selenium-ide/">Selenium IDE</a> — Record and playback end-user testing.</li>
<li><a href="http://westciv.com/xray/">X-Ray</a> — Bookmarklet to examine elements in DOM.</li>
</ul>
<p><strong>Web Worker Applications</strong>
<ul>
<li><a href="http://box.net/">Box.net</a> — Backup your files with this tremendous tool.</li>
<li><a href="http://www.getharvest.com/">Harvest</a> — Time tracking utility.</li>
<li><a href="http://www.jott.com/">Jott</a> - Record messages from your phone and add them to various applications.</li>
<li><a href="http://gliffy.com/">Gliff</a>y — MS Visio replacement for diagramming.</li>
<li><a href="http://www.yugma.com/">Yugma</a> - Free video conferencing.</li>
<li><a href="http://freelanceswitch.com/general/101-essential-freelancing-resources/">101 Essential Freelancing Resources</a> - Need more than we’ve got here?</li>
</ul>
<p><strong>Print Books</strong>
<ul>
<li><a href="http://www.amazon.com/Designing-Web-Standards-Jeffrey-Zeldman/dp/0321385551/ref=pd_bbs_sr_1/002-0884481-3884010?ie=UTF8&amp;s=books&amp;qid=1187905470&amp;sr=8-1">Designing with Web Standards</a> — A great introduction to web standards design by Jeffrey Zeldman.</li>
<li><a href="http://www.amazon.com/CSS-Definitive-Guide-Eric-Meyer/dp/0596527330/ref=sr_1_1/002-0884481-3884010?ie=UTF8&amp;s=books&amp;qid=1187905509&amp;sr=8-1">CSS: A Definitive Guide</a> — Eric Meyer’s magnum opus on CSS.</li>
<li><a href="http://www.amazon.com/Dont-Make-Me-Think-Usability/dp/0321344758/ref=pd_bbs_sr_1/002-0884481-3884010?ie=UTF8&amp;s=books&amp;qid=1187905558&amp;sr=8-1">Don’t Make Me Think!</a> — The acclaimed introduction to usability.</li>
<li><a href="http://www.amazon.com/Codin-Web-Designers-Developing-Dynamic/dp/0321429192/ref=pd_bbs_sr_1/002-0884481-3884010?ie=UTF8&amp;s=books&amp;qid=1187905577&amp;sr=8-1">Codin’ For the Web</a> — Great book to teach application development to designers.</li>
<li><a href="http://www.amazon.com/Web-Design-Nutshell-Jennifer-Niederst/dp/1600330126/ref=pd_bbs_sr_1/002-0884481-3884010?ie=UTF8&amp;s=books&amp;qid=1187905604&amp;sr=8-1">Web Design in a Nutshell</a> — Invaluable desktop reference.</li>
</ul>
<p><strong>Online Books</strong>
<ul>
<li><a href="http://svnbook.red-bean.com/">Version Control with Subversion</a> — Introduction to the precepts of Subversion.</li>
<li><a href="http://gettingreal.37signals.com/">Getting Real</a> — 37 Signals famous work on design.</li>
<li><a href="http://hell.org.ua/Docs/oreilly/">O’Reilly Library</a> — Various O’Reilly books you can read online.</li>
<li><a href="http://webtypography.net/">The Elements of Typographic Style Applied to the Web</a></li>
</ul>
<p><strong>Tutorials</strong>
<ul>
<li><a href="http://w3schools.com/">W3Schools.com</a> - XHTML, CSS, PHP, SQL, XML, etc.</li>
<li><a href="http://good-tutorials.com/">Good Tutorials</a> - Photoshop, Flash, Illustrator, PHP, HTML, etc.</li>
<li><a href="http://devzone.zend.com/article/627-PHP-101-PHP-For-the-Absolute-Beginner">PHP for the Absolute Beginner</a></li>
<li><a href="http://quickstarts.asp.net/QuickStartv20/aspnet/Default.aspx">ASP.NET 2.0 Quickstart Tutorial</a></li>
<li><a href="http://www.barelyfitz.com/screencast/html-training/css/positioning/">Learn CSS Positioning in 10 Easy Steps</a></li>
</ul>
<p><strong>Editors</strong>
<ul>
<li><a href="http://litmusapp.com/cssvista/">CSS Vista</a> = Neat CSS editor.</li>
<li><a href="http://www.pspad.com/">PSPad</a> — Simple, fast editor that I used for a long time.</li>
<li><a href="http://www.aptana.com/">Aptana</a> — Editor built on Eclipse that, I think, is the best out there.</li>
<li><a href="http://msdn.microsoft.com/vstudio/express/vwd/">Microsoft Visual Web Developer</a> — Free MS editor to create ASP.NET applications.</li>
<li><a href="http://webyog.com/">SQLYog</a> — GUI interface to MySQL.</li>
<li><a href="https://www.microsoft.com/downloads/details.aspx?familyid=C243A5AE-4BD1-4E3D-94B8-5A0F62BF7796&amp;displaylang=en">SQL Server Management Studio Express</a> — The free edition of the GUI to SQL Server.</li>
</ul>
<p><strong>Templates</strong>
<ul>
<li><a href="http://www.oswd.org/">Open Source Web Design</a></li>
<li><a href="http://themebot.com/">Themebot</a> — Themes for Drupal, WordPress, Joomla, and phpBB among others.</li>
<li><a href="http://www.openwebdesign.org/">Open Web Design</a></li>
<li><a href="http://www.opendesigns.org/">The Open Design Community</a></li>
<li><a href="http://csstinderbox.raykonline.com/">The CSS Tinderbox</a> — CSS layouts.</li>
<li><a href="http://www.thenoodleincident.com/tutorials/box_lesson/boxes.html">Little Boxes</a> — CSS layouts.</li>
</ul>
<p><strong>Project Management/Version Control</strong>
<ul>
<li><a href="http://www.assembla.com/">Assembla</a> — Free TRAC/Subversion workspaces.</li>
<li><a href="http://trac.edgewall.org/">TRAC</a> — Slim, extensible SDLC tool.</li>
<li><a href="http://subversion.tigris.org/">Subversion</a> — The great open source source control.</li>
<li><a href="http://tortoisesvn.tigris.org/">TortoiseSVN</a> — GUI interface into Subversion via Windows shell.</li>
<li><a href="http://ankhsvn.tigris.org/">AnkhSVN</a> — Browse Subversion repositories inside Visual Studio.</li>
</ul>
<p><strong>Testing/Validators</strong>
<ul>
<li><a href="http://uitest.com/">UITest.com</a></li>
<li><a href="http://www.scrutinizethis.com/">The Scrutinizer</a> — SEO validators and analysis.</li>
<li><a href="http://tester.jonasjohn.de/">Test Everything!</a></li>
<li><a href="http://www.softwareqatest.com/qatweb1.html">Web Site Tools</a></li>
<li><a href="http://www.wampserver.com/en/">WAMP</a> -<a href="http://www.wampserver.com/en/"> </a>Apache, MySQL, and PHP on Windows)</li>
</ul>
<p><strong>Application Comparison</strong>
<ul>
<li><a href="http://www.wikimatrix.org/">Wiki Matrix</a> — Compare wiki applications.</li>
<li><a href="http://www.forummatrix.org/">Forum Matrix</a> — Compare forum applications.</li>
<li><a href="http://www.weblogmatrix.org/">WebBlog Matrix</a> — Compare blog applications.</li>
<li><a href="http://www.cmsmatrix.org/">The CMS Matrix</a> — Compare CMS applications.</li>
<li><a href="http://www.opensourcecms.com/">OpenSourceCMS</a> — Demo various CMS’.</li>
</ul>
<p><strong>Web Designer Blogs/News Aggregation</strong>
<ul>
<li><a href="http://www.designfloat.com/">Design Float</a> — Digg style site for designers.</li>
<li><a href="http://www.alvit.de/handbook/">Web Developer’s Handbook</a> — More resources then you could ever need.</li>
<li><a href="http://cssjuice.com/">CSS Juice</a> — CSS tips and utilities.</li>
<li><a href="http://smashingmagazine.com/">Smashing Magazine</a> — The best resource for resources.</li>
<li><a href="http://www.netmag.co.uk/">.net Develop</a> - Cutting-edge articles on web technology best practices.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.siolon.com/blog/tools-for-web-designers/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Creating Rich Anchor Tags</title>
		<link>http://www.siolon.com/blog/creating-rich-anchor-tags/</link>
		<comments>http://www.siolon.com/blog/creating-rich-anchor-tags/#comments</comments>
		<pubDate>Wed, 18 Jul 2007 04:32:21 +0000</pubDate>
		<dc:creator>Chris Poteet</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Usability]]></category>
		<category><![CDATA[User Interface]]></category>
		<category><![CDATA[Standards]]></category>
		<category><![CDATA[Web Design]]></category>

		<guid isPermaLink="false">http://www.siolon.com/2007/creating-rich-anchor-tags/</guid>
		<description><![CDATA[The most important, and yet often under-valued tag in XHTML, has to be the anchor tag. It’s usually one of the first tags learned in XHTML, and it is usually because of its importance. Imagine if the anchor tag didn’t exist: there would be no “surfing,” users could only browse the Internet with the address [...]]]></description>
			<content:encoded><![CDATA[<p>The most important, and yet often under-valued tag in XHTML, has to be the anchor tag.  It’s usually one of the first tags learned in XHTML, and it is usually because of its importance.  Imagine if the anchor tag didn’t exist: there would be no “surfing,” users could only browse the Internet with the address bar, and ultimately the web would be a lot less interesting.</p>
<p>There are some good practices in creating these tags, and that is the premise of this short tutorial.  I want to emphasize meaningful links, accessible links, and well-formed links.</p>
<h3>Creating Meaningful Links</h3>
<p><a href="http://www.wikipedia.org/">Wikipedia</a> has forever changed the way we navigate.  Notice that the software that runs the application (<a href="http://www.mediawiki.org/wiki/MediaWiki">MediaWiki</a>) does not have a full left/right navigation.  There are some links, a search box, and the user is ultimately led to browse the site by following links in the content.  How often have we seen a link that looks something like this?</p>
<blockquote><p>For more information please <a href="#">click here</a>.</p></blockquote>
<p>One is left to wonder what “click here” means or where it goes.  It is an awful, antiquated manner to display anchors.  Instead, we should naturally content in the flow of the document.  The anchors naturally show in the flow of the document that clearly shows where the anchor will take me and what the content is.</p>
<blockquote><p>More information can be found on our <a href="http://www.siolon.com/wp-admin/post.php#">product information page</a>.</p></blockquote>
<h3>Creating Accessible Links</h3>
<p>We also want to cater to our users who have accessibility needs.  In relation to the topic above, how much would a screen reader the user with: “please click here.”  We could also give it a <a href="http://www.w3.org/TR/REC-CSS2/aural.html">CSS 2 aural property</a> to set off the link with a short pause.</p>
<pre class="brush: css;">a {
pause: 20ms;
}</pre>
<p>We also want to give it a title to improve the accessibility.</p>
<pre class="brush: xml;">&lt;a href=&quot;http://address/&quot; title=&quot;Product Information Page&quot;&gt;product information page&lt;/a&gt;</pre>
<h3>Creating Well-Formed Links</h3>
<p>The last thing is to ensure that our code aligns with the rigours of XHTML.  Here is a bad example:</p>
<pre class="brush: xml;">&lt;em&gt;&lt;a href=&quot;http://address/&quot;&gt;text&lt;/em&gt;&lt;/a&gt;</pre>
<p>When we apply the rules of XHTML we get the following:</p>
<pre class="brush: xml;">&lt;em&gt;&lt;a href=&quot;http://address/&quot; title=&quot;title&quot;&gt;text&lt;/a&gt;&lt;/em&gt;</pre>
<h3>Conclusion</h3>
<p>The anchor tag is a powerful tag that is, along with HTTP, the backbone of the user experience of the web.  Creating meaningful, accessible, and well-formed anchors will do wonders to ensure that your anchors are intuitive and usable to the greatest amount of users.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.siolon.com/blog/creating-rich-anchor-tags/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
