<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: What Is Really Considered Documentation?</title>
	<atom:link href="http://www.littlehart.net/atthekeyboard/2008/07/22/what-is-really-considered-documentation/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.littlehart.net/atthekeyboard/2008/07/22/what-is-really-considered-documentation/</link>
	<description>Facebook should&#039;ve be written in unicornSchemaLang, because everyone *knows* that PHP is no good for anything, right?</description>
	<lastBuildDate>Mon, 09 Aug 2010 16:04:35 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
	<item>
		<title>By: nate</title>
		<link>http://www.littlehart.net/atthekeyboard/2008/07/22/what-is-really-considered-documentation/comment-page-1/#comment-10647</link>
		<dc:creator>nate</dc:creator>
		<pubDate>Wed, 06 Aug 2008 02:50:03 +0000</pubDate>
		<guid isPermaLink="false">http://www.littlehart.net/atthekeyboard/?p=285#comment-10647</guid>
		<description>@Peter Childs: Yup, a working knowledge of PHP is assumed, and nope, we don&#039;t consider that a problem.</description>
		<content:encoded><![CDATA[<p>@Peter Childs: Yup, a working knowledge of PHP is assumed, and nope, we don&#8217;t consider that a problem.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: phpcurious</title>
		<link>http://www.littlehart.net/atthekeyboard/2008/07/22/what-is-really-considered-documentation/comment-page-1/#comment-10631</link>
		<dc:creator>phpcurious</dc:creator>
		<pubDate>Thu, 31 Jul 2008 07:55:12 +0000</pubDate>
		<guid isPermaLink="false">http://www.littlehart.net/atthekeyboard/?p=285#comment-10631</guid>
		<description>Hi chris,

This blog post is an interesting read. Though, I do have some complaints and feedback of the documentation on cakephp, still, I cannot say no one is doing a great job. I believe cakephp&#039;s documentation [http://book.cakephp.org] is always updated from time to time, so there&#039;s a chance you will see what you are looking for.  

I don&#039;t think coders are lazy. IMHO, sometimes, coders can&#039;t afford to have time to make experiments with cakephp.</description>
		<content:encoded><![CDATA[<p>Hi chris,</p>
<p>This blog post is an interesting read. Though, I do have some complaints and feedback of the documentation on cakephp, still, I cannot say no one is doing a great job. I believe cakephp&#8217;s documentation [http://book.cakephp.org] is always updated from time to time, so there&#8217;s a chance you will see what you are looking for.  </p>
<p>I don&#8217;t think coders are lazy. IMHO, sometimes, coders can&#8217;t afford to have time to make experiments with cakephp.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Peter Childs</title>
		<link>http://www.littlehart.net/atthekeyboard/2008/07/22/what-is-really-considered-documentation/comment-page-1/#comment-10628</link>
		<dc:creator>Peter Childs</dc:creator>
		<pubDate>Tue, 29 Jul 2008 15:14:57 +0000</pubDate>
		<guid isPermaLink="false">http://www.littlehart.net/atthekeyboard/?p=285#comment-10628</guid>
		<description>The issues I have with Cakes documentation is the assumption that Cake users are all intermediate level programmers or better. I also think there is an the over reliance on scaffolding in examples. 

There is a lot of automagic that goes on and if you&#039;re trying to learn programming and Cake at the same time (as I am) there can be a lot of reading to fill in the missing pieces that are assumed as common knowledge in the documentation or hidden when examples use scaffolding.

Also while there are a lot of great blogs, forums and groups (and I use them extensively)  I&#039;d suggest that those should not be considered documentation in any formal sense because they lack a coherent structure and reflect  a variety of (sometimes contradictory) coding practices.

In the end the quality of documentation will influence the. size and growth rate of the user base so documentation is worth investing in.</description>
		<content:encoded><![CDATA[<p>The issues I have with Cakes documentation is the assumption that Cake users are all intermediate level programmers or better. I also think there is an the over reliance on scaffolding in examples. </p>
<p>There is a lot of automagic that goes on and if you&#8217;re trying to learn programming and Cake at the same time (as I am) there can be a lot of reading to fill in the missing pieces that are assumed as common knowledge in the documentation or hidden when examples use scaffolding.</p>
<p>Also while there are a lot of great blogs, forums and groups (and I use them extensively)  I&#8217;d suggest that those should not be considered documentation in any formal sense because they lack a coherent structure and reflect  a variety of (sometimes contradictory) coding practices.</p>
<p>In the end the quality of documentation will influence the. size and growth rate of the user base so documentation is worth investing in.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: derek</title>
		<link>http://www.littlehart.net/atthekeyboard/2008/07/22/what-is-really-considered-documentation/comment-page-1/#comment-10624</link>
		<dc:creator>derek</dc:creator>
		<pubDate>Fri, 25 Jul 2008 14:23:03 +0000</pubDate>
		<guid isPermaLink="false">http://www.littlehart.net/atthekeyboard/?p=285#comment-10624</guid>
		<description>Conversation is for conveying what you&#039;re going to do.
Documentation is for explaining how it works (with emphasis on the complex bits).
If you&#039;re not going to keep a document up-to-date, you shouldn&#039;t bother creating (unless it helps you think through what you&#039;re about to do).
The way to do that is through automation of documentation.
It&#039;s not the nicest thing in the world to read, but it keeps developers productive, and means you don&#039;t need to hire a full-time documentation Guru.
Plus, automated documentation is always up-to-date!
You can use a few handy tools to generate different types of documentation:

1) PHPDocumentor is a tool that parses all javadoc-style comments out of your code and puts them into navigable HTML files.

2) TextDox is another little hottie. It creates documentation by parsing out the names of your unit test suite names &amp; method names.
For example, if you have an AccountTest class with a cannotHaveANegativeBalanceTest() method and a canHaveMultipleOwnersTest() method, you will end up with a document that says:
Account:
 - Cannot have a negative balance
 - Can have multiple owners

How do you run PHPDocumentor &amp; TestDox?
Use Phing, or Ant. Both are free and fairly simple to learn &amp; use.

Of course, only documenting the &quot;how&quot; of a project isn&#039;t always enough.
If you have a distributed team, or if you&#039;re developing an open-source product that any Joe Schmoe can download, they&#039;re going to need access to the original conversations. To be most effective, they need to know why things are the way they are. That&#039;s not covered by any auto-generated documentation, and I believe this is where screencasts &amp; tutorials come in handy.

&gt;&gt;I sometimes wonder if you can really say that a piece of code works properly if it 
&gt;&gt;passes all the unit tests associated with it. 

Unit tests only prove that it does what you said it would do, not that it does the *correct* thing.
It&#039;s up to the Product Manager / Owner to define *correct*.
;)</description>
		<content:encoded><![CDATA[<p>Conversation is for conveying what you&#8217;re going to do.<br />
Documentation is for explaining how it works (with emphasis on the complex bits).<br />
If you&#8217;re not going to keep a document up-to-date, you shouldn&#8217;t bother creating (unless it helps you think through what you&#8217;re about to do).<br />
The way to do that is through automation of documentation.<br />
It&#8217;s not the nicest thing in the world to read, but it keeps developers productive, and means you don&#8217;t need to hire a full-time documentation Guru.<br />
Plus, automated documentation is always up-to-date!<br />
You can use a few handy tools to generate different types of documentation:</p>
<p>1) PHPDocumentor is a tool that parses all javadoc-style comments out of your code and puts them into navigable HTML files.</p>
<p>2) TextDox is another little hottie. It creates documentation by parsing out the names of your unit test suite names &amp; method names.<br />
For example, if you have an AccountTest class with a cannotHaveANegativeBalanceTest() method and a canHaveMultipleOwnersTest() method, you will end up with a document that says:<br />
Account:<br />
 &#8211; Cannot have a negative balance<br />
 &#8211; Can have multiple owners</p>
<p>How do you run PHPDocumentor &amp; TestDox?<br />
Use Phing, or Ant. Both are free and fairly simple to learn &amp; use.</p>
<p>Of course, only documenting the &#8220;how&#8221; of a project isn&#8217;t always enough.<br />
If you have a distributed team, or if you&#8217;re developing an open-source product that any Joe Schmoe can download, they&#8217;re going to need access to the original conversations. To be most effective, they need to know why things are the way they are. That&#8217;s not covered by any auto-generated documentation, and I believe this is where screencasts &amp; tutorials come in handy.</p>
<p>&gt;&gt;I sometimes wonder if you can really say that a piece of code works properly if it<br />
&gt;&gt;passes all the unit tests associated with it. </p>
<p>Unit tests only prove that it does what you said it would do, not that it does the *correct* thing.<br />
It&#8217;s up to the Product Manager / Owner to define *correct*.<br />
 <img src='http://www.littlehart.net/atthekeyboard/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Comb</title>
		<link>http://www.littlehart.net/atthekeyboard/2008/07/22/what-is-really-considered-documentation/comment-page-1/#comment-10623</link>
		<dc:creator>Comb</dc:creator>
		<pubDate>Fri, 25 Jul 2008 12:53:07 +0000</pubDate>
		<guid isPermaLink="false">http://www.littlehart.net/atthekeyboard/?p=285#comment-10623</guid>
		<description>I&#039;m sure some of you are people who prefer driving directions as sentences while others prefer maps. Some do best with both. To take what works best for one person and assume it should work well for another is no less a mistake than shoddy ui design. 

Fortunately, I&#039;ve had a lot of experience both with designers and developers and one great errors of the stereotypical developer is &quot;What? I get it, why don&#039;t you?&quot; That&#039;s no different than zero documentation because you don&#039;t get why people can&#039;t just read your code and reverse engineer it themselves. It feels like that&#039;s your primary argument here. You&#039;ve just defeated the primary benefit of leveraging a framework. You&#039;re forcing the end user to work at the low level instead of the high level development promised by use of frameworks.

I agree that the documentation does exist, albeit... contradictory, incomplete, and unorganized. In less than five minutes, I&#039;m sure we can find a long list of frankly incorrect documentation in the cookbook. At least now we can go through and submit corrections. Prior to that, there wasn&#039;t much you could do. If you need specific examples, I believe at last look prior to the cookbook going down, all the find documentation was using the findAll, etc. A browse through the bakery also yields entries which look fine until a few comments down the line someone with experience points out this is a completely errant entry running counter to cake convention or simply poor solutions.

I approached cake as an experienced developer looking to make life simpler for some basic projects. I did find the existing documentation situation frustrating because of the conflicts in the manual (and now cookbook) and the bakery entries inconsistent in quality. And folks new to the cake community have no idea which blogs provide dependable, quality solutions and which are hacks. 

As for _working_ example code, it&#039;s important because frankly developers are not the most articulate folks around and the description for an expected value or argument isn&#039;t always clear.

I don&#039;t think you&#039;ll find other communities pointing to third party blog posts and such on independent sites as an excuse for not having better documentation. And that&#039;s the biggest frustration for new users. While the community as a whole writes lots of informative posts and such, the authoritative voice (domain in this case) provides little or no direction on a number of critical topics.

When trying to quickly integrate this framework into an existing workflow, the experience could be significantly improved with more accurate, authoritative and organized documentation. I don&#039;t think anyone would deny that.

Remember that most of the cake audience comes in as a developer crunched for time and looking for a solution. Successfully hooking and keeping that developer means providing a means to locate the right information quickly. You&#039;re right to say that it is possible to locate the information with enough time and patience, but to a hurried developer looking for something to save him, it&#039;s just silly.

Respectfully</description>
		<content:encoded><![CDATA[<p>I&#8217;m sure some of you are people who prefer driving directions as sentences while others prefer maps. Some do best with both. To take what works best for one person and assume it should work well for another is no less a mistake than shoddy ui design. </p>
<p>Fortunately, I&#8217;ve had a lot of experience both with designers and developers and one great errors of the stereotypical developer is &#8220;What? I get it, why don&#8217;t you?&#8221; That&#8217;s no different than zero documentation because you don&#8217;t get why people can&#8217;t just read your code and reverse engineer it themselves. It feels like that&#8217;s your primary argument here. You&#8217;ve just defeated the primary benefit of leveraging a framework. You&#8217;re forcing the end user to work at the low level instead of the high level development promised by use of frameworks.</p>
<p>I agree that the documentation does exist, albeit&#8230; contradictory, incomplete, and unorganized. In less than five minutes, I&#8217;m sure we can find a long list of frankly incorrect documentation in the cookbook. At least now we can go through and submit corrections. Prior to that, there wasn&#8217;t much you could do. If you need specific examples, I believe at last look prior to the cookbook going down, all the find documentation was using the findAll, etc. A browse through the bakery also yields entries which look fine until a few comments down the line someone with experience points out this is a completely errant entry running counter to cake convention or simply poor solutions.</p>
<p>I approached cake as an experienced developer looking to make life simpler for some basic projects. I did find the existing documentation situation frustrating because of the conflicts in the manual (and now cookbook) and the bakery entries inconsistent in quality. And folks new to the cake community have no idea which blogs provide dependable, quality solutions and which are hacks. </p>
<p>As for _working_ example code, it&#8217;s important because frankly developers are not the most articulate folks around and the description for an expected value or argument isn&#8217;t always clear.</p>
<p>I don&#8217;t think you&#8217;ll find other communities pointing to third party blog posts and such on independent sites as an excuse for not having better documentation. And that&#8217;s the biggest frustration for new users. While the community as a whole writes lots of informative posts and such, the authoritative voice (domain in this case) provides little or no direction on a number of critical topics.</p>
<p>When trying to quickly integrate this framework into an existing workflow, the experience could be significantly improved with more accurate, authoritative and organized documentation. I don&#8217;t think anyone would deny that.</p>
<p>Remember that most of the cake audience comes in as a developer crunched for time and looking for a solution. Successfully hooking and keeping that developer means providing a means to locate the right information quickly. You&#8217;re right to say that it is possible to locate the information with enough time and patience, but to a hurried developer looking for something to save him, it&#8217;s just silly.</p>
<p>Respectfully</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Micha? Szajbe</title>
		<link>http://www.littlehart.net/atthekeyboard/2008/07/22/what-is-really-considered-documentation/comment-page-1/#comment-10622</link>
		<dc:creator>Micha? Szajbe</dc:creator>
		<pubDate>Wed, 23 Jul 2008 21:09:50 +0000</pubDate>
		<guid isPermaLink="false">http://www.littlehart.net/atthekeyboard/?p=285#comment-10622</guid>
		<description>Well, I share similar view on that topic. I look into cookboks, tutorials and guides just to get general view of the technology I am learning and then stick to APIs and google.  For me APIs are the most comprehensive source of answers to my questions and I use them every day. Reading the code itself is also very educative.

I can&#039;t remember when I last time asked a question on any mailing list or forum. I can google it much faster or get an immediate help from co-workers. I have no patience to wait for the answer that may even never arrive. 

However I have an uderstanding for people that have different approach. You need some time to develop an answer-finding-methodology that suits you best.</description>
		<content:encoded><![CDATA[<p>Well, I share similar view on that topic. I look into cookboks, tutorials and guides just to get general view of the technology I am learning and then stick to APIs and google.  For me APIs are the most comprehensive source of answers to my questions and I use them every day. Reading the code itself is also very educative.</p>
<p>I can&#8217;t remember when I last time asked a question on any mailing list or forum. I can google it much faster or get an immediate help from co-workers. I have no patience to wait for the answer that may even never arrive. </p>
<p>However I have an uderstanding for people that have different approach. You need some time to develop an answer-finding-methodology that suits you best.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: James</title>
		<link>http://www.littlehart.net/atthekeyboard/2008/07/22/what-is-really-considered-documentation/comment-page-1/#comment-10621</link>
		<dc:creator>James</dc:creator>
		<pubDate>Wed, 23 Jul 2008 19:28:29 +0000</pubDate>
		<guid isPermaLink="false">http://www.littlehart.net/atthekeyboard/?p=285#comment-10621</guid>
		<description>I do not think the documentation for CakePHP comes anywhere close to being bad, or sucking in any way. Anyone who thinks so, really hasn&#039;t come across terrible documentation before (Joomla - I&#039;m looking at you).

My biggest problem with CakePHP&#039;s documentation is that much of the literature is confused, and in some cases contradictory, or missing critical details. A prime example is with the ACL implementation. There are hundreds of articles on how to use it in CakePHP, but they all say something different, and some of the techniques are outdated, or have been changed since the article was written.

The ACL section in the cookbook is also guilty of this as it doesn&#039;t cover the full scope of the ACL component and how it works together with Auth.

Another thing is HABTM documentation - again, contradictory and incomplete.

That said, eventhough it&#039;s a bit of a headache getting through these hoops, you can always rely on the well documented API, and even the comments in the code itself are helpful. Most problems I&#039;ve ended up solving just by reading the code of the function(s) I was trying to use. CakePHP&#039;s source code is generally very well written and easy to follow.

The Bakery is a great resource, the cookbook is always improving, and the best part of the CakePHP documentation is that ANYONE can get involved. I&#039;ve contributed to the bakery and have submitted stuff to the cookbook. If you learn something useful about CakePHP, pass it on!</description>
		<content:encoded><![CDATA[<p>I do not think the documentation for CakePHP comes anywhere close to being bad, or sucking in any way. Anyone who thinks so, really hasn&#8217;t come across terrible documentation before (Joomla &#8211; I&#8217;m looking at you).</p>
<p>My biggest problem with CakePHP&#8217;s documentation is that much of the literature is confused, and in some cases contradictory, or missing critical details. A prime example is with the ACL implementation. There are hundreds of articles on how to use it in CakePHP, but they all say something different, and some of the techniques are outdated, or have been changed since the article was written.</p>
<p>The ACL section in the cookbook is also guilty of this as it doesn&#8217;t cover the full scope of the ACL component and how it works together with Auth.</p>
<p>Another thing is HABTM documentation &#8211; again, contradictory and incomplete.</p>
<p>That said, eventhough it&#8217;s a bit of a headache getting through these hoops, you can always rely on the well documented API, and even the comments in the code itself are helpful. Most problems I&#8217;ve ended up solving just by reading the code of the function(s) I was trying to use. CakePHP&#8217;s source code is generally very well written and easy to follow.</p>
<p>The Bakery is a great resource, the cookbook is always improving, and the best part of the CakePHP documentation is that ANYONE can get involved. I&#8217;ve contributed to the bakery and have submitted stuff to the cookbook. If you learn something useful about CakePHP, pass it on!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: José Lorenzo</title>
		<link>http://www.littlehart.net/atthekeyboard/2008/07/22/what-is-really-considered-documentation/comment-page-1/#comment-10618</link>
		<dc:creator>José Lorenzo</dc:creator>
		<pubDate>Wed, 23 Jul 2008 06:16:28 +0000</pubDate>
		<guid isPermaLink="false">http://www.littlehart.net/atthekeyboard/?p=285#comment-10618</guid>
		<description>I totally agree with you. Back in the days it was a little bit difficult to get documentation on cake, but I like to learn by trying myself and reading code, so I always got a solution one way or another. Reading cake&#039;s core code is one of the best things I could have done for improving my own and to learn the internals of the framework.
I think that the current cake documentation is extensive and impressive, the cookbook is huge and more detailed than the Code Igniter one.
As you say, programmers are lazy, googling for answer is almost sure to bring you to a solution, and there are plenty of cake related blogs with hundreds of examples. I wonder why people still are complaining about cake docs!</description>
		<content:encoded><![CDATA[<p>I totally agree with you. Back in the days it was a little bit difficult to get documentation on cake, but I like to learn by trying myself and reading code, so I always got a solution one way or another. Reading cake&#8217;s core code is one of the best things I could have done for improving my own and to learn the internals of the framework.<br />
I think that the current cake documentation is extensive and impressive, the cookbook is huge and more detailed than the Code Igniter one.<br />
As you say, programmers are lazy, googling for answer is almost sure to bring you to a solution, and there are plenty of cake related blogs with hundreds of examples. I wonder why people still are complaining about cake docs!</p>
]]></content:encoded>
	</item>
</channel>
</rss>
