<?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>Professional PHP &#187; simplicity</title>
	<atom:link href="http://www.procata.com/blog/archives/tag/simplicity/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.procata.com/blog</link>
	<description>PHP Programming, Web Development, PHP Advocacy and PHP Best Practices.</description>
	<lastBuildDate>Fri, 10 Dec 2010 17:23:30 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>The Paradox of Choice</title>
		<link>http://www.procata.com/blog/archives/2006/07/13/the-paradox-of-choice/</link>
		<comments>http://www.procata.com/blog/archives/2006/07/13/the-paradox-of-choice/#comments</comments>
		<pubDate>Fri, 14 Jul 2006 05:23:10 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Usability]]></category>
		<category><![CDATA[barry-schwartz]]></category>
		<category><![CDATA[books]]></category>
		<category><![CDATA[decision-making]]></category>
		<category><![CDATA[paradox-of-choice]]></category>
		<category><![CDATA[simplicity]]></category>

		<guid isPermaLink="false">http://www.procata.com/blog/archives/2006/07/13/the-paradox-of-choice/</guid>
		<description><![CDATA[I don&#8217;t like to just link to stuff, but outsourcing choice at 37 signals is worth linking to.  The post talks about designing interfaces with fewer choices.  Really, the interesting thing here is Barry Schwartz and his book, The paradox of Choice.  The paradox of choice being that having more choices makes [...]]]></description>
			<content:encoded><![CDATA[<p>I don&#8217;t like to just link to stuff, but <a href="http://37signals.com/svn/archives2/outsourcing_choice.php">outsourcing choice</a> at 37 signals is worth linking to.  The post talks about designing interfaces with fewer choices.  Really, the interesting thing here is Barry Schwartz and his book, <a href="http://www.amazon.com/exec/obidos/redirect?link_code=as2&#038;path=ASIN/0060005688&#038;tag=procata&#038;camp=1789&#038;creative=9325">The paradox of Choice</a>.  The paradox of choice being that having more choices makes you unhappy.  Well, there is more to it than that.  The <a href="http://www.newyorker.com/critics/books/?040301crbo_books">New Yorker</a> has a good summary of the book.</p>
<p>I watched a bunch of google tech talk presentations a few months ago.  By far the best presentation was Barry Schwartz explaining <a href="http://video.google.com/videoplay?docid=6127548813950043200&#038;q=type%3Agoogle">The paradox of Choice</a>.  This video is worth watching.</p>
<p>I think these are important ideas in the quest for <a href="http://www.procata.com/blog/archives/2006/03/01/extreme-simplicity/">extreme simplicity</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.procata.com/blog/archives/2006/07/13/the-paradox-of-choice/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>James Gosling on PHP</title>
		<link>http://www.procata.com/blog/archives/2006/03/11/james-gosling-on-php/</link>
		<comments>http://www.procata.com/blog/archives/2006/03/11/james-gosling-on-php/#comments</comments>
		<pubDate>Sat, 11 Mar 2006 16:07:50 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[james-gosling]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[language-comparison]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[scripting-languages]]></category>
		<category><![CDATA[simplicity]]></category>

		<guid isPermaLink="false">http://www.procata.com/blog/?p=176</guid>
		<description><![CDATA[James Gosling, the &#8220;father of Java,&#8221; recently commented on PHP:

&#8220;PHP and Ruby are perfectly fine systems,&#8221; he continued, &#8220;but they are scripting languages and get their power through specialization: they just generate web pages. But none of them attempt any serious breadth in the application domain and they both have really serious scaling and performance [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://en.wikipedia.org/wiki/James_Gosling">James Gosling</a>, the &#8220;father of Java,&#8221; recently <a href="http://java.sys-con.com/read/193146.htm">commented on PHP</a>:</p>
<blockquote><p>
&#8220;PHP and Ruby are perfectly fine systems,&#8221; he continued, &#8220;but they are scripting languages and get their power through specialization: they just generate web pages. But none of them attempt any serious breadth in the application domain and they both have really serious scaling and performance problems.&#8221;<br />
&#8230;<br />
PHP (for example) is able to make things simpler because it&#8217;s 100% aimed at web pages, Gosling explained. Whereas with Java, he said, &#8220;We have a balancing act: we need the simplicity but we also need power.&#8221;</p></blockquote>
<p>The headline here should be &#8220;Father of Java says writing web applications in PHP is simpler.&#8221;  This is pretty much what I said in my <a href="http://www.procata.com/blog/archives/2006/02/09/comparing-php-with-other-languages/">Comparing PHP with other languages</a> post:</p>
<blockquote><p>
Why is Java considered so complicated? One reason is that it is designed to run on everything from servers to cell phones, from desktops to dishwashers. It&#8217;s scope is impossibly general. Of course, specialized tools such as Rails and PHP are more productive for their sweet spot applications.
</p></blockquote>
<p>Both .NET and Java have this be all things to everyone mentality.  If you need that generalization, fine, but generalization is not without cost as Gosling points out.</p>
<blockquote><p>
He called Simplicity and Power &#8220;evil twin brothers&#8221; &#8211; &#8220;Building systems that have a lot of power just attract complexity. Because of the way that the world has become so interconnected it helps to have systems where it carries over from one domain to another. You can do web presnentation stuff really well in PHP but you couldn&#8217;t write a library that does, say, interplanetary navigation.
</p></blockquote>
<p>So, if you are writing software for interplanetary navigations, by all means, choose Java. If you  just want to write really good web applications quickly, choose PHP.</p>
<p>Regarding the scalability and performance characterization.  I&#8217;m so tired of that.  PHP performs and scales just fine for many people. Flickr makes an interesting case study of PHP scaling:</p>
<ul>
<li><a href="http://www.25hoursaday.com/weblog/PermaLink.aspx?guid=2e03a43a-535e-49a1-afaa-b47eab5f71c2">Scaling fast and cheap &#8211; how we built flickr</a></li>
<li><a href="http://blog.flickr.com/flickrblog/2005/10/lamp.html">Hardware Layouts for LAMP Installations</a></li>
<li><a href="http://software.newsforge.com/print.pl?sid=05/01/27/170244">Open source helps Flickr share photos</a></li>
<li><a href="http://www.procata.com/blog/archives/2004/10/27/flickr-case-study/">flickr and PHP</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.procata.com/blog/archives/2006/03/11/james-gosling-on-php/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Extreme Simplicity</title>
		<link>http://www.procata.com/blog/archives/2006/03/01/extreme-simplicity/</link>
		<comments>http://www.procata.com/blog/archives/2006/03/01/extreme-simplicity/#comments</comments>
		<pubDate>Thu, 02 Mar 2006 03:52:22 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Software Design]]></category>
		<category><![CDATA[Usability]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[decision-making]]></category>
		<category><![CDATA[simplicity]]></category>

		<guid isPermaLink="false">http://www.procata.com/blog/?p=175</guid>
		<description><![CDATA[Could this be the manifesto of &#8220;Extreme Simplicity?&#8221;

10 fundamental rules for the age of user experience technology:

More features isn&#8217;t better, it&#8217;s worse.
You can&#8217;t make things easier by adding to them.
Confusion is the ultimate deal-breaker.
Style matters
Only features that provide a good user experience will be used.
Any feature that requires learning will only be adopted by a [...]]]></description>
			<content:encoded><![CDATA[<p>Could <a href="http://www.acm.org/ubiquity/views/v7i07_pfeiffer.html">this</a> be the manifesto of &#8220;Extreme Simplicity?&#8221;</p>
<blockquote><p>
10 fundamental rules for the age of user experience technology:</p>
<ol>
<li>More features isn&#8217;t better, it&#8217;s worse.</li>
<li>You can&#8217;t make things easier by adding to them.</li>
<li>Confusion is the ultimate deal-breaker.</li>
<li>Style matters</li>
<li>Only features that provide a good user experience will be used.</li>
<li>Any feature that requires learning will only be adopted by a small fraction of users.</li>
<li>Unused features are not only useless, they can slow you down and diminish ease of use</li>
<li>Users do not want to think about technology: what really counts is what it does for them.</li>
<li>Forget about the killer feature. Welcome to the age of the killer user-experience.</li>
<li>Less is difficult, that&#8217;s why less is more</li>
</ol>
</blockquote>
<p><a href="http://www.apple.com/ipod/">Consumer devices</a> or <a href="http://www.rubyonrails.org/">frameworks</a>, we are a product of our times.  </p>
<p><a href="http://youtube.com/watch?v=aeXAcwriid0">Watch</a> and contemplate.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.procata.com/blog/archives/2006/03/01/extreme-simplicity/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>Zend PHP Framework not a rumor</title>
		<link>http://www.procata.com/blog/archives/2005/10/18/zend-php-framework-not-a-rumor/</link>
		<comments>http://www.procata.com/blog/archives/2005/10/18/zend-php-framework-not-a-rumor/#comments</comments>
		<pubDate>Tue, 18 Oct 2005 18:06:50 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[simplicity]]></category>
		<category><![CDATA[zend-framework]]></category>

		<guid isPermaLink="false">http://www.procata.com/blog/?p=147</guid>
		<description><![CDATA[There is a sparse FAQ up at zend for PHP Collaboration Project.  Looks like there is definitely a framework involved.  (The eclipse stuff is nice, too, but my interest is in frameworks.)

Q: Describe the Zend PHP Framework. What is it and why is it needed? 
A: Anyone building industrial-grade PHP applications knows there&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p>There is a sparse FAQ up at zend for <a href="http://www.zend.com/php-collaboration/">PHP Collaboration Project</a>.  Looks like there is definitely a framework involved.  (The eclipse stuff is nice, too, but my interest is in frameworks.)</p>
<blockquote><p>
Q: Describe the Zend PHP Framework. What is it and why is it needed? </p>
<p>A: Anyone building industrial-grade PHP applications knows there&#8217;s more to a well-designed, robust, scalable, secure PHP application than the language itself. The open source Zend PHP Framework is a body of PHP code that provides developers with the essential structure and services for an industrial-grade PHP Web application. </p>
<p>We also think that it&#8217;s very important this framework embody the &#8220;extreme simplicity&#8221; mindset that PHP itself exemplifies. We want to deliver a framework that helps solve developer problems and speeds development; not one that&#8217;s overly complex and heavyweight. </p>
<p>With this framework, PHP developers will have a big &#8220;jump start&#8221; when developing Web applications, with the ability to focus more on unique functionality and less on the plumbing and infrastructure that all applications share.</p>
<p>Q: Aren&#8217;t there other existing PHP frameworks? Why is this one different? </p>
<p>A: While there are other existing PHP frameworks, they are all either very specialized or don&#8217;t embody the &#8220;extreme simplicity&#8221; mindset I described above. </p>
<p>There&#8217;s a large need in the PHP community for a good, simple, but comprehensive, general-purpose framework for building robust, scalable, maintainable Web applications. By making this the initial deliverable of the PHP Collaboration Project, we can produce a framework that incorporates the best ideas from a large number of companies and individuals, while at the same time meeting the needs of most PHP developers.
</p></blockquote>
<p>So this is the announcement of the start of a project to build a framework?  Not the announcement of the delivery of a framework?</p>
<p>I agree with their assessment of need.  I&#8217;ve been saying that for a long time at SitePoint and here on this blog.  </p>
<p>I can&#8217;t help but be reminded of a parable from The Zen of Programming:</p>
<blockquote><p>
&#8220;Curse these personal computers!&#8221; cried the novice in anger, &#8220;To make them do anything I must use three or even four editing programs. This is truly intolerable!&#8221;<br />
The master programmer stared at the novice. &#8220;And what would you do to remedy this state of affairs?&#8221; he asked.</p>
<p>The novice thought for a moment. &#8220;I will design a new editing program,&#8221; he said, &#8220;a program that will replace all these others.&#8221;</p>
<p>Suddenly the master struck the novice on the side of his head.</p>
<p>&#8220;What did you do that for?&#8221; exclaimed the surprised novice.</p>
<p>&#8220;I have no wish to learn another editing program,&#8221; said the master.</p>
<p>And suddenly the novice was enlightened.
</p></blockquote>
<p>Has there ever been a framework project that didn&#8217;t promise being more &#8220;lightweight&#8221; than all the other pre-existing projects at the onset?</p>
<p>Being both general and extremely simple while providing a non-trivial value is very very very difficult.  If it were easy, it wouldn&#8217;t be so hard to find <a href="http://www.phpwact.org/php/mvc_frameworks">an existing PHP framework</a> that isn&#8217;t &#8220;overly complex and heavyweight.&#8221;</p>
<p>Its a worthy project with a difficult goal.</p>
<p>I&#8217;m looking forward to seeing more information and I&#8217;d like to help out however I can.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.procata.com/blog/archives/2005/10/18/zend-php-framework-not-a-rumor/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

