<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/rss2full.xsl" type="text/xsl" media="screen"?><?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/itemcontent.css" type="text/css" media="screen"?><rss xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><title>Enter Content Here</title><link>http://blog.contenthere.net/</link><language>en</language><managingEditor>noreply@blogger.com (Seth)</managingEditor><lastBuildDate>Sun, 03 Aug 2008 19:11:01 -0500</lastBuildDate><generator>Blogger http://www.blogger.com</generator><openSearch:totalResults xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/">377</openSearch:totalResults><openSearch:startIndex xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/">1</openSearch:startIndex><openSearch:itemsPerPage xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/">25</openSearch:itemsPerPage><description></description><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/EnterContentHere" type="application/rss+xml" /><feedburner:feedFlare href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.feedburner.com%2FEnterContentHere" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FEnterContentHere" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare href="http://feeds.my.aol.com/add.jsp?url=http%3A%2F%2Ffeeds.feedburner.com%2FEnterContentHere" src="http://o.aolcdn.com/favorites.my.aol.com/webmaster/ffclient/webroot/locale/en-US/images/myAOLButtonSmall.gif">Subscribe with My AOL</feedburner:feedFlare><feedburner:feedFlare href="http://www.rojo.com/add-subscription?resource=http%3A%2F%2Ffeeds.feedburner.com%2FEnterContentHere" src="http://blog.rojo.com/RojoWideRed.gif">Subscribe with Rojo</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://feeds.feedburner.com/EnterContentHere" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2FEnterContentHere" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2FEnterContentHere" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FEnterContentHere" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><item><title>Mac SVN Clients</title><link>http://feeds.feedburner.com/~r/EnterContentHere/~3/349853399/mac-svn-clients.html</link><category>development</category><author>noreply@blogger.com (Seth)</author><pubDate>Tue, 29 Jul 2008 16:38:34 -0500</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-9312392.post-834560299015753281</guid><description>One of the only things I have been missing on the Mac has been a good &lt;a href="http://subversion.tigris.org/"&gt;Subversion&lt;/a&gt; client.  Yes, there is the &lt;a href="http://subclipse.tigris.org/"&gt;Subclipse&lt;/a&gt; plug-in for &lt;a href="http://www.eclipse.org"&gt;Eclipse&lt;/a&gt; but unless I am doing prolonged Java coding, I don't want to wait for Eclipse to start up.  There is also the command line client but I like a GUI to easily visualize what has changed (yes, I know you can do that on the command line if you can remember the commands).  I was looking for something like &lt;a href="http://tortoisesvn.tigris.org/"&gt;TortoiseSVN&lt;/a&gt; - actually better than Tortoise because Tortoise has the annoying tendency of slowing down Windows Explorer.  &lt;br /&gt;&lt;br /&gt;For a while I was using the &lt;a href="http://www.syncrosvnclient.com/"&gt;Syncro SVN client&lt;/a&gt;.  It came with &lt;a href="http://www.oxygenxml.com/"&gt;Oxygen&lt;/a&gt; and was fine.  A couple of days ago my friend &lt;a href="http://www.spilth.org"&gt;Brian&lt;/a&gt; told me about &lt;a href="http://versionsapp.com/"&gt;Versions&lt;/a&gt; and &lt;a href="http://www.zennaware.com/cornerstone/"&gt;Cornerstone&lt;/a&gt;.  I have been playing around with both of them and am really impressed.  Both are really new (Versions is still in Beta) and they feel like native Mac apps.  Versions looks a little like another favorite program of mine: &lt;a href="http://www.culturedcode.com/things/"&gt;Things&lt;/a&gt;.  Cornerstone costs $59 for a single user license.  Versions hasn't announced prices yet. &lt;br /&gt;&lt;br /&gt;Both Versions and Cornerstone are more powerful than their thin documentation would have you believe.  For example, neither have instructions on how to branch a folder and neither have menu or contextual menu items to execute this action.  However, by holding down the alt key and dragging a folder you can effectively branch.  &lt;br /&gt;&lt;br /&gt;After going back and forth between Cornerstone and Versions, I am finding Cornerstone a little more intuitive.  In particular, I like how Cornerstone shows how many files you changed in Mail.app kind of style.  Also, I found the notion of "repository" and "working copy" bookmarks a little confusing although I am sure it wouldn't take long to get used to it.  &lt;br /&gt;&lt;div class="thumbnail"&gt;&lt;a href="http://skitch.com/sggottlieb/1bmw/cornerstone"&gt;&lt;img src="http://img.skitch.com/20080729-fm5s3mk7i1b9uqyx6wprd6ypu.preview.jpg" alt="Cornerstone" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-family: Lucida Grande, Trebuchet, sans-serif, Helvetica, Arial; font-size: 10px; color: #808080"&gt;Uploaded with &lt;a href="http://plasq.com/"&gt;plasq&lt;/a&gt;'s &lt;a href="http://skitch.com"&gt;Skitch&lt;/a&gt;!&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;The real test will be when I get to merging.  Hopefully one of the two applications will produce some instructions by the time that I need them.&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=rtpTpJ"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=rtpTpJ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=0OFChJ"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=0OFChJ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=5VNhmj"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=5VNhmj" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=m83qBj"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=m83qBj" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=dR0RcJ"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=dR0RcJ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=da4Ekj"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=da4Ekj" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/EnterContentHere/~4/349853399" height="1" width="1"/&gt;</description><feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=EnterContentHere&amp;itemurl=http%3A%2F%2Fblog.contenthere.net%2F2008%2F07%2Fmac-svn-clients.html</feedburner:awareness><feedburner:origLink>http://blog.contenthere.net/2008/07/mac-svn-clients.html</feedburner:origLink></item><item><title>OSCON 2008 Links</title><link>http://feeds.feedburner.com/~r/EnterContentHere/~3/349514661/oscon-2008-links.html</link><category>conference</category><author>noreply@blogger.com (Seth)</author><pubDate>Tue, 29 Jul 2008 09:38:19 -0500</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-9312392.post-6521552040473651811</guid><description>This summer I have had a crazy travel schedule so I was not able to attend the &lt;a href="http://en.oreilly.com/oscon2008/public/content/home"&gt;OSCON&lt;/a&gt; conference in Portland.  I really need to get out there one of these days.  Fortunately, the &lt;a href="http://en.oreilly.com/oscon2008/public/content/news-coverage"&gt;O'Reilly bloggers&lt;/a&gt; and &lt;a href="http://raibledesigns.com/rd/entry/oscon_2008_wrapup"&gt;Matt Raible&lt;/a&gt; have great notes from the conference. The speaker &lt;a href="http://en.oreilly.com/oscon2008/public/schedule/proceedings"&gt;presentations&lt;/a&gt; are posted on the &lt;a href="http://en.oreilly.com/oscon2008/public/content/home"&gt;OSCON site&lt;/a&gt; and the &lt;a href="http://oscon.blip.tv"&gt;keynotes are supposed to be available on BlipTV&lt;/a&gt; but I just checked and they don't seem to be there yet.  While "virtually" attending a conference doesn't provide all the social and interactive benefits of physically being there, it is better than nothing.&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=dKACJJ"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=dKACJJ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=8zbM9J"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=8zbM9J" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=6q8nyj"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=6q8nyj" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=CW1KHj"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=CW1KHj" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=ZbcWuJ"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=ZbcWuJ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=eEBZlj"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=eEBZlj" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/EnterContentHere/~4/349514661" height="1" width="1"/&gt;</description><feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=EnterContentHere&amp;itemurl=http%3A%2F%2Fblog.contenthere.net%2F2008%2F07%2Foscon-2008-links.html</feedburner:awareness><feedburner:origLink>http://blog.contenthere.net/2008/07/oscon-2008-links.html</feedburner:origLink></item><item><title>If only Carl Sagan was alive to see this...</title><link>http://feeds.feedburner.com/~r/EnterContentHere/~3/346052234/if-only-carl-sagan-was-alive-to-see.html</link><category>off-topic</category><author>noreply@blogger.com (Seth)</author><pubDate>Fri, 25 Jul 2008 16:27:27 -0500</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-9312392.post-1639409545550990316</guid><description>The &lt;a href="http://www.google.com"&gt;Google&lt;/a&gt;&lt;br /&gt; blog &lt;a href="http://googleblog.blogspot.com/2008/07/we-knew-web-was-big.html"&gt;posted that they passed the 1 Trillion pages milestone&lt;/a&gt;.  They go on to say that the web is actually infinite thanks to websites like online calendars with "next" buttons that go into the future indefinitely.  It makes my little corner of the web feel even smaller than usual.  Even "billions and billions" seems small.  &lt;br /&gt;&lt;br /&gt;I remember hearing somewhere that Google is better positioned than anyone to handle large volumes of pages because their indices use a unique proprietary database and storage technology that can scale far beyond traditional relational databases.  It looks like they are going to need it.&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=GAGzOJ"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=GAGzOJ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=3MlZKJ"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=3MlZKJ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=HERmBj"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=HERmBj" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=AHNEAj"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=AHNEAj" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=LyGLpJ"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=LyGLpJ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=BdeSsj"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=BdeSsj" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/EnterContentHere/~4/346052234" height="1" width="1"/&gt;</description><feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=EnterContentHere&amp;itemurl=http%3A%2F%2Fblog.contenthere.net%2F2008%2F07%2Fif-only-carl-sagan-was-alive-to-see.html</feedburner:awareness><feedburner:origLink>http://blog.contenthere.net/2008/07/if-only-carl-sagan-was-alive-to-see.html</feedburner:origLink></item><item><title>Duh -  I Get it Now</title><link>http://feeds.feedburner.com/~r/EnterContentHere/~3/345694673/duh-i-get-it-now.html</link><category>open source</category><category>java</category><author>noreply@blogger.com (Seth)</author><pubDate>Fri, 25 Jul 2008 09:24:58 -0500</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-9312392.post-3863187328467981849</guid><description>I can't remember if I knew this before but someone recently mentioned that the &lt;a href="http://www.eclipse.org"&gt;Eclipse project&lt;/a&gt; was named as a dig on &lt;a href="http://www.sun.com/"&gt;Sun Microsystems&lt;/a&gt;.  Get it?  Sun, Eclipse?  I always questioned Sun's lack of involvement in Eclipse.  I don't know if it was only the Eclipse project itself but I would say that the Eclipse supporting companies (like &lt;a href="http://www.ibm.com/"&gt;IBM&lt;/a&gt;, &lt;a href="http://www.oracle.com/"&gt;Oracle&lt;/a&gt;, and &lt;a href="http://www.borland.com/"&gt;Borland&lt;/a&gt;) are &lt;em&gt;eclipsing&lt;/em&gt; Sun in their Java-oriented businesses.  Hostility aside, this is a good example of using an open source project as an opportunity for companies to collaborate and cooperatively force market change.  Other examples include the many open source projects that were established as reference implementations to push forward a standard. &lt;br /&gt;&lt;br /&gt;Other hostile open source project names:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://github.com/KirinDave/fuzed/tree/master"&gt;Fuzed&lt;/a&gt; is for F-U Zed.  Zed is the guy who wrote &lt;a href="http://mongrel.rubyforge.org/"&gt;Mongrel&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.gnu.org/"&gt;GNU&lt;/a&gt; stands for GNU's Not Unix.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;Any others?&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=jCYa3J"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=jCYa3J" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=4T8m2J"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=4T8m2J" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=ix0Smj"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=ix0Smj" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=j48PUj"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=j48PUj" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=kbcHQJ"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=kbcHQJ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=v4UY7j"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=v4UY7j" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/EnterContentHere/~4/345694673" height="1" width="1"/&gt;</description><feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=EnterContentHere&amp;itemurl=http%3A%2F%2Fblog.contenthere.net%2F2008%2F07%2Fduh-i-get-it-now.html</feedburner:awareness><feedburner:origLink>http://blog.contenthere.net/2008/07/duh-i-get-it-now.html</feedburner:origLink></item><item><title>Design Gone Wrong</title><link>http://feeds.feedburner.com/~r/EnterContentHere/~3/343954779/design-gone-wrong.html</link><category>humor</category><author>noreply@blogger.com (Seth)</author><pubDate>Wed, 23 Jul 2008 16:45:34 -0500</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-9312392.post-8718976136992888585</guid><description>Anyone who has worked on a web design project can probably appreciate this.  &lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/kU9YeOQm3Y0"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/kU9YeOQm3Y0" type="application/x-shockwave-flash" wmode="transparent" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=Hq9YzJ"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=Hq9YzJ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=49Pa5J"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=49Pa5J" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=Mn7ruj"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=Mn7ruj" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=m5V7mj"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=m5V7mj" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=moK3QJ"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=moK3QJ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=uPemfj"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=uPemfj" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/EnterContentHere/~4/343954779" height="1" width="1"/&gt;</description><feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=EnterContentHere&amp;itemurl=http%3A%2F%2Fblog.contenthere.net%2F2008%2F07%2Fdesign-gone-wrong.html</feedburner:awareness><feedburner:origLink>http://blog.contenthere.net/2008/07/design-gone-wrong.html</feedburner:origLink></item><item><title>Give Your Repository a REST</title><link>http://feeds.feedburner.com/~r/EnterContentHere/~3/342620327/give-your-repository-rest.html</link><category>jcr</category><category>java</category><category>REST</category><category>Web2.0</category><category>architecture</category><category>alfresco</category><author>noreply@blogger.com (Seth)</author><pubDate>Tue, 22 Jul 2008 09:58:42 -0500</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-9312392.post-594397176726723149</guid><description>Through my research and my client work I have been running across this recurring pattern of exposing a content repository through a &lt;a href="http://www.infoq.com/rest/"&gt;REST&lt;/a&gt; interface.  In the past, I have written about the JCR and &lt;a href="http://incubator.apache.org/sling/site/index.html"&gt;Sling&lt;/a&gt; and &lt;a href="http://www.alfresco.com"&gt;Alfresco&lt;/a&gt;'s Web Scripts architecture.  I really like both of those implementations.  More recently, I have been working with a client who has built their own REST interface on top of &lt;a href="http://www.day.com/site/en/index/solutions/content_management.html.html"&gt;Day's CRX&lt;/a&gt;.  They started their project before Sling was a glimmer in Apache's eye and they took a slightly different approach.  Instead of using Sling's &lt;a href="http://dev.day.com/microsling/content/blogs/main/slingrequestprocessrevisited.html"&gt;repository-oriented request handling&lt;/a&gt;, or Alfresco's model of registering a Web Script (written in Javascript) to a particular path, my client has built out a full URL based query syntax through a servlet.  Right now, the syntax focuses on searching retrieving content and is very powerful.  &lt;br /&gt;&lt;br /&gt;The strategy of using a REST API for your repository solves a central problem with the JCR and other Java base repositories: remote connectivity.  Without a remote connectivity infrastructure like JDBC or ODBC, technologies wishing to talk to a Java repository must resort to connectivity like RMI (Remote Method Invocation) that are inefficient and do not necessarily play nicely with firewalls.  While not particularly efficient (lots of protocol layers and text processing), REST offers a nice foundation for enabling remote connectivity at the appropriate layer of abstraction (that is, how content is &lt;em&gt;logically stored&lt;/em&gt; - not how it is physically persisted).  There are many reasons why REST is a good strategy but I think that the most important ones are:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;There is great infrastructure available for optimizing and controlling HTTP traffic.  For example, reverse proxy technologies like &lt;a href="http://www.squid-cache.org"&gt;Squid&lt;/a&gt; can stand in front of the REST interface and serve repeated requests out of cache.  Firewalls can be used to filter traffic with rules that evaluate the requested path and requester origin (beware &lt;a href="http://en.wikipedia.org/wiki/IP_address_spoofing"&gt;IP Address spoofing&lt;/a&gt;).  &lt;br /&gt;&lt;/li&gt;&lt;li&gt;REST is entirely technology neutral. Everything talks HTTP and XML.  You can replace the implementation of either the server or the client with little risk to the overall architecture.  &lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;I think the only downside is that developing your own API is tricky business.  While you are free to change your underlying data structures, once you publish your API and start writing applications on it, you lock yourself in.  Where possible, it is best to support standardized query syntax like &lt;a href="http://www.w3.org/TR/xquery"&gt;XQuery&lt;/a&gt; or the JCR query language in addition to your domain-specific methods.    &lt;br /&gt;&lt;br /&gt;I expect to see this pattern of REST-based repository access to be pretty much the standard as we get into Web 2.0 architectures that support mash-up applications.  If they can address the overhead of all the text handling, more and more systems will use REST API's to de-couple the various components in the application stack.  Something to consider the next time you design a content-centric application.&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=ND0ZGJ"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=ND0ZGJ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=He0j3J"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=He0j3J" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=yZ4YVj"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=yZ4YVj" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=b4BLfj"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=b4BLfj" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=53B2hJ"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=53B2hJ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=SXp0Cj"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=SXp0Cj" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/EnterContentHere/~4/342620327" height="1" width="1"/&gt;</description><feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=EnterContentHere&amp;itemurl=http%3A%2F%2Fblog.contenthere.net%2F2008%2F07%2Fgive-your-repository-rest.html</feedburner:awareness><feedburner:origLink>http://blog.contenthere.net/2008/07/give-your-repository-rest.html</feedburner:origLink></item><item><title>DjangoCon 2008</title><link>http://feeds.feedburner.com/~r/EnterContentHere/~3/338616923/djangocon-2008.html</link><category>conference</category><category>django</category><category>python</category><author>noreply@blogger.com (Seth)</author><pubDate>Thu, 17 Jul 2008 21:52:29 -0500</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-9312392.post-3608611653274429952</guid><description>The &lt;a href="http://www.djangoproject.com"&gt;Django&lt;/a&gt; community recently announced the first official Django conference. &lt;a href="http://www.djangoproject.com/weblog/2008/jul/13/djangocon/"&gt;DjangoCon 2008&lt;/a&gt; will be held at Google's Mountain View headquarters on September 6th and 7th to coincide with release 1.0 of the platform.  Admission is free (as in beer) but they are capping the attendance at 200.  &lt;br /&gt;&lt;br /&gt;If you are new to Django, Django is am open source web application development framework written in the &lt;a href="http://www.python.org/"&gt;Python&lt;/a&gt; programming Language.  Despite its sub-1.0 status, Django is quite mature.  It was first developed by the folks over at Lawrence Journal-World for sites like &lt;a href="http://www2.ljworld.com/"&gt;ljworld.com&lt;/a&gt;, &lt;a href="http://lawrence.com/"&gt;lawrence.com&lt;/a&gt;, and &lt;a href="http://www2.kusports.com/"&gt;KUSports.com&lt;/a&gt;.  Later, &lt;a href="http://www.robcurley.com/"&gt;Rob Curley&lt;/a&gt; assembled a team over at the &lt;a href="http://www.washingtonpost.com/"&gt;Washington Post&lt;/a&gt; to build a bunch of local sites.  Now Django is bundled and actively used in &lt;a href="http://code.google.com/appengine/"&gt;Google App Engine&lt;/a&gt;.  There area also a number of books on Django.  I am currently reading the &lt;a href="http://www.amazon.com/Definitive-Guide-Django-Development-Right/dp/1590597257/ref=pd_bbs_sr_1?ie=UTF8&amp;s=books&amp;qid=1216348078&amp;sr=8-1"&gt;Definitive Guide to Django&lt;/a&gt; by Adrian Holovaty and Jacob Kaplan-Moss.  So far, so good.  I see a lot in common with &lt;a href="http://www.rubyonrails.org/"&gt;Rails&lt;/a&gt; and the two definitely seem to get along at least at a philosophical level.  &lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/PLUS00QrYWw&amp;hl=en&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/PLUS00QrYWw&amp;hl=en&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;I will be covering Django in an upcoming report about web content management in media and publishing because of Django's widespread use in that industry.  There is a small commercial CMS called &lt;a href="http://www.ellingtoncms.com/"&gt;Ellington&lt;/a&gt; that is specifically designed for the newsroom.  Do you have any experience with Django or Ellington? I would love to talk to you about it.&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=UDWqDJ"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=UDWqDJ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=fngPKJ"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=fngPKJ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=M0fsZj"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=M0fsZj" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=T7ZhKj"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=T7ZhKj" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=RczMyJ"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=RczMyJ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=4DIq9j"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=4DIq9j" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/EnterContentHere/~4/338616923" height="1" width="1"/&gt;</description><feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=EnterContentHere&amp;itemurl=http%3A%2F%2Fblog.contenthere.net%2F2008%2F07%2Fdjangocon-2008.html</feedburner:awareness><feedburner:origLink>http://blog.contenthere.net/2008/07/djangocon-2008.html</feedburner:origLink></item><item><title>Nuxeo Web Engine</title><link>http://feeds.feedburner.com/~r/EnterContentHere/~3/332686774/nuxeo-web-engine.html</link><category>java</category><category>ecm</category><category>nuxeo</category><author>noreply@blogger.com (Seth)</author><pubDate>Fri, 11 Jul 2008 08:31:19 -0500</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-9312392.post-5722711239370909711</guid><description>&lt;a href="http://www.nuxeo.com/"&gt;Nuxeo&lt;/a&gt; just &lt;a href="http://blogs.nuxeo.com/sections/blogs/fermigier/2008_07_11_first-release-nuxeo-webengine"&gt;announced the first official release of their WebEngine&lt;/a&gt;.  I have been hearing updates about this project for a while and have been meaning to check it out.  From glancing through the slides, WebEngine seems very similar to &lt;a href="http://incubator.apache.org/sling/site/index.html"&gt;Apache Sling&lt;/a&gt; and has many of the things that I like about Sling: a RESTful interface and a lightweight, content-centric programming model. In WebEngine templates are written in FreeMarker and you can script in your choice of Groovy, Python, Ruby, Javascript and other languages (thanks to &lt;a href="http://java.sun.com/developer/technicalArticles/J2SE/Desktop/scripting/"&gt;JSR 223&lt;/a&gt;) which provides a scripting interface for Java applications).  I am looking forward to playing around with WebEngine.  In my past experiences with Nuxeo applications, I found them to be well engineered.&lt;br /&gt;&lt;br /&gt;If you are new to Nuxeo, they have a legitimate claim to being the first open source ECM company.   Their primary geographic focus is in France and they are less well known in the US.  Nuxeo's original ECM product (which combined Document Management, Collaboration, and Web Content Management) was written on the Zope platform.  In 2006, they ported their product (then called CPS for Collaborative Portal Server) to a Java stack (&lt;a href="http://www.slideshare.net/sfermigier/nuxeo-ep-5-a-seam-case-study/"&gt;using JBoss Seam&lt;/a&gt;).  Long time readers of this blog may remember &lt;a href="http://blog.contenthere.net/2006/09/nuxeo-cps-switching-to-java.html"&gt;me being skeptical of whether they could pull it off&lt;/a&gt;.  It turns out that they did a great job with the migration and have been aggressively pushing the platform forward. &lt;br /&gt;&lt;br /&gt;Like, &lt;a href="http://www.alfresco.com"&gt;Alfresco&lt;/a&gt;, Nuxeo's experience and customer base leans towards the document management side of ECM.  Web content management is a newer focus that is (I think) well timed as more companies are looking for ways to rapidly build internally and externally facing content centric web applications.&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=fwvrOJ"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=fwvrOJ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=N3UDCJ"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=N3UDCJ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=P0hGkj"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=P0hGkj" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=QzvJKj"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=QzvJKj" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=SeH24J"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=SeH24J" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=3xkOgj"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=3xkOgj" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/EnterContentHere/~4/332686774" height="1" width="1"/&gt;</description><feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=EnterContentHere&amp;itemurl=http%3A%2F%2Fblog.contenthere.net%2F2008%2F07%2Fnuxeo-web-engine.html</feedburner:awareness><feedburner:origLink>http://blog.contenthere.net/2008/07/nuxeo-web-engine.html</feedburner:origLink></item><item><title>Product IT vs. Enterprise IT</title><link>http://feeds.feedburner.com/~r/EnterContentHere/~3/329784361/product-it-vs-enterprise-it.html</link><category>management</category><author>noreply@blogger.com (Seth)</author><pubDate>Tue, 08 Jul 2008 07:34:01 -0500</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-9312392.post-4716271806854119625</guid><description>Who owns your website?&lt;br /&gt;&lt;br /&gt;In the old days, corporate websites and externally facing web applications used to be managed by the only group that knew anything about technology: corporate (or enterprise) IT - along with email, phones, and printers.  However, as companies are incorporating websites and web applications as part of their &lt;em&gt;product strategy&lt;/em&gt;, externally facing applications are starting to run into limitations from being managed by enterprise IT.  They need more &lt;em&gt;product oriented&lt;/em&gt; ownership.  You could argue that if a piece of technology is externally facing (be it a customer extranet that supports customers use of the product, a marketing campaign website that brings brand value, or a service that a product plugs into), the technology is &lt;em&gt;part of the product&lt;/em&gt;.  &lt;br /&gt;&lt;br /&gt;Product and enterprise technology are like &lt;a href="http://en.wikipedia.org/wiki/Yin_yang"&gt;yin and yang&lt;/a&gt;.  Product technology requires constant innovation like the product it supports.  Product technology is in a state of constant motion as it reaches for new opportunities to differentiate from competitors and serve customers better.  Enterprise technology, most of the time, is the opposite. Enterprise technology needs to be as fixed as possible so that it can serve as a solid foundation to support various business processes.  It is a cost center and money saved goes directly to the bottom line.  A good enterprise technology manager looks at requests for change with skepticism.  "Why is the change necessary?" "What are the risks if we do it?" "What are the risks if we don't do it?"  "What is the ROI?"  If enterprise IT didn't think this way, they would be rolling out a new phone system every week and that would be bad.  &lt;br /&gt;&lt;br /&gt;A best practice is having technology groups that report to the business unit that their technology serves - not to the centralized CIO who is responsible for everything from buying desktops and printers to email servers.  The companies that are structured this way can be more agile and there is less tension in getting things done.  The trend is definitely moving in this direction.  By comparison, companies that lump all computer oriented technology together remind me of people who think that, because I work in "something related to computers," I must know why there's is broken.  &lt;br /&gt;&lt;br /&gt;The big problem with this decentralized technology strategy is that it can be highly inefficient.  There &lt;em&gt;will&lt;/em&gt; be redundancies in software, development, and people if every department has its own IT group. The role of the CTO (or the CIO if there is no CTO) should be balance efficiency and opportunity by setting parameters on the freedoms of technology choices of the different technology groups and establishing mechanisms for deploying and running these systems efficiently.  The model may be similar to the manufacturing industries where the product designer has freedom within parameters set by engineering and manufacturing.  In software, the business unit would build applications in a sanctioned (and supportable) set of tools.  At &lt;a href="http://www.google.com"&gt;Google&lt;/a&gt;, that is C++, Java, Python, and JavaScript.  There may be a server platform and database that enterprise IT is good at managing.  The business unit's product-oriented IT organization builds the application, tests it, and then hosts it on enterprise-managed infrastructure (or, better yet, a 3rd party data center).  The business unit is responsible for fixing and enhancing the application.  Enterprise IT keeps the servers running.  &lt;br /&gt;&lt;br /&gt;In practice, many companies work this way by having business units and departments hire outside systems integrators to be their own product oriented IT.  That usually works well except for two problem areas: enterprise IT staff feel like they were circumvented on a project they should own and, when the consultants leave, no one knows how to maintain the application.  The latter problem is worse if former is not solved - enterprise IT will be even less likely to step up and fix problems in an application that they resent.  I think to be successful in the outsourcing model, the department that owns the product needs to have technical people to maintain and extend the application.  Or, at least, work with a systems integrator that they can keep on retainer for maintenance.  &lt;br /&gt;&lt;br /&gt;This has big implications for the business units and departments. They will have more autonomy but they will also have more responsibility.  They will need to know how to hire technical people, execute projects, and own technology.  This is new ground for many and it will be hard work to get up to speed.  But, as business models become more digital, these skills will become harder for business owners to live without.&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=ltfZbJ"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=ltfZbJ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=NzSchJ"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=NzSchJ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=geWtfj"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=geWtfj" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=t2snvj"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=t2snvj" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=UCjv9J"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=UCjv9J" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=oOzVPj"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=oOzVPj" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/EnterContentHere/~4/329784361" height="1" width="1"/&gt;</description><feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=EnterContentHere&amp;itemurl=http%3A%2F%2Fblog.contenthere.net%2F2008%2F07%2Fproduct-it-vs-enterprise-it.html</feedburner:awareness><feedburner:origLink>http://blog.contenthere.net/2008/07/product-it-vs-enterprise-it.html</feedburner:origLink></item><item><title>Geo Services</title><link>http://feeds.feedburner.com/~r/EnterContentHere/~3/328960089/geo-services.html</link><category>Web2.0</category><category>off-topic</category><author>noreply@blogger.com (Seth)</author><pubDate>Mon, 07 Jul 2008 10:05:53 -0500</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-9312392.post-9035500914702883158</guid><description>&lt;div class="thumbnail"&gt;&lt;a href="http://skitch.com/sggottlieb/xbc6/re-virtually-there-itinerary-in-date-order"&gt;&lt;img src="http://img.skitch.com/20080707-grru67cxnwiyufur27c3fj8ptj.preview.jpg" alt="Re: Virtually There - Itinerary - In Date Order" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-family: Lucida Grande, Trebuchet, sans-serif, Helvetica, Arial; font-size: 10px; color: #808080"&gt;Uploaded with &lt;a href="http://plasq.com/"&gt;plasq&lt;/a&gt;'s &lt;a href="http://skitch.com"&gt;Skitch&lt;/a&gt;!&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;I have been playing around with services that help me keep track of where I am going and where I have been.  So far, the standout application for me has been &lt;a href="http://www.tripit.com/"&gt;Tripit&lt;/a&gt;.  You mainly use Tripit by forwarding the email confirmations that you get from various travel booking services that you use.  Tripit parses through the confirmation email and identifies where you are going and when.  It also is smart enough to put together several reservations as part of the same trip.  For example, if I book a hotel for the January 10th and 11th and a train ticket that leaves on the 10th and returns on the 12th, Tripit knows that it is part of the same trip.  I found the email parsing capabilities to be surprisingly accurate.  I occasionally try to stump Tripit by forwarding emails from international travel or very small hotels.  It almost always got it right.  Recently, when using a client's corporate travel service, I noticed an option to add my itineraries directly to Tripit (see screenshot).  I wouldn't be surprised if other travel services started to giving their customers this option.  &lt;br /&gt;&lt;br /&gt;Tripit provides a lot of upside for the minimal effort it takes to forward an email.  For one, I get a nice little itinerary that I can print out. The itinerary has the address, confirmation codes, and telephone numbers of all the places that I need to be.  It even has maps.  I can also subscribe to an iCal calendar of my trips so everything is put right into my local calendar (I use iCal) along with my meetings.  This helps prevent me from scheduling meetings when I am en route.  My wife also subscribes to my calendar so she has all the details in her personal calendar as well.  &lt;br /&gt;&lt;br /&gt;The other service that I think I will start to use is &lt;a href="http://brightkite.com"&gt;brightkite&lt;/a&gt;.  I will use this to post when I am at a particular place and I want to meet up with a friend.  I like the features of brightkite.  You can easily "check in" to a location either by address or by using a saved place (called a "marker").  Brightkite suppors a simple syntax that you can use over SMS.  Plus you can &lt;a href="http://ping.fm"&gt;Ping.fm&lt;/a&gt; to email in your location.  &lt;br /&gt;&lt;br /&gt;I have also tried &lt;a href="http://www.dopplr.com"&gt;Dopplr&lt;/a&gt; and &lt;a href="http://fireeagle.yahoo.net"&gt;Fire Eagle&lt;/a&gt;.  Dopplr didn't do it for me at all.  You have to manually enter your trips.  I tried to have Dopplr listen to my Tripit calendar but it was horrendously inaccurate.  Dopplr had me taking all these crazy trips to various parts of the world and treated lay-overs at different airports as discrete trips.  It wouldn't be so bad if Dopplr was not counting my carbon emissions.  I hated feeling defensive about all those trips I was not event taking.  I closed my Dopplr account.&lt;br /&gt;&lt;br /&gt;I am on the fence about Fire Eagle.  I should feel very lucky that I have an account there.  I hear that invites are very hard to get.  But I don't feel like I get much value from the service.  Fire Eagle can listen to other services to find out where I am.  I have it listening to brightkite.  There are a number of other applications which I don't use (like Dopplr, Plazes, and Navizon) that also talk to Fire Eagle.  The only benefit that I see is that it gives &lt;a href="http://www.yahoo.com"&gt;Yahoo&lt;/a&gt; more information to serve me up better ads (which really isn't a benefit for me) and search results (but I use Google search). &lt;br /&gt;&lt;br /&gt;So, for now, I am sticking with Tripit and brightkite.&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=usOoTJ"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=usOoTJ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=aBar7J"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=aBar7J" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=EnxFKj"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=EnxFKj" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=bR59Ej"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=bR59Ej" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=AK9BqJ"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=AK9BqJ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=T1tYKj"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=T1tYKj" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/EnterContentHere/~4/328960089" height="1" width="1"/&gt;</description><feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=EnterContentHere&amp;itemurl=http%3A%2F%2Fblog.contenthere.net%2F2008%2F07%2Fgeo-services.html</feedburner:awareness><feedburner:origLink>http://blog.contenthere.net/2008/07/geo-services.html</feedburner:origLink></item><item><title>Book Review: Professional Plone Development</title><link>http://feeds.feedburner.com/~r/EnterContentHere/~3/324878672/book-review-professional-plone.html</link><category>review</category><category>plone</category><author>noreply@blogger.com (Seth)</author><pubDate>Wed, 02 Jul 2008 07:54:55 -0500</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-9312392.post-8091340758541925012</guid><description>I just finished Martin Aspeli's &lt;a href="http://www.amazon.com/gp/product/1847191983?ie=UTF8&amp;tag=contenthere-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=1847191983"&gt;Professional Plone Development&lt;/a&gt;&lt;img src="http://www.assoc-amazon.com/e/ir?t=contenthere-20&amp;l=as2&amp;o=1&amp;a=1847191983" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /&gt;.  This is the third &lt;a href="http://plone.org"&gt;Plone&lt;/a&gt; book that I have read over the years and it is definitely the most advanced. Do not take the words "professional" and "development" in the title lightly.  Martin is a brilliant developer with a long history in the Plone project so I would expect nothing less from him.&lt;br /&gt;&lt;br /&gt;What I found most helpful about the book is its coverage of the many new concepts that were introduced in versions 2.5 and 3 of Plone.  If you have been away from Plone for a while, it may be time to check back in. I think the coolest stuff is the incorporation of &lt;a href="http://www.zope.org/Products/Zope3"&gt;Zope 3&lt;/a&gt; constructs.  The overall trend with Zope 3 is to make the platform less monolithic and more modular.  This allows you to use Zope components in everyday Python applications and to use more standard Python programming techniques in Zope applications.  The core Plone community has been energized by these new ideas for a while but they are just now starting to work their way into the mainstream.  If you don't know about these concepts yet, you are starting to fall behind.  &lt;br /&gt;&lt;br /&gt;Considering the breadth, complexity, and innovativeness of Plone 3, Martin had a lot of ground to cover.  Still, he was able to provide useful summaries and examples while keeping some semblance of narrative flow (don't get too attached to his case example though. the book frequently wanders away from the example project of a movie theater website).  &lt;em&gt;Professional Plone Development&lt;/em&gt; helps orient readers and prepare them to embrace and leverage the concepts that advanced Plone developers use in successful projects.   Of course, to complete his education, the developer will have to read the source code and other online resources and, of course, learn by doing.  One thing I would like to see more of is references to online documentation (both in-line references and a "further reading" section at the end of each chapter).  &lt;br /&gt;&lt;br /&gt;The ideal reader of this book is someone who knows his way around Plone and is proficient in Python - perhaps someone who has read &lt;a href="http://blog.contenthere.net/2005/08/plone-live-review.html"&gt;Plone Live&lt;/a&gt; (which is now, unfortunately, pretty outdated - so much for a constantly updating book) and has built a few sites.  This kind of reader will really benefit from Martin's best practices of test-first development and setting up an efficient development environment.  &lt;br /&gt;&lt;br /&gt;I also like how Martin de-mystifies the Zope platform which I have always regarded with fear and respect (except when I worked on a project to re-wire Zope to talk to an Oracle database rather than the ZODB: &lt;a href="http://blog.contenthere.net/2005/12/zoracle-part-i-problem.html"&gt;pt1&lt;/a&gt;, &lt;a href="http://blog.contenthere.net/2005/12/zoracle-part-ii-solution.html"&gt;pt2&lt;/a&gt;, &lt;a href="http://blog.contenthere.net/2005/12/zoracle-part-iii-connecting-zope-to.html"&gt;pt3&lt;/a&gt;).  Martin reminds us that Zope is just a bunch of Python modules and it is OK to poke around and modify code to see how things work.  Just remember to set the code back to how you found it or risk angering the mystical Zope spirit :)&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=wqqQ2J"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=wqqQ2J" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=MRcjgJ"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=MRcjgJ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=JXvgfj"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=JXvgfj" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=wdar9j"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=wdar9j" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=rXp8qJ"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=rXp8qJ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=si8zEj"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=si8zEj" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/EnterContentHere/~4/324878672" height="1" width="1"/&gt;</description><feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=EnterContentHere&amp;itemurl=http%3A%2F%2Fblog.contenthere.net%2F2008%2F07%2Fbook-review-professional-plone.html</feedburner:awareness><feedburner:origLink>http://blog.contenthere.net/2008/07/book-review-professional-plone.html</feedburner:origLink></item><item><title>Bakers and Chefs</title><link>http://feeds.feedburner.com/~r/EnterContentHere/~3/324150529/bakers-and-chefs.html</link><category>usability</category><author>noreply@blogger.com (Seth)</author><pubDate>Tue, 01 Jul 2008 10:43:25 -0500</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-9312392.post-7806921389012954538</guid><description>A couple of days ago, when presenting to a client, I started to talk about different types of users and analogy popped into my head.  It seemed to resonate with the group so I thought I would share it.  &lt;br /&gt;&lt;br /&gt;I find there are two high level approaches that people take when using software: to methodologically follow steps, or to play around with it until you get the results that you want.  People tend to gravitate to one or the other.  &lt;br /&gt;&lt;br /&gt;People who like to follow steps use software like they are &lt;em&gt;baking a cake&lt;/em&gt;.  When you bake a cake, the ingredients combine to create complex chemical reactions that you have no hope of understanding.  The best you can do is religiously follow the steps and hope for the results that are promised.  (Or at least that is how most people bake cakes.  I am sure that expert bakers are different.)  For many, that is what using technology is like.  &lt;em&gt;Cooking&lt;/em&gt;, for most of us, is a far more experimental exercise.  You can follow portions of the recipe and improvise the rest.  You can add flavors until you get what you want.  If it starts to taste bad, you can usually bring it back to edible by adding a little of this or a little of that.&lt;br /&gt;&lt;br /&gt;Not to be age-ist, but millennials are often chefs.  They are comfortable enough with technology to improvise when completing a task or use a tool to do something completely new.  Digital natives aren't afraid they will "break the internet."  They won't read the documentation until they are stuck.  People who didn't grow up with software tend to be much more cautious and follow the directions.  They panic a little when something unexpected happens.   &lt;br /&gt;&lt;br /&gt;So why does this matter?  It is important to user interface design when you have to serve these user populations.  For the bakers, step-by-step instructions built right into the UI help.  You also need to be very careful about consistency in naming conventions (just like the story of the user not being able to find the "any" key, a baker will tense up if the instructions talk about a "save" button but the button on the form says "submit").  For chefs, you need to do a lot more testing to ensure that unexpected uses don't mess things up.  Expect chefs to do a lot of trial and error.  If you know that they will not like the consequences of executing a function, warn them.  The classic case is warning a user that if they navigate away from the page, their work will be lost.  A baker wouldn't navigate away from the page unless the instructions told him to.&lt;br /&gt;&lt;br /&gt;Anyway, I (and I think my audience) found it helpful to visualize a user carefully measuring their actions with a software application as if he is following a complicated cake recipe verses clicking around like he is throwing spices into a pot.  Maybe you will too.&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=BNLloJ"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=BNLloJ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=SHKuYJ"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=SHKuYJ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=82otoj"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=82otoj" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=gIEmDj"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=gIEmDj" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=kjUt8J"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=kjUt8J" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=N5QxPj"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=N5QxPj" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/EnterContentHere/~4/324150529" height="1" width="1"/&gt;</description><feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=EnterContentHere&amp;itemurl=http%3A%2F%2Fblog.contenthere.net%2F2008%2F07%2Fbakers-and-chefs.html</feedburner:awareness><feedburner:origLink>http://blog.contenthere.net/2008/07/bakers-and-chefs.html</feedburner:origLink></item><item><title>First Official Release of Sling</title><link>http://feeds.feedburner.com/~r/EnterContentHere/~3/323260245/first-official-release-of-sling.html</link><category>jcr</category><category>java</category><category>architecture</category><category>alfresco</category><author>noreply@blogger.com (Seth)</author><pubDate>Mon, 30 Jun 2008 08:48:01 -0500</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-9312392.post-4563696304437200648</guid><description>The &lt;a href="http://incubator.apache.org/sling/site/index.html"&gt;Apache Sling&lt;/a&gt; team recently &lt;a href="http://www.theserverside.com/news/thread.tss?thread_id=49864"&gt;announced the first official release of Sling&lt;/a&gt;.  Now you can &lt;a href="http://incubator.apache.org/sling/site/downloads.cgi"&gt;download&lt;/a&gt; some nicely packaged Sling bundles to play around with.&lt;br /&gt;&lt;br /&gt;I have been experimenting with the Sling/&lt;a href="http://www.day.com/content/site/en/index/solutions/content-centric_infrastructure/content_repository.html"&gt;CRX&lt;/a&gt; bundle that came with Day Software's &lt;a href="http://dev.day.com/microsling/content/blogs/cup.c.html"&gt;JCR Cup 2008&lt;/a&gt; competition (entries due midnight September, 30) and was really impressed by what I saw.     &lt;br /&gt;&lt;br /&gt;Sling allows you to write applications on top of the JCR using either server side or client side Javascript.  On the server side, you can create &lt;a href="http://weblogs.goshaky.com/weblogs/lars/entry/esp_javascript_template_language_syntax"&gt;Java Script Templates (ESP files)&lt;/a&gt; that give you access to the full JCR API. Templates are stored in the repository and called using an elegant &lt;a href="http://dev.day.com/microsling/content/blogs/main/slingrequestprocessrevisited.html"&gt;MVC request processing framework&lt;/a&gt;. Templates can be called directly, or can be associated with content types and executed when an asset of that time is requested.  As you might expect from &lt;a href="http://www.ics.uci.edu/~fielding/"&gt;Roy Fielding&lt;/a&gt;'s &lt;a href="http://www.day.com"&gt;employer&lt;/a&gt;, it is all very &lt;a href="http://www.infoq.com/rest/"&gt;REST&lt;/a&gt;.  For client-side scripting, you just import a Javascript file called sling.js and you get methods like "Sling.getContent" (which gives you an array of Javascript objects).  &lt;br /&gt;&lt;br /&gt;Despite the fact that Sling is still an incubation project, it is fairly mature and robust.  Day's upcoming release of &lt;a href="http://www.day.com/site/en/index/solutions/content_management.html.html"&gt;Communiqué&lt;/a&gt; (version 5) uses Sling extensively.  I envision Sling being used in a presentation tier where pages are statically rendered (baked) from content in the JCR and Sling is used to power dynamic AJAX overlays using content from replicated JCR workspaces.  &lt;br /&gt;&lt;br /&gt;I really like the fact that logic is written in an interpreted language like Javascript.  Development and deployment is faster when you take out the compilation step.  Furthermore, Sling is built as &lt;a href="http://www.osgi.org/About/Technology"&gt;OSGi&lt;/a&gt; (using &lt;a href="http://felix.apache.org/site/index.html"&gt;Apache Felix&lt;/a&gt;)  bundles so it is more modular and flexible than a typical monolithic Java web application.  &lt;br /&gt;&lt;br /&gt;The CRX (or the free &lt;a href="http://jackrabbit.apache.org/"&gt;Apache JackRabbit&lt;/a&gt; implementation of the JCR) and Sling should be considered along side &lt;a href="http://www.alfresco.com/"&gt;Alfresco&lt;/a&gt; with its elegant &lt;a href="http://wiki.alfresco.com/wiki/Web_Scripts"&gt;Web Scripts&lt;/a&gt; (which also uses Javascript as a scripting language).  Alfresco has some nice virtualization features but there may be a higher level of lock-in to the Alfresco API's.    Alfresco has a user-oriented user interface while the CRX only has a JCR browser which is really only intended for administrators.  However, in both cases, you will probably want to develop your own user interfaces because Alfresco's current WCM UI is &lt;a href="http://blog.contenthere.net/2008/04/alfresco-releases-enterprise-edition-22.html"&gt;not optimized for managing web content&lt;/a&gt; (&lt;a href="http://blog.contenthere.net/2008/03/new-web-user-interface-coming-for.html"&gt;improvements are scheduled for mid 2009&lt;/a&gt; - interestingly, the Alfresco team is calling these enhancements "project &lt;em&gt;Sling&lt;/em&gt;shot).  &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=AcO3sI"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=AcO3sI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=CHE4rI"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=CHE4rI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=zJzedi"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=zJzedi" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=bGwKGi"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=bGwKGi" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=y7yJ5I"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=y7yJ5I" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=cgn7vi"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=cgn7vi" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/EnterContentHere/~4/323260245" height="1" width="1"/&gt;</description><feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=EnterContentHere&amp;itemurl=http%3A%2F%2Fblog.contenthere.net%2F2008%2F06%2Ffirst-official-release-of-sling.html</feedburner:awareness><feedburner:origLink>http://blog.contenthere.net/2008/06/first-official-release-of-sling.html</feedburner:origLink></item><item><title>Watch Out Webex</title><link>http://feeds.feedburner.com/~r/EnterContentHere/~3/319051649/watch-out-webex.html</link><category>tools</category><category>collaboration</category><author>noreply@blogger.com (Seth)</author><pubDate>Tue, 24 Jun 2008 12:42:24 -0500</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-9312392.post-5245651400326131542</guid><description>&lt;div class="thumbnail"&gt;&lt;a href="http://skitch.com/sggottlieb/qcyn/skitch"&gt;&lt;img src="http://img.skitch.com/20080624-xb6mjnbfugq8x9b8ya11rhi38b.preview.jpg" alt="Skitch" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-family: Lucida Grande, Trebuchet, sans-serif, Helvetica, Arial; font-size: 10px; color: #808080"&gt;Uploaded with &lt;a href="http://plasq.com/"&gt;plasq&lt;/a&gt;'s &lt;a href="http://skitch.com"&gt;Skitch&lt;/a&gt;!&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;I just got through a 2 hour &lt;a href="http://www.webex.com"&gt;WebEx&lt;/a&gt; session where I walked through my deliverable with my client.  At $0.33/minute/person for a pay per use session, the bill probably came to around $120 (without integrated voice).   That is actually more than the train ticket to get to New York where the client is.  Still, when you factor in the time (9 hours of travel round trip!), parking at train station, and (of course) the carbon, it was an economical choice.  &lt;br /&gt;&lt;br /&gt;An even more economical choice would have been to use &lt;a href="http://docs.google.com/"&gt;Google Doc's&lt;/a&gt; presentation feature for free.  It would have worked for me because I wasn't showing anything other than slides.  If I was demo-ing an application I would have needed to use WebEx or some other real screen sharing application.  &lt;br /&gt;&lt;br /&gt;Oh well.  Something to keep in mind for next time.&lt;br /&gt;&lt;br /&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=grkPCI"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=grkPCI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=kyUkWI"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=kyUkWI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=cUCJvi"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=cUCJvi" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=F2Gsqi"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=F2Gsqi" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=8i0EHI"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=8i0EHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=BXOUmi"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=BXOUmi" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/EnterContentHere/~4/319051649" height="1" width="1"/&gt;</description><feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=EnterContentHere&amp;itemurl=http%3A%2F%2Fblog.contenthere.net%2F2008%2F06%2Fwatch-out-webex.html</feedburner:awareness><feedburner:origLink>http://blog.contenthere.net/2008/06/watch-out-webex.html</feedburner:origLink></item><item><title>Python Gets Drupy</title><link>http://feeds.feedburner.com/~r/EnterContentHere/~3/318307735/python-gets-drupy.html</link><category>drupal</category><category>python</category><author>noreply@blogger.com (Seth)</author><pubDate>Mon, 23 Jun 2008 14:07:36 -0500</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-9312392.post-6607976106679111666</guid><description>Via &lt;a href="http://bmannconsulting.com"&gt;Boris Mann's blog&lt;/a&gt;, I just learned about &lt;a href="http://drupy.net/"&gt;Drupy&lt;/a&gt; - a full port of &lt;a href="http://drupal.org/"&gt;Drupal&lt;/a&gt; on &lt;a href="http://www.python.org/"&gt;Python&lt;/a&gt;.  Among all the initial reactions I have to this announcement, the one that screams the loudest is "why?"&lt;br /&gt;&lt;br /&gt;Drupal is an intentionally, non-object oriented framework.  Drupal does not use PHP's implementation of classes and there is no inheritance - at least not in a classic OOP sense .  The architecture works by exposing &lt;em&gt;hooks&lt;/em&gt; by which modules can be called by core system functions and do extra stuff.  To a Python programmer thats just, well, &lt;a href="http://faassen.n--tree.net/blog/view/weblog/2005/08/06/0"&gt;un-pythonic&lt;/a&gt;.  &lt;br /&gt;&lt;br /&gt;Python is a super-object oriented language.  EVERYTHING is an object.  Even a function is an object (pause to wait for non-pythonista heads to stop spinning).  Python also has plenty of frameworks of its own.  &lt;a href="http://zope.org"&gt;Zope&lt;/a&gt; is the grand-daddy of content oriented web application frameworks but it is a lot more complicated to fully understand than Drupal.  &lt;a href="http://www.djangoproject.com/"&gt;Django&lt;/a&gt; fills the role of a leaner, content-friendly Python web application development framework.  Furthermore, one of the really great things about Drupal is that it is written in PHP and it doesn't take too long for a good PHP programmer to understand how it works.  There are far fewer Python developers than PHP developers out there.&lt;br /&gt;&lt;br /&gt;The single reason why this could be a good idea is if you could run Drupal modules on top of Drupy.  However, given that modules often don't work across multiple versions of Drupal, my confidence that they could integrate with Drupy is very low.  I think a better idea would be a CMS that is functionally similar to Drupal written on top of a Python framework (like Django).  In particular, a CMS with strong user profile management, a taxonomy based system for organizing the repository, and extensible through the addition of modules.  &lt;br /&gt;&lt;br /&gt;Of course, like with a lot of other things, I reserve the right to change my mind when I see more.  But for now, I'll take my Drupal in PHP and go with something else when I want to code in Python.  Drupy team, I welcome you to prove me wrong.&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=e0rxeI"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=e0rxeI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=vjuzPI"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=vjuzPI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=r5VGfi"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=r5VGfi" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=IPDNzi"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=IPDNzi" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=I1qQ1I"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=I1qQ1I" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=EemgBi"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=EemgBi" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/EnterContentHere/~4/318307735" height="1" width="1"/&gt;</description><feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=EnterContentHere&amp;itemurl=http%3A%2F%2Fblog.contenthere.net%2F2008%2F06%2Fpython-gets-drupy.html</feedburner:awareness><feedburner:origLink>http://blog.contenthere.net/2008/06/python-gets-drupy.html</feedburner:origLink></item><item><title>Time Machine Restore</title><link>http://feeds.feedburner.com/~r/EnterContentHere/~3/318039028/time-machine-restore.html</link><category>tools</category><category>off-topic</category><author>noreply@blogger.com (Seth)</author><pubDate>Mon, 23 Jun 2008 06:20:26 -0500</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-9312392.post-6613399164258239571</guid><description>Although few people do it, restoring from backup is the only way to ensure that your backup and recovery system works.  Since upgrading to Leopard, I have been using Time Machine to back up my laptop over the network (onto a and external hard drive connected via USB to my &lt;a href="http://store.apple.com/us/product/MB053LL/A?fnode=home/shop_mac/mac_accessories/airport_wireless&amp;mco=MTA4NDM2"&gt;Airport Extreme&lt;/a&gt;).  What better way to test a restore from Time Machine than to put in a bigger hard drive and restore?  I figured if it didn't work, I would still have my old hard drive (still working but too small).&lt;br /&gt;&lt;br /&gt;I am happy to report that the restore went perfectly.  The general instructions are to be found &lt;a href="http://duncandavidson.com/2008/01/restoring-from-time-machine.html"&gt;here&lt;/a&gt;.  The only difference is that I restored from the network rather than directly through the USB port.  The one little hitch I ran into was that it took a couple of times for the utility to see my new local hard drive.  &lt;br /&gt;&lt;br /&gt;I am the kind of person who is frequently shocked when things work as advertised so I was in awe that, after I swapped out the hard drive and ran through the process, it was like nothing happened but the free space of my hard drive grew.  All the software was as I left it.  Even my BASH history was intact.  The only thing missing was my "Downloads" - I had to recreate it.  I guess this is because Mac regards this as a temporary space and not worth recovering.  &lt;br /&gt;&lt;br /&gt;So, don't hesitate to set up Time Machine.  It could help you recover from a massive hard drive failure, a stolen laptop, or any other disaster - as if it never happened.&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=XepiiI"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=XepiiI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=KnE5LI"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=KnE5LI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=DuuQpi"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=DuuQpi" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=0a7FHi"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=0a7FHi" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=7JnlaI"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=7JnlaI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=ZKEXzi"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=ZKEXzi" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/EnterContentHere/~4/318039028" height="1" width="1"/&gt;</description><feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=EnterContentHere&amp;itemurl=http%3A%2F%2Fblog.contenthere.net%2F2008%2F06%2Ftime-machine-restore.html</feedburner:awareness><feedburner:origLink>http://blog.contenthere.net/2008/06/time-machine-restore.html</feedburner:origLink></item><item><title>Book Review: OpenCms 7 Development</title><link>http://feeds.feedburner.com/~r/EnterContentHere/~3/315643761/book-review-opencms-7-development.html</link><category>java</category><category>opencms</category><category>review</category><author>noreply@blogger.com (Seth)</author><pubDate>Thu, 19 Jun 2008 14:17:54 -0500</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-9312392.post-2496674958035787861</guid><description>I just got through reading Dan Liliedahl's book &lt;a href="http://www.packtpub.com/opencms-7-development/book"&gt;OpenCms 7 Development&lt;/a&gt; (&lt;a href="http://www.packtpub.com/"&gt;Packt Publishing&lt;/a&gt;).  I met Dan when I was at the &lt;a href="http://www.opencms-days.org/en/index.html"&gt;OpenCms Days&lt;/a&gt; developer conference and was impressed with his presentation.  Dan knows his stuff (not just about &lt;a href="http://www.opencms.org"&gt;OpenCms&lt;/a&gt; - he worked for FutureTense in the early days).  &lt;br /&gt;&lt;br /&gt;The book was first introduced at the conference.  I was surprised that Dan was able to get it out so quickly after Version 7 was released.  It seemed like Version 6 was out a long time before a book on it came out.  Dan did mention that writing about the product as it was being developed was a challenge.  &lt;br /&gt;&lt;br /&gt;When I started reading the book, I was pleasantly surprised to not have to go through any content management theory.  The book stays true to its title.  Not that theory isn't important but I think it is reasonable to assume that someone developing on a CMS knows the about the basic concepts.  If you don't, some background reading (and also some requirements analysis too) is in order.&lt;br /&gt;&lt;br /&gt;One short-coming about diving right into the OpenCms architecture is that the beginning is a little choppy as the author tries to orient the reader to the platform (OpenCms is a very mature and elaborate application).  Although it is choppy, there are some very good explanations of things like OpenCms's request processing chain and how the code is organized.  There are also excellent tips on configuration management and how to configure your IDE.  Still a reader may want to supplement the book by reading some additional OpenCms doc to help introduce him to some of the bigger OpenCms concepts. &lt;br /&gt;&lt;br /&gt;The book hits its stride as it gets into the examples, which revolve around building a blogging site.  There is good coverage on everything from creating content types and display templates to building extensions.  By over-engineering some of the design, Dan is able to go into depth in modularizing code and managing logic in Java classes.   Dan's experience in building big sites shows in how he designs for manageability and reuse.  All the code is put into modules that can be exported and deployed to different OpenCms instances.  The book also covers some of the new features like WebDAV, the new security model (with organizational units) and the relationship engine.  &lt;br /&gt;&lt;br /&gt;The one area that I think could use a little more coverage is on the TemplateOne and TemplateTwo frameworks.  Dan builds everything from scratch to show how OpenCms works but these frameworks allow you to get up an running with less development.  Unfortunately, neither of these are particularly well covered in the OpenCms documentation.  Perhaps a whole book on TemplateOne and TemplateTwo is in order.&lt;br /&gt;&lt;br /&gt;Overall, OpenCms 7 Development is a must read for anyone who wants to implement robust sites on the OpenCms platform.&lt;br /&gt;&lt;br /&gt;OpenCms is covered in the&lt;a href="http://www.contenthere.net/reports/jwcm.html"&gt; Open Source Web Content Management in Java report&lt;/a&gt;.  The &lt;a href="http://www.contenthere.net/reports/opencmswcm.html"&gt;standalone evaluation of OpenCms is also available&lt;/a&gt;.&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=KmXCSI"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=KmXCSI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=vpMxGI"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=vpMxGI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=k2gCZi"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=k2gCZi" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=IZXz8i"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=IZXz8i" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=1bDjOI"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=1bDjOI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=vgLjVi"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=vgLjVi" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/EnterContentHere/~4/315643761" height="1" width="1"/&gt;</description><feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=EnterContentHere&amp;itemurl=http%3A%2F%2Fblog.contenthere.net%2F2008%2F06%2Fbook-review-opencms-7-development.html</feedburner:awareness><feedburner:origLink>http://blog.contenthere.net/2008/06/book-review-opencms-7-development.html</feedburner:origLink></item><item><title>Web Content 2008 Notes</title><link>http://feeds.feedburner.com/~r/EnterContentHere/~3/315421235/web-content-2008-notes.html</link><category>conference</category><author>noreply@blogger.com (Seth)</author><pubDate>Thu, 19 Jun 2008 08:34:12 -0500</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-9312392.post-3275940523786083921</guid><description>Flickr tag: &lt;a href="http://www.flickr.com/photos/tags/wc08/"&gt;wc08&lt;/a&gt;&lt;br /&gt;Twitter: &lt;a href="http://twemes.com/?search=wc08"&gt;#wc08&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I am on my way back to Massachusetts after thoroughly enjoying my time at &lt;a href="http://www.webcontent2008.com"&gt;Web Content 2008&lt;/a&gt;.  Thank you &lt;a href="http://www.thecontentwrangler.com/"&gt;Scott Abel&lt;/a&gt;, &lt;a href="http://www.duoconsulting.com/about/people/michaelsilverman.cfm"&gt;Michael Silverman&lt;/a&gt;,  and the rest of the &lt;a href="http://www.duoconsulting.com"&gt;Duo Consulting&lt;/a&gt; team for putting on another great conference.  The event was sold out this year.  I would register early next year.&lt;br /&gt;&lt;br /&gt;Also, it was great to meet &lt;a href="http://gadgetopia.com/"&gt;Deane Barker&lt;/a&gt; and &lt;a href="http://www.symphonious.net/"&gt;Adrian Sutton&lt;/a&gt; and hang out with the old crew: Scott, &lt;a href="http://www.welchmanconsulting.com/lisa.htm"&gt;Lisa Welchman&lt;/a&gt;, &lt;a href="http://www.openparenthesis.org/"&gt;John Eckman&lt;/a&gt;, &lt;a href="http://www.intentionaldesign.ca/"&gt;Rahel Bailie&lt;/a&gt;, and &lt;br /&gt;&lt;a href="http://www.cmswatch.com/Analyst/22-Gingras"&gt;Jarrod Gingras&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;What follows are my rough (and I mean rough) notes from the sessions that I attended.  They are as much for my memory as for your information so feel free to skim and click through to the slides which Scott has conscientiously posted.  Not all of them are up yet but I am sure that Scott will track down all the speakers and beat their slides out of them sooner or later :)&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Dick Costolo - The Next Content Wave: Hypersyndication (&lt;a href="http://www.webcontent2008.com/chicago/program_detail/the_next_content_wave/"&gt;slides&lt;/a&gt;)&lt;/h3&gt;The general theme is that the conversation is more important than the content.  Commenters are creating brands for themselves without even having a website.  The conversation is distributed and does not revolve around the source (FriendFeed, Twitter, Digg, Del.icio.us, etc.).&lt;br /&gt;&lt;br /&gt;This is a major disruption in the marketplace.  Evidence: the mainstream media companies and investors have been resisting it.  Investors that missed out on opportunities like FeedBurner are seeing potential here.  &lt;br /&gt;[Seth:  I still don't know how these services will monetize the value]&lt;br /&gt;&lt;br /&gt;All media is going to be social.  &lt;br /&gt;&lt;a href="http://avc.blogs.com/a_vc/2008/06/what-comes-afte.html"&gt;What Comes After Post Modernism?&lt;/a&gt; is a great post.  The comments (all 132 of them) are just as good.  The problem is social media is that you lose authority.  [Seth: is just just a temporarily as authority shifts to new sources? Will we have the capacity to recognize so many authorities or will authority become more personal?]&lt;br /&gt;&lt;br /&gt;What does this mean for advertising?  Feed originated traffic has a much lower CPM than search originating traffic [Seth: that was why I wasn't making millions in Ad Sense on my blog! This makes sense, search is more intent laden.  People search because they need something.  Feeds is more informational.  Advertising strategies focusing on direct response marketing (rather than branding campaigns - see more detail this on my notes from Gian Fulgoni), will get better results from search traffic)]&lt;br /&gt;Feed traffic demands a new strategies for monetizing content.  &lt;br /&gt;&lt;br /&gt;&lt;a href="http://getsatisfaction.com/"&gt;Get Satisfaction&lt;/a&gt; is a cool new concept.  It allows companies to outsource their customer service.  It is basically a third party hosted forum that allows vendor employees and the community to answer support questions.  Whole Foods is very active with it.  This could harness the power of the "professional commenter" who wants to build a brand out of his expertise.  As a customer, wouldn't it be cool if your vendor and other customers competed with each other to give you the best answer to your question?&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Darren Barefoot - The Many-Armed Starfish: Today and Tomorrow in Social Media (&lt;a href="http://www.webcontent2008.com/chicago/program_detail/the_many_armed_starfish/"&gt;slides&lt;/a&gt;)&lt;/h3&gt;&lt;br /&gt;Social media has been around forever.  What is new is broadcast/publishing media and that is turning out to be short lived.  Mash-ups are old too.  Great example of the fact that modern remakes of Elizabethan playhouses are based on a drawing made by an amateur artist visiting the original.  &lt;br /&gt;&lt;br /&gt;Darren's presentation had lots of ideas from &lt;a href="http://www.shirky.com/"&gt;Clay Shirky&lt;/a&gt; and &lt;a href="http://journalism.nyu.edu/pubzone/weblogs/pressthink/"&gt;Jay Rosen&lt;/a&gt;.  He describes the rise of the creative class and the notion that the Internet can make you a "little bit famous." In the broadcast, 1 to many style, fame was an all or nothing type of thing.  &lt;br /&gt;&lt;br /&gt;There are 7 characteristics of social media: Conversation (2 way through comments etc.); collaboration (connects people that were not connected.  like wikipedia 7million editors.); sharing; scope (web is infinite. itunes has broken our idea of what an album is); community (find affinity groups); transparency and authenticity;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Piero Tintori - Running an Efficient CMS Evaluation and Procurement Process (&lt;a href="http://www.webcontent2008.com/chicago/program_detail/running_an_efficient_cms_evaluation_procurement_process/"&gt;slides&lt;/a&gt;)&lt;/h3&gt;I wouldn't normally expect to hear good advice about software selection from the CEO of a CMS vendor but &lt;a href="http://www.terminalfour.com/"&gt;Terminal Four's&lt;/a&gt; Piero Tintori is such a genuine and nice guy that I had to sit in and see what he had to say.   &lt;br /&gt;&lt;br /&gt;With very little promotion of Terminal Four, Piero did a very good presentation on how to work more efficiently with CMS vendors.  It has been a while since I had worked for a CMS vendor and it was a good refresher see things from the vendor perspective and think about how to make the little adjustments to make the process easier on everyone.&lt;br /&gt;&lt;br /&gt;Some really good points worth calling out:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Take the time to understand your requirements to write a clear, concise and thoughtful RFP.  The response is going to be 2-3 times as large as the RFP and you don't want documents that take forever to review.  Leaving in irrelevant cut/paste text (like procurement questions designed for other types of products such as "is your product radio-active") or repetitive and/or contradicting requirements shows that you are not serious about your RFP and the vendor will may put less time in the response.  Furthermore, showing yourself to be sloppy may make the vendor inflate the price to mitigate the risk of having to spend more resources to make you successful.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Be realistic about timing.  Don't set an overly aggressive timetable.  Everyone hates a hurry up and wait relationship and you want your vendor to take your deadlines seriously.  Piero had some nice rough guidelines of 6 to 8 weeks from RFP to selection on projects less than $50,000 and 8-12 weeks for projects more than $50,000.  Companies should expect 4-12 months from initial inception to selection.  My experience is that there is usually some organizational hiccup that delays these projects.  To make things as efficient as possible, it is best to line up and plan with people from procurement, legal, and budget holders.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;You are looking for a product that is right for your organization [totally agree].  Piero recommends working with a software vendor that is the same size or smaller than your company [Piero would say that.  Terminal Four is small.  This advice would take big vendors like Oracle and IBM out of most company's short lists.  On the other hand, working with really large software vendors is hard if you are little company].  You should also try working with a vendor that is excited about your project.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Communicate your budget.  Most buyers are afraid that if they tell how much money they have to spend, the price will always be exactly that amount.  However, your budget is one of your requirements and a vendor can tailor his solution better if he knows that constraint.  If the product is way out of your price range, it is a waste of everyone's time to evaluate it. I would tend to agree with Piero here even though I understand why my clients will want to hold back this information.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Follow through with reference checking before you make your choice - not as a formality after it is too late.  &lt;br /&gt;&lt;/li&gt;&lt;li&gt;Timing is important.  In the U.K. vendors are really busy responding to RFP's in Feb, July, and December.  I know that customers in the U.S. buying from public companies try to do deals around the fiscal quarters to get preferential pricing.  If you try to work with vendors during the busy season, the good vendors (that are busy) will be rushed.  The marginal vendors (who are not busy) will have an advantage.  Also, I know that if you work with a large vendor, it takes them a long time to process a purchase when sales volume is high so you might miss end of the quarter pricing if you try to hold it to the wire.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;h3&gt;Tim Yager &amp;amp; Jim Thaxton - Size Doesn’t Matter: How to Build and Maintain Huge CMS Projects (&lt;a href="http://www.webcontent2008.com/chicago/program_detail/size_doesnt_matter/"&gt;slides&lt;/a&gt;)&lt;/h3&gt;Tim and Jim (two developers from Duo) did a great (and funny) talk about migrating big web sites.  It was a little like a midwestern millennial version of &lt;a href="http://www.cartalk.com/"&gt;Car Talk&lt;/a&gt;.  They had useful, down to earth advice about prototyping a solution, migrating content, gradually phasing out the old system, and applying lessons learned to future maintenance and enhancement of the system.  The &lt;a href="http://www.webcontent2008.com/chicago/program_detail/size_doesnt_matter/"&gt;slides&lt;/a&gt; are worthwhile reading.&lt;br /&gt;&lt;h3&gt;John Eckman - Upload, Tag, Share, Discuss: Content Management in the Age of User Participation (&lt;a href="http://www.webcontent2008.com/chicago/program_detail/upload_tag_share_discuss/"&gt;slides&lt;/a&gt;)&lt;/h3&gt;I think John's talk would have been an excellent keynote (future conference organizers, consider it!).  He described it to me as "high concept, low information" but sometimes you need the big ideas to make sense of the little facts.  &lt;br /&gt;&lt;br /&gt;The big idea that John had was that social media is less about the tools (or containers) and more about the empty spaces within that people fill with their creative energy.  We, as content management professionals, tend to focus on technology and process.  We think that content management should be done by qualified professionals.  Social media is changing things as it breaks down the barrier between the contributor and the reader.  &lt;br /&gt;&lt;br /&gt;Classic content management is not going away but it is starting to share the stage with community management.  The rest of the talk was about ways to manage a community.  &lt;br /&gt;&lt;br /&gt;You need to establish norms and standards and socialize community.  Decide what kind of community that you want.  Do you want to create the stereotype of a library (strict rules, quiet behavior), the coffee house (somewhat boisterous), mardi gras (anything goes).&lt;br /&gt;&lt;br /&gt;It is not one conversation.  There are many conversations and they can happen in different environments.  Behavior is a function of person and his environment.  Offering different environments will encourage different behavior.&lt;br /&gt;&lt;br /&gt;How to control communities&lt;ul&gt;&lt;li&gt;&lt;br /&gt;Terms of service. Avoid surprising people.  The terms of service need to be readable and understandable by the community but also have the appropriate protection to satisfy the company.  Wordpress.com has a good model of a legalese version and a common language version.  &lt;br /&gt;&lt;/li&gt;&lt;li&gt;Identity: anonymity can lead to bad behavior.  Make it easy for people to build a reputation.  If they can build a reputation, they will try to make a good one.  &lt;br /&gt;&lt;/li&gt;&lt;li&gt;Communities are hard to start but resist the urge to fake it by artificially seeding content.  You can seed content but it has to be real.  There was some follow on discussion about the relative challenge to start social media inside and outside the company.  John said that there needs to be genuine executive sponsorship and real incentives.  I need to follow up with him on this.  We have both worked for companies that talked the talk here but were not successful.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Exclusivity for everyone.  All these new services have private betas to create the feeling of exclusivity and establish a value of membership (in addition to controlling growth).  I think that &lt;a href="http://fireeagle.com"&gt;Fire Eagle&lt;/a&gt; is a great example. Invites have been hard to get and this has created a lot of interest around a service that is not all that useful (IMO).&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Moderation.  Fully moderated may make you liable for the content.  Meta moderated (slashdot.  Amazon's "Was this helpful?"). Community moderated (flag as offensive).  Post moderated (let it through. check it later).  The R.E.M. tour site (built with Drupal) pulls in content from flickr and twitter.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;A mixture UGC/Professional content has higher CPM.&lt;br /&gt;&lt;br /&gt;Take your content and put it in lots of different places.  Interact with customers where they are. &lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Gian Fulgoni - Maximizing the ROI from Online Marketing&lt;/h3&gt;The big idea is that web marketing is too focused on click through as a measurement of value. We are attracted to click through because it is the easiest thing to measure but there is equal or greater value in delayed purchases (not-trackable) and brand awareness and recall.&lt;br /&gt;&lt;br /&gt;Advertisers are not thinking about enough global campaigns even though the internet is growing more rapid outside of the US.  77% of global internet users are outside of us.  &lt;br /&gt;&lt;br /&gt;In a down economy, advertisers may push more of their ad dollars online because it is cheaper and they can save money.   Online advertising is represents 7% of the total ad spend but there are 40% more ads on the web than on broadcast.  &lt;br /&gt;&lt;br /&gt;Direct mail is at the top of 21% [Seth: no wonder I get so much junk mail]. Broadcast is 15%.  Newspaper is 14%&lt;br /&gt;&lt;br /&gt;Search is 41% of online advertising.&lt;br /&gt;&lt;br /&gt;60% of advertising spend is for branding campaigns.  not direct response.&lt;br /&gt;&lt;br /&gt;Search is better for direct response marketing.  &lt;br /&gt;&lt;br /&gt;The number of unique visitors reported by publishers is inflated by cookie deletion. 30% people delete cookies every month or so (usually 4x per month).&lt;br /&gt;&lt;br /&gt;Who is clicking?  Most of the clicks come from a small population of young, low income surfers (low value to advertisers).&lt;br /&gt;&lt;br /&gt;Most purchases are buying offline.  Conversion metrics are missing this.&lt;br /&gt;&lt;br /&gt;Research:&lt;br /&gt;Direct online was only 16% of buying effect.  21% purchased little later like in another browsing session. 60% bought later offline.&lt;br /&gt;&lt;br /&gt;ROI is a lot bigger than currently thought.&lt;br /&gt;&lt;br /&gt;Searchers are older, wealthier, and more educated.  Retail is hurting brand and increasing price sensitivity through their price based marketing campaigns.&lt;br /&gt;&lt;br /&gt;95% of google ads are not being clicked on.&lt;br /&gt;&lt;br /&gt;16% improvement in brand association for top ad - just a text ad.&lt;br /&gt;&lt;br /&gt;Success of craigslist shows that coupling of content and classified advertisers is less natural in the internet.  when people want stuff.  they don't go to the news content.  they go to the classified site.&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=3RVhUI"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=3RVhUI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=lrfAaI"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=lrfAaI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=eA074i"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=eA074i" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=wG0ZQi"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=wG0ZQi" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=JS6pGI"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=JS6pGI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=mFIrLi"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=mFIrLi" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/EnterContentHere/~4/315421235" height="1" width="1"/&gt;</description><feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=EnterContentHere&amp;itemurl=http%3A%2F%2Fblog.contenthere.net%2F2008%2F06%2Fweb-content-2008-notes.html</feedburner:awareness><feedburner:origLink>http://blog.contenthere.net/2008/06/web-content-2008-notes.html</feedburner:origLink></item><item><title>Hos(t)ed?</title><link>http://feeds.feedburner.com/~r/EnterContentHere/~3/314749457/hosted.html</link><category>SaaS</category><category>commentary</category><author>noreply@blogger.com (Seth)</author><pubDate>Wed, 18 Jun 2008 19:40:37 -0500</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-9312392.post-6626497416867373691</guid><description>&lt;p&gt;&lt;div class="thumbnail"&gt;&lt;a href="http://skitch.com/sggottlieb/pusx/502-server-error"&gt;&lt;img src="http://img.skitch.com/20080613-f7i67c1xx7c4eum3kpbmq3qh3n.preview.jpg" alt="502 Server Error" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-family: Lucida Grande, Trebuchet, sans-serif, Helvetica, Arial; font-size: 10px; color: #808080"&gt;Uploaded with &lt;a href="http://plasq.com/"&gt;plasq&lt;/a&gt;'s &lt;a href="http://skitch.com"&gt;Skitch&lt;/a&gt;!&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;There has been some interesting posts and white papers (for example, CrownPeak's whitepaper &lt;a href="http://www.crownpeak.com/InfoCenter/Index.aspx"&gt;"Open Source Isn't Free (It's not Even Cheap)" (registration required)&lt;/a&gt;) about the trade-off and relative merits of open source and hosted solutions.  I think this is an important topic because, as I have said before, both strategies are worth considering for companies looking to lower their up front costs of deploying (or redeploying) a website on a new platform.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;As someone who covers open source software and who hosts their blog on &lt;a href="http://www.blogger.com"&gt;Blogger&lt;/a&gt;, you would think that I would have something to say about the matter... and of course I do.  &lt;br /&gt;&lt;/p&gt;&lt;p&gt;It all boils down to a simple question of &lt;em&gt;"what business are you in?"&lt;/em&gt;  In the world of content I think there is a clear breakdown into two categories of businesses: content businesses and content &lt;em&gt;distribution&lt;/em&gt; businesses.  A content business competes on the basis of the quality and/or exclusivity of the content.  A content &lt;em&gt;distribution&lt;/em&gt; business competes on the accessibility, reach and engagement of the content consumption experience.  A content business will often partner with several content distribution businesses through syndication relationships.   Content distribution businesses often have the same content as their competitors and need differentiating technology.  Product companies (and other companies whose content is &lt;em&gt;about&lt;/em&gt; their products) tend to operate and behave more like content business. They shouldn't care about the stickiness of their own website (I am reminded of the Web 1.0 bubble when Internet strategists tried to convince their clients that their business, whatever it was, would suffer if they failed to do something fancy on the web).   Content businesses (and product businesses) need their web presence to serve their customers, support their brand and reinforce their credibility.  They don't need to be sticky.  Professional, well organized, stable, and up to date is good enough (sadly, better than average). &lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.contenthere.net"&gt;Content Here&lt;/a&gt; is a content business.  You can read the articles here and &lt;a href="http://blog.contentmanagementconnection.com/"&gt;here&lt;/a&gt; and &lt;a href="http://contentcentric.org/"&gt;here&lt;/a&gt; and probably other places as well (I am just happy you are reading them).  The tools I use to compose and publish content are &lt;a href="http://blog.contenthere.net/2008/06/i-use-this.html"&gt;cheap and simple&lt;/a&gt;.   I don't care if other websites have similar branding treatments (as a matter of fact, other websites have used this template).  I am satisfied with the average uptime standards that Google is able to provide.  Yes, blogspot does go down from time to time but at least when it does go down I don't have to frantically troubleshoot to get it back up - I just wait.  And, yes, I would like to to have a slick little &lt;a href="http://friendfeed.com"&gt;friendfeed&lt;/a&gt; commenting plugin.  But I have more important things to worry about like finishing my next report and blinding my consulting clients with value. &lt;br /&gt;&lt;/p&gt;&lt;p&gt;When there is a good fit, I include a SaaS products in CMS short-lists for my clients.  However, I often find that business users are drawn to the promise of what &lt;em&gt;could&lt;/em&gt; be done on high end commercial platforms (with adequate levels of customizations that will probably never be done).  A solid, simple, basic feature set on a product that is well managed is not sexy to a buyer.  Business users don't usually sit through a product demo and visualize what the UI would look like if it was broken because their I.T. department didn't invest the right time and resources to adequately configure, customize, host, and maintain the platform.  I.T. departments don't think enough about how hard these applications can be to upgrade.  The hosted solutions in the marketplace succeed with good customer service and smooth upgrades that lead to high retention rates - not through feature/function/flash competitions.  The UIs tend to be boring but functional.  Business users like feature/function/flash competitions.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;If you make the right choices, hosted solutions can give you &lt;em&gt;better than average&lt;/em&gt; service at a lower cost (in terms of time or money) because they can take advantage of specialization and economy of scale. For example, an outsourced data center is going to have better failover and redundancy than an average corporate server room (much better than the converted desktop server with the noisy fan under my desk).  A hosted application is going to have better administration support than an average installed application.  Better than average is good enough for the &lt;em&gt;context&lt;/em&gt; aspects of your business but not the &lt;em&gt;core&lt;/em&gt; (I knew I would be dropping a little &lt;a href="http://en.wikipedia.org/wiki/Geoffrey_Moore"&gt;Geoffrey Moore&lt;/a&gt; knowledge before this post was through).  For the core, you want excellence and to be excellent you have to invest disproportionate resources and ownership.  You can't settle with a service that your competitor can also buy and, therefore, have just as good you.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;If I were in the content &lt;em&gt;distribution business&lt;/em&gt;, I would make the investment to achieve greater than average uptime and continually add new features to the website.  I would do a lot of custom development on the platform to make the functionality unique.  Open source would be a key component of the technical strategy because it would help achieve an optimum mix of a commodity foundation, fast-follower (me-too) features, and unique features that I built myself.  Instead, I am pleasantly surprised when I log in and notice that a new feature (that probably has been available on alternative platforms for ages) has been added.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;There is actually a lot of overlap between hosted and open source.  Most of the Software as a Service providers rely heavily on open source frameworks and components to deliver their services.  There is also a great opportunity for systems integrators and commercial open source companies to deploy highly managed, turnkey solutions using open source content management systems.  The customer doesn't even need to be aware that the solution is open source because they go directly to their partner if they need any help.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;div class="thumbnail"&gt;&lt;a href="http://skitch.com/sggottlieb/p3wt/untitled"&gt;&lt;img src="http://img.skitch.com/20080616-fne9nnkgfi4h21wqrsn6cmuf1y.preview.jpg" alt="Untitled" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-family: Lucida Grande, Trebuchet, sans-serif, Helvetica, Arial; font-size: 10px; color: #808080"&gt;Uploaded with &lt;a href="http://plasq.com/"&gt;plasq&lt;/a&gt;'s &lt;a href="http://skitch.com"&gt;Skitch&lt;/a&gt;!&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Recent developments in cloud computing and third party services allow businesses to specialize even more.  With a service like Amazon's &lt;a href="http://www.amazon.com/gp/browse.html?node=201590011"&gt;EC2&lt;/a&gt; and &lt;a href="http://www.amazon.com/S3-AWS-home-page-Money/b/ref=sc_fe_l_2?ie=UTF8&amp;node=16427261&amp;no=3435361&amp;me=A36L942TSJ2AJA"&gt;S3&lt;/a&gt; and Google's &lt;a href="http://code.google.com/appengine/"&gt;App Engine&lt;/a&gt; a company can specialize in software development and outsource the management of the underlying architecture and infrastructure.  This is great for companies that want to run research and development teams to rapidly execute and test out new business ideas.  But, to use these services companies need to be satisfied with the level of uptime that Amazon and Google are willing to provide.  Some cloud computing resources are delivered using excess capacity so we don't know what will happen when there is no surplus available.  I would feel better if the market for cloud computing was mature enough to establish a sustainable price and service level agreement.  Until that happens, if &lt;a href="http://www.jiploo.com/blog/99999-or-five-nines-uptime/"&gt;five nines&lt;/a&gt; of uptime is important to you, these services are not for you.  Better to run your own software at multiple data centers on different continents and have well vaccinated, highly caffeinated support staff monitoring things around the clock.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;There is also a marketplace for add-on widgets (as an aside, what word do business school professors use to describe a fictitious product now that there are actual products called widgets?) like &lt;a href="http://js-kit.com/"&gt;JS-Kit&lt;/a&gt; that can be plugged into nearly any existing platform.  This trend allows a content distribution company to differentiate its offering by creating a unique assemblage of commonly available components.  To win with this strategy, the company has to get very good at vetting partners and integrating their solutions.  Trend spotting, partnership building, and integration become the core competencies rather than just software development.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;If you are in the content distribution business, you are in the technology business because technology is how you distribute your content.  You need to be able to be able to execute a strategy with an appropriate balance of outsourcing, development, and assembly.  Outsource where you want to be good.  Build where you want to be great or unique.  Or, if your special sauce is going to be breadth, get really good at finding the right third party providers to partner with and integrate their solutions in ways that allow you to nimbly shift from parter to partner.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=3hlNYI"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=3hlNYI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=z6lp9I"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=z6lp9I" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=rw3Avi"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=rw3Avi" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=Uza0Mi"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=Uza0Mi" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=WnvaPI"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=WnvaPI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=qNWAki"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=qNWAki" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/EnterContentHere/~4/314749457" height="1" width="1"/&gt;</description><feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=EnterContentHere&amp;itemurl=http%3A%2F%2Fblog.contenthere.net%2F2008%2F06%2Fhosted.html</feedburner:awareness><feedburner:origLink>http://blog.contenthere.net/2008/06/hosted.html</feedburner:origLink></item><item><title>I Use This</title><link>http://feeds.feedburner.com/~r/EnterContentHere/~3/313805241/i-use-this.html</link><category>tools</category><category>off-topic</category><author>noreply@blogger.com (Seth)</author><pubDate>Tue, 17 Jun 2008 08:20:30 -0500</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-9312392.post-555227866206036709</guid><description>I have been on a Mac since I started &lt;a href="http://www.contenthere.net"&gt;Content Here&lt;/a&gt; a little over a year ago.  The migration for me has been an unqualified success.  I won't go back.  Here is a list of apps that have made the experience that much more pleasurable.  &lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Mail, Calendar, Address Book: Mac Apps&lt;/h3&gt;&lt;br /&gt;I decided to go with the Mac defaults: Mail.app, iCal, and Address Book.  Since these applications are pretty much always open, I wanted them to be stable, well integrated, lightweight, and just good enough.  They work as advertised and I have absolutely no complaints.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Blogging: MarsEdit&lt;/h3&gt;&lt;br /&gt;When I started taking longer trips for client projects and conferences, I realized I needed an offline blogging tool.  For a while I used a simple text editor and then copy paste into the Blogger web UI.  Then I went to &lt;a href="http://infinite-sushi.com/software/ecto/"&gt;Ecto&lt;/a&gt; which I used for around a month until I got annoyed with its quirky notions about HTML.  I bitched a little on the support forums to no effect and then decided to vote with my feet and went over to &lt;a href="http://www.red-sweater.com/marsedit/"&gt;MarsEdit&lt;/a&gt;, which I love.  It doesn't try to give you WYSIWYG editing features and that is OK by me.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Simple Editor: TextMate&lt;/h3&gt;&lt;br /&gt;I started out with &lt;a href="http://www.barebones.com/products/textwrangler/"&gt;TextWrangler&lt;/a&gt; because it's free.  I tried &lt;a href="http://www.macromates.com/"&gt;TextMate&lt;/a&gt; because I like to be able to set up "projects." Before I discovered you could set up a "disk browser" in TextWrangler, I fell in like with TextMate.  I seem to be in good company because I keep recognizing TextMate in screencasts.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;XML: oXygen&lt;/h3&gt;&lt;br /&gt;I write my reports in XML (DocBook) so a good XML editor that validates as I type and runs my transforms is important to me.  I was disappointed to learn that &lt;a href="http://na.justsystems.com/content.php?page=xmetal"&gt;XMetaL&lt;/a&gt; doesn't work on the Mac.  I bought &lt;a href="http://www.oxygenxml.com/"&gt;oXygen&lt;/a&gt;.  I first used the Eclipse plugin but then I transfered my license to the stand-alone version, which is a lot faster.  I am pretty happy with it.  It comes with the &lt;a href="http://www.syncrosvnclient.com/"&gt;Syncro SVN Client&lt;/a&gt; which works well enough.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;IDE: Eclipse&lt;/h3&gt;&lt;br /&gt;I rarely do serious coding anymore but when I do, I use &lt;a href="http://eclipse.org"&gt;Eclipse&lt;/a&gt;.  Eclipse takes so long to load that it makes me think twice about whether I want to get sucked into my programming head and lose track of time for the next few hours.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Source Control: SVN via Wush and the Syncro SVN Client&lt;/h3&gt;&lt;br /&gt;Old habits are hard to break and I am a religious source control user for my website and my reports.  &lt;a href="http://wush.net/subversion.php"&gt;Wush.net&lt;/a&gt; takes care of the Subversion hosting.  Syncro is my client when I am not in a command line mood.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Office: iWork&lt;/h3&gt;&lt;br /&gt;When I bought my Mac, I felt obligated to throw in a license for Microsoft Office.  Big mistake.   I thought I hated Office for Windows.  The Mac version is worse.  I am very happy with the iWork applications and tend to write deliverables and presentations in Pages and Keynote and then export to the Microsoft formats.  It is a good thing when your office applications don't suck your will to live.  I have &lt;a href="http://www.neooffice.org/neojava/en/index.php"&gt;NeoOffice&lt;/a&gt; installed for the occasional Open Document file I receive.  &lt;a href="http://www.petitiononline.com/appleodf/petition.html"&gt;It sure would be nice if iWork would support Open Document&lt;/a&gt;.  Maybe if both MS Office and iWork supported it, ODF would realize its vision.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Drawing: OmniGraffle&lt;/h3&gt;&lt;br /&gt;The one Windows application that I thought I was going to miss was Visio.  Then I found &lt;a href="http://www.omnigroup.com/applications/OmniGraffle/"&gt;OmniGraffle&lt;/a&gt; and I have moved on.  Although there are not as many stencils as Visio, you can read and write from Visio's XML format with relatively good accuracy. &lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Image Capture: Command-Shift-4, Flickr, Skitch&lt;/h3&gt;&lt;br /&gt;For work I look at a lot of software and I take a lot of screenshots.  Typically, I use the key command Command-Shift-4, then space to get a .png image of the active program saved to my desktop.  Then I upload the files to &lt;a href="http://flickr.com"&gt;Flickr&lt;/a&gt; and tag them appropriately.  After doing that for about a year, I have a nice little library of screenshots that is organized by keyword.  When I want to blog a picture immediately I tend to use &lt;a href="http://plasq.com/"&gt;Plasq software's&lt;/a&gt; &lt;a href="http://skitch.com"&gt;Skitch&lt;/a&gt; because it lets me quickly post the picture with all my cheeky annotations.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Browser: "CaminoFoxIfari"&lt;/h3&gt;&lt;br /&gt;I have absolutely no loyalties to any browser and I switch whenever the wind changes direction.  Today I am using Firefox 3 because I wanted read my feeds offline with Google Gears.  I think I like the Camino keyboard shortcuts the most though.  I also like how Safari and Camino share a password database.  For some reason I have been leaving &lt;a href="http://www.opera.com/"&gt;Opera&lt;/a&gt; out of my rotation.  I guess even fickleness has its limits.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Time management: OfficeTime&lt;/h3&gt;&lt;br /&gt;When you run your own business, you need to be very careful to manage your time efficiently.  No one else is going to do it for you.  In addition to keeping track of billable hours, I also track time for internal projects including research, reports, conferences, blogging, and general admin.  &lt;a href="http://www.officetime.net/"&gt;OfficeTime&lt;/a&gt; is like a little stopwatch that you can start and stop when you work on different things.  There are reports that tell you how you spent your time today, yesterday, this week, last week....  I find that tracking time in this way helps keep me focused on doing the important work and prevents me from task switching inefficiently.   OfficeTime is not the prettiest application in the world but it works.  I even like the sound effect of the clock ticking for a second when you start it.  It gives a sense of urgency to get started on your task.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Accounting: QuickBooks&lt;/h3&gt;&lt;br /&gt;&lt;a href="http://www.quickbooks.com"&gt;QuickBooks&lt;/a&gt; on a Mac is lame but my accountant uses QuickBooks so I am stuck with it.  The Windows version (which my accountant uses) is totally different from the Mac version but I can export a Windows friendly "Accountant's Copy" of my "Company File" and I can translate his bookkeeping instructions to the Mac UI.  I don't care enough about accounting software to switch even if there was a cooler Mac-oriented accounting package that could export a QuickBooks Company File to share with an accountant.  For personal finances, I use &lt;a href="http://www.mint.com"&gt;Mint&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Project Planning: Concept Draw Planner&lt;/h3&gt;&lt;br /&gt;Usually having a white computer gets you out of being responsible for making Gantt charts.  However, on the off chance that I need to put together a project Gantt chart, I use &lt;a href="http://www.conceptdraw.com/project/"&gt;Concept Draw Planner&lt;/a&gt;.  It's good enough.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Task Management: Things&lt;/h3&gt;&lt;br /&gt;I didn't like the changes to iCal's task feature that came with the Leopard upgrade so I started to use &lt;a href="http://culturedcode.com/things"&gt;Things&lt;/a&gt;.   I organize my work into "Areas of Responsibility" like "blogging," "household," and "research" and "Projects" a particular client project.  Content entry is very quick and the "Next" view gives you a nice hit list of what to do when you have a free moment.  Amazing piece of software.  Try it!&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;FTP: Transmit&lt;/h3&gt;&lt;br /&gt;I like Panic Software's &lt;a href="http://www.panic.com/transmit"&gt;Transmit&lt;/a&gt;.  &lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Bit Torrent: Transmission&lt;/h3&gt;&lt;br /&gt;I am not saying that I use Bit Torrent but if I did, I would probably use a client like &lt;a href="http://www.transmissionbt.com/"&gt;Transmission&lt;/a&gt;. :)&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Twitter/Friendfeed: Twhirl&lt;/h3&gt;&lt;br /&gt;It just keeps on getting better.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Chat/IM: Adium and Skype&lt;/h3&gt;&lt;br /&gt;You can get me on pretty much all of the IM services as sggottlieb.  Funny thing is that I have been using IM a lot less recently now that I use Twitter and Friendfeed.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;IRC: Colloquy&lt;/h3&gt;&lt;br /&gt;When I am on IRC, I use &lt;a href="http://www.colloquy.info/"&gt;Colloquy&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Mailing lists&lt;/h3&gt;&lt;br /&gt;I subscribe to a bunch of open source mailing lists and the best tool for that is &lt;a href="http://www.gmail.com"&gt;Gmail&lt;/a&gt;.  I really like the rules feature so I can automatically delete some messages (like a build failing) and tag messages by the open source project that they are from.  I usually bulk read a project at a time to get caught up on what is going on.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;My absolute favorite app isn't really an app.  It is an app launcher: Quicksilver&lt;/h3&gt;&lt;br /&gt;Quicksilver is a program that runs in the background.  When type Ctrl-Space, a little window pops up.  I start typing and Quicksilver filters down its index of files and applications on my computer.  For example, when I want to launch Camino, I hit Ctrl-space then "ca" and I see Camino.  Then I hit enter and Camino launches.  Or I type "web" and a bunch of files that have the word "web" in them pop-up including my slide presentation for &lt;a href="http://webcontent2008.com"&gt;WebContent2008&lt;/a&gt;.  That reminds me.  I have have to finish that presentation :).  &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=KUj5gI"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=KUj5gI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=opxbJI"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=opxbJI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=BlSF6i"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=BlSF6i" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=f1FKNi"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=f1FKNi" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=VsOcWI"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=VsOcWI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=zRyZai"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=zRyZai" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/EnterContentHere/~4/313805241" height="1" width="1"/&gt;</description><feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=EnterContentHere&amp;itemurl=http%3A%2F%2Fblog.contenthere.net%2F2008%2F06%2Fi-use-this.html</feedburner:awareness><feedburner:origLink>http://blog.contenthere.net/2008/06/i-use-this.html</feedburner:origLink></item><item><title>CM Professionals Interview</title><link>http://feeds.feedburner.com/~r/EnterContentHere/~3/310828650/cm-professionals-interview.html</link><category>commentary</category><author>noreply@blogger.com (Seth)</author><pubDate>Thu, 12 Jun 2008 20:37:45 -0500</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-9312392.post-5975694830472127759</guid><description>The June 2008 edition of the &lt;a href="http://www.cmpros.org"&gt;CM Pros&lt;/a&gt; newsletter has a short interview with yours truly.  I was asked&lt;br /&gt;&lt;ul&gt;&lt;li&gt;What were the drivers behind your latest report, "Open Source Web Content Management in Java?"&lt;br /&gt;&lt;/li&gt;&lt;li&gt;You have published numerous reports addressing the intelligent selection of content management solutions. In your opinion, what is the biggest mistake that enterprises make when trying to identify and select a solution?&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Based on current trends in content management strategies, where do you see this ever-growing and ever-changing field headed over the next five years?&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;a href="http://www.cmpros.org/index.cfm?fuseaction=Feature.showFeature&amp;CategoryID=13&amp;FeatureID=85"&gt;Click through&lt;/a&gt; to see my answers.&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=eoOVWI"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=eoOVWI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=o5mzFI"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=o5mzFI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=dzZZsi"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=dzZZsi" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=TaHL9i"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=TaHL9i" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=MWQMPI"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=MWQMPI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=fnPXoi"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=fnPXoi" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/EnterContentHere/~4/310828650" height="1" width="1"/&gt;</description><feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=EnterContentHere&amp;itemurl=http%3A%2F%2Fblog.contenthere.net%2F2008%2F06%2Fcm-professionals-interview.html</feedburner:awareness><feedburner:origLink>http://blog.contenthere.net/2008/06/cm-professionals-interview.html</feedburner:origLink></item><item><title>Alfresco web content management team moving on</title><link>http://feeds.feedburner.com/~r/EnterContentHere/~3/308000915/alfresco-web-content-management-team.html</link><category>alfresco</category><author>noreply@blogger.com (Seth)</author><pubDate>Mon, 09 Jun 2008 07:38:06 -0500</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-9312392.post-4221902672656537500</guid><description>A few weeks ago I &lt;a href="http://blog.contenthere.net/2008/05/alfresco-and-e2cm.html"&gt;slid in a subtle mention&lt;/a&gt; that the &lt;a href="http://www.alfresco.com"&gt;Alfresco&lt;/a&gt; WCM team had some significant departures (I'll say who it was now: chief WCM architect Jon Cox, and lead programmer Britt Park).  Since then I have been wondering to myself how long the remaining WCM leadership (that is, Kevin Cochrane) would last.  Well, I don't need to wonder any more.  John Newton &lt;a href="http://newton.typepad.com/content/2008/06/kevin-cochrane.html"&gt;just announced on his blog&lt;/a&gt; that Kevin is leaving Alfresco to "to pursue other opportunities in the US."&lt;br /&gt;&lt;br /&gt;Kevin has been a very important member of the Alfresco team.  He fought hard to bring an understanding of the web to a bunch of &lt;a href="http://www.documentum.com"&gt;Documentum&lt;/a&gt; alumni (to Alfresco's credit they recognized WCM as their blind spot and invited him into fight that fight). His energy and experience was critical in product development and sales.  Alfresco's WCM offering has come so far since it was initially introduced.  Right now, many of its challenges stem from being stuck in an Enterprise Content Management user interface.  It may be that Kevin was running up against similar constraints.  &lt;br /&gt;&lt;br /&gt;I guess the next thing to wonder about is how Alfresco will backfill for the valuable role that Kevin played.  Hopefully they will bring in someone with similar wisdom and passion.  But that will be hard to do.  &lt;br /&gt;&lt;br /&gt;I am sure Kevin will have a similar (or even greater) impact in his new role wherever that may be.&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=l3OlNI"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=l3OlNI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=nbBAhI"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=nbBAhI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=tuO23i"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=tuO23i" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=QELYSi"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=QELYSi" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=9qmSII"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=9qmSII" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EnterContentHere?a=BMcNhi"&gt;&lt;img src="http://feeds.feedburner.com/~f/EnterContentHere?i=BMcNhi" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/EnterContentHere/~4/308000915" height="1" width="1"/&gt;</description><feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=EnterContentHere&amp;itemurl=http%3A%2F%2Fblog.contenthere.net%2F2008%2F06%2Falfresco-web-content-management-team.html</feedburner:awareness><feedburner:origLink>http://blog.contenthere.net/2008/06/alfresco-web-content-management-team.html</feedburner:origLink></item><item><title>The End of Print Media</title><link>http://feeds.feedburner.com/~r/EnterContentHere/~3/306192986/end-of-print-media.html</link><category>Web2.0</category><author>noreply@blogger.com (Seth)</author><pubDate>