<?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>Jim's Random Notes &#187; User Interface</title>
	<atom:link href="http://blog.mischel.com/category/user-interface/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.mischel.com</link>
	<description></description>
	<lastBuildDate>Wed, 21 Jul 2010 21:16:34 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Horde&#8217;s Idiotic Email Interface</title>
		<link>http://blog.mischel.com/2009/05/28/hordes-idiotic-email-interface/</link>
		<comments>http://blog.mischel.com/2009/05/28/hordes-idiotic-email-interface/#comments</comments>
		<pubDate>Fri, 29 May 2009 04:15:26 +0000</pubDate>
		<dc:creator>Jim</dc:creator>
				<category><![CDATA[Idiocy]]></category>
		<category><![CDATA[User Interface]]></category>

		<guid isPermaLink="false">http://blog.mischel.com/?p=486</guid>
		<description><![CDATA[I use Horde for my web-based email here at mischel.com.  Not because I particularly like it, but because it&#8217;s the best of the three options I&#8217;m given by my ISP.  The other two options are Squirrel Mail (aptly tagged &#8220;Webmail for Nuts!&#8221; because you&#8217;d have to be nuts to use it), and the interestingly named [...]]]></description>
			<content:encoded><![CDATA[<p>I use <a href="http://www.horde.org/">Horde</a> for my web-based email here at mischel.com.  Not because I particularly like it, but because it&#8217;s the best of the three options I&#8217;m given by my ISP.  The other two options are <a href="http://squirrelmail.org/">Squirrel Mail</a> (aptly tagged &#8220;Webmail for Nuts!&#8221; because you&#8217;d have to be nuts to use it), and the interestingly named <a href="http://roundcube.net/">RoundCube Webmail</a>, which is two oxymorons in one.  Not that Horde is so much better.  It&#8217;s just the best of three bad options.  To date, it hasn&#8217;t aggravated me enough to make me want to go to the trouble of switching.</p>
<p>Tonight I went searching in my Trash folder for a message.  Since their search function is, to be kind, somewhat lacking, I figured I could more easily find the message by sorting the folder by the From field.  Then just scroll down to the &#8216;M&#8217;s, (the message in question was from my sister Marie) and locate it.  So I sorted, scrolled down, and &#8230; there were <em>no</em> messages from Marie!  Where are they?  Why, they&#8217;re sorted further down with the &#8216;O&#8217;s, of course, because her email address starts with &#8216;O&#8217;.</p>
<p>That&#8217;s just stupid.  I could maybe understand it if the program showed me the email addresses in the From field, but it doesn&#8217;t.  It shows me the name.  So what I have is a list that&#8217;s sorted by email address, but shown in what appears to be random order.  You want a sample?  How about the following?  The first column shows the names as they appear in the list when I sort by the From field.  The second column shows the email addresses, which aren&#8217;t shown in the user interface.</p>
<table border="1" rules="none">
<tbody>
<tr>
<td><strong>From</strong></td>
<td><strong>email Address</strong></td>
</tr>
<tr>
<td>Presidential Who&#8217;s Who</td>
<td>info@2009strathmore.net</td>
</tr>
<tr>
<td>Charterhouse Leads</td>
<td>info@thecharterhousegroup.com</td>
</tr>
<tr>
<td>Phil</td>
<td>info@thecharterhousegroup.com</td>
</tr>
<tr>
<td>jennifer@greenschoolfundraiser.com</td>
<td>jennifer@greenschoolfundraiser.com</td>
</tr>
<tr>
<td>TechWeb</td>
<td>msdn@e.techwebresources.com</td>
</tr>
<tr>
<td>Amazon.com</td>
<td>music-store@amazon.com</td>
</tr>
</tbody>
</table>
<p>I think you get the idea.  If you&#8217;re searching for that email from Amazon, are you going to look for it with the rest of the &#8216;A&#8217;s, or with the &#8216;M&#8217;s?</p>
<p>(Spammers and email harvester bots, please pick up those email addresses and spam the hell out of them.  They do it to me.)</p>
<p>Is there any wonder that people think computers are confusing?  What moron decided that sorting by email address and displaying the name would be a reasonable user interface?  Whoever designed and implemented that should be sentenced to three months working with <a href="http://www.mischel.com/diary/2005/03/15.htm">Microsoft&#8217;s Business Desk</a>, as well as a boot camp like refresher course in user interface design.</p>
<p>The really odd part is that sorting things the way they did it is <em>more</em> work than doing it the way that makes sense.  The From field in an email address appears in one of two ways:  either it&#8217;s a naked email address (jim@mischel.com), or it&#8217;s a name followed by an email address in brackets (Jim Mischel &lt;jim@mischel.com&gt;).  A simple sort by the From field would have placed things in the proper order:  by name if there is one, otherwise by email address.  To sort the <em>wrong</em> way, they had to parse the From field, extract the email addresses, and then sort.</p>
<p>More work to produce less useful output.  Yeah, that&#8217;s a good idea.</p>
<p>Idiots.</p>
<p>I&#8217;ve had enough.  I&#8217;m looking for a better email solution.  It has to be web-based, and it has to let me keep my current email address.  Oh, and the interface has to be at least as good as Yahoo&#8217;s.  (And I&#8217;d rather not use Yahoo for my email because it does stupid things.)  Preferably, I can keep my current ISP and either change the DNS entry for mail, or I can have the other mail provider reach to my ISP and get the mail.  Either way, I have to free my email from the Hordes.  Suggestions?</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mischel.com/2009/05/28/hordes-idiotic-email-interface/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>User interface design is not just for computers</title>
		<link>http://blog.mischel.com/2009/04/22/user-interface-design-is-not-just-for-computers/</link>
		<comments>http://blog.mischel.com/2009/04/22/user-interface-design-is-not-just-for-computers/#comments</comments>
		<pubDate>Thu, 23 Apr 2009 00:08:36 +0000</pubDate>
		<dc:creator>Jim</dc:creator>
				<category><![CDATA[User Interface]]></category>

		<guid isPermaLink="false">http://blog.mischel.com/?p=447</guid>
		<description><![CDATA[I don&#8217;t claim to be a great user interface designer, but I&#8217;ve designed a few programs that people have found useful.  And, like many computer users, I know a bad design when I have to struggle with one.  And, like users of other devices, we know when the interface is cumbersome.  It&#8217;s a sad thing, [...]]]></description>
			<content:encoded><![CDATA[<p>I don&#8217;t claim to be a great user interface designer, but I&#8217;ve designed a few programs that people have found useful.  And, like many computer users, I know a bad design when I have to struggle with one.  And, like users of other devices, we know when the interface is cumbersome.  It&#8217;s a sad thing, really, that we often don&#8217;t recognize <em>good</em> designs, but rather just the flawed ones.</p>
<p>The motel room here in Goodyear is nice enough, but it has some oddities, one of which is particularly annoying.  First, the room layout.</p>
<table border="1">
<tbody>
<tr>
<td><img class="alignnone size-full wp-image-449" title="room1" src="http://blog.mischel.com/wp-content/uploads/2009/04/room1.jpg" alt="room1" width="320" height="239" /></td>
<td><img class="alignnone size-full wp-image-448" title="room2" src="http://blog.mischel.com/wp-content/uploads/2009/04/room2.jpg" alt="room2" width="320" height="239" /></td>
</tr>
</tbody>
</table>
<p>As you can see, the room was designed to accept two beds, but this one is fitted with a bed and a fold-out couch.  That&#8217;s all well and good and, as I said, it&#8217;s comfortable enough.   But putting the bed right next to the HVAC unit wasn&#8217;t such a good move.  The bed should be over where the couch is.  That would make entry into the room much less cluttered, and would allow air from the HVAC unit to circulate better.</p>
<p>The room also includes a writing table on the other wall, along with a dresser with a TV and a refrigerator/microwave stand.</p>
<p><img class="aligncenter size-full wp-image-450" title="room3" src="http://blog.mischel.com/wp-content/uploads/2009/04/room3.jpg" alt="room3" width="320" height="239" /><br />
It&#8217;s actually a pretty nice table with enough space for me to put my laptop and work reasonably comfortably.  Except for one thing:  it&#8217;s too high.  The table top is 32 or 33 inches from the floor.  Standard desk height is 29 to 30 inches.  That extra two or three inches makes a <em>huge</em> difference.  Without an extra cushion in the chair (I knew that couch was put here for a reason), I feel like a little kid sitting at the big kids&#8217; table without a booster seat.  The table would be perfect height except for the casters.  For some reason somebody decided it&#8217;d be a good idea if the table could roll.</p>
<p>Finally, the bathtub fixture is just a bad idea:<br />
<img class="size-full wp-image-451 aligncenter" title="fixture" src="http://blog.mischel.com/wp-content/uploads/2009/04/fixture.jpg" alt="fixture" width="239" height="320" /></p>
<p>The instructions read:</p>
<ol>
<li>To turn WATER ON &#8211; <strong>Move</strong> HANDLE UP</li>
<li>To turn WATER OFF &#8211; <strong>Move</strong> HANDLE DOWN</li>
<li>For HOT WATER &#8211; <strong>Move</strong> HANDLE UP and to LEFT</li>
<li>For COLD WATER &#8211; <strong>Move</strong> HANDLE UP and to RIGHT</li>
<li>Once Water is Running, <strong>Move</strong> Handle Right to Left until you have Desired Water Temperature.</li>
</ol>
<p style="padding-left: 30px;">Please to not twist or turn handle, as this will break the shower handle.  For help, please call front desk.</p>
<p style="padding-left: 30px;"><strong><em>Thank you for your Cooperation!</em></strong></p>
<p>You just know that the instruction placards were printed and placed after guests had destroyed several fixtures.  I can only hope that the people who selected those fixtures don&#8217;t make <em>that</em> mistake again!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mischel.com/2009/04/22/user-interface-design-is-not-just-for-computers/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Is that code really from Sun?</title>
		<link>http://blog.mischel.com/2008/07/24/is-that-code-really-from-sun/</link>
		<comments>http://blog.mischel.com/2008/07/24/is-that-code-really-from-sun/#comments</comments>
		<pubDate>Thu, 24 Jul 2008 14:41:52 +0000</pubDate>
		<dc:creator>Jim</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Oops]]></category>
		<category><![CDATA[User Interface]]></category>

		<guid isPermaLink="false">http://blog.mischel.com/?p=145</guid>
		<description><![CDATA[I updated my Java runtime the other day, and now every time I open a new tab in Internet Explorer, I get this message box:

It looks like somebody at Sun forgot to sign their update agent.  At least, I think this control came from Sun.  But there&#8217;s no way to be sure, is there?  Do [...]]]></description>
			<content:encoded><![CDATA[<p>I updated my Java runtime the other day, and now every time I open a new tab in Internet Explorer, I get this message box:</p>
<p><img class="alignnone size-full wp-image-146" title="ssvagent" src="http://blog.mischel.com/wp-content/uploads/2008/07/ssvagent.jpg" alt="" width="467" height="281" /></p>
<p>It looks like somebody at Sun forgot to sign their update agent.  At least, I think this control came from Sun.  But there&#8217;s no way to be sure, is there?  Do I blindly assume that this really is from Sun and that they made a mistake in generating the build, or do I do the prudent thing and permanently disallow it?</p>
<p>In a security conscious world, there&#8217;s no excuse for a major player like Sun to have released something with <a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6635144">this error</a>.  One wonders, if an obvious bug like this makes it through their quality control, what other less obvious nasties are lurking in the code.</p>
<p>To heck with it.  If Sun wants to push their software on me, they&#8217;ll have to get it right.  I&#8217;m going to disallow the update agent.  If I ever need to update my Java runtime, I guess I&#8217;ll just have to do it manually.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mischel.com/2008/07/24/is-that-code-really-from-sun/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Going Too Far Back</title>
		<link>http://blog.mischel.com/2008/07/14/going-too-far-back/</link>
		<comments>http://blog.mischel.com/2008/07/14/going-too-far-back/#comments</comments>
		<pubDate>Mon, 14 Jul 2008 19:40:00 +0000</pubDate>
		<dc:creator>Jim</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[User Interface]]></category>

		<guid isPermaLink="false">http://blog.mischel.com/?p=135</guid>
		<description><![CDATA[The other day I intended to close a Remote Desktop window and instead hit the Close button (the X on the right of the window&#8217;s caption bar) on the console window running our data broker.  Nothing like an abnormal exit to bring the whole house of cards tumbling down.
So I went looking for a [...]]]></description>
			<content:encoded><![CDATA[<p>The other day I intended to close a Remote Desktop window and instead hit the Close button (the X on the right of the window&#8217;s caption bar) on the console window running our data broker.  Nothing like an abnormal exit to bring the whole house of cards tumbling down.</p>
<p>So I went looking for a way to prevent that particular problem from occurring again.  Disabling the Close button is pretty easy.  In fact, there are at least two ways to do it.  Neither is ideal.</p>
<p>The Close button is on the window&#8217;s system menu.  You can get a handle to the system menu by calling the <tt>GetSystemMenu</tt> Windows API function.  In addition to the buttons on the window&#8217;s caption bar, this menu also contains the menu items you see if you click on the box at the left of the window:</p>
<p><img src="http://blog.mischel.com/wp-content/uploads/2008/07/console1.jpg" alt="" /></p>
<p>Given a handle to the system menu, you have (at least) two choices:</p>
<ol>
<li>Call <tt>EnableMenuItem</tt> to disable the caption bar&#8217;s Close button.</li>
<li>Call <tt>DeleteMenu</tt> to remove the <strong>Close</strong> item from the menu.  Doing so will also disable the Close button on the caption bar.</li>
</ol>
<p>The second option looks like the best, because it prevents me from hitting the Close button, and also prevents me from inadvertently clicking the <strong>Close</strong> menu item when I&#8217;m going for <strong>Edit</strong>.  The C# code for the second option looks like this:</p>
<pre><code>[DllImport("kernel32.dll", SetLastError = true)]
public static extern IntPtr GetConsoleWindow();

[DllImport("user32")]
private static extern IntPtr GetSystemMenu(IntPtr hWnd, bool bRevert);

[DllImport("user32")]
private static extern bool DeleteMenu(IntPtr hMenu, uint uPosition, uint uFlags);

private const int MF_BYPOSITION = 0x0400;

static void Main(string[] args)
{
    // Get the console window handle
    IntPtr winHandle = GetConsoleWindow();

    // Get the system menu
    IntPtr hmenu = GetSystemMenu(winHandle, false);

    // Delete the Close item from the menu
    DeleteMenu(hmenu, 6, MF_BYPOSITION);

    // rest of program follows
}</code></pre>
<p>That works well, as you can see from this screen shot:</p>
<p><img src="http://blog.mischel.com/wp-content/uploads/2008/07/console2.jpg" alt="" /></p>
<p>But there&#8217;s a problem.  To restore the menu when your program is done, you&#8217;re supposed to call <tt>GetSystemMenu</tt> and pass <tt>true</tt> for the second parameter, telling it to restore the menu, like this:</p>
<pre><code>GetSystemMenu(winHandle, true);</code></pre>
<p>The result is probably not what you expect:</p>
<p><img src="http://blog.mischel.com/wp-content/uploads/2008/07/console3.jpg" alt="" /></p>
<p>The system didn&#8217;t revert to the previous menu, but rather to the <em>default</em> system menu&#8211;the one created for every window. The Edit, Defaults, and Properties items that <tt>cmd.exe</tt> adds to the menu are gone.</p>
<p>Since I can&#8217;t reliably restore the menu after deleting an item, I figured I&#8217;d call <tt>EnableMenuItem</tt> to disable the <strong>Close</strong> item. Unfortunately, that doesn&#8217;t appear to be possible. At least, I haven&#8217;t been able to make it work. Since I often need the Edit menu item even after the program exits, I&#8217;m going with the first option and hoping that I don&#8217;t hit the Close menu item by mistake when going for the Edit menu while the program is running.</p>
<p>An aside: we have the term &#8220;fat finger&#8221; to describe hitting the wrong key on the keyboard. Is there a similar expression for making a mistake with the mouse? I suppose &#8220;mis-mouse&#8221; would do, but it doesn&#8217;t have quite the same ring to it as &#8220;fat finger.&#8221;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mischel.com/2008/07/14/going-too-far-back/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Internet Explorer clipboard protection is broken</title>
		<link>http://blog.mischel.com/2008/06/06/internet-explorer-clipboard-protection-is-broken/</link>
		<comments>http://blog.mischel.com/2008/06/06/internet-explorer-clipboard-protection-is-broken/#comments</comments>
		<pubDate>Fri, 06 Jun 2008 16:59:35 +0000</pubDate>
		<dc:creator>Jim</dc:creator>
				<category><![CDATA[Idiocy]]></category>
		<category><![CDATA[User Interface]]></category>

		<guid isPermaLink="false">http://blog.mischel.com/?p=122</guid>
		<description><![CDATA[This morning I copied a URL from the browser to the clipboard and then tried to paste it into the email message I was writing in another browser window. Internet Explorer popped up this confirmation box:

I wouldn&#8217;t mind so much if it showed this box one time. But it shows the box for every new [...]]]></description>
			<content:encoded><![CDATA[<p>This morning I copied a URL from the browser to the clipboard and then tried to paste it into the email message I was writing in another browser window. Internet Explorer popped up this confirmation box:</p>
<p><img title="clipboard" src="http://blog.mischel.com/wp-content/uploads/2008/06/clipboard.jpg" alt="" /></p>
<p>I wouldn&#8217;t mind so much if it showed this box <em>one time</em>. But it shows the box for every new email I try to paste stuff to.</p>
<p>There are two things that annoy me about this confirmation box. The first is that the default button is &#8220;Don&#8217;t allow&#8221;. Obviously, somebody has a much higher opinion of the threat posed by indiscriminate clipboard pasting than I do. I just don&#8217;t agree that IE should be holding my hand here and trying to dissuade me from pasting data into an email. The default should be &#8220;Allow access&#8221;. For dang sure, I should be able to <em>change</em> the default. Better yet, I&#8217;d like to just turn the silly notification off. Does Windows have a, &#8220;Yes, I know what I&#8217;m doing&#8221; mode?</p>
<p>Worse, this confirmation box is broken for keyboard users. I&#8217;m pretty keyboard-centric, especially when I&#8217;m writing. I don&#8217;t need to remove my fingers from the keyboard in order to copy a URL from one browser window (or tab) to another. Alt+Tab, Ctrl+D, Ctrl+C, Alt+Tab, Ctrl+V. Done. When this confirmation box pops up, it changes &#8220;Done&#8221; into:</p>
<ol>
<li>&#8220;What the heck?&#8221;</li>
<li>Press Enter before fully realizing that I just prevented myself from pasting into the email.</li>
<li>Copy the draft email to the clipboard.</li>
<li>Open Notepad.</li>
<li>Paste the draft into Notepad.</li>
<li>Close the draft email.</li>
<li>Open a new email message or reply.</li>
<li>Paste the draft back into the new email.</li>
<li>Go find the URL I wanted to paste, and copy it to the clipboard.</li>
<li>Attempt to paste the URL into the email.</li>
<li>Read confirmation box and press the left arrow button to highlight the &#8220;Allow access&#8221; button.</li>
<li>Nothing happens.</li>
<li>Press the <em>right</em> arrow.</li>
<li>Press Enter.</li>
</ol>
<p>Whoever coded up this particular confirmation box got his arrow keys backwards.</p>
<p>I guess I <em>am</em> more secure with this new setup. It&#8217;s so painful that I&#8217;ll stop trying to paste things into my emails.</p>
<p>I understand that security is an issue, and to some extent IE has to protect users from themselves. But this is broken. Horribly. At minimum, the confirmation should have a link or checkbox that lets me turn the message off for pages that I identify. Like the &#8220;new email&#8221; page that I use dozens of times a day.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mischel.com/2008/06/06/internet-explorer-clipboard-protection-is-broken/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Take back the desktop!</title>
		<link>http://blog.mischel.com/2008/02/19/take-back-the-desktop/</link>
		<comments>http://blog.mischel.com/2008/02/19/take-back-the-desktop/#comments</comments>
		<pubDate>Tue, 19 Feb 2008 21:57:36 +0000</pubDate>
		<dc:creator>Jim</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Idiocy]]></category>
		<category><![CDATA[User Interface]]></category>

		<guid isPermaLink="false">http://blog.mischel.com/2008/02/19/take-back-the-desktop/</guid>
		<description><![CDATA[I know, I&#8217;ve dipped into this well before.  But this bears repeating.
At some point in the 30 years or so that I&#8217;ve been working with computers, we&#8217;ve lost sight of the most important fact:  computers are supposed to be tools that serve us.  All too often these days, I feel like I&#8217;m [...]]]></description>
			<content:encoded><![CDATA[<p>I know, I&#8217;ve <a href="http://mischel.com/diary/2006/08/03.htm">dipped into this well before</a>.  But this bears repeating.</p>
<p>At some point in the 30 years or so that I&#8217;ve been working with computers, we&#8217;ve lost sight of the most important fact:  computers are supposed to be tools that serve us.  All too often these days, I feel like I&#8217;m the one serving the computer.  At other times, the computer reminds me of an over-eager employee who comes running to the office after completing every minor task, enthusiastically telling me how impressed I should be that he managed to find and actually work the photocopier.</p>
<p>You know what I&#8217;m talking about.  When was the last time you spent an entire day <em>not</em> being annoyed by some pop-up message that Windows or some application program decided was important enough to interrupt whatever you&#8217;re working on?  The last time I spent such a day was when I went on vacation and didn&#8217;t have access to a computer.  If I&#8217;m working on the computer, I&#8217;m subjected to a never-ending barrage of pop-up messages and sounds that amount to little more than, &#8220;Hey!  Look at me!&#8221;, and do nothing but interrupt my train of thought and annoy me.</p>
<p>You want examples?  Oh, I have plenty:</p>
<ul>
<li>The Firefox Web browser will automatically download updates and then pop up a message box asking if I want to restart.</li>
<li>When new Windows updates become available, Windows displays one of those notification balloons down near my task bar.</li>
<li>If I tell Windows Update to download and install updates, all too often when it&#8217;s done it pops up a message box asking if I want to reboot.</li>
<li>I minimize Windows Media Player to my task bar.  Whenever it starts a new song, Media Player displays a little information box for a few seconds:  &#8220;Look what I&#8217;m playing now!&#8221;</li>
<li>The default configuration of Yahoo Messenger will pop up a message window in the middle of the screen when somebody sends me a message.</li>
<li>If somebody else takes control of a machine that I have in Windows Remote Desktop, Remote Desktop pops up a message box telling me that my desktop session has ended.</li>
<li>Norton Antivirus (which I don&#8217;t use any more) would forever be displaying mostly meaningless notifications at the bottom of the screen.</li>
<li>Email clients can play sounds or flash the screen when you receive mail.  In some programs, such actions are enabled by default.</li>
<li>If you&#8217;re running a program under Visual Studio and the program hits a breakpoint, Visual Studio will bring itself to the front, regardless of what you&#8217;re working on.</li>
</ul>
<p>I know, some of you are wondering what I&#8217;m complaining about.  Let me give you an example of why I get annoyed.  If I happen to be typing (an activity that occupies a large part of my day) when one of those pop-ups grabs the keyboard focus, whatever I&#8217;m typing will end up in the new window.  This is not good.  I&#8217;ve actually re-booted the computer accidentally because I was typing while looking out the window when the &#8220;Reboot now?&#8221; confirmation box appeared.</p>
<p>Let me repeat that.  I suffered a very annoying interruption and <em>lost some important work</em> because somebody decided that their program was more important than whatever I was working on at the time.  That&#8217;s unforgiveable.</p>
<p>Let&#8217;s be clear about this one:  a program should <em>never</em> grab the keyboard focus from the window that I&#8217;ve selected.  I can&#8217;t think of a single instance in which I want some random program to pop up in front of my text editor and start swallowing what I&#8217;m typing.  There is no excuse for such rude behavior.  Designers who create such things should be shot, right along with any programmers who have the poor sense to actually implement the designs.</p>
<p>I&#8217;m slightly more forgiving of the ostensibly innocuous notifications that pop up in balloons all over the place, but not much more.  It&#8217;s nice that programs keep me informed of what they&#8217;re doing:  security updates are available, new updates were downloaded, a friend messaged me, there are unused icons on my desktop, etc.  But most of those things just aren&#8217;t important, with the exception of a text message from my friend, none are important <em>right now</em>.  Those messages should be placed in a notification queue that I can check at a time of my own choosing.  If it requires immediate attention (like my friend messaging me), it should display a message on the corner of the screen to get my attention, but under no circumstances should it grab my keyboard focus.</p>
<p>Like many other people, the work I do requires intense concentration.  Most people require a certain amount of time (five to 30 minutes, typically) to &#8220;get into the groove&#8221; where they&#8217;re concentrating deeply and able to be productive.  Any interruption will snap them out of that groove, and it takes time to get back into it.  So a &#8220;brief interruption&#8221; can cost 30 minutes in lost productivity.  Is it any wonder I get annoyed by all the crap that Windows and other programs throw at me?</p>
<p>To the designers and programmers responsible for these atrocities:  The desktop is <em>my</em> workspace, dang it.  Popping your idiotic message on top of it and stealing my keyboard focus is akin to throwing a rotting fish in the middle of my desk.  It disrupts my work, makes a mess of things, stinks the whole place up, and <em>ticks me off</em>.</p>
<p>And don&#8217;t tell me, &#8220;You can turn those notifications off if you want.&#8221;  That&#8217;s exactly the wrong attitude.  The default configuration should be to leave <em>me</em> in charge of my desktop.  I should have the option of turning those notifications on if I want them.  I shouldn&#8217;t be forced to go hunting through your overly complicated user interface options dialog box to figure out how to teach your program its place on my desktop.</p>
<p>If, like me, you&#8217;re tired of being interrupted by inconsequential messages and having your keyboard focus stolen by rude programs, I suggest you start filing bug reports against the offending applications.  That includes Windows, Visual Studio, and any other program that takes the attitude that its status messages are more important than your work.  Filing those bug reports is the only way we can get software developers to re-think their attitudes and build software that does its job without nattering at us.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mischel.com/2008/02/19/take-back-the-desktop/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Norton AntiVirus</title>
		<link>http://blog.mischel.com/2007/05/09/norton-antivirus/</link>
		<comments>http://blog.mischel.com/2007/05/09/norton-antivirus/#comments</comments>
		<pubDate>Wed, 09 May 2007 20:40:16 +0000</pubDate>
		<dc:creator>Jim</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[User Interface]]></category>

		<guid isPermaLink="false">http://blog.mischel.com/2007/05/09/norton-antivirus/</guid>
		<description><![CDATA[I&#8217;d never used anti-virus software on my personal computer until I bought this notebook two years ago.  I&#8217;d never had trouble with worms, viruses, trojans, or other malware, but people I trust and respect convinced me that I was just lucky&#8211;that things could get through my Linksys firewall, Windows firewall, and infect my machine. [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;d never used anti-virus software on my personal computer until I bought this notebook two years ago.  I&#8217;d never had trouble with worms, viruses, trojans, or other malware, but people I trust and respect convinced me that I was just lucky&#8211;that things <em>could</em> get through my Linksys firewall, Windows firewall, and infect my machine.  So I picked up a copy of Norton Antivirus at Fry&#8217;s and installed it.</p>
<p>I was planning to renew online this year, but I was at Fry&#8217;s the other day and noticed something interesting:  Norton AntiVirus, 3-user license, on sale for $49.99.  And there&#8217;s a $50.00 mail-in rebate!  So if I buy that and mail in the rebate form, I end up getting the software for about $4.25 (the sales tax).  Such a deal!</p>
<p>Symantec did a very good job with the install program, except for one thing.  It does a preliminary system scan and then needs to reboot.  Here&#8217;s the notification:</p>
<p><a href="http://blog.mischel.com/wp-content/uploads/2007/05/norton.jpg"><img src="http://blog.mischel.com/wp-content/uploads/2007/05/norton.jpg" /></a></p>
<p>Who edits this stuff?  First it was Apple&#8217;s idiotic insistence that users shouldn&#8217;t have to answer &#8220;Yes&#8221; or &#8220;No.&#8221;  That gave us prompts with questions and two buttons:  &#8220;OK&#8221; and &#8220;Cancel.&#8221;  Now we have the opposite problem:  &#8220;Yes&#8221; and &#8220;No&#8221; options with no question.  It is to cry.</p>
<p>I installed Norton on Monday night.  Last night I was doing some writing on the machine and it was terribly slow.  I opened Task Manager and found that a program, appsvc32.exe, was consistently chewing up from 60 to 100 percent of the processor time.  A quick search online reveals that appsvc32.exe is part of Norton AntiVirus, and that this is a known problem.  The following seems to solve the problem while Symantec figures out how to fix it properly:</p>
<ol>
<li>Bring up the Norton Protection Center.</li>
<li>Click on the Norton AntiVirus tab.</li>
<li>Click on the Settings bar to expand the settings menu.</li>
<li>Click on Auto-Protect, and then the Configure button that pops up.</li>
<li>On the left side of the dialog box that pops up, click on the General Settings link.</li>
<li>Clear the &#8220;Scan active programs and start-up files&#8221; checkbox, as shown <a href="http://blog.mischel.com/wp-content/uploads/2007/05/norton2.jpg" title="norton2.jpg">here</a>.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://blog.mischel.com/2007/05/09/norton-antivirus/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Is there a question here somewhere?</title>
		<link>http://blog.mischel.com/2007/03/19/is-there-a-question-here-somewhere/</link>
		<comments>http://blog.mischel.com/2007/03/19/is-there-a-question-here-somewhere/#comments</comments>
		<pubDate>Mon, 19 Mar 2007 23:05:55 +0000</pubDate>
		<dc:creator>Jim</dc:creator>
				<category><![CDATA[User Interface]]></category>

		<guid isPermaLink="false">http://blog.mischel.com/2007/03/19/is-there-a-question-here-somewhere/</guid>
		<description><![CDATA[I uninstalled the Nero InCD program today while I was cleaning up my Windows machine. The uninstall program told me, before I confirmed that I wanted to remove the program, that I would have to reboot in order to complete the task. Fine. Except that when it was done uninstalling, it displayed this message box.

Would [...]]]></description>
			<content:encoded><![CDATA[<p>I uninstalled the Nero InCD program today while I was cleaning up my Windows machine. The uninstall program told me, before I confirmed that I wanted to remove the program, that I would have to reboot in order to complete the task. Fine. Except that when it was done uninstalling, it displayed this message box.</p>
<p><a href="http://blog.mischel.com/wp-content/uploads/2007/03/nero.jpg"><img src="http://blog.mischel.com/wp-content/uploads/2007/03/nero.thumbnail.jpg" alt="" /></a></p>
<p>Would it have been so difficult for them to add a line that says, &#8220;Would you like to restart now?&#8221;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mischel.com/2007/03/19/is-there-a-question-here-somewhere/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
