{"id":27,"date":"2009-04-22T22:16:20","date_gmt":"2009-04-23T06:16:20","guid":{"rendered":"http:\/\/kai.mactane.org\/blog\/2009\/04\/22\/why-downloadable-documentation-is-critical\/"},"modified":"2009-04-22T22:21:14","modified_gmt":"2009-04-23T06:21:14","slug":"why-downloadable-documentation-is-critical","status":"publish","type":"post","link":"https:\/\/kagan.mactane.org\/blog\/2009\/04\/22\/why-downloadable-documentation-is-critical\/","title":{"rendered":"Why Downloadable Documentation Is Critical"},"content":{"rendered":"<p>PHP is a kludged-together, ugly mess of a language. But its documentation is quite superlative: practically every function has documentation written in a more-or-less standardized format, plus whatever comments users have added. In addition, they have something near and dear to my heart:<\/p>\n<p>Downloadable documentation.<\/p>\n<p>This means that if I&#8217;m developing on an airplane at 30,000 feet, or on a BART train in the tunnel that runs underneath San Francisco Bay, I can just use my own local copy of the docs.<\/p>\n<p>I&#8217;ve long been annoyed with the state of both Ruby&#8217;s documentation and Ruby On Rails&#8217; docs. Both of them use the awkward, quadruple-framed RDoc format that breaks up screen real estate inefficiently, makes keystroke navigation difficult if not impossible, and forces the browser to load a 600K page listing every single Rails method, even if what I really want is just the Class hierarchy listing.<\/p>\n<p>But the other thing that&#8217;s annoyed me about Ruby&#8217;s and Rails&#8217; docs for a while is that there is no downloadable version available. If I haven&#8217;t got an Internet connection available, I <em>can&#8217;t<\/em> look up the docs. End of story.<\/p>\n<p>Which is a penalty I suppose I&#8217;ve learned to accept when I&#8217;m travelling. But at my home workstation, I should be able to see the docs any time I want, right?<\/p>\n<p><a href=\"\/images\/api.rubyonrails.org.fail.png\"><img decoding=\"async\" src=\"\/images\/api.rubyonrails.org.fail.png\" alt=\"api.rubyonrails.org site showing domain squatter's ad page\" width=\"600\" title=\"click for full-sized version\" \/><\/a><\/p>\n<p>No, not if the people maintaining the Ruby On Rails web site screw up and let their domain registration lapse. Because of their mistake, <em>I can&#8217;t do the development<\/em> I was trying to get done tonight. (So I&#8217;m writing a snarky blog entry instead.)<\/p>\n<p>Always make your docs downloadable. If the Rails team had done that, I&#8217;d be coding right now, instead of trying to shame them into making their documentation usable. (Heck, I might not even have <em>noticed<\/em> their error, because I&#8217;d just have opened my own local copy instead of going to their site in the first place.)<\/p>\n","protected":false},"excerpt":{"rendered":"<p>PHP is a kludged-together, ugly mess of a language. But its documentation is quite superlative: practically every function has documentation written in a more-or-less standardized format, plus whatever comments users have added. In addition, they have something near and dear to my heart: Downloadable documentation. This means that if I&#8217;m developing on an airplane at [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[28,27,29,30],"_links":{"self":[{"href":"https:\/\/kagan.mactane.org\/blog\/wp-json\/wp\/v2\/posts\/27"}],"collection":[{"href":"https:\/\/kagan.mactane.org\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kagan.mactane.org\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kagan.mactane.org\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/kagan.mactane.org\/blog\/wp-json\/wp\/v2\/comments?post=27"}],"version-history":[{"count":3,"href":"https:\/\/kagan.mactane.org\/blog\/wp-json\/wp\/v2\/posts\/27\/revisions"}],"predecessor-version":[{"id":30,"href":"https:\/\/kagan.mactane.org\/blog\/wp-json\/wp\/v2\/posts\/27\/revisions\/30"}],"wp:attachment":[{"href":"https:\/\/kagan.mactane.org\/blog\/wp-json\/wp\/v2\/media?parent=27"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kagan.mactane.org\/blog\/wp-json\/wp\/v2\/categories?post=27"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kagan.mactane.org\/blog\/wp-json\/wp\/v2\/tags?post=27"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}