{"id":4703,"date":"2013-04-10T07:00:00","date_gmt":"2013-04-10T07:00:00","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/oldnewthing\/2013\/04\/10\/the-problem-with-adding-more-examples-and-suggestions-to-the-documentation-is-that-eventually-people-will-stop-reading-the-documentation\/"},"modified":"2013-04-10T07:00:00","modified_gmt":"2013-04-10T07:00:00","slug":"the-problem-with-adding-more-examples-and-suggestions-to-the-documentation-is-that-eventually-people-will-stop-reading-the-documentation","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/oldnewthing\/20130410-00\/?p=4703","title":{"rendered":"The problem with adding more examples and suggestions to the documentation is that eventually people will stop reading the documentation"},"content":{"rendered":"<p><P>\nI am a member of a peer-to-peer discussion group on an internal\ntool for programmers which we&#8217;ll call\n<A HREF=\"http:\/\/blogs.msdn.com\/b\/oldnewthing\/archive\/2009\/04\/17\/9551818.aspx\">\nProgram&nbsp;Q<\/A>.\nEvery so often, somebody will get\n<A HREF=\"http:\/\/blogs.msdn.com\/b\/oldnewthing\/archive\/2009\/02\/25\/9443404.aspx\">\ntripped up by smart quotes or en-dashes or ellipses<\/A>,\nand they will get an error like\n<\/P>\n<PRE>\nC:\\&gt; q select table &ndash;s &ldquo;awesome table&rdquo;\nUsage: q select table [-n] [-s] table\nError: Must specify exactly one table.\n<\/PRE>\n<P>\nAfter it is pointed out that they are a victim of\nWord&#8217;s auto-conversion of straight quotes to slanted quotes,\nthere will often be a suggestion,\n&#8220;You should treat\n<A HREF=\"http:\/\/www.fileformat.info\/info\/unicode\/char\/2013\/index.htm\">\nen-dashes<\/A>\nas plain dashes,\n<A HREF=\"http:\/\/www.fileformat.info\/info\/unicode\/char\/201c\/index.htm\">\nsmart quotes<\/A>\nas straight quotes,\nand\n<A HREF=\"http:\/\/www.fileformat.info\/info\/unicode\/char\/2026\/index.htm\">\nfancy-ellipses<\/A>\nas three periods.&#8221;\n<\/P>\n<P>\nThe people who support Program&nbsp;Q are members of this mailing list,\nand they explain that\nunfortunately for Program&nbsp;Q,\nthose characters have been munged by internal processing to the point\nthat when they reach the command line parser,\nthey have been\n<A HREF=\"http:\/\/blogs.msdn.com\/b\/oldnewthing\/archive\/2009\/02\/25\/9443404.aspx\">\ntransformed into characters like &ocirc; and &ouml;<\/A>,\nso the parser doesn&#8217;t even know that it&#8217;s dealing with an en-dash or\nsmart-quote or fancy-ellipsis.\n<\/P>\n<P>\nPlus, this is a programming tool.\nProgrammers presumably prefer consistent and strict\nbehavior rather than\nauto-correcting guess-what-I-really-meant behavior.\nOne of the former members of the Program&nbsp;Q support team recalled,\n<\/P>\n<BLOCKQUOTE CLASS=\"q\">\n<P>\nIt might be possible to detect potential unintended goofiness\nand raise an error,\nbut that creates the possibility of false positives,\nwhich in turn creates its own set of support issues that are\nmore difficult to troubleshoot and resolve.\nSometimes it&#8217;s better to just let a failure fail at the point of failure\nrather than trying to be clever.\n<\/P>\n<P>\nThere was a team that had a script that started up the\nProgram&nbsp;Q server, and if there was a problem starting the server,\nit restored the databases from a backup.\nAutomated failure recovery, what could possibly go wrong?\nWell, what happened is that the script decided to auto-restore\nfrom a week-old backup and thereby wiped out a week&#8217;s worth of work.\nAnd it turns out that the failure in question was not caused\nby database corruption in the first place.\nOops.\n<\/P>\n<\/BLOCKQUOTE>\n<P>\n&#8220;Well, if you&#8217;re not going to do auto-correction, at least\nyou should add this explanation to the documentation.&#8221;\n<\/P>\n<P>\nThe people who support Program&nbsp;Q used to take these suggestions\nto heart,\nand when somebody said,\n&#8220;You should mention this in the documentation,&#8221;\nthey would more than not go ahead and add it to the documentation.\n<\/P>\n<P>\nBut that merely created a new phenomenon:\n<\/P>\n<BLOCKQUOTE CLASS=\"q\">\nI can&#8217;t get Program&nbsp;Q to create a table.\nI tried\n<CODE>q create -template awesome_template awesome_table<\/CODE>,\nbut I keep getting the error\n&#8220;Template &#8216;awesome_template&#8217; does not exist in the default namespace.\nCheck that the template exists in the specified location.\nSee &#8216;q help create -template&#8217; for more information.&#8221;\nWhat am I doing wrong?\n<\/BLOCKQUOTE>\n<P>\nUm,\ndid you check that the template exists in the specified location?\n<\/P>\n<P>\n&#8220;No, I haven&#8217;t. Should I?&#8221;\n<\/P>\n<P>\n(Facepalm.)\n<\/P>\n<P>\nAfter some troubleshooting, the people on the discussion group\ndetermine that the problem was that the template was created\nin a non-default namespace,\nso you had to use a full namespace qualifier to specify the\ntemplate.\n(I&#8217;m totally making this up,\nI hope you realize.\nThe actual Program&nbsp;Q doesn&#8217;t have a template-create command.\nI&#8217;m just using this as a fake example for the purpose of storytelling.)\n<\/P>\n<P>\nAfter this all gets straightened out,\nsomebody will mention,\n&#8220;This is explained in the documentation for template creation.\nDid you read it?&#8221;\n<\/P>\n<P>\n&#8220;I didn&#8217;t read the documentation because\n<A HREF=\"http:\/\/blogs.msdn.com\/b\/oldnewthing\/archive\/2012\/07\/06\/10327322.aspx#10327627\">\nit was too long<\/A>.&#8221;\n<\/P>\n<P>\nIf you follow one person&#8217;s suggestion to add more discussion\nto the documentation,\nyou end up creating problems for all the people who give up\non the documentation because it&#8217;s too long,\nregardless of how well-organized it is.\nIn other words, sometimes adding documentation makes things worse.\nThe challenge is to strike a decent balance.\n<\/P>\n<P>\n<B>Pre-emptive snarky comment<\/B>: &#8220;TL;DR.&#8221;\n<\/P><\/p>\n","protected":false},"excerpt":{"rendered":"<p>I am a member of a peer-to-peer discussion group on an internal tool for programmers which we&#8217;ll call Program&nbsp;Q. Every so often, somebody will get tripped up by smart quotes or en-dashes or ellipses, and they will get an error like C:\\&gt; q select table &ndash;s &ldquo;awesome table&rdquo; Usage: q select table [-n] [-s] table [&hellip;]<\/p>\n","protected":false},"author":1069,"featured_media":111744,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[26],"class_list":["post-4703","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-oldnewthing","tag-other"],"acf":[],"blog_post_summary":"<p>I am a member of a peer-to-peer discussion group on an internal tool for programmers which we&#8217;ll call Program&nbsp;Q. Every so often, somebody will get tripped up by smart quotes or en-dashes or ellipses, and they will get an error like C:\\&gt; q select table &ndash;s &ldquo;awesome table&rdquo; Usage: q select table [-n] [-s] table [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/posts\/4703","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/users\/1069"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/comments?post=4703"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/posts\/4703\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/media\/111744"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/media?parent=4703"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/categories?post=4703"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/tags?post=4703"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}