<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-US"><title type="html">Rewrite Fullwise</title><subtitle type="html">There are still more ways to write about what has been written about countless times before.</subtitle><id>http://blogs.msdn.com/tatianar/atom.xml</id><link rel="alternate" type="text/html" href="http://blogs.msdn.com/tatianar/default.aspx" /><link rel="self" type="application/atom+xml" href="http://blogs.msdn.com/tatianar/atom.xml" /><generator uri="http://communityserver.org" version="2.1.61025.2">Community Server</generator><updated>2009-04-10T23:04:00Z</updated><entry><title>I'd rather Facebook manage my Personal Health Record</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/tatianar/archive/2009/06/15/i-d-rather-facebook-manage-my-personal-health-record.aspx" /><id>http://blogs.msdn.com/tatianar/archive/2009/06/15/i-d-rather-facebook-manage-my-personal-health-record.aspx</id><published>2009-06-16T03:37:00Z</published><updated>2009-06-16T03:37:00Z</updated><content type="html">&lt;P&gt;On a second thought, I'd rather talk about this on my personal blog :)&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9757523" width="1" height="1"&gt;</content><author><name>tatianar</name><uri>http://blogs.msdn.com/members/tatianar.aspx</uri></author><category term="UI" scheme="http://blogs.msdn.com/tatianar/archive/tags/UI/default.aspx" /><category term="User Interface" scheme="http://blogs.msdn.com/tatianar/archive/tags/User+Interface/default.aspx" /><category term="User Experience" scheme="http://blogs.msdn.com/tatianar/archive/tags/User+Experience/default.aspx" /><category term="Sharing" scheme="http://blogs.msdn.com/tatianar/archive/tags/Sharing/default.aspx" /><category term="Security" scheme="http://blogs.msdn.com/tatianar/archive/tags/Security/default.aspx" /><category term="Access" scheme="http://blogs.msdn.com/tatianar/archive/tags/Access/default.aspx" /><category term="Authentication" scheme="http://blogs.msdn.com/tatianar/archive/tags/Authentication/default.aspx" /><category term="Permissions" scheme="http://blogs.msdn.com/tatianar/archive/tags/Permissions/default.aspx" /></entry><entry><title>How to Improve Long Warning Messages</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/tatianar/archive/2009/06/09/how-to-improve-long-warning-messages.aspx" /><id>http://blogs.msdn.com/tatianar/archive/2009/06/09/how-to-improve-long-warning-messages.aspx</id><published>2009-06-09T20:53:00Z</published><updated>2009-06-09T20:53:00Z</updated><content type="html">&lt;P&gt;Warning messages sometimes have to contain a lot of words - sometimes, it's&amp;nbsp;paragraphs of explanatory text. If that's the case, not all is lost, people can still process them with little to no pain.&lt;/P&gt;
&lt;P&gt;Let's take an example of an annoyingly long message. How does the user (me, in this case) process it?&lt;/P&gt;
&lt;P&gt;&lt;IMG src="http://blogs.msdn.com/photos/tatianar/images/9716719/original.aspx" mce_src="http://blogs.msdn.com/photos/tatianar/images/9716719/original.aspx"&gt;&lt;/P&gt;
&lt;P&gt;I see two buttons that give me the choice of "Yes" and "No" - the most natural thing to do now is to look for the question. However, I'm first presented with 2 sentences explaining why I'm seeing the question, with the first of them stating the obvious and not seeming like an issue. Then, the question follows.&lt;/P&gt;
&lt;P&gt;Here's what I really want to see:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;Do you want to continue?&lt;/P&gt;
&lt;P&gt;If you continue, you will lose any changes you made to the attachment "XYZ.pptx" from the message "ABC". The attachment is open or in use by another application. &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;CONTINUE&lt;/U&gt; -&lt;/STRONG&gt; or&lt;STRONG&gt; - &lt;U&gt;CANCEL&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Improvements:&amp;nbsp;&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;As the question first.&lt;/LI&gt;
&lt;LI&gt;Put the most important information next (that little bit about losing changes).&lt;/LI&gt;
&lt;LI&gt;Don't offer Yes/No choices. It's "Do you want to Continue or Cancel?"&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;Cheers.&lt;/P&gt;
&lt;P&gt;&lt;IMG style="WIDTH: 831px; HEIGHT: 158px" src="http://blogs.msdn.com/photos/tatianar/images/9717579/original.aspx" width=831 height=158 mce_src="http://blogs.msdn.com/photos/tatianar/images/9717579/original.aspx"&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9716815" width="1" height="1"&gt;</content><author><name>tatianar</name><uri>http://blogs.msdn.com/members/tatianar.aspx</uri></author><category term="UA" scheme="http://blogs.msdn.com/tatianar/archive/tags/UA/default.aspx" /><category term="UI" scheme="http://blogs.msdn.com/tatianar/archive/tags/UI/default.aspx" /><category term="User Assistance" scheme="http://blogs.msdn.com/tatianar/archive/tags/User+Assistance/default.aspx" /><category term="User Interface" scheme="http://blogs.msdn.com/tatianar/archive/tags/User+Interface/default.aspx" /><category term="UX" scheme="http://blogs.msdn.com/tatianar/archive/tags/UX/default.aspx" /><category term="User Experience" scheme="http://blogs.msdn.com/tatianar/archive/tags/User+Experience/default.aspx" /></entry><entry><title>Does your field also not get set?</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/tatianar/archive/2009/04/10/does-your-field-also-not-get-set.aspx" /><id>http://blogs.msdn.com/tatianar/archive/2009/04/10/does-your-field-also-not-get-set.aspx</id><published>2009-04-11T01:04:00Z</published><updated>2009-04-11T01:04:00Z</updated><content type="html">&lt;P style="MARGIN: 0in; FONT-FAMILY: Calibri; FONT-SIZE: 11pt"&gt;This was a pain to debug. Basically, for reasons I'm not going to get into, we have a field in one of our classes that is not encapsulated. At some point, a bug was introduced (by me) where this field was modified essentially inside of another property (let's call it Name).&lt;/P&gt;
&lt;P style="MARGIN: 0in; FONT-FAMILY: Calibri; FONT-SIZE: 11pt" mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in; FONT-FAMILY: Calibri; FONT-SIZE: 11pt"&gt;What made this confusing to debug was the fact that we provide a ToString() implementation that accesses both properties. If you put a breakpoint in Name, it won't get hit when it's called inside ToString(), which is called to display the value of the class in the Locals window and elsewhere.&lt;/P&gt;
&lt;P style="MARGIN: 0in; FONT-FAMILY: Calibri; FONT-SIZE: 11pt" mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in; FONT-FAMILY: Calibri; FONT-SIZE: 11pt"&gt;Check out this screenshot below:&lt;/P&gt;
&lt;UL style="MARGIN-TOP: 0in; unicode-bidi: embed; DIRECTION: ltr; MARGIN-BOTTOM: 0in; MARGIN-LEFT: 0.375in" type=disc&gt;
&lt;LI style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; VERTICAL-ALIGN: middle"&gt;&lt;SPAN style="FONT-FAMILY: Calibri; FONT-SIZE: 11pt"&gt;CultureInfo.CurrentCulture.LCID is 1099 (Kannada, India)&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; VERTICAL-ALIGN: middle"&gt;&lt;SPAN style="FONT-FAMILY: Calibri; FONT-SIZE: 11pt"&gt;I'm setting NoSnappers.Lcid to 1041 (Japanese, Japan)&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; VERTICAL-ALIGN: middle"&gt;&lt;SPAN style="FONT-FAMILY: Calibri; FONT-SIZE: 11pt"&gt;Now look at the state of the program in the Locals window right after 1041 was assigned to this.info.Lcid&lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P style="MARGIN: 0in 0in 0in 0.375in; FONT-FAMILY: Calibri; FONT-SIZE: 11pt" mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in; FONT-FAMILY: Calibri; FONT-SIZE: 11pt"&gt;The fix was ridiculously simple (remove the line in Name that changes the Lcid), yet I spent a while reading about various possible reasons why setting a field of a struct could possibly fail. It just hasn't occurred to me that the field WAS in fact getting set, and then reset back to its original value somewhere else.&lt;/P&gt;
&lt;P style="MARGIN: 0in; FONT-FAMILY: Calibri; FONT-SIZE: 11pt" mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in; FONT-FAMILY: Calibri; FONT-SIZE: 11pt"&gt;&lt;IMG style="WIDTH: 852px; HEIGHT: 943px" src="http://blogs.msdn.com/photos/tatianar/images/9544130/original.aspx" width=852 height=943 mce_src="http://blogs.msdn.com/photos/tatianar/images/9544130/original.aspx"&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in; FONT-FAMILY: Calibri; FONT-SIZE: 11pt" mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9544141" width="1" height="1"&gt;</content><author><name>tatianar</name><uri>http://blogs.msdn.com/members/tatianar.aspx</uri></author><category term="bad" scheme="http://blogs.msdn.com/tatianar/archive/tags/bad/default.aspx" /><category term="encapsulation" scheme="http://blogs.msdn.com/tatianar/archive/tags/encapsulation/default.aspx" /><category term="debugging" scheme="http://blogs.msdn.com/tatianar/archive/tags/debugging/default.aspx" /><category term="ToString" scheme="http://blogs.msdn.com/tatianar/archive/tags/ToString/default.aspx" /></entry></feed>