<?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>Marilyn Burgess &#187; Usability</title>
	<atom:link href="http://marilynburgess.com/category/usability/feed/" rel="self" type="application/rss+xml" />
	<link>http://marilynburgess.com</link>
	<description></description>
	<lastBuildDate>Mon, 29 Aug 2011 16:33:14 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Put a handle on mooTools Drag.Move</title>
		<link>http://marilynburgess.com/2010/01/put-a-handle-on-mootools-drag-move/</link>
		<comments>http://marilynburgess.com/2010/01/put-a-handle-on-mootools-drag-move/#comments</comments>
		<pubDate>Tue, 12 Jan 2010 17:54:45 +0000</pubDate>
		<dc:creator>marilyn</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Usability]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Drag.Move]]></category>
		<category><![CDATA[Handle]]></category>
		<category><![CDATA[mooTools]]></category>
		<category><![CDATA[not clickable inputs]]></category>

		<guid isPermaLink="false">http://blog.listcentral.me/?p=543</guid>
		<description><![CDATA[In the next version of List Central the little popup form that enables the user to edit list items will be dragable so that the list maker can move it to where ever they would prefer to have it. It is a great little feature that really adds to the usability of List Central. When [...]]]></description>
			<content:encoded><![CDATA[<p>In the next version of List Central the little popup form that enables the user to edit list items will be dragable so that the list maker can move it to where ever they would prefer to have it. It is a great little feature that really adds to the usability of List Central.</p>
<p>When I was implementing the dragable popup form feature I was pleased at how easy it was to use <a href="http://mootools.net/docs/more/Drag/Drag.Move">mooTool&#8217;s Drag.Move</a>. My little form was easily moved to anywhere in the browser window, just as I intended. A problem arose when I tried to <em>use</em> the form inside the dragable element. The input elements of the form were not clickable, I could not get them to have focus, as if they were behind an invisible layer, which is actually what was going on. The form elements inside the dragable div they sitting in were not clickable, because they were dragable! Ack!</p>
<p>Happily I was able to find a solution for my problem: the dragable element required a <em>handle</em>.</p>
<p><a href="http://marilynburgess.com/images/2010/01/edit.gif"><img class="alignnone size-medium wp-image-544" title="edit" src="http://marilynburgess.com/images/2010/01/edit-300x157.gif" alt="" width="300" height="157" /></a></p>
<p>The above image shows the Drag.Move handle in the upper right corner of the edit list item form div. You cannot move that dragable element unless you grab it by the handle, the move icon. Using a handle frees up the rest of the element for other clickable elements, like a form.</p>
<p>The JavaScript for including a handle in your Drag.Move element is as follows:</p>
<pre class="brush: javascript">
new Drag.Move(&#039;dragableDivID&#039;, {handle: &#039;dragHandleID&#039;});
</pre>
<p>and the HTML, with some CSS:</p>
<pre class="brush: html">
&lt;style&gt;
.dragHandle{
    background:transparent url(/images/move.png) no-repeat scroll 0 0;
    cursor:move;
    float:right;
    height:30px;
    margin:15px 15px 0 0;
    width:30px;
}
&lt;/style&gt;
&lt;div class=&#039;dragableBox&#039; id=&#039;dragableDivID&#039;&gt;
     &lt;div class=&#039;dragHandle&#039; id=&#039;dragHandleID&#039;&gt;&lt;/div&gt;
     &lt;div class=&#039;dragableInner&#039;&gt; The content goes here&lt;/div&gt;
&lt;/div&gt;
</pre>
<p>In looking for this solution I found this great tutorial series by <a href="http://www.consideropen.com/">Consider:open</a> called <a href="http://www.consideropen.com/blog/tag/30-days-of-mootools/"><strong>30 Days of mooTools</strong></a>.  The entire series is very well done. Web developers at any level are likely to learn something new about mooTools there. Check out thethe <a href="http://www.consideropen.com/blog/2008/08/30-days-of-mootools-12-tutorials-day-12-drag-and-drop-using-dragmove/">tutorial on Drag.Move</a> from the series that helped me out.</p>
<h3  class="related_post_title">You might also like...</h3><ul class="related_post"><li><a href="http://marilynburgess.com/2010/01/maintaining-dynamic-height-on-a-fx-slide-element-with-mootools/" title="Maintaining Dynamic Height on a Fx.Slide element with Mootools">Maintaining Dynamic Height on a Fx.Slide element with Mootools</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://marilynburgess.com/2010/01/put-a-handle-on-mootools-drag-move/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Persistent Cookies</title>
		<link>http://marilynburgess.com/2009/04/persistent-cookies/</link>
		<comments>http://marilynburgess.com/2009/04/persistent-cookies/#comments</comments>
		<pubDate>Fri, 17 Apr 2009 23:20:35 +0000</pubDate>
		<dc:creator>marilyn</dc:creator>
				<category><![CDATA[Usability]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Persistent cookies]]></category>
		<category><![CDATA[Remember me]]></category>

		<guid isPermaLink="false">http://blog.listcentral.me/?p=77</guid>
		<description><![CDATA[The &#8220;Remember Me&#8221; feature on the login to many of the web&#8217;s applications is a valuable time saving mechanism for the user, saving time on trusted computers. This feature is implemented by the use of persistent cookies. I first implemented persistent cookies, or the &#8216;Remember me&#8217; function on List Central because I was sick of [...]]]></description>
			<content:encoded><![CDATA[<p>The &#8220;Remember Me&#8221; feature on the login to many of the web&#8217;s applications is a valuable time saving mechanism for the user, saving time on trusted computers. This feature is implemented by the use of persistent cookies. I first implemented persistent cookies, or the &#8216;Remember me&#8217; function on List Central because I was sick of having to login several times a day, but I also value the improved usability it will offer to my future users!</p>
<p>The below diagram briefly illustrates how I implemented persistent cookies on List Central:</p>
<div id="attachment_149" class="wp-caption alignnone" style="width: 510px"><img class="size-full wp-image-149" title="persistentcookie" src="http://marilynburgess.com/images/2009/03/persistentcookie.png" alt="Persistent Cookies " width="500" height="350" /><p class="wp-caption-text">Persistent Cookies </p></div>
<p>My diagram is certainly cute, but it&#8217;s not terribly clear, so I&#8217;ll spell out the steps:</p>
<ol>
<li>A user requests a page from List Central</li>
<li>List Central checks the users cookie jar for the List Central login cookie
<ol>
<li>If found, the user is considered to be logged in</li>
<li>If not found, List Central checks the users cookie jar for the List Central Persistent cookie
<ol>
<li>If found, the system checks the, seemingly meaningless string of characters to determine if it has found a valid persistent cookie
<ol>
<li>If the persistent cookie is valid, the system sets the List Central login cookie, and considers the user to be logged in</li>
</ol>
</li>
<li>If no persistent cookie was found, or it was found to be invalid, or expired, the user is not considered to be logged in, and is treated as a guest until s/he logs in via the login form
<ol>
<li>On successful login, the system sets the List Central login cookies, and sets the persistent cookie only if the user checked &#8216;Remember me&#8217;</li>
</ol>
</li>
</ol>
</li>
</ol>
</li>
</ol>
<p>The &#8220;Login&#8221; cookie is set every time the user comes to the site and it is set to expire at the end of the session. The value of this cookie is a unique string that identifies the user on the site, encrypted, of course. The persistent cookie is only set when the user successfully logs in and checks &#8216;Remember me&#8217;. The system is able to validate the encrypted value of the persistent cookie against a corresponding value in the database to verify the identity of the user. It is set to expire after 2 weeks, which will result in the user having to login again after that time period.</p>
<p>It is important to note that there is a security risk involved in using persistent cookies. The user could accidently check &#8220;Remember Me&#8221; on a public computer, or someone other than the user could gain access to his or her computer. It is important to <strong>always request the user to re-enter their username and password when changing important user information</strong>, such as their email, username and password.</p>
<h3  class="related_post_title">Random Posts</h3><ul class="related_post"><li><a href="http://marilynburgess.com/2009/09/friday-round-up/" title="Friday Round Up ">Friday Round Up </a></li><li><a href="http://marilynburgess.com/2010/04/make-flash-sit-behind-html-elements/" title="Make Flash sit behind HTML elements">Make Flash sit behind HTML elements</a></li><li><a href="http://marilynburgess.com/2009/03/writing-a-business-plan/" title="Writing a Business Plan">Writing a Business Plan</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://marilynburgess.com/2009/04/persistent-cookies/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

