<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://bloggingabout.net/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Dotgrid by Roiy Zysman : HFE</title><link>http://bloggingabout.net/blogs/dotgrid/archive/tags/HFE/default.aspx</link><description>Tags: HFE</description><dc:language>en</dc:language><generator>CommunityServer 2008.5 SP2 (Build: 40407.4157)</generator><item><title>User Friendly UIs - Doing the extra mile</title><link>http://bloggingabout.net/blogs/dotgrid/archive/2007/08/28/user-friendly-uis-doing-the-extra-mile.aspx</link><pubDate>Tue, 28 Aug 2007 19:53:00 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:350469</guid><dc:creator>dotgrid</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bloggingabout.net/blogs/dotgrid/rsscomments.aspx?PostID=350469</wfw:commentRss><comments>http://bloggingabout.net/blogs/dotgrid/archive/2007/08/28/user-friendly-uis-doing-the-extra-mile.aspx#comments</comments><description>&lt;p&gt;There are some simple basic rules to follow &lt;a href="http://bloggingabout.net/blogs/dotgrid/angry_baby_head.jpg"&gt;&lt;img style="WIDTH:134px;HEIGHT:156px;" height="156" src="http://bloggingabout.net/blogs/dotgrid/angry_baby_head.jpg" width="134" align="right" border="0" alt="" /&gt;&lt;/a&gt;when designing a web page. One of them is keeping your customer happy by&lt;br /&gt;not surprising him with unwanted results. A lot of content sites , which their content expands beyond the window frame also have an auto&amp;nbsp;refresh mechanisms. And this leads to a deadly mixture where you scroll down to the lower parts of the page , you begin reading a paragraph and the &amp;quot;Pooof&amp;quot; the page turns white, the page refreshes and the view is back at the top of the page. Well now of course, you have to scroll down again and find the paragraph you read just a second ago.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;The solution is not complicated , it consists of just&amp;nbsp;checking the page&amp;#39;s&amp;nbsp;Y scroll offset before a page refresh occurs. [See JS code below]&lt;br /&gt;So from now on when you insert an automatic page refresh, checking for the pages Y offset before refreshing is just telling your customer you care...&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;...&lt;br /&gt;...&lt;br /&gt;...&lt;br /&gt;function doLoad()&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; setTimeout( &amp;quot;refresh()&amp;quot;, 2*1000 );&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function refresh()&lt;br /&gt;{&lt;br /&gt;&amp;nbsp; // use the following for cross browser compatability&lt;br /&gt;&amp;nbsp; //(document.all)?document.body.scrollLeft:window.pageXOffset;&amp;nbsp;&lt;br /&gt;&amp;nbsp; //(document.all)?document.body.scrollTop:window.pageYOffset;&amp;nbsp;&lt;br /&gt;&amp;nbsp; if&lt;b&gt;(&amp;quot;0&amp;quot; == document.body.scrollTop&lt;/b&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; window.location.href = sURL;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp; else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //at this point , the user scrolled &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //down and is probably reading the page&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //either we double the refresh rate time ,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;// or just hang in a few more seconds/minutes&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //to let him finish. In this specific case &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //we&amp;#39;re increasing the refresh time to 2 minutes&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; setTimeout( &amp;quot;refresh()&amp;quot;, 120*1000 );&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;//--&amp;gt;&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&amp;lt;/head&amp;gt;&lt;br /&gt;&amp;lt;body onload=&amp;quot;doLoad()&amp;quot;&amp;gt;&lt;br /&gt;...&lt;br /&gt;...&lt;br /&gt;...&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=350469" width="1" height="1"&gt;</description><category domain="http://bloggingabout.net/blogs/dotgrid/archive/tags/User+friendly/default.aspx">User friendly</category><category domain="http://bloggingabout.net/blogs/dotgrid/archive/tags/HFE/default.aspx">HFE</category><category domain="http://bloggingabout.net/blogs/dotgrid/archive/tags/UI/default.aspx">UI</category></item></channel></rss>