<?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>codefork.com &#187; user interface</title>
	<atom:link href="http://codefork.com/blog/index.php/category/user-interface/feed/" rel="self" type="application/rss+xml" />
	<link>http://codefork.com/blog</link>
	<description>branching out</description>
	<lastBuildDate>Thu, 10 Jun 2010 00:24:43 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Monitoring DSL diagnostics on a ZyXEL P-600 Series modem</title>
		<link>http://codefork.com/blog/index.php/2010/01/17/monitoring-dsl-diagnostics-on-a-zyxel-p-600-series-modem/</link>
		<comments>http://codefork.com/blog/index.php/2010/01/17/monitoring-dsl-diagnostics-on-a-zyxel-p-600-series-modem/#comments</comments>
		<pubDate>Mon, 18 Jan 2010 00:51:07 +0000</pubDate>
		<dc:creator>jeff</dc:creator>
				<category><![CDATA[python]]></category>
		<category><![CDATA[user interface]]></category>

		<guid isPermaLink="false">http://codefork.com/blog/?p=135</guid>
		<description><![CDATA[The DSL at the house has been really flakey the past 3 days. The line seems to periodically drop and I also noticed that the voice line had a lot of static.
I suspected a line problem so I called Earthlink support last night to try to get it straightened out. Surprisingly, the line tested good [...]]]></description>
			<content:encoded><![CDATA[<p>The DSL at the house has been really flakey the past 3 days. The line seems to periodically drop and I also noticed that the voice line had a lot of static.</p>
<p>I suspected a line problem so I called Earthlink support last night to try to get it straightened out. Surprisingly, the line tested good up until the point where it came into the house. But the diagnostics on the DSL modem were showing low noise margin (signal-to-noise ratio) and high attenuation (degradation), so there was definitely a problem somewhere. The trouble had to be inside the house: either the DSL modem or some wiring somewhere had gone bad or both.</p>
<p>I tried changing out some cables and tweaking the way the phone and fax (my housemate runs her own business) were all hooked up into the line. That seems to have fixed the problem. The line&#8217;s been steady for almost 24 hours now. I&#8217;ve been watching the diagnostics and researching what the numbers mean, and they seem to be within acceptable-to-good ranges. So far so good.</p>
<p>It was annoying to have to load the web interface on the ZyXEL P-600 Series modem (it&#8217;s a P-660R-ELNK) and continually refresh the page to watch the diagnostics. Plus I had to remember if any of the numbers changed and by how much. So I whipped up a little python script to fetch the data from the web interface and do some logging.</p>
<p>There were some interesting peculiarities in the ZyXEL web interface. After authenticating with a password, only that computer&#8217;s IP can use the interface, apparently; requests from other hosts get locked out until a few minutes of inactivity. Also, the way the interface refreshed the diagnostics page was a bit odd: it used a form submission to set some state that would cause another page to update its contents.</p>
<p>The script output looks like this:</p>
<blockquote><p>Sun Jan 17 19:15:37 2010 noise = 16 (good) outputPower = 11 attenuation = 31 (very good)<br />
Sun Jan 17 19:16:37 2010 noise = 17 (good) outputPower = 11 attenuation = 31 (very good)<br />
Sun Jan 17 19:17:38 2010 noise = 17 (good) outputPower = 11 attenuation = 31 (very good)<br />
Sun Jan 17 19:18:38 2010 noise = 17 (good) outputPower = 11 attenuation = 31 (very good)<br />
Sun Jan 17 19:19:38 2010 noise = 17 (good) outputPower = 11 attenuation = 31 (very good)<br />
Sun Jan 17 19:20:39 2010 noise = 17 (good) outputPower = 11 attenuation = 31 (very good)<br />
Sun Jan 17 19:21:39 2010 noise = 17 (good) outputPower = 11 attenuation = 31 (very good)<br />
Sun Jan 17 19:22:39 2010 noise = 17 (good) outputPower = 11 attenuation = 31 (very good)<br />
Sun Jan 17 19:23:39 2010 noise = 18 (good) outputPower = 11 attenuation = 31 (very good)<br />
Sun Jan 17 19:24:39 2010 noise = 17 (good) outputPower = 11 attenuation = 31 (very good)</p></blockquote>
<p><a href="http://codefork.com/code/dsl_diagnostics.py">A copy of the script is available here.</a> You may need to do some tweaking to get it to work with your setup. It works with python 2.5 and 2.6.</p>
]]></content:encoded>
			<wfw:commentRss>http://codefork.com/blog/index.php/2010/01/17/monitoring-dsl-diagnostics-on-a-zyxel-p-600-series-modem/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>FixedGearGallery Index 2.0</title>
		<link>http://codefork.com/blog/index.php/2009/05/04/fixedgeargallery-index-20/</link>
		<comments>http://codefork.com/blog/index.php/2009/05/04/fixedgeargallery-index-20/#comments</comments>
		<pubDate>Tue, 05 May 2009 05:05:36 +0000</pubDate>
		<dc:creator>jeff</dc:creator>
				<category><![CDATA[culture]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[user interface]]></category>

		<guid isPermaLink="false">http://codefork.com/blog/?p=94</guid>
		<description><![CDATA[I created a new interface for my FixedGearGallery Index. What better way to procrastinate than spending a few hours on code?
The original purpose of the index was to provide an easy way to browse through the relevant pages of a particular make/model on FGG. My first version accomplished that goal, but it&#8217;s awfully clunky. After [...]]]></description>
			<content:encoded><![CDATA[<p>I created <a href="http://codefork.com/fgg2/">a new interface for my FixedGearGallery Index</a>. What better way to procrastinate than spending a few hours on code?</p>
<p>The original purpose of the index was to provide an easy way to browse through the relevant pages of a particular make/model on FGG. My <a href="http://codefork.com/fgg/">first version</a> accomplished that goal, but it&#8217;s awfully clunky. After using it a while, I discovered how annoying it was to toggle between windows and keep track of where I was in the list.</p>
<p>The new version places navigation controls in a small area at the top of the page. It loads content from FGG into an iframe, eliminating the need for switching among windows. And the previous/next links allow you to browse sequentially, making it much easier to keep track of what you&#8217;ve already seen.</p>
<p>It&#8217;s not perfect but it&#8217;s definitely an improvement. I have fancier ideas for organizing FGG content but I don&#8217;t want to go too far by pirating Dennis&#8217; site. I&#8217;m grateful he gave me permission to do the index at all when I emailed him about it a few months ago.</p>
]]></content:encoded>
			<wfw:commentRss>http://codefork.com/blog/index.php/2009/05/04/fixedgeargallery-index-20/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The GoDaddy.com Auto-Renewal Headache</title>
		<link>http://codefork.com/blog/index.php/2009/02/01/the-godaddycom-auto-renewal-headache/</link>
		<comments>http://codefork.com/blog/index.php/2009/02/01/the-godaddycom-auto-renewal-headache/#comments</comments>
		<pubDate>Sun, 01 Feb 2009 20:29:40 +0000</pubDate>
		<dc:creator>jeff</dc:creator>
				<category><![CDATA[misc]]></category>
		<category><![CDATA[user interface]]></category>

		<guid isPermaLink="false">http://codefork.com/blog/?p=79</guid>
		<description><![CDATA[Today I got two emails from GoDaddy.com. One informed me that a few of my domain registrations were about to expire. That was expected; I no longer wanted them. The other was a puzzling order confirmation. My credit card had been charged for renewal of &#8220;business registrations&#8221; for those same domains.
So while I no longer [...]]]></description>
			<content:encoded><![CDATA[<p>Today I got two emails from GoDaddy.com. One informed me that a few of my domain registrations were about to expire. That was expected; I no longer wanted them. The other was a puzzling order confirmation. My credit card had been charged for renewal of &#8220;business registrations&#8221; for those same domains.</p>
<p>So while I no longer owned those three domains, I did now have active business registrations for them costing $4.99 each. (I actually can&#8217;t even remember what those are or why I had them in the first place.) Great.</p>
<p>It actually took me a few minutes of navigating the insanity that is GoDaddy.com&#8217;s website in order to figure out what had happened. Under &#8220;Domain Manager,&#8221; my settings had auto-renew set to Off for each domain, which was correct. But under the &#8220;Business Registration&#8221; page, <strong>there is no such setting</strong>. The interface only allows you to edit profile information. There appears to be NO WAY to turn off the default auto-renewal for business registrations.</p>
<p>To their credit, I was able to call their billing support number, explain my situation, and get a refund. The person I spoke understood immediately what had happened and was extremely helpful.</p>
<p>Beware, GoDaddy customers.</p>
]]></content:encoded>
			<wfw:commentRss>http://codefork.com/blog/index.php/2009/02/01/the-godaddycom-auto-renewal-headache/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Musings on User Interfaces</title>
		<link>http://codefork.com/blog/index.php/2007/10/26/musings-on-user-interfaces/</link>
		<comments>http://codefork.com/blog/index.php/2007/10/26/musings-on-user-interfaces/#comments</comments>
		<pubDate>Fri, 26 Oct 2007 19:18:36 +0000</pubDate>
		<dc:creator>jeff</dc:creator>
				<category><![CDATA[user interface]]></category>

		<guid isPermaLink="false">http://codefork.com/blog/index.php/2007/10/26/musings-on-user-interfaces/</guid>
		<description><![CDATA[It&#8217;s interesting to read how different people are reacting to the user interface changes (&#8221;improvements?&#8221;) in Leopard, which got released today. It&#8217;s probably premature to say how opinion will ultimately shake out. But I&#8217;ve started to collect some noteworthy opinions.
Also concerning user interfaces: Mozilla Prism has been announced. It&#8217;s a project which extends the existing [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s interesting to read how different people are reacting to the user interface changes (&#8221;improvements?&#8221;) in Leopard, which got released today. It&#8217;s probably premature to say how opinion will ultimately shake out. But I&#8217;ve started to collect some <a href="http://debatewire.org/debate/Do_you_like_the_user_interface_changes/">noteworthy opinions</a>.</p>
<p>Also concerning user interfaces: <a href="http://labs.mozilla.com/2007/10/prism/">Mozilla Prism</a> has been announced. It&#8217;s a project which extends the existing browser platform of established web standards in order to run as desktop applications. The description is light on details and implementation, but several comments on the announcement already express skepticism. </p>
<p>Ian Bicking is clearly <a href="http://blog.ianbicking.org/2007/10/25/prism/">excited</a> about it (I actually found the announcement through his truly wonderful blog). He sees Prism as embracing the essence of the web model. The key, I think, is whether the extensions will be rich enough: will there be ways to access local storage, control security, and access devices? Without those changes, I&#8217;m not sure the desktop app &#8220;frame&#8221; around the web application buys all that much. Some underlying functionality needs to accompany the desktop interface in order to be really transformative.</p>
]]></content:encoded>
			<wfw:commentRss>http://codefork.com/blog/index.php/2007/10/26/musings-on-user-interfaces/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bad user interface! Bad! Bad!</title>
		<link>http://codefork.com/blog/index.php/2007/08/30/bad-user-interface-bad-bad/</link>
		<comments>http://codefork.com/blog/index.php/2007/08/30/bad-user-interface-bad-bad/#comments</comments>
		<pubDate>Fri, 31 Aug 2007 00:42:29 +0000</pubDate>
		<dc:creator>jeff</dc:creator>
				<category><![CDATA[user interface]]></category>

		<guid isPermaLink="false">http://codefork.com/blog/index.php/2007/08/30/bad-user-interface-bad-bad/</guid>
		<description><![CDATA[Changing options under the System Preferences panel for Mac OS typically takes effect immediately. Unlike Windows, there are no standard &#8220;OK&#8221; and &#8220;Cancel&#8221; buttons. That&#8217;s cool&#8230; it&#8217;s simpler and more intuitive that when you change something, well, it should just change.
Except when there&#8217;s a complicated panel that actually does have an &#8220;OK&#8221;-type button. Like Network [...]]]></description>
			<content:encoded><![CDATA[<p>Changing options under the System Preferences panel for Mac OS typically takes effect immediately. Unlike Windows, there are no standard &#8220;OK&#8221; and &#8220;Cancel&#8221; buttons. That&#8217;s cool&#8230; it&#8217;s simpler and more intuitive that when you change something, well, it should just change.</p>
<p>Except when there&#8217;s a complicated panel that actually does have an &#8220;OK&#8221;-type button. Like Network settings, for example. If I have a static IP address, the window looks like this:</p>
<p><img style="border: solid 2px;" src='http://codefork.com/blog/wp-content/uploads/2007/08/network_scr1.png' alt='network_scr1.png' /></p>
<p>Now, when I pull down the &#8220;Configure IPv4&#8243; selector and change it to &#8220;Using DHCP,&#8221; the panel immediately changes to look like this:</p>
<p><img style="border: solid 2px;" src='http://codefork.com/blog/wp-content/uploads/2007/08/network_scr2.png' alt='network_scr2.png' /></p>
<p>At this point, I always click &#8220;Renew DHCP Lease&#8221; to get a new address. I mean, it&#8217;s right there&#8211;so close to what I just changed. </p>
<p>But it doesn&#8217;t work. It grays out for two seconds, then becomes active again. The old address remains, unchanged. I&#8217;m fooled into thinking something is wrong with my network cable, or the network configuration is amiss elsewhere. I troubleshoot, and click and click, like an idiot&#8230;. until I realize I have to hit &#8220;Apply Now&#8221; at the bottom, before DHCP even takes effect.</p>
<p>Now, I&#8217;ll be the first to confess I&#8217;m no UI genius. I can make basic, clean-looking interfaces, but I make sure to get help when I need a solid UI for a complex workflow. But even with my impoverished sensibilities, I can spot the simple fix here that would save a great deal of anguish and wasted time for potentially frustrated Mac users everywhere. <em>Don&#8217;t show a damned button unless it does something. Or at least gray it out until it&#8217;s ready to be clicked.</em></p>
<p>Sheesh.</p>
]]></content:encoded>
			<wfw:commentRss>http://codefork.com/blog/index.php/2007/08/30/bad-user-interface-bad-bad/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
