<?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>Web Development by Joe Sak &#187; Usability</title>
	<atom:link href="http://www.joesak.com/category/usability/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.joesak.com</link>
	<description>Rails, HTML5, CSS3, jQuery - Thoughts, Advice &#38; Work</description>
	<lastBuildDate>Tue, 27 Jul 2010 14:10:14 +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>Why DotNetNuke is Terrible</title>
		<link>http://www.joesak.com/2008/04/23/why-dotnetnuke-is-terrible/</link>
		<comments>http://www.joesak.com/2008/04/23/why-dotnetnuke-is-terrible/#comments</comments>
		<pubDate>Wed, 23 Apr 2008 20:17:31 +0000</pubDate>
		<dc:creator>Joe Sak</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[DotNetNuke]]></category>
		<category><![CDATA[Improving Code]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Ranting]]></category>
		<category><![CDATA[Usability]]></category>
		<category><![CDATA[Venting]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://www.joesak.com/?p=61</guid>
		<description><![CDATA[I really could go on and on about this, but just a few notes. 1. Forced Registration to Download their Software When you go to DNN&#8217;s web site and sister sites, like the new DNN Events site, the first thing you have to do before you can download anything is register an account. Now, it&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p>I really could go on and on about this, but just a few notes.</p>
<p><strong>1. Forced Registration to Download their Software</strong><br />
When you go to DNN&#8217;s web site and sister sites, like the new <a href="http://www.dnnevents.net">DNN Events</a> site, the first thing you have to do before you can download anything is register an account. Now, it&#8217;s not all bad because it&#8217;s free and I guess they just want to track popularity (ever heard of <a href="http://www.google.com/analytics">Google Analytics</a><a></a>?), but the registration process <strong>takes too long</strong>. I registered an account to download the new Events Module beta about 10 minutes ago and still haven&#8217;t received my &#8220;verify your account&#8221; email. Sorry, DNN team, I&#8217;ve now lost all interest in your beta.</p>
<p>Not only that, but <strong>it&#8217;s not clearly obvious you have to register</strong>. They bury the instruction to register in their rather long and boring content. If I go to wordpress or drupal&#8217;s site, I see big freakin links to download (no registration required of course). It wouldn&#8217;t be so bad if they had a big link that said &#8220;Register and Download&#8221; but no, of course they don&#8217;t.</p>
<p>Which leads to my next point,</p>
<p><strong>2. They really don&#8217;t support or discuss usability and accessibility</strong><br />
DNN modules and the DNN platform itself are so hard to use. Their website is hard to navigate, most of the icons don&#8217;t make sense, and the forums are cluttered and don&#8217;t work in all browsers. You can&#8217;t make a post in their forums in Safari. Sorry, Safari users, outta luck. Get firefox, I guess. No one seriously talks about how to make the admin screens and layouts of their modules more functional, faster, and easier to understand.</p>
<p>Most of the modules we have to buy (another point) are riddled with awful and outdated front-end code, and have the absolute worst Admin screens.</p>
<p><strong>3. You have to pay for most of the modules</strong><br />
Now this isn&#8217;t <em>that</em> bad. I mean, a software developer&#8217;s gotta make money, and some people run their business solely off of DNN modules, right? Ok, but step up your game and make a module <strong>worth paying for</strong>. Refer to point #2.</p>
<p>More later, I have to get back to work.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.joesak.com/2008/04/23/why-dotnetnuke-is-terrible/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Apple&#039;s iChat Wins for Usability (at least halfway)</title>
		<link>http://www.joesak.com/2008/01/11/apples-ichat-wins-for-usability-at-least-halfway/</link>
		<comments>http://www.joesak.com/2008/01/11/apples-ichat-wins-for-usability-at-least-halfway/#comments</comments>
		<pubDate>Fri, 11 Jan 2008 18:40:51 +0000</pubDate>
		<dc:creator>Joe Sak</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Computers]]></category>
		<category><![CDATA[Macbook Pro]]></category>
		<category><![CDATA[OS X]]></category>
		<category><![CDATA[Usability]]></category>
		<category><![CDATA[iChat]]></category>

		<guid isPermaLink="false">http://www.joesak.com/apples-ichat-wins-for-usability-at-least-halfway/</guid>
		<description><![CDATA[When trying to send a folder to a buddy who uses the PC AIM client, I got this msg from iChat in the chat window: Your buddy cannot receive transfers of directories (folders). You could create and send a zip archive of the directory before sharing, or share each file in the directory individually. This [...]]]></description>
			<content:encoded><![CDATA[<p>When trying to send a folder to a buddy who uses the PC AIM client, I got this msg from iChat in the chat window:</p>
<blockquote><p>Your buddy cannot receive transfers of directories (folders). You could create and send a zip archive of the directory before sharing, or share each file in the directory individually.</p></blockquote>
<p>This is very nice! Simple easy explanation for what went wrong and how to resolve it. Now go all the way and give a prompt to create and send the zip file for me!</p>
<blockquote><p>&#8220;Would you like us to zip this folder and send it now?&#8221; [Yes] [No]</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.joesak.com/2008/01/11/apples-ichat-wins-for-usability-at-least-halfway/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cheap Web Companies are Ruining the Web</title>
		<link>http://www.joesak.com/2007/12/04/cheap-web-companies-are-ruining-the-web/</link>
		<comments>http://www.joesak.com/2007/12/04/cheap-web-companies-are-ruining-the-web/#comments</comments>
		<pubDate>Wed, 05 Dec 2007 02:06:45 +0000</pubDate>
		<dc:creator>Joe Sak</dc:creator>
				<category><![CDATA[Clients]]></category>
		<category><![CDATA[Computers]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Feedback]]></category>
		<category><![CDATA[Improving Code]]></category>
		<category><![CDATA[Life]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Ranting]]></category>
		<category><![CDATA[Usability]]></category>
		<category><![CDATA[Venting]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Websites]]></category>

		<guid isPermaLink="false">http://www.joesak.com/cheap-web-companies-are-ruining-the-web/</guid>
		<description><![CDATA[This is completely opinion and I didn&#8217;t do any research but I&#8217;m probably right in most cases. This is really me venting because I&#8217;ve been having more than enough run-ins with external companies who under-price our clients for &#8220;services&#8221; such as consulting or even developing systems that they can&#8217;t afford for us to do. Here&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p>This is completely opinion and I didn&#8217;t do any research but I&#8217;m probably right in most cases. This is really me venting because I&#8217;ve been having more than enough run-ins with external companies who under-price our clients for &#8220;services&#8221; such as consulting or even developing systems that they can&#8217;t afford for us to do.<span id="more-57"></span></p>
<p>Here&#8217;s why companies that come in at the lowest bid are bad for the web: <strong>they don&#8217;t allow or encourage businesses to think critically about their web site</strong>. All that matters to the business owner is the bottom line: cost. So this is partly the fault of the business owner but way more the fault of the web firm that&#8217;s cheaper than others. They make price the most important factor in choosing a web solution.</p>
<p>Not research. Not user experience. Not standards. Not compatibility. Not design. Not aesthetics. Just price.</p>
<p>I urge you, if you are working for a company that still uses code, design aesthetics, and usability from 1997, please stop. <strong>You are hurting the web</strong>. You make it worse for everyone else and you continue to encourage terrible development, harmful user experience, and poor decisions by company executives. You haven&#8217;t challenged your clients to think bigger and better about where the web is today. You haven&#8217;t encouraged executives to learn more about technology and how their customers might use it.</p>
<p>Just go away.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.joesak.com/2007/12/04/cheap-web-companies-are-ruining-the-web/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>DotNetNuke and Search Usability</title>
		<link>http://www.joesak.com/2007/11/18/dotnetnuke-and-search-usability/</link>
		<comments>http://www.joesak.com/2007/11/18/dotnetnuke-and-search-usability/#comments</comments>
		<pubDate>Sun, 18 Nov 2007 14:51:16 +0000</pubDate>
		<dc:creator>Joe Sak</dc:creator>
				<category><![CDATA[DotNetNuke]]></category>
		<category><![CDATA[Improving Code]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Search Engines]]></category>
		<category><![CDATA[Search Modules]]></category>
		<category><![CDATA[Search Results]]></category>
		<category><![CDATA[Usability]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Websites]]></category>

		<guid isPermaLink="false">http://www.joesak.com/dotnetnuke-and-search-usability/</guid>
		<description><![CDATA[DotNetNuke recently added what they call a &#8220;feature&#8221; to their implementation of a search bar: the ability to search the web or search your web site. This poses a couple problems: It can confuse users with unnecessary options It&#8217;s pretty meaningless. Why would someone come to your web site to search other web sites? Read [...]]]></description>
			<content:encoded><![CDATA[<p>DotNetNuke recently added what they call a &#8220;feature&#8221; to their implementation of a search bar: the ability to search the web or search your web site.</p>
<p>This poses a couple problems:</p>
<ol>
<li>It can confuse users with <strong>unnecessary options</strong></li>
<li>It&#8217;s pretty meaningless.</li>
</ol>
<p><span id="more-56"></span></p>
<p>Why would someone come to your web site to search other web sites?  <a href="http://www.useit.com/alertbox/20010513.html" title="Search: Visible &amp; Simple - useit.com">Read more about Search Usability</a> at Jakob Nielsen&#8217;s web site. If they&#8217;re going to add this &#8220;scope&#8221; feature of site and web, then they should at least make it so when you&#8217;re on the Results page, and you click the &#8220;Web&#8221; radio button, it automatically takes their query to web results. But <strong>you shouldn&#8217;t include the web as a scope</strong> anyway. People go to major search engine web sites. In fact, they probably found your site on a search engine in the first place.</p>
<p>Now, if DotNetNuke wants to make their search functionality better, they should do some things to improve the results:</p>
<ol>
<li>They should increase the search scope to a LIKE instead of an exact string match</li>
<ol>
<li>From <a href="http://www.useit.com/alertbox/9605.html" title="Top 10 Web Design Mistakes - useit.com">Jakob Nielsen:</a></li>
</ol>
<blockquote><p>Overly literal search engines reduce usability in that they&#8217;re unable to handle typos, plurals, hyphens, and other variants of the query terms.</p></blockquote>
<li>They should allow for the creation of a dictionary (or use the <a href="http://code.google.com/apis/ajaxsearch/web.html">Google Search API</a>) to assist with common spelling mistakes.</li>
<li>The Results Page should be configurable to show page names instead of module titles.</li>
</ol>
<p>Those are just a few things that would make DNN search better. What do you think?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.joesak.com/2007/11/18/dotnetnuke-and-search-usability/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Online Chat Support: Provide a Phone Number as well</title>
		<link>http://www.joesak.com/2007/09/25/online-chat-support-provide-a-phone-number-when-its-down/</link>
		<comments>http://www.joesak.com/2007/09/25/online-chat-support-provide-a-phone-number-when-its-down/#comments</comments>
		<pubDate>Tue, 25 Sep 2007 20:06:13 +0000</pubDate>
		<dc:creator>Joe Sak</dc:creator>
				<category><![CDATA[Customer Support]]></category>
		<category><![CDATA[Online Chat]]></category>
		<category><![CDATA[Usability]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Websites]]></category>

		<guid isPermaLink="false">http://www.joesak.com/online-chat-support-provide-a-phone-number-when-its-down/</guid>
		<description><![CDATA[I&#8217;ve been working on a project for a client this week, trying to get their hosting account set up, and I have experienced a myriad of usability issues with their system. The hosting company in question is Hostony. I picked them because they were the highest rated Windows Hosting service with MS SQL on Vista [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been working on a project for a client this week, trying to get their hosting account set up, and I have experienced a <strong>myriad of usability issues</strong> with their system. <span id="more-54"></span>The hosting company in question is <a href="http://www.hostony.com">Hostony</a>. I picked them because they were the highest rated Windows Hosting service with MS SQL on <a href="http://www.vistainter.com/reviews/H/hostony.com/">Vista Intermedia Corporation</a>, which I actually just happened to find on Google.</p>
<p>Some of the issues with their backend system include:</p>
<ul>
<li>Billing / Invoice gives no indication that your hosting plan is being processed</li>
<li>The Windows HELM system <a href="http://www.useit.com/alertbox/20001112.html">uses a drop-down menu for navigation</a></li>
<li>My plan included an MS SQL database, but there was no indication that one was installed, and the only place I could find info on the DB was the page to purchase more MS SQL instances</li>
<li>There was no section on my DNS / NameServer info to update my DNS records with GoDaddy</li>
<li>The &#8220;Online Help&#8221; was a collection of videos, using frames and iFrames with expanding tree menu navigation</li>
</ul>
<p>This is just a short list of things I ran into while using the admin system. To say the least, I can&#8217;t wait to have the web site installed so I can be done with this stuff.</p>
<p>The largest perpetrator of evil from Hostony was <strong>their lack of a support phone number</strong>. The best you get is to either use the online ticket system which is <strong>a third-party system that they didn&#8217;t even bother to design their branding into</strong>, or to use Online Chat.</p>
<p>Since <strong>third-party ticket systems usually mean waiting around for a response</strong>, I thought I should use the Online Chat system. There was only one problem: <strong>it wasn&#8217;t online</strong>. In fact, it <strong>hasn&#8217;t been online</strong> yet!</p>
<p>Here is Hostony&#8217;s Online Chat button, which turned out to be green today, instead of grey:<br />
<img src="/images/hostony-offlinechat.gif" alt="Hostony's Online Chat Button" /></p>
<p>And the resulting screen after clicking:<br />
<img src="/images/hostony-resulting-screen.gif" alt="Hostony's Online Chat System" /><br />
What&#8217;s this? Leave a message?</p>
<p>I didn&#8217;t click the online chat button to be able to leave a message. That&#8217;s what the online ticket system is for. I clicked online chat <strong>to talk to someone right away</strong> and get help. If your system can&#8217;t ever be online, then <strong>you should provide a 24 hour, 7 days a week Customer Support phone number</strong>.</p>
<p>Why? Because <strong>customers want their questions answered immediately</strong>. We don&#8217;t trust email and message systems. Any time a web site tells me to leave a message  or send an email, I say &#8220;forget it&#8221;. What assurances do we have someone will answer our request in a timely manner?</p>
<p>Three reasons you should provide an 800 number to your customers and potential sales opportunities:</p>
<ol>
<li>Gives customers an <strong>easy, free way to contact your business</strong>.</li>
<li>Lets you project a professional company image and make your business look big and stable.</li>
<li>Makes your business more memorable, especially if you choose a &#8220;vanity 800 number.&#8221;</li>
</ol>
<p>To Hostony&#8217;s credit, they have been extremely fast in answering my trouble tickets, even if <strong>messages are easily misunderstood</strong> because we aren&#8217;t speaking directly and efficiently. It&#8217;s been pretty good so far, but <strong>it could have been exceptionally better</strong>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.joesak.com/2007/09/25/online-chat-support-provide-a-phone-number-when-its-down/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Three Scripts I wrote for DotNetNuke Skins</title>
		<link>http://www.joesak.com/2007/09/13/three-scripts-i-wrote-for-dotnetnuke-skins/</link>
		<comments>http://www.joesak.com/2007/09/13/three-scripts-i-wrote-for-dotnetnuke-skins/#comments</comments>
		<pubDate>Thu, 13 Sep 2007 13:23:22 +0000</pubDate>
		<dc:creator>Joe Sak</dc:creator>
				<category><![CDATA[DotNetNuke]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Usability]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Websites]]></category>
		<category><![CDATA[Work Stuff]]></category>
		<category><![CDATA[asp.net]]></category>
		<category><![CDATA[vb.net]]></category>

		<guid isPermaLink="false">http://www.joesak.com/three-scripts-i-wrote-for-dotnetnuke-skinning/</guid>
		<description><![CDATA[I&#8217;ve been in email communication with the new Skinning Team Lead at DotNetNuke. I&#8217;m really interested in joining the DotNetNuke skinning team. I bring a pretty unique contribution to the scene, and I&#8217;d like to share it in the most appropriate outlet. So I&#8217;m talking to Timo to see if I can be useful on [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been in email communication with the new <a href="http://www.dotnetnuke.com/Community/Blogs/tabid/825/EntryID/1548/Default.aspx">Skinning Team Lead at DotNetNuke</a>. I&#8217;m really interested in joining the DotNetNuke skinning team. I bring a pretty unique contribution to the scene, and I&#8217;d like to share it in the most appropriate outlet. So I&#8217;m talking to Timo to see if I can be useful on his team.</p>
<p>Until then, I&#8217;m going to share some scripts I wrote for DotNetNuke skins, which I also sent Timo in email.</p>
<p><span id="more-53"></span></p>
<p>Included are comments which explain each function, and then I will link to examples.</p>
<p>At the top of my skin *.ascx files, I have included these scripts by default:</p>
<p><strong>Check for Authentication to Show / Hide Elements on a Skin:</strong></p>
<pre>
<code>
/* -------------------------------------
|  Function Name: IsLoggedIn()
|  Primary Purpose: to return a boolean value depending on the user's logged in state.
|
|  Use: for hiding / displaying specific elements in the skin, such as the "logout" link, in order
|         to keep the public from trying to log in to sites that are only meant for an
|         administrator to log into. The way to log in in this scenario is to navigate to "/admin",
|         where a Default.aspx file is redirecting to the login page.
----------------------------------------*/

Public Function IsLoggedIn() As Boolean
        Return HttpContext.Current.User.Identity.IsAuthenticated
End Function
</code>
</pre>
<p><strong>The HTML / CSS / ASP.NET:</strong></p>
<pre>
<code>
<p class='<%= IsLoggedIn() %>'>You are Logged In
<style type="text/css">
.False{
      display:none;
}
</style>

</code>
</pre>
<p><strong>Example:</strong><br />
This one is a little difficult to link to, as you would need to log in to see the end result. But if you navigate to <a href="http://aol.artemis-staging.com/admin">the Antioch Church admin login page</a>, you&#8217;ll see almost what I mean. If you were to log in, you would see &#8220;Logout&#8221; at the bottom of the page.</p>
<p><strong>Return the Name of the Top Ancestor Page of your current location. Good for usability.</strong></p>
<pre>
<code>
/* -------------------------------------
|  Function Name: SectionName()
|  Primary Purpose: Returns the name of the top Ancestor page in a two-tier page heirarchy
|
|  Use: Display the name of the section the user is navigating in. Can be
|         modified to include more levels of navigation.
----------------------------------------*/
Public Function SectionName() As String
If PortalSettings.ActiveTab.ParentId <> -1 then
	Dim tc As DotNetNuke.Entities.Tabs.TabController = New DotNetNuke.Entities.Tabs.TabController
		Dim parentName As String = tc.GetTab(PortalSettings.ActiveTab.ParentId).TabName
		Return parentName
Else
	Return PortalSettings.ActiveTab.tabname
End if
End Function
</code>
</pre>
<p><strong>HTML / ASP.NET:</strong></p>
<pre>
<code>
<h2 class="sectionname"><%= SectionName() %></h2>

</code>
</pre>
<p><strong>Example:</strong><br />
This one is used on the Auto-Owners web site, and one good example is the <a href="http://auto-owners.com/life.aspx">Life Insurance section</a>. Notice that the words &#8220;Life Insurance&#8221; are always at the top of the life insurance sub pages. This is deliberate and automatic. It was not typed into the text editor anywhere. It is built into the skin so that each sub page gets it automatically, and if the name of that section changes, the heading would change, too.</p>
<p>To see how it works on sections with more than one tier of navigation, see the <a href="http://cityofsouthfield.com/CityDepartments/tabid/180/Default.aspx">City of Southfield Departments</a>. I&#8217;ve written the script in these skins to apply up to 6 levels of navigation. At the time of development, the level didn&#8217;t go beyond 5.</p>
<p><strong>Assign a class to your navigation, using SectionName(), to show the user where they are:</strong></p>
<pre>
<code>
/* -------------------------------------
|  Function Name: AssignClass()
|  Primary Purpose: Accepts a string, and matches that string against the
|                          SectionName() return value
|
|  Use: Assign the class "here" to the current section's navigation anchor,
|          so it may be styled differently than the rest of the menu.
----------------------------------------*/

Public Function AssignClass(ByVal expectedName As String) As String
	If SectionName() = expectedName Then
		Return "here"
	Else
		Return "menu"
	End If
End Function
</code>
</pre>
<p><strong>HTML / CSS / ASP.NET:</strong><br />
<em>Add the &#8220;a&#8221; to the anchor tags. The &#8220;code plugin&#8221; won&#8217;t let me put anchor tags in the code blocks.</em></p>
<pre>
<code>
<ul id="nav">
<li>< href="/">Home</a></li>
<li>< href="/AboutUs/TabId/00/Default.aspx" class='<%= AssignClass('About Us') % >'>About Us</a></li>
<li>< href="/ContactUs/TabId/00/Default.aspx" class='<%= AssignClass('Contact Us') %>'>Contact Us</a></li>
</ul>
<style type="text/css">
#nav a{
   display:block;
   width:100px;
   height:25px;
   background:url(images/nav_bg.gif) repeat-x 0 0;
}
#nav a:hover, #nav a.here{
   background-position:0 -25px;
}
</style>

</code>
</pre>
<p><strong>Example:</strong><br />
This one can be seen in use at the <a href="http://www.lansingsports.org">Greater Lansing Sports Authority</a> site. As you navigate through the site, the menu item stays in the &#8220;hover&#8221; state, indicating that you are in that section of the web site.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.joesak.com/2007/09/13/three-scripts-i-wrote-for-dotnetnuke-skins/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Driving Directions and the Web: A waste of time and space</title>
		<link>http://www.joesak.com/2007/08/10/driving-directions-and-the-web-a-waste-of-time-and-space/</link>
		<comments>http://www.joesak.com/2007/08/10/driving-directions-and-the-web-a-waste-of-time-and-space/#comments</comments>
		<pubDate>Fri, 10 Aug 2007 13:57:23 +0000</pubDate>
		<dc:creator>Joe Sak</dc:creator>
				<category><![CDATA[Usability]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Websites]]></category>
		<category><![CDATA[directins]]></category>
		<category><![CDATA[directions]]></category>
		<category><![CDATA[driving]]></category>
		<category><![CDATA[google maps]]></category>
		<category><![CDATA[mapquest]]></category>
		<category><![CDATA[routes]]></category>

		<guid isPermaLink="false">http://www.joesak.com/driving-directions-and-the-web-a-waste-of-time-and-space/</guid>
		<description><![CDATA[I&#8217;ve been doing a lot of content integration in the past couple years and I&#8217;ve noticed that almost every one of our clients loves to type out lengthy pages to give people directions to their location. They usually look something like this: If you&#8217;re coming from the NORTH (you&#8217;re lucky if they bold it) Take [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been doing a lot of content integration in the past couple years and I&#8217;ve noticed that almost every one of our clients loves to type out lengthy pages to give people directions to their location.</p>
<p><span id="more-48"></span></p>
<p>They usually look something like this:</p>
<p><strong>If you&#8217;re coming from the NORTH</strong> (you&#8217;re lucky if they bold it)<br />
Take I-89 S to M-103 W via exit 29<br />
blah blah blah</p>
<p><strong>If you&#8217;re driving from the WEST</strong> (does anyone really always know if they are WEST or NORTH or whatever?)<br />
Take M-103 E to exit 49<br />
Turn left on Main Dr.<br />
so on and so forth</p>
<p>I don&#8217;t know why it&#8217;s popular for people to type out directions like this. <a href="http://maps.google.com">Google maps</a> has been around for quite some time, and <a href="http://www.mapquest.com">Mapquest</a> has definitely had its tenure on the web.</p>
<p>Why is it still such a big deal for people to type out directions to their location? It&#8217;s highly unusable, takes too long to read and comprehend, and is prone to typos and mistakes. A simple link to google maps of your address will work much better for everyone. From there, your users can type in their address and get an exact route from their location. They don&#8217;t need to stop and figure out &#8220;Ok, wait. Am I coming from the NORTH, or EAST? Or Northeast? Or northwest? Which directions should I jot down?&#8221; They can just put in their address and get turn-by-turn directions.</p>
<p>Let your users get a route from Google or Mapquest, and stop wasting your time along with theirs.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.joesak.com/2007/08/10/driving-directions-and-the-web-a-waste-of-time-and-space/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Login Usability: Am I in or out?</title>
		<link>http://www.joesak.com/2007/08/01/login-usability-am-i-in-or-out/</link>
		<comments>http://www.joesak.com/2007/08/01/login-usability-am-i-in-or-out/#comments</comments>
		<pubDate>Wed, 01 Aug 2007 13:41:44 +0000</pubDate>
		<dc:creator>Joe Sak</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Feedback]]></category>
		<category><![CDATA[Improving Code]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Usability]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Websites]]></category>

		<guid isPermaLink="false">http://www.joesak.com/login-usability-am-i-in-or-out/</guid>
		<description><![CDATA[UPDATE: After making this post, and refreshing the parallels forums page, I was presented with &#8220;Welcome, Joseph Sak&#8221; instead of a login prompt. So maybe I got it wrong, or they did, but this post still stands! The Parallels Forums recently got some redesign and information restructure, which all looks good and is organized quite [...]]]></description>
			<content:encoded><![CDATA[<p><strong>UPDATE:</strong> <em>After making this post, and refreshing the parallels forums page, I was presented with &#8220;Welcome, Joseph Sak&#8221; instead of a login prompt. So maybe I got it wrong, or they did, but this post still stands!<br />
</em></p>
<p><a href="http://forums.parallels.com">The Parallels Forums</a> recently got some redesign and information restructure, which all looks good and is organized quite well. But they&#8217;ve missed a couple really easy issues with their login functionality.</p>
<p><span id="more-47"></span></p>
<p>When you log into the Parallels Forums, it takes you to a &#8220;logging in&#8221; screen and redirects you back to where you were, which is fine, but what is this?!</p>
<h2>Am I logged in or out?</h2>
<p><img src="/images/logged-in-or-out.gif" alt="Am I logged in or out of Parallels Forums?" /></p>
<p>This is what you see in the top right of the forums after logging in. Apparantly, I&#8217;m logged in because I can start threads, but unless I click on the &#8220;+&#8221; symbol in the top left and opening a post-thread page, I have no visual cue that I am logged in.</p>
<p>Originally, with the old design, you saw your name and a &#8220;logout&#8221; link next to it. Or you could click your name to edit your profile. This was highly usable and gave immediate feedback to the user that yes, <strong>John Smith</strong>, you are logged in.</p>
<p>Now, Parallels, if you&#8217;re not willing to clean up that little mess, why are you making me erase &#8220;Login&#8221; from your textbox before typing my user name?</p>
<p><img src="/images/dont-erase-me-please.gif" alt="Why doesn't it disappear onclick?" /></p>
<p>You can solve this with a simple function.</p>
<p><code><br />
onclick="eraseInput();"</p>
<p>...</p>
<p>function eraseInput(){<br />
     if(this.value == "Login"){<br />
        this.value = "";<br />
     } else { return false; }<br />
}</p>
<p></code></p>
<p>Pretty simple usability points, and I can&#8217;t believe Parallels just got rid of them with their new design.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.joesak.com/2007/08/01/login-usability-am-i-in-or-out/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Modifying DotNetNuke Search and Improving the Results</title>
		<link>http://www.joesak.com/2007/07/14/modifying-dotnetnuke-search-and-improving-the-results/</link>
		<comments>http://www.joesak.com/2007/07/14/modifying-dotnetnuke-search-and-improving-the-results/#comments</comments>
		<pubDate>Sat, 14 Jul 2007 12:41:38 +0000</pubDate>
		<dc:creator>Joe Sak</dc:creator>
				<category><![CDATA[Artemis Solutions Group]]></category>
		<category><![CDATA[Custom Development]]></category>
		<category><![CDATA[DotNetNuke]]></category>
		<category><![CDATA[Improving Code]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[Search Engines]]></category>
		<category><![CDATA[Search Modules]]></category>
		<category><![CDATA[Search Results]]></category>
		<category><![CDATA[Stored Procedure Improvement]]></category>
		<category><![CDATA[Usability]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Websites]]></category>
		<category><![CDATA[Work Stuff]]></category>

		<guid isPermaLink="false">http://www.joesak.com/modifying-dotnetnuke-search-and-improving-the-results/</guid>
		<description><![CDATA[Recently, I modified the Stored Procedure named &#8220;GetSearchResults&#8221; to improve the results pages in DotNetNuke web sites. Here is my explanation from the DNN forums. OK &#8212; here is where the actual change is: &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; AND (sw.Word like &#8216;%&#8217; + @Word + &#8216;%&#8217;) AND (t.IsDeleted = 0) AND (t.DisableLink = 0) AND (m.IsDeleted = 0) [...]]]></description>
			<content:encoded><![CDATA[<p>Recently, I modified the Stored Procedure named &#8220;GetSearchResults&#8221; to improve the results pages in DotNetNuke web sites. Here is my explanation from the DNN forums.</p>
<p><span id="more-44"></span></p>
<p>OK &#8212; here is where the actual change is:</p>
<p> &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<p><strong>  AND (sw.Word like &#8216;%&#8217; + @Word + &#8216;%&#8217;)</strong></p>
<p>    AND (t.IsDeleted = 0)</p>
<p><strong>    AND (t.DisableLink = 0)</strong></p>
<p>    AND (m.IsDeleted = 0)</p>
<p>    AND (t.PortalID = @PortalID)</p>
<p><strong>    OR (m.ModuleTitle like &#8216;%&#8217; + @Word + &#8216;%&#8217;)</strong></p>
<p>&#8212;&#8212;&#8212;&#8211;</p>
<p>The bolded lines are the changes</p>
<p>First line is how the search term is matched. Instead of exact, it does a like. We found that a lot of clients would complain that searching &#8220;map&#8221;, for instance, would not return pages which had the word &#8220;maps&#8221; on them. Or &#8220;auto&#8221; won&#8217;t give you &#8220;automobile&#8221;.</p>
<p>Second is the disablelink line. We had the problem of hidden pages showing up in results  but realized sometimes we WANT hidden pages to show up, but sometimes we hide pages because they&#8217;re not ready to be published. So I decided that if I &#8220;disable&#8221; the page then I definitely don&#8217;t want it to come up in the results, but I might want to keep it for later (we aren&#8217;t much for deleting pages around here)</p>
<p>Third is the OR m.ModuleTitle like &#8216;%&#8217; + @Word + &#8216;%&#8217; part &#8212; now this is kind of a subjective one. I have a web site right now for a client that sells insurance. Home insurance, life insurance, and car insurance. When I searched &#8220;car&#8221; I didn&#8217;t get the car insurance page at all, even though the page was titled car insurance and the module was titled car insurance&#8230; The content copy used the word &#8220;automobile&#8221; because this particular client is very traditional and was picky about that wording. So I added the &#8220;OR&#8221; line because if we put the search term in the title, it&#8217;s most likely relevant. We know module titles are what show up as the links on the SRP and so we make sure those titles are always relevant and helpful for the user.</p>
<p>BUT &#8212; we would like to see page name or page title as an option in the settings for how the text displays. we couldn&#8217;t figure out how to modify the core to do that.</p>
<p>OK that is all i hope this has been informational</p>
]]></content:encoded>
			<wfw:commentRss>http://www.joesak.com/2007/07/14/modifying-dotnetnuke-search-and-improving-the-results/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Page Title SEO</title>
		<link>http://www.joesak.com/2007/05/18/page-title-seo/</link>
		<comments>http://www.joesak.com/2007/05/18/page-title-seo/#comments</comments>
		<pubDate>Fri, 18 May 2007 15:55:45 +0000</pubDate>
		<dc:creator>Joe Sak</dc:creator>
				<category><![CDATA[Artemis Solutions Group]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[Teamwork]]></category>
		<category><![CDATA[Usability]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Websites]]></category>
		<category><![CDATA[Work Stuff]]></category>
		<category><![CDATA[XHTML]]></category>

		<guid isPermaLink="false">http://www.joesak.com/page-title-seo/</guid>
		<description><![CDATA[I&#8217;ve recently sent out an email at work explaining Page Titles and their importance with SEO. I thought I&#8217;d share it on my blog. You may or may not have noticed that my Post titles and page titles come before my blog title in my page titles. I did this specifically because of SEO. PAGE [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve recently sent out an email at work explaining Page Titles and their importance with SEO. I thought I&#8217;d share it on my blog. You may or may not have noticed that my Post titles and page titles come before my blog title in my page titles. I did this specifically because of SEO.</p>
<p><strong>PAGE TITLE</strong>: &#8211; the text that shows up at the <strong>TOP OF THE BROWSER</strong> and in <strong>GOOGLE / YAHOO / MSN et al SEARCH RESULTS</strong></p>
<p>Why is the page title important? It is what the casual searching web user will see when searching for content / services offered by <strong>YOUR CLIENT.</strong> So the page titles <strong>MUST INCLUDE </strong>keywords relevant to the pageâ??s content. The page title should be formatted well and <strong>DEFINITELY BE MORE THAN JUST A COPY OF THE PAGE NAME.</strong> The client name should be included.</p>
<p>If you donâ??t know how to do a very quick keyword-density page title, then <strong>AT THE VERY LEAST,</strong> format your page titles like this:</p>
<p><strong>PAGE NAME | CLIENT / WEB SITE NAME</strong></p>
<p>So if your client is <strong><a href="http://www.artemis-solutions.com">Artemis Solutions Group</a></strong> and the page is <strong><a href="http://www.artemis-solutions.com/web_design.aspx">Web Design</a></strong></p>
<p>You can <strong>AT LEAST</strong> type this much:</p>
<p><strong>Web Design | Artemis Solutions Group</strong></p>
<p>But <strong>if you want to be keyword-savvy</strong> (just do a quick search and read on SEO Page Titles and Keywords for quick reference)</p>
<p>You could format it like this:</p>
<p><strong>Web Design &#038; Development | Lansing, MI | Professional Web site Design | Artemis Solutions Group</strong></p>
<p>Itâ??s worth a LOT to the client for us as developers to think about their web marketing strategy and how their content and custom features affect that strategy. A little bit of Usability goes a long way, and is very easy to do.</p>
<p>Proper page titles take minimal effort, and add superb value to the client.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.joesak.com/2007/05/18/page-title-seo/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk
Page Caching using disk (enhanced)
Database Caching 10/16 queries in 0.006 seconds using disk

Served from: www.joesak.com @ 2010-09-09 21:25:08 -->