<?xml version="1.0"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">

<channel>
	<title>Planet Hippo</title>
	<link>http://www.onehippo.com/blog/</link>
	<language>en</language>
	<description>Planet Hippo - http://www.onehippo.com/blog/</description>

<item>
	<title>Jeroen Verberg (Hippo): Announcing the Hippo Enterprise Edition</title>
	<guid>http://jverberg.posterous.com/announcing-the-hippo-enterprise-edition</guid>
	<link>http://jverberg.posterous.com/announcing-the-hippo-enterprise-edition</link>
	<description>&lt;p&gt;
	&lt;p&gt;&lt;strong&gt;&lt;span&gt;Last week we made a great addition to our offering: The Enterprise Edition as part of our Hippo Enterprise Su</description>
	<pubDate>Mon, 30 Jan 2012 17:13:00 +0000</pubDate>
</item>
<item>
	<title>Tjeerd D. Brenninkmeijer (Hippo): What Whiskas and Hippo CMS have in common</title>
	<guid>http://blogs.onehippo.org/tjeerd/2012/01/what_whiskas_and_hippo_cms_hav.html</guid>
	<link>http://blogs.onehippo.org/tjeerd/2012/01/what_whiskas_and_hippo_cms_hav.html</link>
	<description>&lt;p&gt;There’s a classic ad campaign from the cat food company &lt;a href=&quot;http://en.wikipedia.org/wiki/Whiskas&quot;&gt;Whiskas&lt;/a&gt;.   The point of the advertising slogan is that if your cat was able to choose – they would actually choose Whiskas.    &lt;br /&gt;</description>
	<pubDate>Mon, 30 Jan 2012 09:54:05 +0000</pubDate>
</item>
<item>
	<title>Jasha Joachimsthal (Hippo): Apache Rave (Incubating) demo: add user and widget</title>
	<guid>http://www.jasha.eu/blogposts/2012/01/apache-rave-incubating-demo-add-user-and-widget.html</guid>
	<link>http://www.jasha.eu/blogposts/2012/01/apache-rave-incubating-demo-add-user-and-widget.html</link>
	<description>&lt;div&gt;&lt;p&gt;&lt;a href=&quot;http://incubator.apache.org/rave&quot;&gt;Apache Rave&lt;/a&gt; (Incubating) is
rapidly evolving to a production ready web and social mashup engine. This
&lt;a href=&quot;http://www.youtube.com/watch?v=UgHyAQnPlOk&quot;&gt;demo video&lt;/a&gt; shows you
how a user can sign up, add existing widgets to his pages and add a completely
new widget. reCAPTCHA and fetching the widget metadata were added recently.&lt;/p&gt;



&lt;/div&gt;</description>
	<pubDate>Mon, 23 Jan 2012 08:00:00 +0000</pubDate>
	<dc:creator>Jasha Joachimsthal</dc:creator>
</item>
<item>
	<title>Tjeerd D. Brenninkmeijer (Hippo): Looking Back At The 2011 WCMS Race – The Rally Continues</title>
	<guid>http://blogs.onehippo.org/tjeerd/2012/01/looking_back_at_the_2011_wcms_1.html</guid>
	<link>http://blogs.onehippo.org/tjeerd/2012/01/looking_back_at_the_2011_wcms_1.html</link>
	<description>&lt;p&gt;Last year I wrote a post as one of our Tales From The Demo Chair Series called “&lt;a href=&quot;http://blogs.onehippo.org/tjeerd/2011/09/tales_from_the_cms_demo_chair_7.html&quot;&gt;web content management – the most dangerous race in the world&lt;/a&gt;”.  In doing the research for that post – we found that</description>
	<pubDate>Thu, 05 Jan 2012 15:10:35 +0000</pubDate>
</item>
<item>
	<title>Bas van Leeuwen (Hippo): Time flies when you're having Hippo fun</title>
	<guid>tag:blogger.com,1999:blog-6364779749127996620.post-5115595863311652119</guid>
	<link>http://hippobas.blogspot.com/2011/12/time-flies-when-youre-having-hippo-fun.html</link>
	<description>It's amazing to see how much the world shifts every couple of months in the Hippo universe. 2011 was no exception :-)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;SCRUM &amp;amp; KANBAN&lt;/b&gt;&lt;br /&gt;Even though we only &lt;a href=&quot;http://www.onehippo.com/en/company/career/java-web-developer&quot; target=&quot;_blank&quot;&gt;hire the best&lt;/a&gt;&amp;nbsp;we have managed to maintain our policy of rapid, but steady growth, this resulted in another 14 hires in 2011. Two Hippos became Apache committers and we found another through our &lt;a href=&quot;http://twitter.com/#!/arjecahn/status/129864924833906688&quot; target=&quot;_blank&quot;&gt;Open Source Recruitment track&lt;/a&gt;, bringing the total to &lt;a href=&quot;http://www.onehippo.com/en/news/2011/12/hippo-pride%E2%80%9311-team-members-are-now-committers-to-apache-foundation.html&quot; target=&quot;_blank&quot;&gt;eleven&lt;/a&gt;! We've introduced Scrum at our implementation teams, enhanced the Scrumishness of our R&amp;amp;D department and introduced Kanban in our support process.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;AUTODESK&lt;/b&gt;&lt;br /&gt;In the second quarter of this year the value of open source proved itself once again. Out of the blue we got called by &lt;a href=&quot;http://www.autodesk.com/&quot; target=&quot;_blank&quot;&gt;Autodesk&lt;/a&gt;, telling us (this is slightly paraphrased):&amp;nbsp;&quot;You guys have -like- a really rad CMS, could we please use your kick-ass software?&quot;&lt;br /&gt;&lt;br /&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-hB08kdlLeDk/Tvx-MUaW_HI/AAAAAAAAAEE/kFoRRunNr9c/s1600/Autocad_Hippo.png&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;301&quot; src=&quot;http://2.bp.blogspot.com/-hB08kdlLeDk/Tvx-MUaW_HI/AAAAAAAAAEE/kFoRRunNr9c/s400/Autocad_Hippo.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot;&gt;Apparently&amp;nbsp;Autocad does not automatically make you an artist :-(&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;Autodesk did an in-depth, comparative study of Hippo and six other open source products and concluded that Hippo gets &quot;Consistent high marks against all criteria with no major concerns, code looks well architected&quot;. Safe to say that this was a major boon to our recently opened Boston office.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;BOSTON&lt;/b&gt;&lt;br /&gt;At the beginning of this year we opened&amp;nbsp;&lt;a href=&quot;http://mathijsbrand.blogspot.com/2011/03/hippo-in-boston.html&quot; target=&quot;_blank&quot;&gt;our office in Boston&lt;/a&gt;, to expand on the work already done in San Francisco. We're growing Boston quickly and it is well on its way to become a full blown Hippo office. Within months a Fortune 500 company named [&lt;a href=&quot;http://en.wikipedia.org/wiki/Non-disclosure_agreement&quot; target=&quot;_blank&quot;&gt;sorry, can't tell&lt;/a&gt;] started to become active on our mailinglist. This became a Hippo-wide engagement, where R&amp;amp;D, Infra and Professional Services work jointly to create new product features for our now biggest client.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;BIGGER!&lt;/b&gt;&lt;br /&gt;Autodesk and [&lt;a href=&quot;http://en.wikipedia.org/wiki/Non-disclosure_agreement&quot; target=&quot;_blank&quot;&gt;still secret&lt;/a&gt;] continue the trend of ever growing clients: to my current knowledge Hippo's &quot;biggest client&quot; has never been &quot;biggest client&quot; for more than two years. In the CMS6 years it was the &lt;a href=&quot;http://www.minbuza.nl/en&quot; target=&quot;_blank&quot;&gt;Ministry of Foreign Affairs&lt;/a&gt; and/or the dutch &lt;a href=&quot;http://www.anwb.nl/&quot; target=&quot;_blank&quot;&gt;AAA&lt;/a&gt;. A year later it became the entire &lt;a href=&quot;http://www.rijksoverheid.nl/&quot; target=&quot;_blank&quot;&gt;Dutch government&lt;/a&gt;. The past year we've added the entire national Police, &lt;a href=&quot;http://www.certiq.nl/&quot; target=&quot;_blank&quot;&gt;TenneT&lt;/a&gt;, &lt;a href=&quot;http://www.ns.nl/&quot; target=&quot;_blank&quot;&gt;the Dutch Railways&lt;/a&gt; and many others to our growing client base.&lt;br /&gt;&lt;br /&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a href=&quot;http://4.bp.blogspot.com/-8055TYyHKW8/Tvx_-3AJTDI/AAAAAAAAAEc/mv1XjxC_1Qg/s1600/Hippo_and_Trains.png&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;321&quot; src=&quot;http://4.bp.blogspot.com/-8055TYyHKW8/Tvx_-3AJTDI/AAAAAAAAAEc/mv1XjxC_1Qg/s400/Hippo_and_Trains.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot;&gt;When the weather gets extreme, this site gets more than 1000 visitors per second&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;b&gt;PARTNERS&lt;/b&gt;&lt;br /&gt;In the Netherlands we've seen a gradual, but radical shift when it comes to partners. Hippo is supporting partners more and more, we are&amp;nbsp;continuously&amp;nbsp;winning deals for and with partners, e.g. University of Amsterdam with &lt;a href=&quot;http://www.dutchworks.nl/&quot; target=&quot;_blank&quot;&gt;Dutchworks &lt;/a&gt;and Surfnet with a to-be-determined partner.&lt;br /&gt;&lt;br /&gt;I don't know what 2012 will bring us, I do know that Hippo is going to be radically different once more! :-)&lt;br /&gt;&lt;br /&gt;&lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-8hVNM-TYl0U/Tvx_jBJMfeI/AAAAAAAAAEQ/6lBT-qt9iOc/s1600/Pictures+BBQ+2011+004.jpg&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;298&quot; src=&quot;http://1.bp.blogspot.com/-8hVNM-TYl0U/Tvx_jBJMfeI/AAAAAAAAAEQ/6lBT-qt9iOc/s400/Pictures+BBQ+2011+004.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot;&gt;Want to be part of the fun? Have a look at &lt;a href=&quot;http://www.onehippo.com/en/company/career&quot; target=&quot;_blank&quot;&gt;our careers page&lt;/a&gt;!&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width=&quot;1&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/6364779749127996620-5115595863311652119?l=hippobas.blogspot.com&quot; alt=&quot;&quot; /&gt;&lt;/div&gt;</description>
	<pubDate>Thu, 29 Dec 2011 16:01:09 +0000</pubDate>
	<dc:creator>noreply@blogger.com (Bas van Leeuwen)</dc:creator>
</item>
<item>
	<title>Jeroen Verberg (Hippo): Customer Experience: 12 Predictions for 2012</title>
	<guid>http://jverberg.posterous.com/customer-experience-12-predictions-for-2012</guid>
	<link>http://jverberg.posterous.com/customer-experience-12-predictions-for-2012</link>
	<description>&lt;p&gt;
	&lt;p&gt;It&amp;rsquo;s that time of year again. Time to reflect on what we did this  year and what the next one will bring. 2012 looks to be just as great &amp;mdash;  and we think some big changes are coming. Here are our top 12  predictions for what will be coming in 2012.&lt;/p&gt;
&lt;h2&gt;#1. Content as a REST Stop.  Content as an Accessible Business Platform&lt;/h2&gt;
&lt;p&gt;Content  is quickly becoming an important asset for organizations to manage  carefully and thoughtfully.  But the number of devices, interfaces  and/or channels that need to be managed simply cannot be forecast.   Before January 2010 no one even knew what an iPad was. Now organizations  are scrambling to build interfaces to support it.  2012 will be the  year that companies start to think about managing their Web content as a  platform that can be drawn from like a well using REST-type API&amp;rsquo;s.  In  this way, there can be complete separation from the presentation of  content and the management of it.   Watch for new standards for Web  Content Management, such as the &lt;a href=&quot;http://lists.oasis-open.org/archives/tc-announce/201111/msg00015.html&quot; title=&quot;WEIM standard&quot; target=&quot;_blank&quot;&gt;WEMI standard&lt;/a&gt;,  as well as CMIS to become more important.  Then, new channel displays  can be quickly assembled when needed and integration/interoperability  between best-of-breed tools will become easier.&lt;/p&gt;
&lt;h2&gt;#2. Big Data Comes To Web CMS&lt;/h2&gt;
&lt;p&gt;A &lt;a href=&quot;http://idcdocserv.com/1142&quot; title=&quot;IDC&quot; target=&quot;_blank&quot;&gt;recent IDC study&lt;/a&gt; concluded that digital information is doubling every two years.  That  is certainly happening in Web content management systems.  As WCM  systems take over more responsibility for more platforms, tracking more  usage, customer and other types of behavioral and other metadata, the  repositories for these systems are becoming huge.   Savvy customers &amp;mdash;  even those in smaller companies &amp;mdash; will start looking at their CMS  vendors for how they handle and scale large sets of information.&lt;/p&gt;
&lt;h2&gt;#3. Social Business Process &amp;amp; Governance Become Priorities&lt;/h2&gt;
&lt;p&gt;With  the explosive growth of content display channels, so too will come the  equally explosive growth of interfaces to manage, collaborate and share  content.   Identity management across devices, business processes and  content quality governance will become big priorities in 2012.&lt;/p&gt;
&lt;h2&gt;#4. Contextually Aware Content And Behavioral Targeting &amp;mdash; The New WEM&lt;/h2&gt;
&lt;p&gt;Web  Engagement Management has been all the rage for the last couple of  years.  As mobile interfaces start to overtake the desktop in the sheer  quantity of Web experiences, watch for &amp;ldquo;context&amp;rdquo; and &amp;ldquo;behavior&amp;rdquo; to drive  Web Experience Management.  Gartner has said that &amp;ldquo;context is as  important to mobile as search was to the web.&amp;rdquo;  In 2012, this becomes a  reality for many organizations.  Forward-leaning organizations will  begin to develop content strategies that use context (device, location,  time, behavior, etc.) to target more relevant content to their  consumers.&lt;/p&gt;
&lt;h2&gt;5. RIP Websites &amp;mdash; The Web Is Now Everywhere&lt;/h2&gt;
&lt;p&gt;In  2012, we&amp;rsquo;re going to start to see the idea of organizations publishing a  single website die. Much more focus will be placed on publishing  content when, where and how the consumer needs it. New trends like &lt;a href=&quot;http://www.abookapart.com/products/mobile-first&quot; title=&quot;Mobile first&quot; target=&quot;_blank&quot;&gt;Mobile First&lt;/a&gt;,  where interfaces now dynamically morph into interfaces appropriate for  any screen size and device, and technology such as HTML 5, that help  content publishers create hybrid solutions for tablet devices, will  become much more commonplace.  The key is that content management  systems will need to be able to accommodate publishing content as a  service &amp;mdash; consumed by multiple interfaces and optimized for relevance  using context.&lt;/p&gt;
&lt;h2&gt;#6. Best of Breed Across the Enterprise&lt;/h2&gt;
&lt;p&gt;As  it becomes easier and easier to create information flow between  applications, inserting &amp;ldquo;best-of-breed&amp;rdquo; applications as specialized  point solutions will make much more sense for the enterprise than the  &amp;ldquo;suite&amp;rdquo; of applications.  As more and more hyper-focused types of  solutions emerge, enterprises will be able to plug and unplug various  types of content focused solutions: from email campaign management, web  analytics, web content management, to CRM and others.&lt;/p&gt;
&lt;h2&gt;#7.  The &amp;ldquo;Triple Play&amp;rdquo; of Intranet, Extranet &amp;amp; Internet Merge&lt;/h2&gt;
&lt;p&gt;Intranet  managers are evolving.  Whether it&amp;rsquo;s knowledge management, content  strategy or community management, the idea of the knowledge based  &amp;ldquo;internal&amp;rdquo; website is going away.  As the enterprise becomes more social  and the workforce and business partner ecosystem becomes more mobile,&amp;nbsp;  intranets and extranets will move to more expansive types of  experiences.   People will start to understand that business is, and has  always been, a true social network, and the idea of personalized  content delivered to their interface of choice becomes much more  effective than a simple &amp;ldquo;destination&amp;rdquo; portal.&lt;/p&gt;
&lt;h2&gt;#8. SEO Evolves, Becomes More Social&lt;/h2&gt;
&lt;p&gt;The practice of  Search Engine Optimization is fundamentally transforming.  Gone is the  focus on keyword density, meta tag optimization and the idea of  producing thousands and thousands of common themed pages of content.  In  2012, SEO strategists will become much more content strategy and  socially focused. SEO will be much more aligned with the deeper meaning  of the content &amp;mdash; focusing on the quality of experience. This includes  how fast the web content platform performs, the quality of the content,  the placement of the content and how much the content is &amp;ldquo;shared&amp;rdquo; and  linked among relevant social networks.&lt;/p&gt;
&lt;h2&gt;#9. Textual Content Gets a Demotion &amp;mdash; Video is Crowned King in 2012&lt;/h2&gt;
&lt;p&gt;In  2012, while producing high quality textually-based content will be  vitally important, the real king will be video.  Organizations are no  longer looking at video as &amp;ldquo;cutting edge,&amp;rdquo; but are seeking ways to make  video content the content staple of their various content strategies.&lt;/p&gt;
&lt;h2&gt;#10. At Least Two New Interfaces in 2012&lt;/h2&gt;
&lt;p&gt;We&amp;rsquo;ve  already talked about how no one was ready for the iPad when it exploded  onto the scene in 2010. Get ready for at least a couple of new ones in  2012.  Many analysts believe that Apple will be launching an actual  television interface.  This new television will be yet another interface  that will make our content easier to access and we need to be ready for  it.   Secondly, there will be at least one more mobile interface that  will emerge in 2012 that we need to be prepared for.&lt;/p&gt;
&lt;h2&gt;#11. The Internet of Things Says &amp;ldquo;Hello World&amp;rdquo;&lt;/h2&gt;
&lt;p&gt;Content/data  and our ability to manage it has long been generated by humans and in  2012 we will start to see the Internet Of Things begin to add value.   Data generated from usage, content produced by &amp;ldquo;things&amp;rdquo; and their  interaction will produce new opportunities for organizations to  contextualize and produce better experiences for their customers.&lt;/p&gt;
&lt;h2&gt;#12. Social &amp;amp; Web Merge And Become Hyper-Personal&lt;/h2&gt;
&lt;p&gt;The  idea of &amp;ldquo;social media&amp;rdquo; is going away.  As social networks merge into  our content, we will stop looking at them as separate things, and  instead as one, integrated platform.  One need only look at the Apache  Rave (based on &lt;a href=&quot;http://code.google.com/apis/opensocial/&quot; title=&quot;open social&quot; target=&quot;_blank&quot;&gt;open social&lt;/a&gt;)  concept to see how social networks, identification, content and  websites eventually can blend into one thing.  These can become the  building blocks to new Web content platforms &amp;mdash; where content is  delivered on a hyper-personalized level and contextually based on  preferences, location, device, etc.&lt;/p&gt;
&lt;h2&gt;A Great Year Ahead&lt;/h2&gt;
&lt;p&gt;We&amp;rsquo;re  looking forward to another great year &amp;mdash; and it feels like 2012 is going  to be a year of true expansion for our industry.   We truly wish you  all the happiest and most fruitful of New Years!&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
	
&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://jverberg.posterous.com/customer-experience-12-predictions-for-2012&quot;&gt;Permalink&lt;/a&gt; 

	| &lt;a href=&quot;http://jverberg.posterous.com/customer-experience-12-predictions-for-2012#comment&quot;&gt;Leave a comment&amp;nbsp;&amp;nbsp;&amp;raquo;&lt;/a&gt;

&lt;/p&gt;</description>
	<pubDate>Wed, 14 Dec 2011 11:57:00 +0000</pubDate>
</item>
<item>
	<title>Jeroen Reijn (Hippo): Make your date range queries in Jackrabbit go faster!</title>
	<guid>tag:blogger.com,1999:blog-2962867622850517744.post-3612826095036642049</guid>
	<link>http://blog.jeroenreijn.com/2011/12/make-date-range-queries-in-jackrabbit.html</link>
	<description>&lt;div class=&quot;separator&quot;&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot;&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-l8SjlzLi76c/Ttjwm2naNeI/AAAAAAAAAg0/9RuEKVqgL1o/s1600/jlogo64_med.png&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://3.bp.blogspot.com/-l8SjlzLi76c/Ttjwm2naNeI/AAAAAAAAAg0/9RuEKVqgL1o/s1600/jlogo64_med.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;As you might know &lt;a href=&quot;http://www.onehippo.org/&quot; target=&quot;_blank&quot;&gt;Hippo CMS&lt;/a&gt; uses &lt;a href=&quot;http://jackrabbit.apache.org/&quot; target=&quot;_blank&quot;&gt;Apache Jackrabbit&lt;/a&gt; as the core for it's content repository. One of Jackrabbits features is 'search' and the execution of most queries are delegated to &lt;a href=&quot;http://lucene.apache.org/&quot; target=&quot;_blank&quot;&gt;Apache Lucene&lt;/a&gt;. If you want to keep the queries as fast as possible you sometimes have to analyze how your repository is behaving with the content in your project. &lt;br /&gt;&lt;br /&gt;&lt;h2&gt;The problem&lt;/h2&gt;One of our customers noticed that they had some unexpected memory peaks and slow response times while their system was running during the day. They were using Jackrabbit 2.2.5 at the time. To get some more insight on what was going on we first started out by looking at the server logs. They were using the Jackrabbit search functionality quite heavily, so we replayed the server request logs on the acceptance environment. During the replay we set the log level of the &lt;i&gt;Query&lt;/i&gt; to debug, so we were able to see how long each query took. We soon discovered that the longest queries were 'range queries' and also noticed that during the execution of such a range query the memory usage reached some peaks.&lt;br /&gt;&lt;br /&gt;&lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-sTjk46P6Duw/Tt6YEJM1QdI/AAAAAAAAAg8/SVux1MAjRzw/s1600/CapturFiles-201112340_2312.png&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;198&quot; src=&quot;http://2.bp.blogspot.com/-sTjk46P6Duw/Tt6YEJM1QdI/AAAAAAAAAg8/SVux1MAjRzw/s320/CapturFiles-201112340_2312.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot;&gt;User view of a date range&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;In this specific case the problamatic queries were date range queries. A date range query is a query that for instance searches for a document between day &lt;i&gt;x&lt;/i&gt; and day &lt;i&gt;y&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;As an example: Give me all documents that were created between 2007-01-01 and 2011-01-01. This is a very typical search filter, which you will see in all kind of applications.&lt;br /&gt;&lt;br /&gt;In plain Jackrabbit a date range query (xpath notation) will look something like this:&lt;br /&gt;&lt;pre class=&quot;brush:java&quot;&gt;//element(*,custom:document)[@custom:date &amp;gt;=xs:dateTime('2007-01-01T00:00:00.000Z') and @custom:date &amp;lt;=xs:dateTime('2010-01-01T00:00:00.000Z')] order by @custom:date descending&lt;/pre&gt;&lt;br /&gt;Now if you would be using the Hippo HST you would have probably used the &lt;i&gt;Filter.addGreaterOrEqualThan&lt;/i&gt; and passed along a Date object as an argument, which automatically is being converted into the above syntax.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;The analysis&lt;/h2&gt;To get some insight in what was causing this behaviour I created a unit test that performed a variety of range queries on a set of 100.000 simple documents/nodes. For this test I created a very simple nodetype definition that would hold a date/date-time property in different kind of formats. The used nodetype looks like this:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;[custom:document]&lt;br /&gt;- custom:date (date) &lt;br /&gt;- custom:dateasstringwithhoursandminutesandseconds (string)&lt;br /&gt;- custom:dateasstringwithhoursandminutes (string)&lt;br /&gt;- custom:dateasstring (string)&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;So looking at the above nodetype definition we have a node that contains 4 properties, where we have a normal JCR &lt;i&gt;date&lt;/i&gt; (and time) property and next to that there are 3 properties that have a more fine-grained format of the date-time.&lt;br /&gt;&lt;br /&gt;Trying to create a real world scenario the unit test generates documents starting from 01-01-2001. With every new document the test adds 1 hour and 3 seconds to the date field. After creating 100.000&lt;br /&gt;nodes it ends up somewhere around 2012-07-03 03:19:57. The test will then sleeps for about 60 seconds (gives lucene time to finish up it's indexing) before it starts doing the range queries.&lt;br /&gt;&lt;br /&gt;In finding a solution I created 4 different versions of the range query where I start narrowing down on the date format to get closer to the actual date (without the time). In the test case 4 different kind of queries are peformed and repeated 5 times before moving on to the next type of query. The range queries performed are:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Normal range query (with JCR date-time format like mentioned above)&lt;/li&gt;&lt;li&gt;Range query with date as string with format yyyyMMddHHmmss&lt;/li&gt;&lt;li&gt;Range query with date as string with format yyyyMMddHHmm&lt;/li&gt;&lt;li&gt;Range query with date as string with format yyyyMMdd&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Queries 1 to 3 took an average of 3500 ms (3.5 seconds) with a large memory footprint usage of about 380MB per query. That's huge and slow for just a simple query! You can imagine this might end up leading to OutOfMemory errors.&lt;br /&gt;&lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-wkDq_mi85BI/Tta66ZH34DI/AAAAAAAAAgk/GlmawYbh174/s1600/heap.png&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;385&quot; src=&quot;http://2.bp.blogspot.com/-wkDq_mi85BI/Tta66ZH34DI/AAAAAAAAAgk/GlmawYbh174/s400/heap.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot;&gt;Memory usage overtime while performing the queries (graph comes from &lt;a href=&quot;http://visualvm.java.net/&quot; target=&quot;_blank&quot;&gt;VisualVM&lt;/a&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;However the fourth query is actually quite fast and takes less memory! It's a really significant difference. The fourth query takes about 180 ms on average and uses about 40-50MB. It's still a lot of memory (in my opinion), but since they are a lot faster the total amount of used memory might not be that large, because the amount of memory is freed much earlier in the process.&lt;br /&gt;&lt;br /&gt;Looking at the graph on the right you will see there is no difference between query 1 to 3, but option 4 (which is in fact actually what a &lt;b&gt;date&lt;/b&gt; range should do) showed a really large improvement on overall performance and memory usage. So in the end it turns out that the 'time' in the default JCR date format was actually giving us the issues. Because the time was added to the date value, the number of unique values for the date property in the lucene index had become larger then needed causing the slowdown.&lt;br /&gt;&lt;h2&gt;A solution&lt;/h2&gt;Now as a solution we solved this by adding a &lt;a href=&quot;http://www.onehippo.org/cms7/documentation/development/content+repository/jcr/reference/derived_data.html&quot; target=&quot;_blank&quot;&gt;derived data function&lt;/a&gt; that extracts the simplified date property. For range queries we now do the range on the 'yyyyMMdd' formatted date and order the results by the original date property, so that the time is taken into account and the sort order is correct. Using the simple date format will also help when trying to find documents/nodes that belong to a certain date. This has just turned into a simple 'equals' instead of a range from 0:00 till 23:59:59. &lt;br /&gt;&lt;br /&gt;If you are currently using Apache Jackrabbit and are using these kind of queries you might want to rethink you current content model. A small change might give you a huge performance boost! &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width=&quot;1&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/2962867622850517744-3612826095036642049?l=blog.jeroenreijn.com&quot; alt=&quot;&quot; /&gt;&lt;/div&gt;</description>
	<pubDate>Mon, 12 Dec 2011 22:54:00 +0000</pubDate>
	<dc:creator>noreply@blogger.com (Jeroen Reijn)</dc:creator>
</item>
<item>
	<title>Bas van Leeuwen (Hippo): On requirements, freedom, RFPs and hamburgers</title>
	<guid>tag:blogger.com,1999:blog-6364779749127996620.post-6178882868085356583</guid>
	<link>http://hippobas.blogspot.com/2011/12/requirements-freedom-rfps-hamburgers.html</link>
	<description>Picture this RFP:&lt;br /&gt;&lt;blockquote class=&quot;tr_bq&quot;&gt;After an extensive decision making process, Me&amp;amp;Friends (M&amp;amp;F) has decided that its current needs are best served by a (ham)burger. Consequently M&amp;amp;F is looking for a supplier that can provide it with a burger that fulfills the following requirements:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;MUST not contain e.coli&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;SHOULD provide 250 kcal or more&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;SHOULD contain cheese&lt;/li&gt;&lt;/ul&gt;&lt;/blockquote&gt;&lt;blockquote class=&quot;tr_bq&quot;&gt;&lt;ul&gt;&lt;li&gt;MUST contain beef&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;&lt;/blockquote&gt;&lt;blockquote class=&quot;tr_bq&quot;&gt;&lt;ul&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;COULD contain bacon&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;COULD contain a middle bun&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;SHOULD be packaged&lt;/li&gt;&lt;/ul&gt;Proposals should be received no later than 1 hour after receiving this RFP and will be judged on price, distance and provided references.&lt;/blockquote&gt;This is clearly an asinine way of ordering a burger as you'd usually work on look&amp;amp;feel, previous experiences and/or recommendations of friends. Please bear in mind that the same basically holds for the procurement of a high-end car, which is the same order of magnitude as a medium sized website.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Common Sense&lt;/b&gt;&lt;br /&gt;So why is it that we lose this common sense approach when it comes to business? Why do we insist on using even more convoluted processes? The procurement process appears to have a single aim: removal of any agility and creativity from the development process.&lt;br /&gt;&lt;br /&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a href=&quot;http://upload.wikimedia.org/wikipedia/commons/2/2c/McD-Big-Mac.jpg&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;276&quot; src=&quot;http://upload.wikimedia.org/wikipedia/commons/2/2c/McD-Big-Mac.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot;&gt;Check?, check!, check, check, no, check, check&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;The only advantage that the formal route gives you is a degree of certainty, which is something that is of course never actively punished in the corporate environment. No one has ever been praised for taking a risk if the eventual outcome is negative..&lt;br /&gt;&lt;br /&gt;&lt;b&gt;McDonald's&lt;/b&gt;&lt;br /&gt;It's the same as McDonald's food: you are certain of a very bland, mediocre burger, but you will never be unpleasantly surprised. Mediocre burger in Shanghai = mediocre burger in Kernersville = mediocre burger in Amsterdam.&lt;br /&gt;Conversely, you will never have the absolute delight of randomly walking in one of Amsterdam's lovely &lt;a href=&quot;http://burgermeester.eu/&quot; target=&quot;_blank&quot;&gt;Burgermeester &lt;/a&gt;establishments.&lt;br /&gt;&lt;br /&gt;It gets worse: since you are actively looking for the cheapest deal (and will for any future project) you do not give any incentive to the selected vendor to provide you with anything more than explicitly required.&lt;br /&gt;&lt;br /&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a href=&quot;http://upload.wikimedia.org/wikipedia/commons/d/d7/McDonald's_Hamburger_2007.jpg&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;207&quot; src=&quot;http://upload.wikimedia.org/wikipedia/commons/d/d7/McDonald's_Hamburger_2007.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot;&gt;Cheapest, thus wins&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;b&gt;Consultancy&lt;/b&gt;&lt;br /&gt;As Hippo Business Consultants my colleagues and I are often placed in situations where we can not do our job properly. Many companies spend ages coming up with their requirements document, this document becomes leading in the entire development process. This robs me and my &lt;a href=&quot;http://hippobas.blogspot.com/2011/07/what-makes-job-awesome.html&quot; target=&quot;_blank&quot;&gt;colleagues &lt;/a&gt;of the opportunity to help a client achieve the full potential of their online environments.&amp;nbsp;It is rare to see an RFP where any experts where actively involved in the drafting of requirements.&lt;br /&gt;&lt;br /&gt;The procured system is not used to its full potential (e.g. it's rare to see an RFP demand faceted search). It's a sad situation when an entire project team (including manager) agrees that the chosen solution is not optimal, but you do it anyway, because that's the requirement.&lt;br /&gt;&lt;br /&gt;Luckily a lot of project managers I've worked with are smart enough to realize this and allow diverging from the strict requirements (with or without telling the sponsor). Sadly they are still required to work with the defined process, thus creating a lot of overhead and unnecessary (conflicting) documentation.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Rules&lt;/b&gt;&lt;br /&gt;As with most rules, I think requirements should be treated as (strict) guidelines. Substantiated diverging should be allowed at (nearly) all times.&lt;br /&gt;&lt;br /&gt;Another pressing recommendation I'd like to make: make a reservation (time and budget) of at least 30% for unforeseen features. This will tremendously improve the quality of your end product (and make developers happy).&lt;br /&gt;&lt;br /&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a href=&quot;http://a2.sphotos.ak.fbcdn.net/hphotos-ak-snc4/73260_109135462485240_107433995988720_69984_3939607_n.jpg&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;265&quot; src=&quot;http://a2.sphotos.ak.fbcdn.net/hphotos-ak-snc4/73260_109135462485240_107433995988720_69984_3939607_n.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot;&gt;Using the fork is optional&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;Now I'm hungry :-)&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width=&quot;1&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/6364779749127996620-6178882868085356583?l=hippobas.blogspot.com&quot; alt=&quot;&quot; /&gt;&lt;/div&gt;</description>
	<pubDate>Tue, 06 Dec 2011 22:01:10 +0000</pubDate>
	<dc:creator>noreply@blogger.com (Bas van Leeuwen)</dc:creator>
</item>
<item>
	<title>Jasha Joachimsthal (Hippo): Apache Rave presentation at the ROLE developer camp</title>
	<guid>http://www.jasha.eu/blogposts/2011/11/apache-rave-incubating-at-role-developer-camp.html</guid>
	<link>http://www.jasha.eu/blogposts/2011/11/apache-rave-incubating-at-role-developer-camp.html</link>
	<description>&lt;div&gt;&lt;p&gt;This is the presentation I gave about Apache Rave during the
&lt;a href=&quot;http://www.role-project.eu/&quot;&gt;ROLE project&lt;/a&gt; developer camp in Leuven,
Belgium:&lt;/p&gt;







&lt;p&gt;Can't see the presentation? You can
&lt;a title=&quot;PDF of Apache Rave presentation (1.1 MB)&quot; href=&quot;http://www.jasha.eu/binaries/content/assets/2011/20111129-rave-role-camp.pdf&quot;&gt;download&lt;/a&gt;
the PDF (1.1 MB).&lt;/p&gt;&lt;/div&gt;</description>
	<pubDate>Wed, 30 Nov 2011 17:30:41 +0000</pubDate>
	<dc:creator>Jasha Joachimsthal</dc:creator>
</item>
<item>
	<title>Jasha Joachimsthal (Hippo): Apache Rave on your iPhone</title>
	<guid>http://www.jasha.eu/blogposts/2011/11/apache-rave-incubating-on-a-mobile-device.html</guid>
	<link>http://www.jasha.eu/blogposts/2011/11/apache-rave-incubating-on-a-mobile-device.html</link>
	<description>&lt;div&gt;&lt;p&gt;One of the newest features in
&lt;a href=&quot;http://incubator.apache.org/rave/&quot;&gt;Apache Rave&lt;/a&gt; (Incubating) is a
mobile view for the portal. Using
&lt;a href=&quot;http://www.springsource.org/spring-mobile&quot;&gt;Spring Mobile&lt;/a&gt;, the
portal detects that the visitor uses a mobile device and renders a more
lightweight view. The title bar is bigger to make it easier to expand or
collapse a Widget on a touch screen. Drag and drop is disabled in the mobile
view.&lt;/p&gt;

&lt;p&gt;Preview of Apache Rave on an iPhone:&lt;/p&gt;

&lt;p&gt;
&lt;img alt=&quot;Apache Rave on an iPhone simulator&quot; src=&quot;http://www.jasha.eu/binaries/content/gallery/2011/apache-rave/apache-rave-mobile.png&quot; /&gt;
&lt;/p&gt;&lt;/div&gt;</description>
	<pubDate>Mon, 14 Nov 2011 18:21:08 +0000</pubDate>
	<dc:creator>Jasha Joachimsthal</dc:creator>
</item>
<item>
	<title>Tjeerd D. Brenninkmeijer (Hippo): Context Aware Content Management - The Next Generation Of Content As A Service</title>
	<guid>http://blogs.onehippo.org/tjeerd/2011/11/context_aware_content_manageme_1.html</guid>
	<link>http://blogs.onehippo.org/tjeerd/2011/11/context_aware_content_manageme_1.html</link>
	<description>&lt;p&gt;Having content available over an API is the new “black”.   If you haven’t noticed – almost every social network and content company these days is promoting their API – and the ability to get content that can be integrated into any interface as a service.   From social networks like Twitter and Facebook – to content companies like Google,  Zagat, and even the &lt;a href=&quot;http://data.gov.uk&quot;&gt;UK Government&lt;/a&gt; – integrating content as a service across multi-channel interfaces is a big trend.  &lt;br /&gt;
And this is no surprise.  As the Web has matured, businesses have been challenged with keeping up with adding content interfaces.  From portals, to Web sites, mobile devices, social networks, back-office applications – it’s been a constant struggle to make sure that content is available in the right format, and at the right time.  And so separating the concerns of the formatting of content – and making it available in a standardized format makes huge economical sense for these businesses that depend on their content being in as many places as possible.&lt;br /&gt;
Of course at Hippo we’ve seen that trend from our clients as well – and have been working on that front for some time.  For example, we’ve been working for years with publishing giant Thomson Reuters on their &lt;a href=&quot;http://www.findlaw.com&quot;&gt;Findlaw.com&lt;/a&gt; site – to provide multi-channel content, as well as integrating content with their legal classification engine.&lt;br /&gt;
Other WCMS Systems have begun to put a real focus on this “multi-channel” delivery as well calling it “web experience management” and delivering content to any device or interface you need.&lt;br /&gt;
But really – having the ability to deliver content through an API to multiple channels is only half the story of contextually aware content as a service.  The true power of context aware content management – is in providing for optimized and contextually relevant ways to MANAGE this content.&lt;br /&gt;
&lt;strong&gt;True Context Aware Web Content Management&lt;/strong&gt;&lt;br /&gt;
William Clark, analyst at Gartner has recently described “&lt;a href=&quot;http://www.gartner.com/technology/research/context-aware-computing/&quot;&gt;context aware computing&lt;/a&gt;” as:&lt;br /&gt;
“&lt;em&gt;user experience.  It’s looking at a lot of different disciplines across IT and figuring out how they can be leveraged to make applications more relevant and content more relevant and experiences more relevant&lt;/em&gt;.”&lt;br /&gt;
But interestingly most WCMS vendors in the market today are STILL only worried about how to publish pages of content for “web experiences” for the audience user.  And as William Clark pointed out in that quote – it’s about user experience on both sides of the software application.  &lt;br /&gt;
There is a growing need to not only deliver content through an open and standard set of API’s – but also to provide contextually relevant ways to manage this content as well.   For example, Hippo has been working with the Dutch Libraries on just such a project.  &lt;br /&gt;
&lt;strong&gt;The Dutch Libraries – Managing Content As a Platform&lt;/strong&gt;&lt;br /&gt;
With The Dutch Libraries the centralized Hippo content repository platform gets its content directly from multiple sources.  There are editors working through Hippo CMS of course – and there is also content that is aggregated and scraped from external sources in a normalized fashion.  This is common with many WCMS systems today.   &lt;br /&gt;
This is extraordinarily innovative.  Branches of the Dutch Libraries were already comfortable in the CMS systems they were using – namely Drupal and Joomla.  And they didn’t’ want to go to the expense of re-training their users on how to use these systems.  So, because of the way that Hippo’s standardized architecture and the &lt;a href=&quot;http://www.onehippo.com/en/products/cms/technology&quot;&gt;context aware content server&lt;/a&gt; works – they can utilize existing CMS systems to manage content in a centralized repository.   This not only gives the Dutch Libraries the ability to deliver content to any channel, any interface at any time – but the ability to manage that content through any system they desire.  And, because the repository uses a fully REST based architecture – any other content contribution tool can be utilized as well.  This means that any type of content management solution that connects in this way can be plugged into it. &lt;br /&gt;
&lt;img alt=&quot;Hippo_context_aware_server.png&quot; src=&quot;http://blogs.onehippo.org/tjeerd/Hippo_context_aware_server.png&quot; width=&quot;421&quot; height=&quot;474&quot; /&gt;&lt;br /&gt;
This is treating your content as a business platform – and architecting it in such a way that it can be managed, and delivered in extraordinarily flexible ways. &lt;br /&gt;
This is TRUE context aware content management; where not only the content is delivered in a contextually relevant way – but can also be managed in a contextually relevant way for authors and editors of Web content.   Delivering BOTH is a business imperative – and one that organizations should start examing as Anne Lapkin VP Of Research at Gartner said: “&lt;em&gt;If you don't start unraveling the problem now - and how your going to apply context to your organization and your customers - you're going to miss the boat.&lt;/em&gt;” &lt;br /&gt;
It’s time for us to remember that MANAGING web content is NOT solved.   At Hippo, we are constantly focused on not only how to create better experiences for audiences. At Hippo we think that Context Aware Content Management: &lt;a href=&quot;http://www.cmswire.com/cms/customer-experience/context-aware-content-management-the-most-important-pivot-in-cem-013022.php&quot;&gt;is the Most Important Pivot In CEM&lt;/a&gt; (customer Engagement Management).  We know that customers now expect to be able to engage with a company at EVERY stage in their buying process.    And, by making it easier and more contextually relevant on both sides – a WCMS can facilitate the conversation and empower the audience.&lt;/p&gt;</description>
	<pubDate>Mon, 07 Nov 2011 13:23:49 +0000</pubDate>
</item>
<item>
	<title>Jasha Joachimsthal (Hippo): Apache Rave demo video</title>
	<guid>http://www.jasha.eu/blogposts/2011/11/apache-rave-incubating-demo-video.html</guid>
	<link>http://www.jasha.eu/blogposts/2011/11/apache-rave-incubating-demo-video.html</link>
	<description>&lt;div&gt;&lt;p&gt;I've been
&lt;a href=&quot;https://www.ohloh.net/p/ApacheRave/contributors/2239911344213730&quot;&gt;working&lt;/a&gt;
a lot on &lt;a href=&quot;http://incubator.apache.org/rave/&quot;&gt;Apache Rave&lt;/a&gt; lately.
Apache Rave is a new light-weight, open source portal that uses
&lt;a href=&quot;http://code.google.com/apis/opensocial/&quot;&gt;OpenSocial&lt;/a&gt; gadgets and
&lt;a href=&quot;http://incubator.apache.org/wookie/&quot;&gt;W3C widgets&lt;/a&gt; to render content.
You may have already used OpenSocial gadgets in iGoogle or Atlassian Jira
without being aware of it. I can write a
&lt;a href=&quot;http://blogs.onehippo.org/arje/2011/09/raving_about_rave.html&quot;&gt;blogpost&lt;/a&gt;
about Apache Rave, but a video can say more than words:&lt;/p&gt;






&lt;p&gt;&lt;a href=&quot;http://www.youtube.com/watch?v=MJEymPFti6A&quot;&gt;Direct link to the
video&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;</description>
	<pubDate>Sun, 06 Nov 2011 13:12:47 +0000</pubDate>
	<dc:creator>Jasha Joachimsthal</dc:creator>
</item>
<item>
	<title>Jasha Joachimsthal (Hippo): Cleaning up the WYSIWYG HTML</title>
	<guid>http://www.jasha.eu/blogposts/2011/10/cleaning-up-the-wysiwyg-html.html</guid>
	<link>http://www.jasha.eu/blogposts/2011/10/cleaning-up-the-wysiwyg-html.html</link>
	<description>&lt;div&gt;&lt;p&gt;My blog is built with Hippo CMS and the Hippo Site Toolkit. This means that I
use the &lt;a href=&quot;http://xinha.webfactional.com/&quot;&gt;Xinha&lt;/a&gt; (Is Not HtmlArea)
WYSIWYG editor to type the content of my blogposts. The Xinha editor does its
job, but has its limitations. Editors may mess up the HTML without knowing it.
There's also an option to toggle to HTML mode. Editors may again mess up the
HTML but then they know it. The HTML may work in their browser, but if it's not
valid, it may render wrong in other browsers.  If the site is meant for a Dutch
governmental organisation, the law requires it to meet accessibility guidelines
which require the HTML to be XHTML 1.0 strict compliant.&lt;/p&gt;

&lt;p&gt;Switching to a different WYSIWYG editor is not trivial and for Hippo there is
another restriction: its license must be compatible with the
&lt;a href=&quot;http://www.apache.org/licenses/LICENSE-2.0&quot;&gt;Apache License&lt;/a&gt;. Nearly
all &lt;a href=&quot;http://geniisoft.com/showcase.nsf/WebEditors&quot;&gt;alternatives&lt;/a&gt; are
commercial or have some form of GPL license. That's a reason why we kept using
Xinha with its plugin ecosystem in both Hippo CMS 6 and 7. To ensure its result
would be valid XHTML we cleanup the HTML when an editor presses the Save button.
&lt;/p&gt;

&lt;p&gt;The
&lt;a href=&quot;http://wiki.onehippo.com/display/CMS7/Configure+the+Rich-text+fields+(Xinha)#ConfiguretheRich-textfields(Xinha)-ConfiguretheHTMLCleaner&quot;&gt;HTML
cleaner&lt;/a&gt; checks if the HTML meets the following requirements:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Are the HTML elements and attributes valid according to the configured XHTML
1.0 dtd (options are strict and transitional). &lt;br /&gt;
This is the reason why YouTube &amp;lt;embed/&amp;gt; codes will be stripped. For
historical reasons we made an exception for the (IMO evil) element &amp;lt;u&amp;gt;
(underline).&lt;/li&gt;
&lt;li&gt;Is the element or attribute allowed in the configuration? &lt;br /&gt;
The webmaster can disallow the usage of an &amp;lt;h1&amp;gt; in the WYSIWYG HTML
because that element is reserved for the main page title or disallow the usage
of deprecated elements and attributes.. Maybe the design guidelines don't allow
adding markup and therefore the &quot;class&quot; and &quot;style&quot; attributes are stripped.
Especially the &quot;style&quot; attribute makes it harder to reuse the content on
multiple platforms.&lt;/li&gt;
&lt;li&gt;Is the inserted CSS class allowed for the elements p, div, pre or span?
&lt;br /&gt;
For these four elements, the content of the class attribute is restricted to the
class names that are configured as allowed.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If the HTML element or attribute does not meet the configured requirements it
will be removed. The text inside an element will not be removed, but wrapped
inside an element that is allowed, usually a &amp;lt;p&amp;gt;. If a &amp;lt;div&amp;gt; element
does not contain an allowed class name, it will be cleaned up by either
converting it into a &amp;lt;p&amp;gt; or the &amp;lt;div&amp;gt; element but not its content
will be removed if it has children like &amp;lt;p&amp;gt;, &amp;lt;ul&amp;gt; or &amp;lt;table&amp;gt;.
&lt;/p&gt;&lt;/div&gt;</description>
	<pubDate>Sat, 29 Oct 2011 11:09:55 +0000</pubDate>
	<dc:creator>Jasha Joachimsthal</dc:creator>
</item>
<item>
	<title>Jeroen Verberg (Hippo): Web Experiences Won’t Be Managed</title>
	<guid>http://jverberg.posterous.com/web-experiences-wont-be-managed</guid>
	<link>http://jverberg.posterous.com/web-experiences-wont-be-managed</link>
	<description>&lt;p&gt;
	&lt;p&gt;Web content management has changed. Yes, again. The universe of options for organizations to create, edit, manage and ultimately publish content to their Web platforms has shifted for the second time in a decade.&lt;/p&gt;
&lt;p&gt;In the first part of the 2000&amp;rsquo;s WCM software solutions were focused on one thing &amp;mdash; and one thing only; making it easier and more powerful for non-technical people to move content from their desktop to their web site. Interfaces were critical. Every enterprise web content management provider touted their &amp;ldquo;easy-to-use&amp;rdquo; UI and how flexible and intuitive their solution would make the web content management process. And power-user enterprise features were also key &amp;mdash; with the focus on powerful workflows, and approval processes &amp;mdash; and the ability to integrate with other enterprise tools.&lt;/p&gt;
&lt;p&gt;But then, toward the latter part of the decade and lasting up until this last year &amp;mdash; the WCMS industry went through another major pivot. The marketing department and the &amp;ldquo;social web&amp;rdquo; became the primary business drivers for Web sites &amp;mdash; and many of the solutions shifted their focus to solving marketing related challenges. Email campaign management systems, and Web Analytics systems were integrated into web content management, and there became a focus on testing, targeting &amp;mdash; and driving more marketing value from the WCMS.&lt;/p&gt;
&lt;p&gt;Now, as we move into 2012, and the middle part of this decade &amp;mdash; the industry is pivoting yet again. The explosive growth of content consumption from mobile and social interfaces, the pending expansion of the &amp;ldquo;internet of things&amp;rdquo; and consumer expectation of content availability is driving WCMS providers to shift their value proposition. Ironically, the Web content management industry is no longer focused on web content management &amp;mdash; but rather on the delivery of web content. Terms likeWeb Engagement Management, and Customer Experience Management are all the buzz among vendors. In fact, the latest Forrester Wave Report for Web Content Management is focused exclusively on vendors providing &amp;ldquo;Online Customer Experience&amp;rdquo;. Report author Stephen Powers states &amp;ldquo;functionality to enable publishing to the Web &amp;mdash; whether internally or externally &amp;mdash; has become commoditized. Yet, now, the WCM market is growing based on customer experience management.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;WCM software solutions are increasingly differentiating themselves on a scale of how well their solution can help a customer DELIVER a personalized &amp;ldquo;web experience&amp;rdquo; to the client&amp;rsquo;s consumers through multiple channels such as web, mobile and social.&lt;/p&gt;
&lt;p&gt;However, this incremental step is just one toward a different corner in which vendors will find themselves commoditized. The real shift of Web content and consumer expectations is not in delivering a solution that helps a client DELIVER a web experience &amp;mdash; but rather one that helps their audiences CONSUME an experience of their own making.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Web Experiences Won&amp;rsquo;t Be Managed&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;WEM (or CEM) itself is a marketing concept &amp;mdash; defined by analysts and vendors as a method to create more relevant experiences for consumers using a combination of process and tools. In an article back in May, CMSWire&amp;rsquo;s Brice Dunwoodie &lt;a href=&quot;http://www.cmswire.com/cms/web-engagement/what-is-web-engagement-management-wem-007400.php&quot;&gt;appropriately put it this way&lt;/a&gt;:&lt;/p&gt;
&lt;p&gt;&quot;It's about managing content, conversations, conversions and relevance in mostly the same place and at almost the same time.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;The value presented by WEM/CEM is that this process is, at its heart, about managing the audience&amp;rsquo;s experience in such a way that they ultimately do what the marketer wants them to do. Marketers want the audience to have a relevant, engaged experience with content &amp;mdash; just so long as they do what the marketer wants them to do.&lt;/p&gt;
&lt;p&gt;In short &amp;mdash; software vendors are going down the same road they went down before. Now, instead of making it &amp;ldquo;easier to manage Web content&amp;rdquo; vendors are saying it&amp;rsquo;s &amp;ldquo;easy to manage experiences&amp;rdquo;. Is it any wonder that many have found the whole WEM, CEM trend just another buzzwordy marketing acronym?&lt;/p&gt;
&lt;p&gt;Audiences&amp;rsquo; experiences (both good and bad) are affected by a number of things that are out of the marketer&amp;rsquo;s control. And as many have pointed out &amp;mdash; content optimization is already &lt;a href=&quot;http://www.cmswire.com/cms/web-cms/content-optimization-a-best-practice-that-few-practice-008851.php&quot;&gt;a best practice that few practice&lt;/a&gt;. So in the end, while we can manage an experience to a point &amp;mdash; down the road we may ultimately spend so much time trying to account for what limited sets of variables we can (or want to) control &amp;mdash; that WEM from a MANAGEMENT standpoint stands the risk of becoming unproductive.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Search Isn&amp;rsquo;t The Answer&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;To answer the &amp;ldquo;contextual&amp;rdquo; challenge &amp;mdash; there have been some analysts and vendors that have suggested that &amp;ldquo;Search&amp;rdquo; is a step in the right direction. The increase in the popularity of Google &amp;mdash; and optimizing site content for external search engines has resulted in many corporate Web sites becoming bloated and &amp;ldquo;filled with data&amp;rdquo; and usability of sites have suffered. This has resulted in &amp;ldquo;web site search&amp;rdquo; becoming a crutch for navigation &amp;mdash; and many have suggested that this is a positive step. For example, in a recent post CMS analyst Janus Boye suggests that &amp;ldquo;n&lt;a href=&quot;http://jboye.com/blogpost/navigation-is-for-losers/&quot;&gt;avigation is for losers&lt;/a&gt;&amp;rdquo; and says:&lt;/p&gt;
&lt;p&gt;Today, search has matured into the primary mode of navigation for an increased number of users. Not just the digital natives. Users, whether internal or external, quickly scan the site and then don&amp;rsquo;t bother decoding what&amp;rsquo;s behind your navigation. Instead, they often simply go to the search field or give up.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;While this thinking is correct and is certainly a must-have for many sites today &amp;mdash; it is still a &amp;ldquo;management&amp;rdquo; oriented strategy &amp;mdash; and ultimately won&amp;rsquo;t help to create a contextually aware platform. Today&amp;rsquo;s site search is based on an assumption of &amp;ldquo;relevant&amp;rdquo; information based on a query. The user is immediately given results based on a semantic algorithm &amp;mdash; despite the context in which they&amp;rsquo;re searching. In short, the user may want much different results if they are searching a repository from a mobile device than if they are searching from their desktop computer.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Contextual Content Delivery Is The Right Question&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Rather &amp;mdash; the real pivot &amp;mdash; and the real future challenge we should be solving for comes in a different form. It is empowering our audiences to optimally consume our content when, where and how THEY want it &amp;mdash; and giving us the insight to continually get better at the TYPE of content we are delivering, rather than the form it is delivered in. In other words, as we move into the future we should be focused less on how to construct Web experiences for our customers &amp;mdash; but rather in opening our content and interfaces so our consumers are ultimately able to create their own. Rather than designing the experience, we should be designing FOR the OPPORTUNITY of experience. And the insight that is derived shouldn&amp;rsquo;t inform the interface construct &amp;mdash; but rather should help authors and editors create BETTER content. That is context-aware content management.&lt;/p&gt;
&lt;p&gt;Ultimately this means that designs, search, and &amp;ldquo;look and feel&amp;rdquo; more generally will be something that we pay less and less attention to &amp;mdash; and we will instead put our focus on how to deliver better quality content in an increasingly relevant way. This means developing systems that understand how, what and when to deliver content given an astounding number of parameters. Interfaces will be separate, and unique to the devices, the situations and the platforms that consumers choose. But, this will be less relevant to the content producer &amp;mdash; because the logic to deliver which content will be handled by our Web content management systems. In short, we will no longer be managing Web sites, we will be managing a contextually aware content platform.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Context Aware Content Management In Practice&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Gartner has been releasing research and thought leadership about Context Aware Computing for a couple of years now. In fact, they estimate that &amp;ldquo;by 2012, the typical Global 2000 company will be managing between two and 10 business relationships with context providers, and that by 2015, context will be as influential in mobile consumer services and relationships as search engines are to the Web.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;From a content management perspective, that&amp;rsquo;s extraordinarily powerful. If context and content used together is as big a shift as search engines were to the online consumer experience, then it provides enterprise WCM providers with an unprecedented opportunity to be the ones to deliver these experiences.&lt;/p&gt;
&lt;p&gt;This goes well beyond &amp;ldquo;managing Web experiences&amp;rdquo; and traditional &amp;ldquo;personalization&amp;rdquo; &amp;mdash; and digs deep into how we will enable clients to open their repositories so that things like location, environmental data, history, social attributes, online behavior and other information can be utilized to deliver a more relevant contextual experience in real time.&lt;/p&gt;
&lt;p&gt;If Web Engagement Management solution providers want to continue on their focus of empowering business users to create content more effectively for better web sites &amp;mdash; that&amp;rsquo;s fine. However, this challenge is largely solved. Rather the more interesting, and bigger challenge is in &lt;a href=&quot;http://www.onehippo.com&quot;&gt;empowering our audiences&lt;/a&gt; to create their own experiences &amp;mdash; and give us REAL insight into how to deliver a truly contextually relevant web experience.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
	
&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://jverberg.posterous.com/web-experiences-wont-be-managed&quot;&gt;Permalink&lt;/a&gt; 

	| &lt;a href=&quot;http://jverberg.posterous.com/web-experiences-wont-be-managed#comment&quot;&gt;Leave a comment&amp;nbsp;&amp;nbsp;&amp;raquo;&lt;/a&gt;

&lt;/p&gt;</description>
	<pubDate>Sat, 22 Oct 2011 12:07:00 +0000</pubDate>
</item>
<item>
	<title>Tjeerd D. Brenninkmeijer (Hippo): We’re All Publishers – But We Need To Be Context Aware Publishers</title>
	<guid>http://blogs.onehippo.org/tjeerd/2011/10/were_all_publishers_but_we_nee.html</guid>
	<link>http://blogs.onehippo.org/tjeerd/2011/10/were_all_publishers_but_we_nee.html</link>
	<description>&lt;p&gt;Content and content marketing are hot topics in marketing department to be sure.   More than ever, as marketers, we are driven to produce compelling and relevant content to draw in consumers. &lt;br /&gt;
But the reason for this new trend is not driven from the inside out.   Brands didn’t just start looking at media companies and decide that this was a good strategy.  No, rather it’s because we’re ALL publishers today.  It’s a trend that has been driven from three fronts.  &lt;br /&gt;
The first is the number of platforms for people to share content.  This ranges from the hundreds of millions that now have blogs and/or publish to Facebook or Google+, to the explosive growth of the wiki, the podcasting and YouTube video sharing phenomenon and of course the exponential growth of reviews, check-ins and audience ratings brought by social media. &lt;br /&gt;
The second front is the device front.  It used to be that we accessed the internet using a computer.  Whether it was a laptop or desktop, content providers could generally depend upon the browser, the interface capabilities (or limitations as the case may be) and the experience that the audience would have.  But now, of course, it’s changed.  The number of devices and interfaces that audiences are using to access content are growing as exponentially as the online platforms that display them.  According to research, this year 30% of mobile subscribers are using smartphones – and among Americans 40% browse the mobile web daily.   Both of those numbers suggest that everything from smartphones, to tablets, to mini-tablets, to televisions, kiosks and everything in between are making the context and experience that is created that much more important.&lt;br /&gt;
Finally, the third front is that websites aren’t just brochures.  The customer’s expectation is now that they can engage with a company at EVERY stage in their buying process.   They’re not only looking for more information about a company’s products – they want to communicate directly with that company.  So, communication is key.  Developing relationships, using content and conversation, is now a critical part of the online channel.   And, this goes beyond the “buy” stage of course – and lives on as customers continue engage for product service information, add-on’s, defects, and additional products to purchase.&lt;br /&gt;
In short, audiences now want their content when, where, how and in the format that THEY choose.  &lt;br /&gt;
&lt;strong&gt;The Importance of Context Aware Content Management&lt;/strong&gt;&lt;br /&gt;
At Hippo we’re seeing this play out in an increasingly similar way across many of our customers.    Everyone has agreed that producing content is an increasingly important part of their business.  Even government and non-profit organizations see the value in transforming their business into “publishing” models – where their content is as important (in some cases) as their service itself.   There are organizations like Dolce&amp;Gabbana; – &lt;a href=&quot;http://www.onehippo.com/blog/tjeerd/www.onehippo.com/en/solutions/case-studies/Dolce_and_Gabbana&quot;&gt;that launched an online magazine called Swide&lt;/a&gt; to (as they say) “ describe the Dolce &amp; Gabbana universe through digital communication.”  And, organizations like &lt;a href=&quot;http://www.onehippo.com/blog/tjeerd/www.onehippo.com/en/solutions/case-studies/minaz&quot;&gt;The Government of the Netherlands&lt;/a&gt; that look to open up the information of the government and publish all ministry information through one portal.&lt;br /&gt;
But even more importantly are the trends we’re seeing in &lt;a href=&quot;http://www.onehippo.com/en/products/cms/technology&quot;&gt;Context Aware Content Management&lt;/a&gt;.   We see clients of all sizes starting to require that their entire content repository be open and available as an open standards service across the Internet.   Much like the trends around “everyone’s a publisher”, consumers and businesses have already started to experience this through social platforms like Twitter, Facebook and Google.  In fact, there are entire businesses built off of creating interfaces and context-aware tools over the Twitter content stream.  &lt;br /&gt;
Businesses are starting to realize that this is also a smart way to architect their content for marketing purposes.  By opening up their content through an open API, there are a number of benefits that they are afforded:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;- Easier and less expensive to adapt. &lt;/strong&gt;&lt;br /&gt;
Organizations that do this worry much less about whether the iPad, or the Samsung Tablet or whether Flash or HTML 5 will carry the day.   By opening up their content repository to be available as a service – interfaces to that content can be assembled much more quickly and easily.&lt;br /&gt;
&lt;strong&gt;- Easier to contextualize.&lt;/strong&gt;&lt;br /&gt;
Enabling targeting and testing behaviors on mobile devices, or providing different content experiences to those on an iPad vs. a Laptop is much easier when the content is available as a service.  The rules for content display can be managed centrally as a layer on top of the content repository – never disturbing the availability of content for other means.  &lt;br /&gt;
&lt;strong&gt;- Managing the content is easier&lt;/strong&gt;&lt;br /&gt;
By making the content repository available as a service – the organization need not ultimately worry as much about what editor is being utilized.  Lite CMS systems can manage the repository for the division that has no need for complexity.  And, enterprises that require more complex workflow, approvals, translation and other needs can use a CMS that is more robust.&lt;/p&gt;

&lt;p&gt;At Hippo we’re seeing our clients move in this direction in big ways.   For example, the Dutch Libraries instituted a content platform that makes their entire repository available as a service.  Now, some of the local libraries are managing that content using existing CMS tools that their users are comfortable with, but they are also making the content available to anyone who wants to build interfaces to display it.&lt;br /&gt;
&lt;strong&gt;The Importance of Context Aware Content Delivery&lt;/strong&gt;&lt;br /&gt;
Our Hippo Context Aware content server is really a powerful toolkit that lets you both manage and deliver this context enriched content.  You can use location, presence, behavior and other information to deliver completely personalized experiences.&lt;br /&gt;
And, this is increasingly important as content marketing becomes more prevalent. According to an &lt;a href=&quot;http://corp.aol.com/2011/04/28/aol-research-content-is-the-fuel-of-the-social-web/&quot;&gt;AOL Nielsen research study&lt;/a&gt; done earlier this year, 53% of all time on the internet is content consumption.  And, content marketing experts Junta42 and MarketingProfs released &lt;a href=&quot;http://www.contentmarketinginstitute.com/2010/09/b2b-content-marketing/&quot;&gt;their annual study&lt;/a&gt; in September and it was reported that 90% of marketers will use content marketing and that 51% will budget more for it in the coming year. &lt;br /&gt;
 So, in order to stand out from the crowd, marketers will absolutely need to deliver their content to their consumers in a contextually relevant way.    In the end, we are all publishers – but our success as publishers will come down to us taking a holistic approach to both contextual content management and delivery.   It’s a process that gives us the ability to easily and quickly optimize our content for our users’ experience.  That includes, search, social sharing – and of course engagement that provides us with whatever business result we desire.   As &lt;a href=&quot;http://www.gartner.com/AnalystBiography?authorId=20740&quot;&gt;William Clarke, the Gartner Analyst&lt;/a&gt; said: “between 2010 and 2015 - The bar for user experience will be significantly raised and context aware computing will be its chief catalyst”.   We think context aware content management will be a critical piece of that equation. &lt;/p&gt;</description>
	<pubDate>Tue, 18 Oct 2011 12:01:22 +0000</pubDate>
</item>
<item>
	<title>Jasha Joachimsthal (Hippo): GOTO Amsterdam - day 2</title>
	<guid>http://www.jasha.eu/blogposts/2011/10/goto-amsterdam-day-2.html</guid>
	<link>http://www.jasha.eu/blogposts/2011/10/goto-amsterdam-day-2.html</link>
	<description>&lt;div&gt;&lt;p&gt;The day started slowly, probably because most of the attendees went to
&lt;a href=&quot;http://www.thetara.com/home.html&quot;&gt;The Tara&lt;/a&gt; last evening. I didn't
and wrote a &lt;a href=&quot;http://www.jasha.eu/blogposts/2011/10/goto-amsterdam-day-1.html&quot;&gt;blogpost&lt;/a&gt;, sorry for being nerdy
;) The keynote was a demonstration of &lt;a href=&quot;http://lively-kernel.org&quot;&gt;Lively
Kernel&lt;/a&gt;: a Javascript IDE written in Javascript. Unfortunately the Wifi let
the speaker down and that's not the first time I saw that happen on a
conference. If you're doing a live demo, be sure you get a connection you don't
share with the audience. Later the day I realised that it was not possible to do
this demo from a local machine because it was meant to show how it works in the
cloud. The shapes we did see, were maybe a big archaic, but it made me think
that with a little help from a designer, you could actually rapidly develop
(small) games. Don't forget that the most popular games are pretty simple: Pong,
Pacman, Angry Birds. Later today he did get the chance to finish the demo and
even showed some game examples.&lt;/p&gt;

&lt;p&gt;Speaking of doing things simple but good:
&lt;a href=&quot;https://twitter.com/#!/bmf&quot;&gt;Mike Lee&lt;/a&gt; surely knows how to entertain
and motivate an audience. If you show up in
&lt;a href=&quot;https://twimg0-a.akamaihd.net/profile_images/1107557109/IMG_0027.jpg&quot;&gt;this
costume&lt;/a&gt;, you've already gained attention. His talk made me think of
Christian Heilmann's
&lt;a href=&quot;http://fronteers.nl/congres/2010/sessions/reasons-to-be-cheerful-chris-heilmann&quot;&gt;closing
talk&lt;/a&gt; at Fronteers 2010 which gave the audience such a positive vibe. Mike
pointed out that you shouldn't follow what other people do, but stay ahead of
the competition. People are willing to pay for quality and there's already
enough crap available on this world.&lt;/p&gt;

&lt;p&gt;My enthusiasm went down the drain during the shameless product plug
&quot;&lt;a href=&quot;http://gotocon.com/amsterdam-2011/presentation/It's%20more%20than%20just%20the%20language&quot;&gt;It's
more than just a language&lt;/a&gt;&quot;. The whole talk was about a code generation tool
for .Net which may have been a good starter for simple web based applications,
like the current state of the Apache Rave administration interface (if it was
using Java instead of .Net). I need a list of all [name of the business object]
and then manipulate the values of an individual [name of the object] which has
its own, simple structure in a database. Although this tool may help you rapidly
add or change screens and one of its features enables end users to send feedback
to the developers, I don't see what it has to do with agile. Agile is not a
tool, it's the way how you organise your processes and some tools may help you
with that.&lt;/p&gt;

&lt;p&gt;After another great lunch and a walk in the sun I went to Steve Freeman's
talk about
&lt;a href=&quot;http://gotocon.com/amsterdam-2011/presentation/Fractal%20TDD.%20Using%20tests%20to%20drive%20system%20design&quot;&gt;Fractal
TDD&lt;/a&gt;. He makes the same points as Uncle Bob Martin in
&lt;a href=&quot;http://www.cleancoders.com&quot;&gt;Clean Code&lt;/a&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;if the test is hard to write, refactor the code&lt;/li&gt;
&lt;li&gt;your method should do one thing and it should do it right&lt;/li&gt;
&lt;li&gt;think of the responsibility of your class, what should it do, what shouldn't
it&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It's very tempting to write one monolithic method that does it all, but can
you actually read the code the next day. What about next month? How do you know
it does the right thing? Try to test that monolithic method and you'll find out
you really need to refactor to actually test it.&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;http://gotocon.com/amsterdam-2011/presentation/When%20the%20pressure%20is%20really%20on:%20A%20'rough%20&amp;amp;%20ready'%20application%20of%20Lean%20&amp;amp;%20Kanban%20in%20the%20iPlayer%20division%20of%20the%20BBC&quot;&gt;Katherine
Kirk's talked&lt;/a&gt; about how her team solved their challenge to deliver the
iPlayer within a short notice on a platform they didn't know the technology of.
The team had to use several methods of organising their work method. Kanban to
deliver features fast for some stakeholders that wanted to see results quickly,
Scrum to deliver other features for stakeholders that wanted fixed delivery
dates. Her team was willing to adapt to the situation and take over each others
tasks. Instead of a single 15 minute standup per day, they had three 5 minute
micro standups. They successfully delivered the iPlayer in time without bugs.
Because the team found out themselves what worked best, it made me realise it
may not be easy to copy their choices. A team having at least one person who
coaches the other members and having motivated, skilled members can manage
themselves.&lt;/p&gt;

&lt;p&gt;I thought it couldn't get better than the Mayor of Appsterdam. Maybe it
didn't get better but
&lt;a href=&quot;http://gotocon.com/amsterdam-2011/presentation/Cool%20&amp;amp;%20Useless&quot;&gt;Kevin
Henne&lt;/a&gt;y did have the right kind of talk to end a conference: not too complex
and full of British humour. It started with one of the most expensive fireworks:
the &lt;a href=&quot;http://en.wikipedia.org/wiki/Ariane_5_Flight_501&quot;&gt;self destruction
of the Ariane V&lt;/a&gt;. Then he continued with very cool &amp;amp; very useless code
examples like code that calculates e formatted in the shape of π or globe shaped
code that after compilation shows the world but then turned 90 degrees.&lt;/p&gt;

&lt;p&gt;After the finishing talk I had to chance to speak with
&lt;a href=&quot;https://twitter.com/#!/rgardler&quot;&gt;Ross Gardler&lt;/a&gt; who is one of the
mentors of &lt;a href=&quot;http://incubator.apache.org/rave/&quot;&gt;Apache Rave
(incubating)&lt;/a&gt;. These conferences are excellent opportunities to meet the
people you work with in an open source project but normally don't see. Although
the conference has finished now, there's still a
&lt;a href=&quot;http://wiki.apache.org/apachecon/AmsterdamHackathon2011&quot;&gt;hackathon&lt;/a&gt;
planned for tomorrow.&lt;/p&gt;&lt;/div&gt;</description>
	<pubDate>Fri, 14 Oct 2011 19:48:15 +0000</pubDate>
	<dc:creator>Jasha Joachimsthal</dc:creator>
</item>
<item>
	<title>Jasha Joachimsthal (Hippo): GOTO Amsterdam 2011 Conference - day 1</title>
	<guid>http://www.jasha.eu/blogposts/2011/10/goto-amsterdam-day-1.html</guid>
	<link>http://www.jasha.eu/blogposts/2011/10/goto-amsterdam-day-1.html</link>
	<description>&lt;div&gt;&lt;p&gt;The &lt;a href=&quot;http://gotocon.com/amsterdam-2011/&quot;&gt;GOTO Conference&lt;/a&gt; came to
Amsterdam and its wide variety of subjects (Java, Javascript, HTML5, Agile, even
.Net) made me decide to spend a part of my training/conference budget I get from
Hippo.&lt;/p&gt;

&lt;p&gt;The day started with the usual registration and goodie bag, which is a goodie
by itself because it's a laptop bag. I arrived just in time for the keynote
about the buzz of the month: Google's
&lt;a href=&quot;http://www.dartlang.org/&quot;&gt;Dart&lt;/a&gt;. Dart combines the advantage of
loose typing and extensions of Javascript with the readability of object
oriented languages like Java. You can define a variable with&lt;/p&gt;

&lt;pre&gt;var x;&lt;/pre&gt;

&lt;p&gt;or with&lt;/p&gt;

&lt;pre&gt;Person x;&lt;/pre&gt;

&lt;p&gt;It's a matter of what you prefer. In the end you can create Javascript from
your Dart code so they have to support Javascript syntax anyway, but it's not
the only platform Google wants to support. Dart comes with its own VM and I can
imagine they're going to use it for native applications for Android or ChromeOS.
Dart was a good starter to continue to the next session about the
&lt;a href=&quot;http://gotocon.com/amsterdam-2011/presentation/Send%20Less,%20Do%20More,%20Go%20Faster:%20The%20Future%20of%20Front%20End%20Development&quot;&gt;future
of front-end development&lt;/a&gt;. It was a combination of extending CSS to support
variables and reusable mixins, defining your own HTML elements and scripts. Yes
it is extremely useful to support parameters for e.g. color codes which saves a
few look-ups and makes it easier to replace your colour scheme. I have my doubts
about creating new HTML elements. Not everyone will use the latest Chrome
version, but I can understand Google wants to dominate the browser market (who
doesn't).&lt;/p&gt;

&lt;p&gt;Independent from each other, my colleagues, the scrum master at my customer
and I went to go to Jez Humble's talk about
&lt;a href=&quot;http://gotocon.com/amsterdam-2011/presentation/Remediation%20patterns%20-%20how%20to%20achieve%20low%20risk%20releases&quot;&gt;lowering
risks&lt;/a&gt;. His main recommendations were that everything must be under version
control (also the configuration), testable (TDD!), repeatable (how fast can you
build up a server if the data centre burns down) and make your release cycle
easy to roll back. This can either be done by rolling out the release on a
limited amount of machines and let a part of your visitors go to the new version
while the vast majority goes to the proven current version. I think this works
indeed great for large scale sites like Google, Yahoo, Amazon, Twitter, but most
sites here in NL don't have 100+ machines running. Another recommendation is &quot;if
it hurts to release, do it more often&quot;. The idea is that you get more
experienced and if the release process it hard, you start to make it easier e.g.
by scripting or fixing the setup if you have to do it more frequently.&lt;/p&gt;

&lt;p&gt;The configuration of &lt;a href=&quot;http://incubator.apache.org/rave/&quot;&gt;Apache
Rave&lt;/a&gt; is Spring based, so I was interested in
&lt;a href=&quot;http://gotocon.com/amsterdam-2011/presentation/What's%20new%20in%20Spring%203.1&quot;&gt;what's
new in Spring 3.1&lt;/a&gt; which will be released &quot;soon&quot;. Spring 3.1 now supports
profiles so you can define a certain set of configuration is for local
development, while another set is meant for deployments on your (production)
server. You may want to have a database setup that creates a schema and
populates it with a predefined data set on your local machine, while you don't
want any automated changes in the database schema or data on production. Some of
the code behind the WebMVC framework has completely been rewritten, but it's
configurable to use the old code. Very useful @Consumes and @Produces
annotations are added to define for which content types the handlers were meant.
Now you can easily create separate handlers which are specificly meant for JSON
or XML.&lt;/p&gt;

&lt;p&gt;Despite the slides in &lt;a href=&quot;http://www.bustedtees.com/helvetica&quot;&gt;Comic
Sans&lt;/a&gt;,
&lt;a href=&quot;http://gotocon.com/amsterdam-2011/presentation/Application%20design,%20techniques%20and%20tools%20for%20large(r)%20JavaScript%20applications&quot;&gt;Karl
Krukow&lt;/a&gt; came with a good demo of how to develop your Javascript in a modular
setup, but to have an optimized, single output in the end. If I find time in the
recent future, I definitely want to try
&lt;a href=&quot;http://code.google.com/closure/&quot;&gt;Closure&lt;/a&gt;. I too have seen projects
grow to a mess where you end up calling 10+ different script files and you have
no clue if you still use them.&lt;/p&gt;

&lt;p&gt;In 2008 I went to the &quot;what's new in Java7&quot; talk at Devoxx. It took Sun &amp;amp;
Oracle another 3 years to actually ship Java7 so I was curious to
&lt;a href=&quot;http://gotocon.com/amsterdam-2011/presentation/Java%207%20In%20Action:%20Using%20New%20Java%207%20Features%20In%20Real%20Code&quot;&gt;see
Java7 in action&lt;/a&gt;. The multiple catch was planned, dropped and eventually made
it to Java7. You can now catch multiple  exceptions in 1 statement or catch
their common ancestor to have a single block of logic, but throw only the caught
(checked!) exceptions. If you get a nested exception, because the code in the
catch or finally throws another exception, you can add it as suppressed
exception to the exception so it will appear in the log. A very useful addition
I hope I don't have to use :) We also got to see some advantages of the java.nio
package, such as self closing streams and simplified IO copy functionality if
you weren't using
&lt;a href=&quot;http://commons.apache.org/io/apidocs/org/apache/commons/io/IOUtils.html&quot;&gt;Commons-IO&lt;/a&gt;
for that.&lt;/p&gt;

&lt;p&gt;The last session I attended before the closing talk of the day was about
&lt;a href=&quot;http://gotocon.com/amsterdam-2011/presentation/Striking%20back%20at%20the%20Android%20horde&quot;&gt;testing
Android applications&lt;/a&gt;. The rendering of the application can be different
among the Android versions or vendors. They showed how they were testing by
using real Android devices that were actually being rotated to reliably test the
orientation. My conclusion that dealing with different IE is easier than native
Android apps.&lt;/p&gt;

&lt;p&gt;The day was
&lt;a href=&quot;http://gotocon.com/amsterdam-2011/presentation/What%20They%20Never%20Told%20You%20About%20Innovation&quot;&gt;closed&lt;/a&gt;
by a very experienced developer who talked about why companies failed (or
succeeded). The main conclusion is that you have to keep innovating, because
your current cash cow will be obsolete sooner or later. He came with some good
examples of companies that had a successful product but refused to innovate and
went broke in the end. Competitors that initially targeted a slightly different
market with a comparable, but cheaper and inferior product, did innovate and
eventually took over the high end customers. So keep innovating!&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;&lt;/div&gt;</description>
	<pubDate>Thu, 13 Oct 2011 21:01:10 +0000</pubDate>
	<dc:creator>Jasha Joachimsthal</dc:creator>
</item>
<item>
	<title>Arje Cahn (Hippo): Raving about Rave!!</title>
	<guid>http://blogs.onehippo.org/arje/2011/09/raving_about_rave.html</guid>
	<link>http://blogs.onehippo.org/arje/2011/09/raving_about_rave.html</link>
	<description>&lt;p&gt;&lt;img src=&quot;http://incubator.apache.org/rave/images/RAVE-logo_main-logo-small.png&quot; align=&quot;right&quot; /&gt;So, if you didn’t know – here at &lt;a href=&quot;http://www.onehippo.com&quot;&gt;Hippo&lt;/a&gt; we’re doing some incredibly cool stuff with the &lt;a href=&quot;http://www.apache.org&quot;&gt;Apache Software Foundation&lt;/a&gt;. One of</description>
	<pubDate>Wed, 28 Sep 2011 08:01:10 +0000</pubDate>
</item>
<item>
	<title>Tjeerd D. Brenninkmeijer (Hippo): Tales From The CMS Demo Chair – Episode 10</title>
	<guid>http://blogs.onehippo.org/tjeerd/2011/09/tales_from_the_cms_demo_chair_3.html</guid>
	<link>http://blogs.onehippo.org/tjeerd/2011/09/tales_from_the_cms_demo_chair_3.html</link>
	<description>&lt;p&gt;&lt;strong&gt;Plugging In To Open Standards&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Standards in products are so common – and touch our lives every single day.  In fact, in most cases we almost always just take them for granted.   When you sit down in front of your television, or when you plug in an appliance, drive your car or put on a pair of shoes there are hundreds of product standards at work.&lt;/p&gt;

&lt;p&gt;Standards are there to make sure that the products you use can work together with other products and that they meet common expectations.  In a lot of cases they are about safety or quality; but in others they are just common “standards” that have grown up over the years out of a shared experience.&lt;/p&gt;

&lt;p&gt;Take electricity as an example.   Of course those of us who travel abroad have a case full of adapters to ensure we don’t fry our computers with the different power standards in the US, or in Europe.     In the US it was Westinghouse that chose (rather arbitrarily) to standardize at 60Hz vs. nine other alternatives.  This ultimately, just because it was the most common, became the US Standard.  And, in Germany, one company (BEW) had a monopoly on providing electricity and standardized at 50Hz. And, in 1899 it raised the voltage from 110 to 220.   This standard spread across Europe over the next few decades.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;With Web Content Management Software – A Notable Lack of Open Standards&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Interestingly, standards developed over time in the Web content management software space haven’t been universally accepted.   In many cases, it’s in the best interest of a proprietary CMS vendor to make sure that it’s as difficult as possible for you to remove your content from their software – so there’s little incentive to support open standards.&lt;/p&gt;

&lt;p&gt;From the way content is stored – to the format it’s published in – to the availability of the content over the Internet – many CMS’s just quite frankly don’t support open standards.  That’s a problem.    You might say it’s a little like having to buy an adapter for every single appliance you have.  But it’s actually worse. &lt;/p&gt;

&lt;p&gt;It’s like buying the lamp and then finding out there is no adapter at all to make it work with your current electrical set up – so you actually have to have one designed and built yourself.&lt;br /&gt;
 &lt;br /&gt;
&lt;strong&gt;Importance of CMS Software Open Standards&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In my experience demoing to customers looking for a CMS I have found that looking at Open Standards support is sometimes not one of the customer’s main priorities.  And, I think that’s a mistake.   It’s absolutely something that, as a CMS buyer, you should be asking about from the vendor who is demoing to you.&lt;/p&gt;

&lt;p&gt;But don’t just take my word for it.  We went out an interviewed some of the thought leaders in the world of Web content management – and got their take on it.   We asked them to respond to one question:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Is Open Standards support important for customers to consider when selecting a Web Content Management System?&lt;/em&gt;&lt;br /&gt;
Here are their responses:&lt;/p&gt;

&lt;table border=&quot;0&quot; cellspacing=&quot;10&quot; cellpadding=&quot;10&quot;&gt;
   &lt;tr&gt;
     &lt;td&gt;
&lt;img alt=&quot;seth_gotlieb.jpg&quot; src=&quot;http://blogs.onehippo.org/tjeerd/seth_gotlieb.jpg&quot; /&gt;
     &lt;/td&gt;
     &lt;td&gt;
&lt;strong&gt;Seth Gottlieb&lt;/strong&gt;
Founder and principal of &lt;a href=&quot;http://www.contenthere.net/&quot;&gt;Content Here&lt;/a&gt;, an analyst firm and consultancy specializing in content technologies.
“By supporting and advocating a standard, a vendor is demonstrating a set of architectural values that prioritizes openness and integration.  Standards force a vendor to think outside of its own solution set and look at different approaches within a broader context.  Standards support also recognizes that not every aspect of a solution need to be unique and proprietary.  By using a standard, a vendor can invest less energy solving ordinary (low level) problems and focus their efforts innovating at the layer that provides the greatest noticeable benefit  to their customer.”
     &lt;/td&gt;
    
  &lt;tr&gt;
     &lt;td&gt;
&lt;img alt=&quot;ron.png&quot; src=&quot;http://blogs.onehippo.org/tjeerd/ron.png&quot; /&gt;
     &lt;/td&gt;
     &lt;td&gt;
&lt;strong&gt;Ron Miller&lt;/strong&gt;
Freelance technology journalist, &lt;a href=&quot;http://www.fiercecontentmanagement.com/&quot;&gt;FierceContentManagement&lt;/a&gt;
editor and Contributing Editor at EContent Magazine.
“I certainly think that customers have to strongly consider open standards as a key factor when choosing a vendor. Otherwise they risk getting locked into a completely proprietary solution, which can make CMS implementation and management all the more difficult.”
     &lt;/td&gt;
  &lt;/tr&gt;
   &lt;tr&gt;
     &lt;td&gt;
&lt;img alt=&quot;Scott-Liewr.gif&quot; src=&quot;http://blogs.onehippo.org/tjeerd/Scott-Liewr.gif&quot; /&gt;
     &lt;/td&gt;
     &lt;td&gt;
&lt;strong&gt;Scott Liewehr&lt;/strong&gt;
Lead Analyst of the Web Content Management practice at Outsell's &lt;a href=&quot;http://www.gilbane.com/&quot;&gt;Gilbane Group.&lt;/a&gt;
“Open standards are everywhere. They are essential for any software, WCM or otherwise, to be usable on the internet. Standards such as TCP/IP, HTTP, CSS and HTML are near-prerequisites and have been pretty universally adopted. The question is how quickly vendors are to adopt more domain-specific standards such as JCR, or contemporary, newly emerging standards such as CMIS or HTML5. While some vendors may tend to be early adopters and others take a wait-and-see approach, I believe it is extremely important for customers to look at a vendor's history in adopting standards as an indication of whether they'll viable in the future.  A key to remember is that it's easy to evaluate a product's capabilities today, but much more difficult to know whether it will continue to serve an organization's future needs. The adoption of open standards gives a pretty good clue toward the latter.”
     &lt;/td&gt;
   &lt;tr&gt;
     &lt;td&gt;
&lt;img alt=&quot;Tony_White.jpg&quot; src=&quot;http://blogs.onehippo.org/tjeerd/Tony_White.jpg&quot; /&gt;
     &lt;/td&gt;
     &lt;td&gt;
&lt;strong&gt;Tony White&lt;/strong&gt;
Founder &amp; CEO   &lt;a href=&quot;http://www.arslogica.com/&quot;&gt;Ars Logica&lt;/a&gt;
Author of &lt;a href=&quot;http://www.arslogica.com/compass_guide_reports/hippo_cms_76.html&quot;&gt;The Compass Guide to Web Content Management&lt;/a&gt;
“What's most important for a customer to know regarding a vendor's position on open standards is the vendor's long-term plan.  This is especially true in the open source world, where vendors do not derive revenue from software licenses.  We are seeing some of these vendors toy with the idea of expanding their product lines into semi-proprietary territory in order to become or remain profitable as downward pricing pressure on Web CMS products intensifies.  Clearly, customers would not want to choose open source technology, only to have the supplier change its level of commitment to open standards somewhere down the line.  Open communication with prospective customers about the 3-5 year plan is essential.  We believe that customers need to be extra vigilant in analyzing open source suppliers' long-term strategies.”
     &lt;/td&gt;
  &lt;/tr&gt;
    &lt;td&gt;
&lt;img alt=&quot;Arje Cahn&quot; src=&quot;http://blogs.onehippo.org/tjeerd/arje-cahn2.jpg&quot; /&gt;
     &lt;/td&gt;
     &lt;td&gt;
&lt;strong&gt;Arjé Cahn&lt;/strong&gt;
CTO at  &lt;a href=&quot;http://www.onehippo.com/&quot;&gt;Hippo&lt;/a&gt;
“At Hippo - we're focused on two things - the 'c' in CMS and the &quot;c&quot; in
Context Aware.   In today's multi-channel, multi-device world - consumers
expect content when, where and how they want it.   And it's changing every
single day.  The only way an enterprise can be flexible and nimble enough to
focus on delivering context aware content, is to use Open Standards.
Whether it's opening up through API's, or storing it in a standard, portable
way,  Open Standards is what enables an enterprise to achieve real
interoperability between content management and the methods to display it.
This is the reason we invest so much of our time and effort in organizations
like OASIS, JCR and the Apache foundation.”
     &lt;/td&gt;
  &lt;/tr&gt;
  &lt;/tr&gt;
&lt;/table&gt;
&lt;strong&gt;We Believe In Open Standards&lt;/strong&gt;

&lt;p&gt;At Hippo we would certainly agree with these industry leaders.  We believe in it so much, we include why we are &lt;a href=&quot;http://www.onehippo.com/en/opensource/standards-driven&quot;&gt;Standards Driven right on our Web site&lt;/a&gt;.    Our experience shows us that it really does enable our clients to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Enjoy a much more rapid deployment
&lt;/li&gt;&lt;li&gt;Provide for a much more scalable architecture – and portability
&lt;/li&gt;&lt;li&gt;Empower technical teams with an open and supportable infrastructure
&lt;/li&gt;&lt;li&gt;Give organizations the flexibility to use a self-managed, partner-driven or completely outsourced management model&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We believe that all good CMS systems should support a modern and standards driven architecture – because it is targeted to meet both the needs of the business and the developers.&lt;/p&gt;

&lt;p&gt;Today, we rarely even think about all the open standards that are supported in Web computing.  From networking through TCP/IP, to the way we use Web browsers to surf the Web through HTTP, and the format of HTML Web pages, to interacting with databases through SQL, and even modern content syndication standards like XML.&lt;/p&gt;

&lt;p&gt;It’s time for customers to really be plugged into the importance of a vendor’s support for Open Standards in Web Content Management.    It’s really the best way to make sure your Web content platform works well with all the tools you have today – and tomorrow.&lt;/p&gt;</description>
	<pubDate>Mon, 26 Sep 2011 10:01:10 +0000</pubDate>
</item>
<item>
	<title>Tjeerd D. Brenninkmeijer (Hippo): Tales From The CMS Demo Chair – Episode 9</title>
	<guid>http://blogs.onehippo.org/tjeerd/2011/09/tales_from_the_cms_demo_chair_7.html</guid>
	<link>http://blogs.onehippo.org/tjeerd/2011/09/tales_from_the_cms_demo_chair_7.html</link>
	<description>&lt;p&gt;&lt;strong&gt;Web Content Management – The Most Dangerous Race In The World&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If you didn’t know  - The Dakar Rally is an annual rally type of an off-road race.   Since 1978 the course has mostly been from Paris, France to Dakar Senegal.   More recently, because of security threats i</description>
	<pubDate>Thu, 15 Sep 2011 14:01:14 +0000</pubDate>
</item>
<item>
	<title>Tjeerd D. Brenninkmeijer (Hippo): Tales From The CMS Demo Chair – Episode 8</title>
	<guid>http://blogs.onehippo.org/tjeerd/2011/08/tales_from_the_cms_demo_chair_6.html</guid>
	<link>http://blogs.onehippo.org/tjeerd/2011/08/tales_from_the_cms_demo_chair_6.html</link>
	<description>&lt;p&gt;&lt;strong&gt;Web Engagement Management - Can You Handle The Truth&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You know the scene don’t you?   It’s a classic from the movie A Few Good Men.  Jack Nicholson’s Colonel Jessep is being grilled by Tom Cruise’s character Kaffee.   The two men are red-faced, yelling at each other – and Col. Jessep unnerved and enraged at being caught in a lie screams “You can’t handle the truth!”   He then goes on to speak about how his actions were justified because being a United States Marine officer means that sometimes you have to look at ugly truths – truths that other people have the convenience of not looking at. &lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;As I’ve been demoing Web Content Management solutions to customers over the years – I find more and more that realizing “true” Web Engagement Management consists of a number of different content management truths; and each has their own value in an organization.  And, it strikes me that the buzz around Web Engagement Management also has many different “truths” that we,as marketers and WCMS practitioners, really need to handle. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Truth #1 – The Moment Of Truth&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;Content and Contextual WEM&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In most cases, if your web content is going to be effective – it has got to empower your audience.  Therefore, no matter if it' s content directed at marketing, sales, customer service or just relaying information; it has to be as accurate and contextually relevant as possible. &lt;/p&gt;

&lt;p&gt;As the practitioner and manager of our content – we can use a number of triggers to create this “moment of truth” for our audiences.   They might be:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Web Analytics.&lt;/strong&gt;  We can use the traffic to our web site to optimize content for our audiences.  
&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Personalization Tools in our CMS. &lt;/strong&gt; We should be able to use our WCMS to target content to specific audiences, and personalize it down to the individual preference or need.  Here your CMS should be able to integrate with your CRM system or your marketing database.   As you collect information on landing pages, or email subscription forms – you’ll be collecting explicit information that you should be able to utilize to make the content more personal.
&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Findable Content. &lt;/strong&gt; Remember, most of your “new” visitors are going to come from Search.  So, ensuring that &lt;a href=&quot;http://www.onehippo.com/en/news/2010/11/anwb.nl-creates-number-one-seo-website-in-the-netherlands-using-hippo-cms.html&quot;&gt;your WCM&lt;/a&gt; produces SEO optimized content is a key to making that “moment of truth” happen even before they hit your web site.
&lt;/li&gt;&lt;/ul&gt; 

&lt;p&gt;&lt;strong&gt;Truth #2 – The Whole Truth and Nothing But The Truth&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;Multi-Channel Management&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Managing content is only part of the truth.  The WHOLE truth of Web Engagement Management is both &lt;em&gt;managing&lt;/em&gt; content AND &lt;em&gt;delivering&lt;/em&gt; web content.   In order for us to achieve real Web Engagement Management our CMS needs to not only be able to manage content efficiently, we’ve got to be able to deliver our content through all of the different channels that our audiences use to consume it. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Mobile and Social Channels&lt;/strong&gt; – We need &lt;a href=&quot;http://www.cmswire.com/cms/web-cms/hippo-web-cms-review-highlights-multichannel-multilingual-capabilities-012243.php&quot;&gt;a CMS&lt;/a&gt; that can automatically deliver content that’s optimized for the right device (Blackberry vs. iPhone vs. Android, etc.) and empower our audiences to engage with our content (e.g. liking and sharing content through Facebook, Twitter, LinkedIn etc.).  
&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Global Content Channels&lt;/strong&gt; – We need to make sure that it’s easy and almost effortless for us to &lt;a href=&quot;http://www.cmswire.com/cms/web-cms/hippo-cms-75-launched-introduces-drag-drop-layout-localization-channel-management-010391.php&quot;&gt;add global sites in any language&lt;/a&gt;. And that not only the content can be delivered in a different language, but our international offices can also see the CMS in different languages.
&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Other Internal Content Channels&lt;/strong&gt; – Web content isn’t the ONLY content we manage for optimizing engagement on our site.  The WHOLE truth is that we also have enterprise content that needs to be managed and delivered.  So, our CMS should be able to &lt;a href=&quot;http://www.youtube.com/watch?v=bsEl_8gsr7s&quot;&gt;integrate&lt;/a&gt; with ECM systems so that enterprise content can be included in our web content workflow and vice versa. 
&lt;/li&gt;&lt;/ul&gt; 

&lt;p&gt;&lt;strong&gt;Truth #3 – The Truth That Sets You Free&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;Managing True Engagement&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;To really drive Web Engagement, we have to listen as well as speak.  Engaging with our customers on our content platforms is critically important today.  And, a good WCMS gives us the freedom to interact with our audience – without technology getting in the way.  So, your Web Content Management solution should accept inbound content and facilitate conversation as easily as it publishes content.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Social Widgets. &lt;/strong&gt; Your WCMS should include conversation both inside the management platform – as well as the ability to include the conversation out on the live web site.   For example, content coming into the CMS from the blog should be able to be facilitated through workflow.  Additionally, content contributors should be able to include our customized social widgets into web content (like Facebook, Twitter or Google+ widgets) they are producing. 
&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Content As A Service.&lt;/strong&gt; Your WCMS should be able to produce content in any normalized format, but especially those that facilitate engagement and sharing.   Further, we should be able to make our &lt;a href=&quot;http://www.cmswire.com/cms/web-cms/hippo-76-attn-developers-a-rest-api-support-for-spring-mvc-and-the-hippo-trail-011899.php&quot;&gt;entire content repository available as a web service if we need to&lt;/a&gt;. &lt;/li&gt;&lt;/ul&gt; 

&lt;p&gt;&lt;strong&gt;Truth #4 – The Inconvenient Truth&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;Driving Marketing Results&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Sometimes we don’t want to admit it, but in the end, real Web Engagement Management is about driving optimized marketing results. Converting your audience into a (paying) customer.  And if that’s our goal – our CMS really needs to have engagement capabilities that not only help the testing, and relevance (as discussed earlier), it also needs to facilitate those results into our Sales and Marketing teams so they can take action.  This is what completes a Web Engagement Management process – the human interaction that comes after the audience “clicks”.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Lead Nurturing and Activities.&lt;/strong&gt;  Because our WCM is collecting data (see #1 Moment of Truth above) we need to be able to utilize this data and feed it back into the organization.  Our WCM system should integrate with &lt;a href=&quot;https://forge.onehippo.org/gf/project/hst-salesforce/&quot;&gt;your CRM&lt;/a&gt; or Sales Force Automation tool in order to give marketing intelligence to our sales and marketing team.
&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Data Workflow.&lt;/strong&gt;  The data coming in from our web site and our CMS will be mixed.  It will be explicit data (form registrations etc..) and it will be behavioral (what they clicked on).   We need our WCMS to sort through this data and smartly act on it. &lt;/li&gt;&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;If Truth Be Known – Putting It All Together&lt;/strong&gt;&lt;br /&gt;
All of these capabilities are a part of a good web content management system that will be used to create or improve a Web Engagement platform.   Remember, it all starts with good, basic web content management capabilities such as SEO, and easy-to-use interfaces.  But beyond managing content – you need to use a CMS to create Moments Of Truth – by optimizing the content for each user’s preferences.   And you have to know the WHOLE truth by not only managing that content but delivering it to any channel, at any time in any language.  You can have the Truth that Sets You Free by socializing your content to drive WEM.  And, with a good CMS you can face the Inconvenient Truth of facing the pressure of driving Web Engagement ROI with good content management practices.&lt;/p&gt;

&lt;p&gt;Or as McKinsey is saying: &lt;a href=&quot;http://www.mckinseyquarterly.com/Marketing/Strategy/Were_all_marketers_now_2834&quot;&gt;&quot;We’re all marketers now&quot;&lt;/a&gt;!&lt;/p&gt;</description>
	<pubDate>Wed, 10 Aug 2011 20:33:07 +0000</pubDate>
</item>
<item>
	<title>Tjeerd D. Brenninkmeijer (Hippo): Tales From The CMS Demo Chair – Episode 7</title>
	<guid>http://blogs.onehippo.org/tjeerd/2011/08/tales_from_the_cms_demo_chair_5.html</guid>
	<link>http://blogs.onehippo.org/tjeerd/2011/08/tales_from_the_cms_demo_chair_5.html</link>
	<description>&lt;p&gt;&lt;strong&gt;Web Content Management Freakonomics&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In the 2005 hit book Freakonomics and their “freakquel” (yes they really did call it that) SuperFreakonomics authors Steven D. Levitt and Stephen Dubner hit us with entertaining, but real, economic case studies that illustrated that people respond to incentives in sometimes odd, but ultimately predictable ways.  Their main points were that incentives are important in our daily live &amp; that conventional wisdom is often wrong. &lt;br /&gt;
One of the more famous examples of this is what was discovered when a day care center decided to levy fines to parents who were late picking up their children.  What they found was that the number of parents who were late actually increased.  By placing a “monetary incentive” on the infraction parents could rationalize that it was no longer morally wrong to be late, but rather just a matter of paying a little extra.&lt;br /&gt;
Well, after ten years in the CMS demo chair I think there’s a similar type of freakonomics in the proprietary commercial WCMS software purchasing experience and the Open Source software buying process.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Freakonomics of A Commercial CMS Purchase&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;One of the examples in the book, is the “bias of the expert”.  They discuss how a real estate agent has a bias to not get the best deal for you.    It’s because their commission is based purely on the sale price of your house.  Ultimately, an agent has no real incentive to get you the absolute best price – but rather to encourage you to take the first reasonable offer that comes along.&lt;br /&gt;
A similar but reverse thing happens when you buy a proprietary commercial CMS.  You are, most likely, not an expert in Web content management systems. But of course the CMS vendors you’re looking at are experts.  Most have seen tens, if not hundreds of similar challenges as yours and know exactly how and where to apply a solution to solve it. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;But, see – there’s a conflict here.  &lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The proprietary commercial vendor model is great... for the vendor. &lt;br /&gt;
It all boils down to incentives. Who is running the show. A closed source vendor is gaining the most by selling its license. The initial hit (yeah, it looks like drug) is the greatest when making the deal. What does a sales guy want to do? That is not a difficult one...: 'make as many deals as possible.' Regardless if the deal is in the best interest of the customer. &lt;/p&gt;

&lt;p&gt;A proprietary commercial vendor gets paid in a few ways – and not all of them are really in line with you getting the best solution in the long run.  Here are two examples:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Initial Licensing Costs&lt;/strong&gt; – The sales 'gets' the most money when you buy the license. The software maintenance fees is only a percentage of the initial license. So the goals is to sign up you up, not to keep you happy.
&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Additional Modules or an Upgrade&lt;/strong&gt; – Many proprietary commercial WCM vendors will charge you extra licensing fees for additional modules or when you want (need) to upgrade to a newer version of the software.  
Additionally, remember in &lt;a href=&quot;http://blogs.onehippo.org/tjeerd/2011/06/tales_from_the_demo_chair_2_1.html&quot;&gt;Episode 2&lt;/a&gt; when we talked about making sure to keep migration costs in mind when you acquire your new CMS.  The proprietary commercial vendor knows what these costs are – and has every incentive to keep the cost of additional modules just under what it would cost to migrate to a new system.    
&lt;/li&gt;&lt;/ul&gt; 

&lt;p&gt;&lt;img alt=&quot;Revenue model closed source vendor versus commercial open source vendor&quot; src=&quot;http://blogs.hippo.nl/tjeerd/revenue_model_closed_source_versus_commercial_open_source_vendor_small.png&quot; align=&quot;middle&quot; height=&quot;360&quot; width=&quot;480&quot; /&gt;&lt;/p&gt;

&lt;p&gt;This is different with (commercial) Open Source vendors. They don't get the initial hit when they sell their product. They get an annual fee for support, so to them it is important that a customer likes their product and wants to extent their contract year by year. This is a different approach. Open Source vendors invest in the relationship they have with the customer and needs to keep them satisfied. Even stronger, they need to keep them satisfied to be successful. This doesn't mean that it has to be free of charge, it means that you are treated as a customer with all the perks that come with that (like listening to and acting on what you say and want...)&lt;/p&gt;

&lt;p&gt;In my view the world will not change overnight in one big philanthropical world. It is more like a powershift: the customer is back in charge. &lt;br /&gt;
Open source is a way of working that is more consistent with the changes we see in society nowadays. People know more, want the opportunity to choose and because of the internet have more access to information; the Google generation. The customers will get fed up with begging to their vendor. They know what they want and Google is showing them that it's out there. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Economics of Open Source&lt;/strong&gt;&lt;br /&gt;
But open source is different.  As I’m demoing to customers and I start to look at estimating a new implementation of Hippo CMS we always have every incentive to make sure that we provide an accurate and cost-effective solution.    There are no license fees and with Commercial Open Source the vendor is only charging you a flat yearly fee for services and ensuring the upgrade works with your current implementation.   It’s not a percentage of anything but rather a fee based upon the ongoing services you require and the package you choose.  Therefore the Open Source vendor has every incentive to make sure that you stay a happy customer.    &lt;/p&gt;

&lt;p&gt;&lt;img alt=&quot;closed source versus open source&quot; src=&quot;http://blogs.onehippo.org/tjeerd/closed_source_versus_open_source_small.png&quot; width=&quot;480&quot; height=&quot;297&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Open Source Vs. Closed Source&lt;/strong&gt;&lt;br /&gt;
See, the real difference is in how an open source software vendor operates.  A commercial, proprietary closed source vendor resembles a set of concentric circles – with each circle representing a separation out to you – the customer.    It starts with the “proprietary” source code which is then protected by product development/management. Product management is then protected by Support and Sales and Accounting etc…  The entire structure is meant to feed more sales from the center out and grow the circles. &lt;br /&gt;
Open Source, however, operates differently.  It is much more of a networked model.  The internet is the connector and connects the code with a community – which is in turn connected to partners and customers who implement the solution but also equally connected (in some cases) to management, support and other modes that help to direct various elements of the software solution.    Now, you can argue which model is more efficient for business (that could be another post ;-).  But, in the Open Source model there is definitely more incentive to get happy end-users and customers.  &lt;br /&gt;
 &lt;br /&gt;
&lt;/p&gt;</description>
	<pubDate>Mon, 01 Aug 2011 09:01:10 +0000</pubDate>
</item>
<item>
	<title>Tjeerd D. Brenninkmeijer (Hippo): Tales From The CMS Demo Chair – Episode 6</title>
	<guid>http://blogs.onehippo.org/tjeerd/2011/07/tales_from_the_cms_demo_chair_4.html</guid>
	<link>http://blogs.onehippo.org/tjeerd/2011/07/tales_from_the_cms_demo_chair_4.html</link>
	<description>&lt;p&gt;&lt;strong&gt;Don’t Pick The Low Hanging CMS Fruit&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;We’ve all heard the phrase “pick the low hanging fruit”.   It means (literally) the “easiest to grasp”.    We use it all the time from the leads who are “ready to buy” to the vendors who are easiest to negotiate with.</description>
	<pubDate>Fri, 22 Jul 2011 15:38:09 +0000</pubDate>
</item>
<item>
	<title>Arje Cahn (Hippo): Tell us how we're doing... And win an ITunes Gift Card!</title>
	<guid>http://blogs.onehippo.org/arje/2011/07/tell_us_how_were_doing_and_win.html</guid>
	<link>http://blogs.onehippo.org/arje/2011/07/tell_us_how_were_doing_and_win.html</link>
	<description>&lt;p&gt;Dear reader,&lt;/p&gt;

&lt;p&gt;Thank you so much for being part of the Hippo Community!&lt;/p&gt;

&lt;p&gt;We want you to know that we value your feedback a lot - it's what makes our community such a great place to be :)&lt;/p&gt;

&lt;p&gt;We'd love it if you'd use the following form to let us know how you think we're doing. If you have any thoughts on what we should improve to make your life as a Hippo developer easier, then please go ahead and put it in. Anything goes. No fields are required - just give us as much info as you like to. And...&lt;/p&gt;

&lt;p&gt;... we're giving away 5 €20 ITunes Gift Cards amongst the first 50 fully completed forms! &lt;/p&gt;

&lt;p&gt;Thanks for helping us build a kick-ass content management system!&lt;/p&gt;

&lt;p&gt;Arjé Cahn,&lt;br /&gt;
CTO, Hippo&lt;br /&gt;
&lt;br /&gt;&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;

&lt;hr /&gt;
&lt;br /&gt;

&lt;p&gt;Loading...&lt;/p&gt;</description>
	<pubDate>Mon, 18 Jul 2011 12:01:09 +0000</pubDate>
</item>
<item>
	<title>Tjeerd D. Brenninkmeijer (Hippo): Tales From The CMS Demo Chair – Episode 5</title>
	<guid>http://blogs.onehippo.org/tjeerd/2011/07/tales_from_the_cms_demo_chair_2.html</guid>
	<link>http://blogs.onehippo.org/tjeerd/2011/07/tales_from_the_cms_demo_chair_2.html</link>
	<description>&lt;p&gt;&lt;strong&gt;Marketers Beware Of The Leatherman WCMS&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Not a lot of people know this – but the famous Leatherman tool was actually invented while its inventor Tim Leatherman was traveling through Europe.    That’s right, while he and his wife were driving a used Fiat that constantly had leaks and electrical problems, Tim practically wore out his pocket knife fixing the car.   He wondered if he could combine a knife, with pliers and other tools – and create something brand new.&lt;br /&gt;
Over the next three years, he worked the design into the famous tool that we know and use.  He first approached knife makers – who told him that his device was a “tool, not a knife”.   Then, he went to tool companies who told him that his device was a “knife, not a tool”.     So, like any good entrepreneur, he created a new category of “survival tools” and started to sell his device by mail order.   And, today The Leatherman Tool group has more than 500 employees and more than a billion dollars in sales.   But, what’s really interesting is what didn’t happen.   His invention didn’t replace all the tools that it contained.&lt;br /&gt;
&lt;img alt=&quot;Leatherman&quot; src=&quot;http://blogs.onehippo.org/tjeerd/Leatherman.png&quot; width=&quot;523&quot; height=&quot;564&quot; /&gt;&lt;br /&gt;
People still buy pliers, and they still buy knives.  They still buy screwdrivers and they still buy files and saws and bottle openers.  Why?&lt;br /&gt;
&lt;strong&gt;To Do An Enterprise Job You Need Best Of Breed Tools&lt;/strong&gt;&lt;br /&gt;
Today, many Web content management systems are taking the Leatherman approach to Web site management – especially for marketing tools.  They offer Web content management of course; but they also offer Web Analytics, Email Campaign Management, Online Communities, Social Media Platforms,  and even lead management, scoring and nurturing software.&lt;br /&gt;
There are three challenges with these types of solutions:&lt;br /&gt;
1. &lt;strong&gt;A Knife is A Knife But Web Content Management Is Still Evolving.&lt;/strong&gt;   The reason that most vendors start building corkscrews and pliers on to their tools is because they assume that Web Content Management is like the knife.  It’s sharp – it cuts and there’s nothing more to do with it.   The fact is that the Web is evolving now, arguably, faster than ever.   Mobile interfaces, social networks, personalization, context aware and making content available as a platform are all critical business imperatives.  Additionally, as Web traffic grows – ensuring scalability and security are important features to adapt.   These innovations sometimes aren’t the most sexy – or the ones that “demo the best” – but they are vitally important to the business.  For example, here at Hippo we took a year and a half to develop our newest version – which is almost entirely focused on making deployment and implementation better for developers.&lt;/p&gt;

&lt;p&gt;2. &lt;strong&gt;You’re Not Getting Best Of Breed Applications.&lt;/strong&gt;  With WCM vendors that provide solutions like Email Campaign Management and Web Analytics, you are almost certainly NOT getting a best-of-breed application across every one of those categories.   For example, Email Campaign Management vendors spend tremendous amounts of their time and energy maintaining a close relationship with ISP’s to ensure deliverability of your email.  That’s really what you pay for. &lt;/p&gt;

&lt;p&gt;3. &lt;strong&gt;The Bigger They Get – The Longer You Wait.&lt;/strong&gt;   By adding all those components into their “suite” of software – it means that upgrades to any one of those applications are complex and have huge interdependencies on other elements.   That means if you find a bug, or are waiting for some new feature – you’ll be waiting much longer than if you were using separate best-of-breed tools.&lt;br /&gt;
It’s quite simple -  Web content management is still a space that is changing and needs a best-of-breed tool.  No single company can be great at everything.   In short, while you might be able to fix a small leaky pipe with your Leatherman – no one is suggesting that a Leatherman is all you need for your household plumbing.&lt;br /&gt;
&lt;strong&gt;There’s An App For That&lt;/strong&gt;&lt;br /&gt;
If you’re in marketing – and you’re looking at upgrading your whole Web site stack, we highly recommend considering best-of-breed solutions for the various components.   You’re probably already using some of them anyway (e.g. Google Analytics or Salesforce.com).  Just remember, that software should and probably will be the least of your concerns from an investment point of view.  The biggest expense over the long haul is going to be the services needed to support whichever solution you choose.   So, by diversifying your investments, if one piece of it (e.g. Email Campaign Management) doesn’t meet the needs of your organization or ends up costing too much to support – you can replace it quickly. &lt;br /&gt;
And, if the whole Web 2.0 thing teaches us anything, it’s that &lt;a href=&quot;http://www.onehippo.com/en/opensource/standards-driven&quot;&gt;Open Standards of Web formats&lt;/a&gt; are making it easier and easier for applications to integrate and talk to one another.    &lt;br /&gt;
There’s a reason that we, at Hippo, have decided not to build Web marketing tools.  It’s because our integration with solutions like Google Analytics, SalesForce, and other tools is so strong.   Really, any Enterprise Web marketing solution that supports open communication across the Internet (and that’s most of them these days) can integrate with Hippo CMS just as easily.   We have customers using all kinds of Web marketing tools.   &lt;br /&gt;
&lt;strong&gt;It’s Not About Website Management Any Longer&lt;/strong&gt;&lt;br /&gt;
The reason that Tim Leatherman was so successful with his tool – was because he didn’t market it as a knife, or a tool – but rather a new “category” of device.   The same is true of WCM vendors who are marketing themselves as Website Management systems.   And, of course – we’ve got to get out of that thinking.  The Web is much bigger than just Web sites.  We have so many other channels to manage content for.&lt;br /&gt;
And, of course it’s not just marketing tools either.  Some CMS systems try and tackle every piece of the stack.  In fact Adriann Bloem just wrote about this last month where he talked about how &lt;a href=&quot;http://www.realstorygroup.com/Blog/2175-SharePoint-is-a-Swiss-Army-Knife&quot;&gt;Microsoft Sharepoint is really a Swiss Army Knife&lt;/a&gt;.  &lt;br /&gt;
The point is, as the web evolves – with the Semantic Web coming, and Context Aware Computing – Web content management still needs to evolve with it.  &lt;br /&gt;
As you start to develop your requirements for your new Web content management system, you will find that today, they are ever-more complex.   It goes well beyond a “web site management tool”.  Today’s WCM must allow for both the management and delivery of a &lt;a href=&quot;http://www.onehippo.com/en/products/cms&quot;&gt;multi-channel, context aware, and enterprise level content strategy&lt;/a&gt;.   As Realstory Group’s Irina Guseva recently put it – &lt;a href=&quot;http://www.realstorygroup.com/Blog/2168-C-stands-for-complexity-in-WCM&quot;&gt;the “c” in WCM stands for complexity&lt;/a&gt;”.   Trying to add in all these other components under one solution is going to make your implementation *MORE* complex – not less.&lt;br /&gt;
Your Leatherman might be good for some, very specific jobs.  But, don’t trust it to build a platform on which you’re going to rest your whole strategy.&lt;/p&gt;</description>
	<pubDate>Fri, 15 Jul 2011 14:14:42 +0000</pubDate>
</item>
<item>
	<title>Tjeerd D. Brenninkmeijer (Hippo): Tales From The CMS Demo Chair – Episode 4</title>
	<guid>http://blogs.onehippo.org/tjeerd/2011/07/tales_from_the_demo_chair_epis.html</guid>
	<link>http://blogs.onehippo.org/tjeerd/2011/07/tales_from_the_demo_chair_epis.html</link>
	<description>&lt;p&gt;&lt;strong&gt;In-Line Editing Is Too Sexy For Your Demo&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;That’s right – if you want to know what a CMS Demo has to do with a pop song from 1992 you’ve come to the right place.    In the song, Right Said Fred sings:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;“I’m a model you know what I mean&lt;br /&gt;
And I do m</description>
	<pubDate>Fri, 08 Jul 2011 14:31:00 +0000</pubDate>
</item>
<item>
	<title>Bas van Leeuwen (Hippo): What makes a job awesome?</title>
	<guid>tag:blogger.com,1999:blog-6364779749127996620.post-3395422958671069762</guid>
	<link>http://hippobas.blogspot.com/2011/07/what-makes-job-awesome.html</link>
	<description>My employer &lt;a href=&quot;http://www.onehippo.com/en/company/career&quot;&gt;really needs people&lt;/a&gt; (preferably yesterday) and is offering an iPad2 to any employee who brings in a new developer. So, onto Facebook (this was a week ago, before Google+) I went to post that Hippo was offering awesome jobs, within minutes someone asked me to define what an &quot;awesome&quot; job is.. Hmm, that won't fit within a comment, so here's a blog about it!&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Clients make a job awesome&lt;/b&gt;&lt;br /&gt;There aren't many companies where you can interact with clients such as the&lt;a href=&quot;http://rijksoverheid.nl/&quot;&gt; Dutch government&lt;/a&gt;, &lt;a href=&quot;http://findlaw.com/&quot;&gt;Thomson Reuters&lt;/a&gt; and the &lt;a href=&quot;http://ns.nl/&quot;&gt;Dutch Railways&lt;/a&gt;, or completely revamp the site of the University of Amsterdam or create a site for the security sensitive people of &lt;a href=&quot;http://www.[redacted].nl/&quot;&gt;[redacted]&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Being a paid know-it-all is awesome&lt;/b&gt;&lt;br /&gt;No one knows Hippo better than us Hippos and it feels good to share this knowledge with our many partners and clients, either by being a consultant or by giving awesome trainings.&amp;nbsp;You'll have the technical know-how that will enable a partner/client dev-team to really shine and who knows,&amp;nbsp;maybe you'll pick up a trick or two from the guys at e.g. Capgemini, Smile or JTeam :-)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Knowledgeable colleagues make a job awesome&lt;/b&gt;&lt;br /&gt;How about working in an environment where 1 in 5 developers is Apache commiter?&lt;br /&gt;Of course&amp;nbsp;everyone is beyond the &lt;a href=&quot;https://wiki.onehippo.com/display/CMS7/Hippo+Baby+Steps&quot;&gt;Hippo Baby Steps&lt;/a&gt;&amp;nbsp;which they took under guidance of &lt;a href=&quot;http://www.onehippo.com/en/company/technical-leadership&quot;&gt;Hippo's technical leadership&lt;/a&gt; :-)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;The location makes a job awesome&lt;/b&gt;&lt;br /&gt;Amsterdam -love it or hate it- is awesome, and &lt;a href=&quot;http://tinyurl.com/HippoOffice&quot;&gt;Hippo&lt;/a&gt; is smack in the middle of it. And I am sure that &lt;a href=&quot;http://mathijsbrand.blogspot.com/2011/03/hippo-in-boston.html&quot;&gt;Boston is not too shabby as well&lt;/a&gt;&amp;nbsp;:-)&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot;&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot;&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot;&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-0l1-ufOR4yU/ThSL0K94lVI/AAAAAAAAADY/LGZTaqaWjOA/s1600/Hippo_is_in_amsterdam.png&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;250&quot; src=&quot;http://2.bp.blogspot.com/-0l1-ufOR4yU/ThSL0K94lVI/AAAAAAAAADY/LGZTaqaWjOA/s400/Hippo_is_in_amsterdam.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Open Source is awesome&lt;/b&gt;&lt;br /&gt;While a lot of the work is tailored to each specific client we don't like it. It is rare to see a certain problem solved thrice without it resulting in a &lt;a href=&quot;http://forge.onehippo.org/&quot;&gt;plugin&lt;/a&gt; that standardizes it and gives it to the community.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Creative freedom makes a job awesome&lt;/b&gt;&lt;br /&gt;Every other Friday is play day, the&lt;a href=&quot;http://hippobas.blogspot.com/2011/03/thank-god-its-hippo-friday.html&quot;&gt; Hippo Fridays&lt;/a&gt; allow you to express yourself by creating (potentially) useful things without any management direction.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;On the job training makes a job awesome&lt;/b&gt;&lt;br /&gt;Want to go to to &lt;a href=&quot;http://fronteers.nl/congres&quot;&gt;Fronteers&lt;/a&gt; or&lt;a href=&quot;http://www.nljug.org/jfall/&quot;&gt; J-Fall&lt;/a&gt;? Go! We'll pay your ticket (and it's on company time).&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Fridays make a job awesome&lt;/b&gt;&lt;br /&gt;Every Friday people congregate on the balcony to share laughs, beers and (technological)-insights.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Proper estimations make a job awesome&lt;/b&gt;&lt;br /&gt;Developers make the estimations, management listens, so no Swordfish stuff :-)&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Time off &amp;nbsp;makes a job awesome&lt;/b&gt;&lt;br /&gt;Save for some rare exceptions you work 40 hours a week, not 60, it's a proper company. As is custom in the Netherlands you'll get 25 vacation days.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Informality makes a job awesome&lt;/b&gt;&lt;br /&gt;The CEO is Jeroen, there is no executive lunch table, you can show up in shorts, T-shirts and flip-flops if you want.&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot;&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-8aJfQZaTgEg/ThSJmwhOvtI/AAAAAAAAADI/5VgjD1smJEg/s1600/Hipp_is_informal.png&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;300&quot; src=&quot;http://3.bp.blogspot.com/-8aJfQZaTgEg/ThSJmwhOvtI/AAAAAAAAADI/5VgjD1smJEg/s400/Hipp_is_informal.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;b&gt;The commute makes a job awesome&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Work those calves, you get a bike! Broke it? No problem it's full service: pickup, repair and delivery is handled before 6pm, so you can bike back home.&lt;/div&gt;&lt;br /&gt;&lt;b&gt;Want in?&lt;/b&gt;&lt;br /&gt;Send a mail to jobs@onehippo.com or look at the &lt;a href=&quot;http://www.onehippo.com/en/company/career&quot; target=&quot;_blank&quot;&gt;careers page&lt;/a&gt;&lt;br /&gt;Nota bene: mention my blog to make me happy..&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width=&quot;1&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/6364779749127996620-3395422958671069762?l=hippobas.blogspot.com&quot; alt=&quot;&quot; /&gt;&lt;/div&gt;</description>
	<pubDate>Wed, 06 Jul 2011 16:36:00 +0000</pubDate>
	<dc:creator>noreply@blogger.com (Bas van Leeuwen)</dc:creator>
</item>
<item>
	<title>Tjeerd D. Brenninkmeijer (Hippo): Tales From The CMS Demo Chair – Episode 3</title>
	<guid>http://blogs.onehippo.org/tjeerd/2011/07/tales_from_the_demo_chair_epis_1.html</guid>
	<link>http://blogs.onehippo.org/tjeerd/2011/07/tales_from_the_demo_chair_epis_1.html</link>
	<description>&lt;p&gt;&lt;strong&gt;Give A CMS Vendor A Tax Form RFP – And You’ll Get A Tax Cheat&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Every year at tax time, the newspapers are filled with articles about those who admit to cheating on their taxes.   Last year, in the United States, 15% of citizens asked, admitted to cheating.  And that’s just the people who admit it!&lt;/p&gt;

&lt;p&gt;Interestingly, studies have been done to look at why people cheat on their taxes – and the general reason is that we all recognize that while it’s “good” to pay taxes – we all have a selfish desire to pay the least amount possible.  And because the tax codes are usually so complex – we can rationalize all kinds of things that are “deductible”.  “&lt;em&gt;Sure, that dinner with my grandmother is tax deductible… she asked me about my job.&lt;/em&gt;”&lt;/p&gt;

&lt;p&gt;&lt;img alt=&quot;Tax Cheats&quot; src=&quot;http://blogs.onehippo.org/tjeerd/Tax_cheats.png&quot; width=&quot;484&quot; height=&quot;301&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Well interestingly, over the years, I’ve noticed the same thing with Web content management RFP’s – especially the type that use complicated Microsoft Excel Spreadsheets as a way to “score” vendor responses.    Over the last 10 years, as you might expect – we’ve seen hundreds of those types of RFP – and I can tell you – while we’ve gotten very good at filling them out – we don’t believe they are a good measure of a WCMS solution.&lt;/p&gt;

&lt;p&gt;See, if you’re thinking about using complex spreadsheets as a way to determine which CMS to buy – you should think again.    Using a spreadsheet based RFP for a WCMS is very much like looking at who paid the most taxes to pick the wealthiest person.   You won’t get what you’re looking for.   All you’re doing is selecting the best RFP response – not the best solution to your Web content management challenge.&lt;/p&gt;

&lt;p&gt;As has been pointed out in other blog posts by independent analysts &lt;a href=&quot;http://www.realstorygroup.com/Blog/1835-Evaluating-vendor-proposals---Kill-your-spreadsheets&quot;&gt;the Real Story Group&lt;/a&gt; and by &lt;a href=&quot;http://jboye.com/blogpost/intelligent-use-of-spreadsheets-in-vendor-selection/&quot;&gt;Janus Boye&lt;/a&gt; – vendors will often “cheat” (either a little bit or a whole lot) when they fill out those RFP Spreadsheets.  If you put in “WYSIWYG Editor” or “Easy To Use” as a requirement in an RFP spreadsheet – all the Vendors will say “Yes, Supported”.  And, for more complicated features, honest vendors might say “no” and dishonest vendors might say “yes” even though neither has it.  Using spreadsheets, inherently reward vendors for being dishonest.   The key is understand the subtle differences in each vendor’s approach.&lt;/p&gt;

&lt;p&gt;So, from my demo chair view – what I’d much rather do is understand what specific challenges you have with Web content management – and then show you how Hippo CMS solves them.   User scenarios help me guide the demonstration process – as well as our response to the RFP.   And, they help me to determine if we’re even an appropriate fit for what you’re looking for.&lt;/p&gt;

&lt;p&gt;For example, let’s pretend there’s a scenario where you’re looking for an &lt;a href=&quot;http://www.onehippo.com&quot;&gt;Enterprise-class Open Source Java based Web content Management System&lt;/a&gt; – and your end-users are marketers who need to be able to drag and drop elements around on the page to change the look and feel of the site.   And, further your developers need a system that is bullet-proof, and will scale to millions of visitors per month. I know, in that case, that Hippo CMS is a good fit.   So, when I demo to you I can demonstrate our solution to that challenge.   But if you’re looking for a .Net solution that focuses on a community oriented site or a blog for a small business – then Hippo is not for you.&lt;/p&gt;

&lt;p&gt;When you’re working with a vendor – ask them for a written summary – not a checklist of the following kinds of business challenges.  Ask the Vendor, fro example, to explain how their CMS will:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Help your business achieve higher conversions on my marketing 
&lt;/li&gt;&lt;li&gt;Improve your Search Engine Optimization
&lt;/li&gt;&lt;li&gt;Give you more flexibility to innovate content and marketing strategies
&lt;/li&gt;&lt;li&gt;Enable you to get my content to market faster
&lt;/li&gt;&lt;li&gt;Empower you to launch microsites or new events or new sites in other languages.
&lt;/li&gt;&lt;li&gt;Provide a WCMS solution that will grow with your business
&lt;/li&gt;&lt;li&gt;Lower your Total Cost Of Ownership of a Content Management solution
&lt;/li&gt;&lt;/ul&gt; 

&lt;p&gt;And, from a development point of view – For example ask the vendor to explain how their CMS will:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Support your traffic of 500,000 unique visitors per day/month etc.
&lt;/li&gt;&lt;li&gt;Ensure that your &lt;a href=&quot;http://blogs.onehippo.org/tjeerd/2010/07/performance_does_matter_1.html&quot;&gt;site never takes more than 1 second&lt;/a&gt; to serve a page  
&lt;/li&gt;&lt;li&gt;Scale to hundreds or thousands of end-users, and support ecommerce, document management or other enterprise technologies
&lt;/li&gt;&lt;li&gt;Serve your internet, intranet &amp; extranet from one repository
&lt;/li&gt;&lt;li&gt;Build up knowledge domain &amp; faceted search from your taxonomy
&lt;/li&gt;&lt;li&gt;Personalize your content &amp; application using Single Sign On using open social to share
&lt;/li&gt;&lt;li&gt;Use different delivery tiers (Spring MvC, JSP, Grails, etc.) and create a front end in HTML 5
&lt;/li&gt;&lt;/ul&gt; 

&lt;p&gt;Finally, there’s one other reason to not use the “spreadsheet” form method – and that’s the element of pleasant surprise.   Interestingly, one of the arguments for getting more people to be honest on their taxes is to give them more of a say in where their money goes.   The theory is that if people could decide – specifically – where some percentage of their taxes go then people would contribute more and perhaps cheat less.&lt;/p&gt;

&lt;p&gt;There’s a similar idea in the RFP.  By opening up the RFP process to be more creative by the vendor – and letting them approach scenarios rather than checklists – you encourage the vendor to suggest things you might not have thought of.   It’s highly unlikely that anything in your spreadsheet is “creative” or “out of the box”.  In fact, it really can’t be if you’re trying to play “fair”.     But of course - you don’t care about “fair”.  You want the *best* solution for your business.    So, by giving vendors the incentive to “surprise you” – you’ll get the best, most creative demos and RFP responses that the vendor has.   &lt;/p&gt;

&lt;p&gt;And, that’s what will make the start of this long process more interesting for you.   Because the last thing you want is for your WCMS selection process to be like doing your Taxes. Right? &lt;br /&gt;
 &lt;/p&gt;</description>
	<pubDate>Fri, 01 Jul 2011 13:01:08 +0000</pubDate>
</item>
<item>
	<title>Arje Cahn (Hippo): We’re With You As We Ride On The Hippo Trail</title>
	<guid>http://blogs.onehippo.org/arje/2011/06/were_with_you_as_we_ride_on_th.html</guid>
	<link>http://blogs.onehippo.org/arje/2011/06/were_with_you_as_we_ride_on_th.html</link>
	<description>&lt;p&gt;&lt;img alt=&quot;A Hippo herd - riding the Hippo trail&quot; src=&quot;http://blogs.onehippo.org/arje/2011/06/23/iStock_000002104056XSmall-220px.jpg&quot; width=&quot;220&quot; height=&quot;330&quot; align=&quot;right&quot; /&gt;
I’m a big believer that when you’re developing software, that your team and
the process you use is much more important than your specific choice of
technology.  Our passion for developing community and teamwork is much more
important than the applications we build.&lt;/p&gt;

&lt;p&gt;And, we really strive to keep that community alive with our “extended team”
(that’s you!) as well.  We want every single developer and architect that works
on Hippo CMS to feel like they’re part of something really cool – and ultimately
really important.&lt;/p&gt;

&lt;p&gt;I really want to stress that with our latest set of releases – including 7.5
and our newest 7.6 that we’re focusing a lot of attention on feedback that we’ve
gotten both from beginner Hippo developers – all the way through to some of the
most advanced developers out there.&lt;/p&gt;

&lt;p&gt;Our whole goal is to innovate the world of
&lt;a href=&quot;http://www.onehippo.com/en/products/cms&quot;&gt;Java Open Source Web Content
Management&lt;/a&gt; – and certainly we know that developers are a huge piece of that.
  Over the coming weeks, I’m going to blog about some of these innovations in
more detail.  But in case you haven’t kept up with some of our latest
developments - here are some of them under the headings that we’re most
passionate about:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Open Source &amp;amp; Open Standards &lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Our passion for
&lt;a href=&quot;http://www.onehippo.com/en/opensource/standards-driven&quot;&gt;Open Source and
Open Standards&lt;/a&gt; started 10 years ago – and we’re continually trying to stay
innovative: from our most recent work and
&lt;a href=&quot;http://www.onehippo.com/en/events/2011/11/hippo-will-speak-about-apache-rave-at-apachecon-north-america-2011.html&quot;&gt;contributions
to the Apache Foundation&lt;/a&gt;, to Open Social and
&lt;a href=&quot;http://www.onehippo.com/en/events/2010/12/hippo-speaks-at-the-first-european-opensocial-event-in-the-netherlands.html&quot;&gt;our
latest work with Surfnet and the MITRE Corporation&lt;/a&gt;.  And, we’re listening to
you as well.  We heard you loud and clear.  Some of the recent new things in
Hippo CMS include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href=&quot;http://www.onehippo.org/cms7/documentation/upgrading/7.5-to-7.6/introduction-to-relaxed-node-types.html&quot;&gt;Relaxed
CND’s&lt;/a&gt; – making it much easier to set up document types&lt;/li&gt;
&lt;li&gt;A New
&lt;a href=&quot;https://wiki.onehippo.com/display/CMS7/RESTful+JAX-RS+Component+Support+in+HST-2&quot;&gt;HST
REST Engine&lt;/a&gt; – giving developers an easy and standard way of accessing all
their content.  &lt;/li&gt;
&lt;li&gt;Run &amp;amp; Develop Easier With
&lt;a href=&quot;https://wiki.onehippo.com/display/CMS7/Run+and+develop+with+Cargo&quot;&gt;Cargo
Support&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://wiki.onehippo.com/display/CMS7/Develop+with+JRebel&quot;&gt;JRebel
Support&lt;/a&gt; to speed up your development cycle&lt;/li&gt;
&lt;li&gt;
&lt;a href=&quot;https://wiki.onehippo.com/display/CMS7/Hippo+CMIS+Client+Add-on&quot;&gt;CMIS
Support&lt;/a&gt; adds interoperability with ECM Systems
(&lt;a href=&quot;http://www.onehippo.com/en/news/2011/06/hippo-and-nuxeo-integration-ecm-and-wcms.html?backpage=en/news&quot;&gt;see
what we’re doing with Nuxeo&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Support for
&lt;a href=&quot;https://wiki.onehippo.com/display/CMS7/Spring+Bridge&quot;&gt;Spring MVC&lt;/a&gt;
(also read this excellent post by Jeroen Reijn on
&lt;a href=&quot;http://blog.jeroenreijn.com/2011/02/hippos-restful-jax-rs-component-support.html&quot;&gt;Spring
Android&lt;/a&gt; and REST)&lt;/li&gt;
&lt;li&gt;Handling changes in a
&lt;a href=&quot;https://wiki.onehippo.com/display/CMS7/How+to+handle+changes+in+a+DTAP+environment&quot;&gt;DTAP
environment&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Templates &amp;amp; WCMS Developer Support&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Of course one of the biggest jobs as a CMS developer is to quickly support
the business users and their need to “change” things and keep up with the latest
technologies.  From the expanded use of JavaScript, to HTML5, CSS3 and of course
mobile and social interfaces - We’ve heard the community loud and clear that we
needed to continually innovate. &lt;/p&gt;

&lt;p&gt;The ability to support rich user experiences and mobile interfaces is
becoming a “must-have” for Web content management systems.  Our newest releases
meet this challenge – providing Hippo CMS users the ability to develop any kind
of HTML5 front-end experience that they wish.&lt;/p&gt;

&lt;p&gt;Some of the other new things here include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Hippo CMS
&lt;a href=&quot;https://wiki.onehippo.com/display/CMS7/HST-2+Template+Composer&quot;&gt;Template
Composer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href=&quot;https://wiki.onehippo.com/display/CMS7/HST-2+Freemarker+support+for+repository+and+classpath+located+freemarker+templates&quot;&gt;Freemarker
Template&lt;/a&gt; Support&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://pugpig.com/&quot;&gt;Pugpig&lt;/a&gt; - ok, it may not a Hippo project -
but it’s really slick framework for HTML5 driven tablet magazines that we’re
currently experimenting with (did I forget to mention
&lt;a href=&quot;http://www.phonegap.com&quot;&gt;PhoneGap&lt;/a&gt;?)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Love For The Process&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;And, of course, as I said in the beginning – the real passion is to make sure
that we’re helping developers to make the process easier and more efficient. 
So, we’ve added a whole new set of resources here for the developers.  These
include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Our new &lt;a href=&quot;https://wiki.onehippo.com/display/CMS7/Hippo+Trail&quot;&gt;Hippo
Trail&lt;/a&gt; – which is a full set of documentation and videos that walk you
through from taking your “first steps” all the way through to “Hippo
Awesomeness”.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://wiki.onehippo.com/display/CMS7/Automatic+export&quot;&gt;Automatic
Export&lt;/a&gt; – which makes it so much easier for the development team to work
together using a revision control system like Subversion.&lt;/li&gt;
&lt;li&gt;Console Improvements – We’re adding a number of new enhancements here
including auto completion.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;As I said in the beginning – over the coming weeks, I’ll blog a bit more
detail about some of these exciting new features and approaches.  In the mean
time, keep the feedback coming.  We’re here for the community – and we want to
see both you and Hippo shine!&lt;/p&gt;</description>
	<pubDate>Wed, 29 Jun 2011 23:01:09 +0000</pubDate>
</item>
<item>
	<title>Tjeerd D. Brenninkmeijer (Hippo): Tales From The CMS Demo Chair Episode 2</title>
	<guid>http://blogs.onehippo.org/tjeerd/2011/06/tales_from_the_demo_chair_2_1.html</guid>
	<link>http://blogs.onehippo.org/tjeerd/2011/06/tales_from_the_demo_chair_2_1.html</link>
	<description>&lt;p&gt;&lt;strong&gt;BUYING A CMS IS LIKE BUYING A WASHING MACHINE&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;So, here in the Netherlands – and in most parts of Europe, we have a law that says when we make a purchase of any electronic device (like a washing machine) we have to make (included in the price) a contribution to a fund that will clean and recycle the various parts of the machine for disposal.  It’s a very interesting and innovative way to ensure that the machine’s end-of-life deconstruction and replacement is paid for before it’s even put into service.  And I can’t help but notice that there is something really similar (and missing) from the way that businesses acquire their Web content management system.   &lt;/p&gt;

&lt;p&gt;&lt;img alt=&quot; WASHING MACHINE&quot; src=&quot;http://blogs.onehippo.org/tjeerd/wasmachine.jpg&quot; height=&quot;530&quot; width=&quot;450&quot; /&gt;&lt;/p&gt;

&lt;p&gt;So, when I demo the &lt;a href=&quot;http://www.onehippo.com/en/products/cms&quot;&gt;Hippo CMS&lt;/a&gt; to prospective customers – it’s almost always because they are looking to replace their old, broken down Web content management system.   It doesn’t matter whether it’s some custom built platform, or a commercial product – they want to move their Web content from one system into another – and Hippo is under consideration.&lt;/p&gt;

&lt;p&gt;See, many Web content management systems are like that old washing machine.  Once it gets old, and it stops performing like you want it to – you want to either shine them up and fix them (re-implement) or just replace it altogether.  &lt;/p&gt;

&lt;p&gt;But here’s the important thing!  If you decide to replace your old CMS with a new solution – you should make sure to calculate how much effort it will be to replace that old washing machine.   And, secondly – but just as importantly - make sure to explore how much those costs would be with the new CMS you’re considering.    That’s right – as part of your consideration, before you buy your new CMS, you should factor in how much it will be to replace that system.   &lt;/p&gt;

&lt;p&gt;See, there are a lot of WCMS solutions out there that will store your Web content in proprietary ways, and/or lock your Web site presentation down into some proprietary technology.    And, while all of that seems fine when you buy the shiny new Web content management system, it will mean big trouble when it’s time to replace it.   All those “proprietary” things that have built up over the years are now going to be VERY expensive to replace.  The content may have to be manually pulled out of the proprietary system. Or you need to hire &lt;a href=&quot;http://www.onehippo.com/en/partners/alliances/kapow&quot;&gt;specialized companys&lt;/a&gt; which you can hire to migrate the content automatically. &lt;/p&gt;

&lt;p&gt;You see – with some Web content management systems - unlike your washing machine – you’re not paying for the removal of those things when you first invest in your CMS.  Rather, now that you’re replacing it – you have to increase your budget and basically add investment to replace all those “customizations” you put in place.   You have to literally pay more money to replace your old washing machine with a new one.  And, unfortunately, just like the disposal of the washing machine – you usually don’t know how much it’s going to cost – until you actually have to replace it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Open Source and Open Standards Future Proof Your Content, Your Customizations And Your Integrations &lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;When I demo to customers, I remind them that there are ways to avoid this extra cost.  One of the strengths of Open Source and Open Standards based CMS’s – especially one like Hippo CMS – is that you’re not only buying your Washing Machine in “Europe” – you’re actually getting one that can grow and evolve with you.  Hippo, for example, uses &lt;a href=&quot;http://www.onehippo.com/en/opensource/standards-driven&quot;&gt;Open Standards methods&lt;/a&gt; and is completely separated from the presentation.  &lt;/p&gt;

&lt;p&gt;This provides two big benefits.  The first is that the system can grow and evolve with you – so it’s less likely to have to be replaced in the first place.   The second is that if it ultimately does need to be replaced – you’ll know that it can be done more easily and without “extra costs”.   Your content is completely separate from the functionality and presentation of your Web content.  And you can immediately migrate that content seamlessly into another WCMS. &lt;/p&gt;

&lt;p&gt;The one big challenge with closed-source proprietary solutions is that you are not allowed to change the software. Bottom line: you are not allowed to see how it works or customize it to fit the unique needs of your business users, validate security or optimize the performance.&lt;/p&gt;

&lt;p&gt;See, with a closed-source vendor – you end up paying so much more than the initial license fee to really use the software and make it your own.  Even if you CAN make changes on your own (or they make them for you) your investment in replacing the software becomes bigger and bigger.  With every tweak you get away from a successful upgrade path – and you create a bigger headache for yourself.  &lt;/p&gt;

&lt;p&gt;Over the last few years, we’ve seen Open Source become much more popular.   So, if Open Source used to only be used for the “plumbing” of our Washing Machine – now it’s moved up to offer everything in the Washing Machine “stack”.   From operating systems, to databases – and now to applications – the success stories for enterprise use of Open Source is becoming huge.   And, that success is because the openness lends itself for integration capabilities – and their ability to be adapted over time to unique business needs.&lt;/p&gt;

&lt;p&gt;And here’s something important.  The key is in that adaptation.  If you use an Open Source Content Management System (like Hippo) “as-is” – simply to get an easier User Interface for business user – the benefits will be equal to proprietary solutions.   The big advantage is that the Open Source CMS provides is the “freedom” it provides.  It’s “free” for you to adapt, customize, scale and meet your requirements as they change.  It’s like a Washing Machine that starts small when you’re a couple - but grows, adapts and gets bigger as your family grows. &lt;/p&gt;

&lt;p&gt;Now, of course one of the big challenges is that because you’ll take that challenge – you must do it in a sustainable way.   Leveraging Open Source is not without risks.  With no one, single vendor to turn to – you must develop a resource to turn to in case of emergency or in case your Washing Machine breaks!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Rise of Commercial Open Source&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;To address the Open Source challenges mentioned above, a new and very successful delivery model has surfaced: Commercial support for Open Source.  Companies like RedHat – and Hippo - are helping Enterprises to enjoy the benefits and liberty of Open Source, while mitigating the risks.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The traditional benefits provided by Commercial Open Source are:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Guaranteed support with service levels 
&lt;li&gt;Legal Indemnification and liability 
&lt;li&gt;Warranties
&lt;li&gt;Regular updates and patches
&lt;li&gt;No big upfront investment and significantly lower costs.
&lt;/ul&gt; 

&lt;p&gt;But there are a few additional benefits of &lt;a href=&quot;http://www.onehippo.com/en/opensource/why+open+source&quot;&gt;Commercial Open Source&lt;/a&gt; which are crucial for the Enterprise:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Road-map alignment 
&lt;li&gt;Liberty / Freedom 
&lt;li&gt;Interoperability
&lt;/ul&gt; 

&lt;p&gt;Road-map alignment is a crucial benefit you gain from Commercial Open Source.  This is how you plan how your Washing Machine will grow and where your family is going – and making sure those two things are in alignment.  &lt;/p&gt;

&lt;p&gt;Enterprises need to increase the speed of development in order to improve time-to-market, increase reach and conversion. The model that Commercial Open Source uses allows you to gain that speed. Incorporating modifications to the core are part of the business model; not a struggle as with proprietary software.  In some worst-case scenarios with a proprietary system you could end up with a fully customized platform on a closed source solution where you still have to pay the maintenance fee, but cannot upgrade (in order to get new features or improve stability). With Open source your investment will not be lost.&lt;/p&gt;

&lt;p&gt;So, as you’re getting a demo of a replacement WCMS product, make sure that you think about replacement cost.   Make sure that you’re thinking not only about the investment that you’re making over the next few months – but for when you ultimately have to make the decision whether or not to replace this tool with another.     Make sure that you don’t have to invest MORE money to replace your CMS than you did implementing it in the first place.  It’s an investment in your future – not your past.&lt;br /&gt;
&lt;/p&gt;</description>
	<pubDate>Fri, 24 Jun 2011 17:01:09 +0000</pubDate>
</item>
<item>
	<title>Bas van Leeuwen (Hippo): SLA vs. Service</title>
	<guid>tag:blogger.com,1999:blog-6364779749127996620.post-5048428133838045482</guid>
	<link>http://hippobas.blogspot.com/2011/06/sla-vs-service.html</link>
	<description>&lt;span class=&quot;Apple-style-span&quot;&gt;What is the difference between a Service Level Agreement and a working relationship?&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;One will give you good support, the other guarantees you mediocre support. Guess to care which one makes you happy? Hint: it's not the legal document..&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;There is absolutely no doubt that any support agreement should be accompanied by (many) a legal document, but this document should be the foundation on which a true working relationship is built.&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;b&gt;I want my Google!&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;A couple of weeks ago I was at a client when all of a sudden ALL thin clients were unable to connect to the internet. No problem, we'll have an early lunch and go on our merry way. But alas, still no Wikipedia goodness. Since I was there together with another Hippo to work in the CMS, we kind of needed access. Time to make a call to the &quot;service&quot; desk, to ask whether or not we should head back home.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a href=&quot;http://4.bp.blogspot.com/-KHmkB9kqnUE/TgNb57BGkTI/AAAAAAAAACw/j2DtpQzFXf0/s1600/problem.png&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;190&quot; src=&quot;http://4.bp.blogspot.com/-KHmkB9kqnUE/TgNb57BGkTI/AAAAAAAAACw/j2DtpQzFXf0/s400/problem.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot;&gt;On an unrelated note&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;After listening to the default tape telling me that currently there is a problem with Citrix. I quickly got hold of an understandably harried person. In response to my question &quot;any idea how long it will take&quot;, he immediately replied with &quot;well, we have made a top-prio issue, so within 4 hours&quot;. While true it's not very useful, it means that I might waste an entire man-day playing minesweeper.&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;b&gt;The personal relationship&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;The human element is often under-examined in &quot;proper&quot; support systems such as ITIL. If you have a problem, then you want to talk to someone you trust; not a automaton that tells you that your problem will be looked at within the required X hours.&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a href=&quot;http://graphics8.nytimes.com/images/2010/04/27/world/27powerpoint_CA0_337-span/27powerpoint_CA0-articleLarge.jpg&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;225&quot; src=&quot;http://graphics8.nytimes.com/images/2010/04/27/world/27powerpoint_CA0_337-span/27powerpoint_CA0-articleLarge.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot;&gt;Reminds me of the &lt;a href=&quot;http://www.nytimes.com/2010/04/27/world/27powerpoint.html&quot;&gt;famous Afghan war strategy&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;As &lt;a href=&quot;http://www.ted.com/talks/barry_schwartz_on_our_loss_of_wisdom.html&quot;&gt;Berry Schwartz said&lt;/a&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;: &quot;when things go wrong -as of course they do- (...) one tool we reach for is rules: better ones, more of them&quot;. ITIL embodies 30+ years of rule-making to prevent disaster. Unfortunately rules don't allow for exceptions, they regulate that ALL top-prio incidents should be handled within four hours. So the tools are there to handle ALL issues in four hours, even if these same tools (rules) prevent you from fixing things in a couple of minutes.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;b&gt;Understandable&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;Unlike Hendrik Hijzen, our super cool and awesome* Service Manager I am not without blame here. With my CompSci background I am quick to go into new procedures and tools (JIRA filters FTW!) and I have to admit that one (me) sometimes forgets that tooling is not a goal in itself.&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;b&gt;You cannot document experience&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;I'll leave you with the following question: if you are in a panic, who would you prefer to talk to, a 10 year veteran with no documentation and rules, or a recent graduate with 30 years of rules and documentation to help him?&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;* Thank you for proofreading Hendrik!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot;&gt; &lt;/span&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width=&quot;1&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/6364779749127996620-5048428133838045482?l=hippobas.blogspot.com&quot; alt=&quot;&quot; /&gt;&lt;/div&gt;</description>
	<pubDate>Thu, 23 Jun 2011 15:53:00 +0000</pubDate>
	<dc:creator>noreply@blogger.com (Bas van Leeuwen)</dc:creator>
</item>
<item>
	<title>Tjeerd D. Brenninkmeijer (Hippo): Tales From The CMS Demo Chair – Episode 1</title>
	<guid>http://blogs.onehippo.org/tjeerd/2011/06/tales_from_the_cms_demo_chair_1.html</guid>
	<link>http://blogs.onehippo.org/tjeerd/2011/06/tales_from_the_cms_demo_chair_1.html</link>
	<description>&lt;p&gt;&lt;strong&gt;A WCMS Is Like A Bicycle&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;So, as you know – we Hippo folk started in Amsterdam – and Amsterdam is full of bicycles.   And there is every flavor of bicycle you can imagine.  From color to size, to shape and even whether it has a basket or not – bicycles, in a way, reflect our personalities, how we use them, and ultimately help move us around. Each one becomes unique to us! &lt;/p&gt;

&lt;p&gt;&lt;img alt=&quot;bikes amsterdam&quot; src=&quot;http://blogs.onehippo.org/tjeerd/fiets.png&quot; width=&quot;518&quot; height=&quot;554&quot; /&gt;&lt;/p&gt;

&lt;p&gt;The same is true with the WCMS you are trying to decide on.   If you’ve just started looking for a WCMS – you’ve seen that there are literally hundreds of options for how you can manage your Web content.  There’s Commercial Open Source solutions like Hippo, proprietary solutions like SDL/Tridion or Adobe’s CQ5 or even ECM systems like Alfresco, Ms Sharepoint or OpenText.  You can spend months just learning about all the different types of solutions that are out there.   &lt;/p&gt;

&lt;p&gt;But here’s a secret that no one will ever tell you.  One of the keys to choosing the right WCMS is understanding that it will change the moment you get it.  It will start to reflect the way that YOU will use it.  Whichever WCMS solution you choose – you (or whoever you hire) will have to implement it to meet your unique needs.  In other words as soon as you buy it – you have to decide whether to put a basket on it, put on decals or lights, add a second seat, or anything else you’ll need to make it work for you.&lt;/p&gt;

&lt;p&gt;Many times when I demo to a prospective customer – it’s clear that they haven’t really asked themselves exactly WHY they need that WCMS.  They haven’t asked why they need a bike.    So, what happens is that all the CMS’s they demo look exactly alike – and then they’re surprised that they can’t make a decision as to which one will best suit their needs.    So, the better you understand your unique needs BEFORE you schedule a demo – the better demo you’ll have and the quicker you’ll get to a short list of candidates.&lt;br /&gt;
  &lt;br /&gt;
&lt;strong&gt;A WCMS Built For You!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Once you figure out all these requirements you’ll naturally start to lean toward a few solutions.  Are you looking for Open Source?  Are you looking to install a system on premise or host it in the cloud?  Is your Web content focused on marketing?  Are you looking for an intranet?   Asking these questions (and many others) will be the start of your business and technical requirements and will ultimately lead you to bike that will get you there in style.   &lt;/p&gt;

&lt;p&gt;Keep in mind that all CMS’s (no matter which one you pick):&lt;br /&gt;
&lt;ul&gt;&lt;br /&gt;
&lt;li&gt;Must be implemented to meet your unique needs&lt;br /&gt;
&lt;li&gt;Must be managed and supported to your unique needs ongoing&lt;br /&gt;
&lt;li&gt;Must be used by your unique end-users to be effective&lt;br /&gt;
&lt;li&gt;Must be upgraded to add new features&lt;br /&gt;
&lt;li&gt;Must be constantly modified to meet the changing needs of the business&lt;br /&gt;
&lt;/ul&gt;&lt;/p&gt;

&lt;p&gt;So, as you consider solutions – look at how it will work across the business, the technology and the infrastructure.  Jeroen Verberg –  the CEO here at Hippo - has recently written a &lt;a href=&quot;http://blogs.onehippo.org/tjeerd/Benefits%20Commercial%20Open%20Source.pdf&quot;&gt;white paper&lt;/a&gt; about the value of Commercial Open Source and in that white paper he says: &lt;/p&gt;

&lt;p&gt;“&lt;em&gt;In today’s enterprise environments, software systems need to be integrated and fine-tuned, adapted to meet demands of the business users and hardened to ensure security.&lt;/em&gt;”&lt;/p&gt;

&lt;p&gt;It’s just like a bike!!  My bike is finely tuned for exactly how I ride it.  And it has changed over time to be perfect for how I use it.  That’s how you should think about your new CMS.   Focus on choosing a CMS that can be customized to meet YOUR business requirements, and YOUR technical requirements  - and you’ll have a WCMS that will stand the test of time – and work for years to come. &lt;/p&gt;

&lt;p&gt;&lt;img alt=&quot;bakfiets&quot; src=&quot;http://blogs.onehippo.org/tjeerd/bakfiets.png&quot; width=&quot;627&quot; height=&quot;276&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;WCMS - It’s The Ride That Matters&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Really, the goal of a Web content management solution is so your team can collaborate on all the great content that you want your business to produce. And, what we’re really hoping is that this great content will facilitate collaboration with your users – and empower your audiences to consume that content in whatever way they choose.  That’s what ultimately adds value to your business.&lt;/p&gt;

&lt;p&gt;Jeroen, at the end of his white paper says this well:  &lt;/p&gt;

&lt;p&gt;“&lt;em&gt;The big benefit of open-source software is not the reduced license costs per se, but the flexibility it brings. Connectivity with existing infrastructure and platforms is easier to achieve and the liberty to adapt the software to the demands from business users is an inherent feature. The Commercial Open-source model gives you the best of both worlds: the quality of service and security of professional support and the flexibility and freedom of open-source. By empowering enterprises and putting them back in the driver’s seat they can drive down costs and be more competitive at the same time.&lt;/em&gt;”&lt;/p&gt;

&lt;p&gt;So, no matter if you choose to go open source or not – selecting a CMS and it’s ability to give you the ride that You want is the real key to making sure it’s an investment that will last.&lt;br /&gt;
&lt;p&gt;&lt;img alt=&quot;bfuny bike&quot; /&gt;&lt;img src=&quot;http://blogs.onehippo.org/tjeerd/Bike.png&quot; width=&quot;446&quot; height=&quot;355&quot; /&gt;&lt;/p&gt;&lt;/p&gt;</description>
	<pubDate>Fri, 17 Jun 2011 16:01:09 +0000</pubDate>
</item>
<item>
	<title>Tjeerd D. Brenninkmeijer (Hippo): Tales From The CMS Demo Chair – A 10 Part Series</title>
	<guid>http://blogs.onehippo.org/tjeerd/2011/06/tales_from_the_cms_demo_chair.html</guid>
	<link>http://blogs.onehippo.org/tjeerd/2011/06/tales_from_the_cms_demo_chair.html</link>
	<description>&lt;p&gt;So as you might guess – over the last 10 years of working with all sorts of customers on Web Content Management projects – we’ve got a bunch of stories to tell.  And, honestly, we’ve got a few lessons learned as well.   &lt;/p&gt;

&lt;p&gt;So, over the next 10 weeks – what we’re going to do is roll out a series of blog posts telling a few of these stories and lessons learned.  The reason it’s called “tales from the demo chair” is that many of these lessons are learned learning about customer’s CMS challenges for the first time – when I give that first demo.   One of the most mysterious parts of the CMS process is when you’re trying to decide which one to buy.&lt;/p&gt;

&lt;p&gt;We’ll talk about lots of things – from how a WCMS is like a Bike – or how buying a new CMS is like replacing your washing machine – to why you should avoid Microsoft Excel spreadsheets when you’re putting together your RFP – and even why your content editors might be the last people you want to consider in your CMS choice.&lt;/p&gt;

&lt;p&gt;We hope you’ll join us over the next 10 weeks – and of course you can tell me your own experiences as well by emailing me @ t(dot)brenninkmeijer(at)onehippo(dot)com or send a tweet to &lt;a href=&quot;http://twitter.com/tbrenninkmeijer&quot;&gt;http://twitter.com/tbrenninkmeijer&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;img alt=&quot;hope hippo - allora calzadilla&quot; src=&quot;http://blogs.onehippo.org/tjeerd/hope%20hippo%20-%20allora%20calzadilla.png&quot; width=&quot;447&quot; height=&quot;294&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;</description>
	<pubDate>Wed, 08 Jun 2011 14:01:08 +0000</pubDate>
</item>
<item>
	<title>Mathijs Brand (Hippo): On metadata in your web environment - part 1</title>
	<guid>tag:blogger.com,1999:blog-862413798174121061.post-3120125113896426894</guid>
	<link>http://mathijsbrand.blogspot.com/2011/06/on-metadata-in-your-web-environment.html</link>
	<description>&lt;p&gt;
A lot of things are said about the use of metadata in a web environment. And rightfully so, metadata is important. That's why I want to do a couple of blog posts about this topic. This being the first: Which part of metadata is really important and which part isn't and how does it work in Hippo CMS?
&lt;/p&gt;
&lt;p&gt;
Let's start with a definition of metadata:&lt;/p&gt;
&lt;blockquote&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Metadata&quot;&gt;Wikipedia&lt;/a&gt;: Metadata (metacontent) is defined as data providing information about one or more aspects of the data&lt;/blockquote&gt;

&lt;p&gt;
Alright, so metadata is not really part of the content, but tells us something about the content. This page is in English, so we could have a property on this document which tell us it's in English, like so: 
&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Metadata&quot;&gt;&lt;/a&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;/p&gt;</description>
	<pubDate>Mon, 06 Jun 2011 02:02:00 +0000</pubDate>
	<dc:creator>noreply@blogger.com (Mathijs Brand)</dc:creator>
</item>
<item>
	<title>Jeroen Verberg (Hippo): The Future Of Content Management Is About Empowering Audiences</title>
	<guid>http://jverberg.posterous.com/the-future-of-content-management-is-about-emp</guid>
	<link>http://jverberg.posterous.com/the-future-of-content-management-is-about-emp</link>
	<description>&lt;p&gt;
	&lt;p&gt;I&amp;rsquo;m just back and caught up with all the follow-ups from the Gartner Portals &amp;amp; Collaboration Summit in Los Angeles, where Hippo was proud to be a participant and exhibitor.&lt;/p&gt;
&lt;p&gt;One of the things that struck me most about the conference was how close</description>
	<pubDate>Mon, 11 Apr 2011 20:21:00 +0000</pubDate>
</item>
<item>
	<title>Jasha Joachimsthal (Hippo): Send email with iCalendar events from your website</title>
	<guid>http://www.jasha.eu/blogposts/2011/04/send-email-with-icalendar-events-from-your-website.html</guid>
	<link>http://www.jasha.eu/blogposts/2011/04/send-email-with-icalendar-events-from-your-website.html</link>
	<description>&lt;div&gt;&lt;p&gt;Let's say your website or intranet contains information about events,
seminars or courses. Your visitors can view them and subscribe online to attend
the events. Wouldn't it be nice if they receive an email that contains all the
event data in the right format for their calendaring system so they don't have
to enter all the data by hand? In this blog post I'll explain how to generate an
&lt;a href=&quot;http://en.wikipedia.org/wiki/ICalendar&quot; title=&quot;iCalendar on Wikipedia&quot;&gt;iCalendar&lt;/a&gt;
file from event data managed in Hippo CMS. I assume you have already reached the
&lt;a href=&quot;https://wiki.onehippo.com/display/CMS7/Grazing+Hippo&quot;&gt;Grazing Hippo&lt;/a&gt;
level.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Add the
&lt;a href=&quot;http://wiki.modularity.net.au/ical4j/index.php?title=Maven2&quot;&gt;iCal4j&lt;/a&gt;,
&lt;a href=&quot;http://commons.apache.org/email/&quot;&gt;Commons Email&lt;/a&gt;,
&lt;a href=&quot;https://glassfish.dev.java.net/javaee5/mail/&quot;&gt;javamail&lt;/a&gt; and
&lt;a href=&quot;http://java.sun.com/products/javabeans/jaf/index.jsp&quot;&gt;activation&lt;/a&gt;
depencies to your project&lt;/li&gt;
&lt;li&gt;Create a content type that has at least a title, two date fields, and a
(plain text) summary field (or implement this
&lt;a href=&quot;http://www.jasha.eu/binaries/content/assets/2011/icalendar/ieventdocument.java&quot;&gt;IEventDocument&lt;/a&gt;).&lt;/li&gt;
&lt;li&gt;Create an HST component and a (JSP) template. In the JSP template, create a
form in which the visitor can fill in his or her email address.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Now that the basics are set up, you can add the logic to your component.&lt;/p&gt;

&lt;p&gt;To create a (ical4j) Calendar:&lt;/p&gt;

&lt;pre class=&quot;brush: java&quot;&gt; /**
 * Creates {@link net.fortuna.ical4j.model.Calendar} object with the {@link VEvent}
 *
 * @param eventDocument instance of {@link IEventDocument}
 * @param invitee       email address of the calendar owner
 * @return {@link net.fortuna.ical4j.model.Calendar}
 */
net.fortuna.ical4j.model.Calendar createEventCalendar(final IEventDocument eventDocument, final String invitee) {
    net.fortuna.ical4j.model.Calendar calendar = new net.fortuna.ical4j.model.Calendar();
    calendar.getProperties().add(new ProdId(&quot;-//Hippo Event Calendar//iCal4j 1.0//EN&quot;));
    calendar.getProperties().add(Version.VERSION_2_0);
    calendar.getProperties().add(CalScale.GREGORIAN);

    VEvent vEvent = createVEvent(eventDocument, invitee);

    calendar.getComponents().add(vEvent);
    return calendar;
}
&lt;/pre&gt;

&lt;p&gt;It calls our own createVEvent method which contains the logic of mapping the
IEventDocument with the VEvent. It does not check if the event is an all day
event. You could do that by parsing the date fields from the CMS or just add a
checkbox to your event template and use that. An other issue to think about is
the timezone information. Now we send an iCalendar invitation that assumes both
the editor and the visitor are in the same timezone.&lt;/p&gt;

&lt;pre class=&quot;brush: java&quot;&gt;/**
 * Creates {@link VEvent} using values from the eventDocument
 *
 * @param eventDocument instance of {@link IEventDocument}
 * @param invitee       email address of the calendar owner
 * @return {@link VEvent}
 * @throws HstComponentException if no {@link Uid} can be generated for the event
 */
VEvent createVEvent(final IEventDocument eventDocument, final String invitee) {
    Date start = new DateTime(eventDocument.getDate().getTime());
    Date end = new DateTime(eventDocument.getEndDate().getTime());
    VEvent vEvent = new VEvent(start, end, eventDocument.getTitle());
    Uid uid = new Uid(eventDocument.getCanonicalHandleUUID());
    vEvent.getProperties().add(uid);
    // EventDocument title =&amp;gt; vEvent summary
    // EventDocument summary =&amp;gt; vEvent description
    if (StringUtils.isNotBlank(eventDocument.getSummary())) {
        vEvent.getProperties().add(new Description(eventDocument.getSummary()));
    }
    Organizer organizer = new Organizer(URI.create(&quot;mailto:&quot; + invitee));
    vEvent.getProperties().add(organizer);
    return vEvent;
}
&lt;/pre&gt;

&lt;p&gt;So now that we have the necessary objects, all we need to do is create send
the email.&lt;/p&gt;

&lt;pre class=&quot;brush: java&quot;&gt;/**
 * Sends an email message with the event as (iCalendar) attachment
 *
 * @param eventDocument instance of {@link IEventDocument}
 * @param mailTo        email address that receives the invitation
 * @param mailHost      smtp host name
 * @param mailPort      smtp host port
 * @param mailFrom      from email address
 */
private void sendMail(final IEventDocument eventDocument, final String mailTo,
                      final String mailHost, final int mailPort, final String mailFrom) {
    Calendar calendar = createEventCalendar(eventDocument, mailTo);
    byte[] attachmentData = calendarAsByteArray(calendar);

    MultiPartEmail email = new MultiPartEmail();
    email.setHostName(mailHost);
    email.setSmtpPort(mailPort);

    try {
        email.addTo(mailTo);
        email.setFrom(mailFrom);
        email.setSubject(eventDocument.getTitle());
        email.setMsg(eventDocument.getSummary());
        String name = eventDocument.getName() + &quot;.ics&quot;;
        String contentType = String.format(&quot;text/calendar; name=\&quot;%s\&quot;&quot;, name);
        email.attach(new ByteArrayDataSource(attachmentData, contentType),
                name, &quot;&quot;, EmailAttachment.ATTACHMENT);
        email.send();
    } catch (EmailException e) {
        throw new HstComponentException(&quot;Failed to send mail with event info&quot;, e);
    }
}

/**
 * Converts {@link net.fortuna.ical4j.model.Calendar} to a byte[]
 *
 * @param iCalendar {@link Calendar}
 * @return byte[] of the Calendar
 * @throws HstComponentException if the Calendar is invalid or its output can't be written
 */
private byte[] calendarAsByteArray(final Calendar iCalendar) {
    byte[] bytes;
    try {
        ByteArrayOutputStream output;
        output = new ByteArrayOutputStream();
        CalendarOutputter outputter = new CalendarOutputter();
        outputter.output(iCalendar, output);
        bytes = output.toByteArray();
    } catch (ValidationException e) {
        throw new HstComponentException(&quot;Could not validate iCalendar&quot;, e);
    } catch (IOException e) {
        throw new HstComponentException(&quot;Could not write iCalendar to stream&quot;, e);
    }
    return bytes;
}&lt;/pre&gt;

&lt;p&gt;Override BaseHstComponent#doAction to collect the mail settings and send the
mail.&lt;/p&gt;

&lt;pre class=&quot;brush: java&quot;&gt;/**
 * Sends the event data as iCalendar attachment to the site visitor
 * &amp;lt;p/&amp;gt;
 * Necessary HST component parameters
 * &amp;lt;dl&amp;gt;
 * &amp;lt;dt&amp;gt;mailhost&amp;lt;/dt&amp;gt;
 * &amp;lt;dd&amp;gt;SMTP server hostname&amp;lt;/dd&amp;gt;
 * &amp;lt;dt&amp;gt;mailport&amp;lt;/dt&amp;gt;
 * &amp;lt;dd&amp;gt;SMTP server port number&amp;lt;/dd&amp;gt;
 * &amp;lt;dt&amp;gt;fromAddress&amp;lt;/dt&amp;gt;
 * &amp;lt;dd&amp;gt;&quot;From&quot; address of the mail&amp;lt;/dd&amp;gt;
 * &amp;lt;/dl&amp;gt;
 * {@inheritDoc}
 */
@Override
public void doAction(HstRequest request, HstResponse response) throws HstComponentException {
    String invitee = request.getParameter(&quot;email&quot;);
    if (StringUtils.isBlank(invitee)) {
        return;
    }

    HippoBean document = getContentBean(request);
    if (!(document instanceof IEventDocument)) {
        return;
    }
    IEventDocument eventDocument = (IEventDocument) document;

    String mailHost = getParameter(&quot;mailhost&quot;, request);
    int mailPort = Integer.parseInt(getParameter(&quot;mailport&quot;, request));
    String mailFrom = getParameter(&quot;fromAddress&quot;, request);
    sendMail(eventDocument, invitee, mailHost, mailPort, mailFrom);

}
&lt;/pre&gt;

&lt;p&gt;You now have all the logic to send the email with the iCalendar attachment,
which looks like:&lt;/p&gt;

&lt;p&gt;
 &lt;img src=&quot;http://www.jasha.eu/binaries/content/gallery/2011/icalendar-in-mail.png&quot; alt=&quot;Screenshot of iCalendar mail in GMail&quot; /&gt;
&lt;/p&gt;&lt;/div&gt;</description>
	<pubDate>Mon, 04 Apr 2011 09:01:18 +0000</pubDate>
	<dc:creator>Jasha Joachimsthal</dc:creator>
</item>
<item>
	<title>Bas van Leeuwen (Hippo): Skiing!</title>
	<guid>tag:blogger.com,1999:blog-6364779749127996620.post-2923860268654313340</guid>
	<link>http://hippobas.blogspot.com/2011/03/skiing.html</link>
	<description>&lt;div class=&quot;separator&quot;&gt;&lt;a href=&quot;https://lh4.googleusercontent.com/-UvNZ6ulDaTE/TYI1r20STkI/AAAAAAAAACY/XLY65zyETI8/s1600/DSCN4194.JPG&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;640&quot; src=&quot;https://lh4.googleusercontent.com/-UvNZ6ulDaTE/TYI1r20STkI/AAAAAAAAACY/XLY65zyETI8/s640/DSCN4194.JPG&quot; width=&quot;480&quot; /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;Well into its &lt;a href=&quot;http://www.onehippo.com/en/company/about&quot;&gt;12th year of existence&lt;/a&gt;, it was time to celebrate… Hippo’s 10th anniversary! :-)&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot;&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot;&gt;&lt;a href=&quot;https://lh3.googleusercontent.com/-1Kq4nNPB_O4/TYI1s2QFWOI/AAAAAAAAACc/SuP1nf2FLNc/s1600/hippo+friday+blog.jpg&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;300&quot; src=&quot;https://lh3.googleusercontent.com/-1Kq4nNPB_O4/TYI1s2QFWOI/AAAAAAAAACc/SuP1nf2FLNc/s400/hippo+friday+blog.jpg&quot; width=&quot;400&quot; /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;All Hippos were invited to join for a weekend of snowy fun in Winterberg! Starting with a long bus ride on Friday morning. Of course some people were busily typing away on their UMTS-enables laptops... the show must go on! We arrived in winter paradise just after lunch. No fifteen minutes passed after disembarking the bus before everyone was equipped with skis and onto the slopes.&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot;&gt;&lt;a href=&quot;https://lh4.googleusercontent.com/-hRwUS1wP9M0/TYI1uQjM36I/AAAAAAAAACg/qKZyRlFLUWo/s1600/hippo+friday+blog-1.jpg&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;300&quot; src=&quot;https://lh4.googleusercontent.com/-hRwUS1wP9M0/TYI1uQjM36I/AAAAAAAAACg/qKZyRlFLUWo/s400/hippo+friday+blog-1.jpg&quot; width=&quot;400&quot; /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;With everyone well exercised and winded it was time to check into our &lt;a href=&quot;http://www.sonneneck-zueschen.de/&quot;&gt;Hotel&lt;/a&gt;&amp;nbsp;and enjoy a relaxing three course dinner, some light beers or wine and enjoy a presentation by Jeroen, &lt;a href=&quot;http://www.onehippo.com/en/company/management&quot;&gt;our CEO&lt;/a&gt;.&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot;&gt;&lt;a href=&quot;https://lh5.googleusercontent.com/-so2ADfJ3UVk/TYI1rPPCaUI/AAAAAAAAACU/dP9Z-Rl3vY8/s1600/DSCN4022.JPG&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;300&quot; src=&quot;https://lh5.googleusercontent.com/-so2ADfJ3UVk/TYI1rPPCaUI/AAAAAAAAACU/dP9Z-Rl3vY8/s400/DSCN4022.JPG&quot; width=&quot;400&quot; /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;Besides informing all Hippos of the (financial) results of last year and long-term strategy, Jeroen also unveiled a new initiative: the &lt;a href=&quot;http://hippobas.blogspot.com/2011/03/thank-god-its-hippo-friday.html&quot;&gt;Hippo Friday&lt;/a&gt;.&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;The morning brought another day of skiing, dinner at Benny's Kartoffelkiste (potato box) and an extravagant late-night fest in Europe's biggest après-ski bar: &lt;a href=&quot;http://www.alpenrausch.de/&quot;&gt;Alpenrausch!&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;Now, for obvious reasons I am not able to post most of the pictures taken that night, but I will leave you with one that gives a proper impression of the night and the entire weekend itself: it was FUN!&lt;/span&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot;&gt;&lt;a href=&quot;https://lh3.googleusercontent.com/-yvJLuqDJ9qo/TYc0A2z0jBI/AAAAAAAAACo/3BY8mNuznlA/s1600/DSCN4171.JPG&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;300&quot; src=&quot;https://lh3.googleusercontent.com/-yvJLuqDJ9qo/TYc0A2z0jBI/AAAAAAAAACo/3BY8mNuznlA/s400/DSCN4171.JPG&quot; width=&quot;400&quot; /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;/ul&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width=&quot;1&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/6364779749127996620-2923860268654313340?l=hippobas.blogspot.com&quot; alt=&quot;&quot; /&gt;&lt;/div&gt;</description>
	<pubDate>Fri, 25 Mar 2011 12:30:00 +0000</pubDate>
	<dc:creator>noreply@blogger.com (Bas van Leeuwen)</dc:creator>
</item>
<item>
	<title>Jeroen Verberg (Hippo): Having fun</title>
	<guid>http://jverberg.posterous.com/having-fun</guid>
	<link>http://jverberg.posterous.com/having-fun</link>
	<description>&lt;p&gt;
	&lt;p&gt;I am not a social media genius, don't have too many online friends, just a few. But last Friday&amp;nbsp;&lt;a href=&quot;http://whatser.com/&quot; target=&quot;_blank&quot;&gt;Whatser&lt;/a&gt;&amp;nbsp;turned my otherwise mediocre Friday night into a blast..&amp;nbsp;Seriously. Whatser works!&lt;/p&gt;
&lt;p class=&quot;p2&quot;&gt;I was at the Spring</description>
	<pubDate>Thu, 24 Mar 2011 10:06:00 +0000</pubDate>
</item>
<item>
	<title>Mathijs Brand (Hippo): Top 10 reasons for open source success - Is the Hippo up to the task?</title>
	<guid>tag:blogger.com,1999:blog-862413798174121061.post-7399428248546916990</guid>
	<link>http://mathijsbrand.blogspot.com/2011/03/top-10-reasons-for-open-source-success.html</link>
	<description>&lt;p&gt;In real life, a Hippo is a fairly quick animal. It can run up to 25 mph (40 km/h). I even heard rumors of people saying the animal passed at a striking 30mph! That's an amazing pace. Even more so if you realize they weigh around 4,000 lb (1.800 kg). Unbelievable.
&lt;/p&gt;
&lt;div class=&quot;separator&quot;&gt;
&lt;a href=&quot;http://3.bp.blogspot.com/-Mnee5jtlN4g/TYf5RReIdiI/AAAAAAAAADs/aBE-QMH1yck/s1600/Cambridge-20110321-00060.jpg&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;240&quot; width=&quot;320&quot; src=&quot;http://3.bp.blogspot.com/-Mnee5jtlN4g/TYf5RReIdiI/AAAAAAAAADs/aBE-QMH1yck/s320/Cambridge-20110321-00060.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;A blogging Hippo however isn't always that fast. Almost two months ago &lt;a href=&quot;http://thechangelog.com&quot;&gt;thechangelog&lt;/a&gt; posted a blog &lt;a href=&quot;http://thechangelog.com/post/3032074343/top-ten-reasons-why-i-wont-use-your-open-source-project&quot;&gt;summing up the top 10 reasons why an open source project is not used&lt;/a&gt;. A couple of days later, Stefane Fermigier of Nuxeo ECM posted &lt;a href=&quot;http://blogs.nuxeo.com/fermigier/2011/02/top-10-reasons-for-open-source-success-how-does-nuxeo-stack-up.html&quot;&gt;a reply asking &quot;How does Nuxeo stack up?&quot;&lt;/a&gt;. As for the Hippo, well... unlike the real animal. This Hippo runs a little late. You're lucky you didn't really wait for him. Crossing the finish line 50 days behind to finally form a response. Weighing each word carefully with his 4,000 lb of body weight. So today is the day that the Hippo finally hopes to cross the finish line. &lt;/p&gt;
&lt;p&gt;
It seems like Nuxeo did stack up to all the questions and maybe therefor is used and supported by an engaged community of developers. Is Hippo up to the same task? You'll soon find out. But before we start. Why don't we give our little guy a cheer? Hurray. Hippo. Hurray.
&lt;/p&gt;

&lt;p&gt;
The ten questions:
&lt;/p&gt;
&lt;p&gt;
&lt;b&gt;1. You don’t have a friggin’ Readme&lt;/b&gt;&lt;br /&gt;
All info can be found at &lt;a href=&quot;http://www.onehippo.org/&quot;&gt;our project's website&lt;/a&gt;. It includes &lt;a href=&quot;https://wiki.onehippo.com/display/CMS7/Hippo+Trail&quot;&gt;installation instructions&lt;/a&gt;, &lt;a href=&quot;http://lists.onehippo.org/mailman/listinfo/Hippo-cms7-user&quot;&gt;links to register on mailingslists&lt;/a&gt;, &lt;a href=&quot;https://issues.onehippo.com/browse/CMS7&quot;&gt;our bugtracking system&lt;/a&gt;,  &lt;a href=&quot;http://www.ohloh.net/p/hippocms7&quot;&gt;which developers contribute to the source code&lt;/a&gt; and it describes which other open source projects have been used. Hippo likes to repay the open source communities by participating in these projects. Either by contributing code or helping other developers on mailinglists. Since our external source code mostly relies on projects from &lt;a href=&quot;http://www.apache.org/&quot;&gt;the Apache software foundation&lt;/a&gt;, Hippo likes to sponsor and participate at &lt;a href=&quot;http://www.onehippo.com/en/events/2010/11/ApacheCon-North-America.html&quot;&gt; their conferences&lt;/a&gt;. 
&lt;/p&gt; 

&lt;p&gt;
&lt;b&gt;2. You don’t include tests, specs, features, examples&lt;/b&gt;&lt;br /&gt;

We use &lt;a href=&quot;https://builds.onehippo.org/&quot;&gt;Hudson&lt;/a&gt; and &lt;a href=&quot;https://analysis.onehippo.org/&quot;&gt;Sonar&lt;/a&gt; to continuously monitor the projects.&lt;p&gt;
&lt;p&gt; The features and possibilities are best described at our company website: &lt;a href=&quot;http://www.onehippo.com&quot;&gt;www.onehippo.com&lt;/a&gt;. Each plugin for Hippo CMS usually contains an example and documentation. A showcase demo website can be found &lt;a href=&quot;http://www.onehippo.com/en/products/cms/try&quot;&gt;here
&lt;/a&gt;. It features a website for a non-existing sustainable company called Hippo Go Green. We tried to make a showcase project combining widely used plugins while keeping the demo  simple enough for people to understand. If you're missing features or have any other suggestions, I would surely appreciate your feedback. You can mail me directly (mdotbrandatonehippodotcom) or add a comment on this blog. 
&lt;/p&gt;

&lt;p&gt;
&lt;b&gt;3. You have no project home page&lt;/b&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.onehippo.org&quot;&gt;http://www.onehippo.org&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
&lt;b&gt;4. You need design help&lt;/b&gt;&lt;br /&gt;

For new features we often make a couple of prototypes and organize usability testing during the whole process. This generally results in a user interface that is both very user friendly and cool :) 
&lt;div class=&quot;separator&quot;&gt;
&lt;a href=&quot;http://2.bp.blogspot.com/-BmJcJ4wV3K4/TYis3vaRTtI/AAAAAAAAAEE/DKsFbnRtsw0/s1600/top-improvements.JPG&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;200&quot; width=&quot;150&quot; src=&quot;http://2.bp.blogspot.com/-BmJcJ4wV3K4/TYis3vaRTtI/AAAAAAAAAEE/DKsFbnRtsw0/s200/top-improvements.JPG&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
If you want to keep track of the latest and greatest interaction designs or even participate now and then to make the product better? Great! You can start by reading &lt;a href=&quot;http://rolfvandersteen.blogspot.com/2010/08/results-hippo-gettogether-usability.html&quot;&gt;Rolf van der Steen's blog&lt;/a&gt; and participate in his experiments. 
&lt;/p&gt;

&lt;p&gt;
&lt;b&gt;
5. You don’t have a domain name&lt;/b&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.onehippo.com&quot;&gt;onehippo.com&lt;/a&gt; and &lt;a href=&quot;http://www.onehippo.org&quot;&gt;onehippo.org&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;b&gt;
6. You don’t have a Twitter Account
&lt;/b&gt;&lt;br /&gt;
We have one account for all Hippo related twittering: &lt;a href=&quot;http://twitter.com/#!/OneHippo&quot;&gt;http://twitter.com/#!/OneHippo&lt;/a&gt;. Our blogs, like this one, can be found on &lt;a href=&quot;http://planet.onehippo.org/&quot;&gt;planet.onehippo.org/&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
&lt;b&gt;
7. Your licensing is unclear&lt;/b&gt;&lt;br /&gt;

That's an insult ;) We have a &lt;a href=&quot;http://svn.onehippo.org/repos/hippo/hippo-cms7/project/trunk/LICENSE.txt&quot;&gt;license.txt&lt;/a&gt; in the svn code repository of each project. A general description can be found on our &lt;a href=&quot;http://www.onehippo.org&quot;&gt;www.onehippo.org&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;So how do we make money? Check out &quot;what we sell&quot; on &lt;a href=&quot;http://www.onehippo.com&quot;&gt;www.onehippo.com&lt;/a&gt;. 
&lt;/p&gt;

&lt;p&gt;
&lt;b&gt;
8. You don’t reach out to me&lt;/b&gt; &lt;br /&gt;

We often organize webinars;  always announced &lt;a href=&quot;http://www.onehippo.com/en/events&quot;&gt;on our company website&lt;/a&gt; and free to join. Of course we &lt;a href=&quot;http://twitter.com/#!/OneHippo&quot;&gt;twitter&lt;/a&gt; about them as well.  
We have &lt;a href=&quot;http://www.linkedin.com/groups?mostPopular=&amp;gid=1778841&quot;&gt;a user group on linkedin&lt;/a&gt;. Video's can be found &lt;a href=&quot;http://vimeo.com/arjecahn/channels&quot;&gt;here&lt;/a&gt; including &lt;a href=&quot;http://vimeo.com/20366570&quot;&gt;one that will help you start developing in no time&lt;/a&gt;. The best responses for (technical) questions by developers can be found on our &lt;a href=&quot;http://www.onehippo.org/cms7/support/forums.html&quot;&gt;mailing lists / forum&lt;/a&gt;. You'll generally receive great responses if you're new or found a difficult problem to solve. If you want us to invest more time to help you succeed? We offer guaranteed response times and a personal touch through our &lt;a href=&quot;http://www.onehippo.com/en/support/subscriptions&quot;&gt;support subscriptions&lt;/a&gt;. We have one that fits in any situation. 

&lt;/p&gt;

&lt;p&gt;&lt;b&gt;
9. You don’t speak about your project at conferences and meetups&lt;/b&gt;&lt;br /&gt;
Sure we do. Why don't you join our &lt;a href=&quot;http://gettogether.onehippo.org/&quot;&gt;get togethers&lt;/a&gt;? We regularly organize them and we're announcing one again soon. Just sign up ;) Next week we're at the  &lt;a href=&quot;http://www.onehippo.com/en/events/2011/03/hippo-is-sponsoring-the-gartner-portals-content--collaboration-summit-2011.html&quot;&gt;Gartner summit in LA&lt;/a&gt;. Feel free to visit us at our stand.&lt;/p&gt;

&lt;div class=&quot;separator&quot;&gt;
&lt;a href=&quot;http://gettogether.onehippo.org/photos/1032517/17460414/#17460421&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;240&quot; width=&quot;320&quot; src=&quot;http://1.bp.blogspot.com/-18OKOx7dawo/TYirUKCqahI/AAAAAAAAAD0/lnO_OKNI1Qs/s320/600_17460414.jpeg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;

&lt;p&gt;
If you're interested in having a meetup near you? Ping us on &lt;a href=&quot;http://twitter.com/#!/OneHippo&quot;&gt;twitter&lt;/a&gt;! 
&lt;/p&gt;

&lt;p&gt;&lt;b&gt;
10. You didn’t submit it to The Changelog&lt;/b&gt;&lt;br /&gt;
Your slogan reads: &quot;Open source moves fast, keep up&quot;. Okay, from a blogging perspective we're clearly not up to that task yet. But I'm pinging you right about now. 
&lt;/p&gt;

&lt;p&gt;Hurray!
&lt;/p&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width=&quot;1&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/862413798174121061-7399428248546916990?l=mathijsbrand.blogspot.com&quot; alt=&quot;&quot; /&gt;&lt;/div&gt;</description>
	<pubDate>Tue, 22 Mar 2011 21:01:18 +0000</pubDate>
	<dc:creator>noreply@blogger.com (Mathijs Brand)</dc:creator>
</item>
<item>
	<title>Bas van Leeuwen (Hippo): Thank God It's Hippo Friday</title>
	<guid>tag:blogger.com,1999:blog-6364779749127996620.post-4078964436046884670</guid>
	<link>http://hippobas.blogspot.com/2011/03/thank-god-its-hippo-friday.html</link>
	<description>&lt;a href=&quot;http://www.onehippo.com/&quot;&gt;Hippo&lt;/a&gt;&amp;nbsp;has launched a new initiative: the Hippo Friday. A day in which each and every Hippo employee is in the Amsterdam office. No client work is planned in, (project) managers are not allowed to schedule anything on that day.&lt;br /&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a href=&quot;http://img104.imageshack.us/img104/1760/pcatsserviceparticipantqzx.jpg&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;300&quot; src=&quot;http://img104.imageshack.us/img104/1760/pcatsserviceparticipantqzx.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot;&gt;Stolen from:&amp;nbsp;http://agileconsulting.blogspot.com/ :-)&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;b&gt;So, what &lt;i&gt;are&lt;/i&gt; we going to do?&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;/b&gt;That’s up to everyone! At the beginning of a Hippo Friday everyone is able to pitch his/her project, if others like it and are willing to join in, go and do it! There is only one restriction: it needs to have potential to add value to Hippo, its customers or &lt;a href=&quot;http://www.onehippo.com/en/products/cms&quot;&gt;their audience&lt;/a&gt;.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Hippo already has 15 full-time employees working in R&amp;amp;D, &lt;a href=&quot;http://www.onehippo.org/&quot;&gt;giving away&lt;/a&gt; everything they create. Now the professional services and support departments are joining in, adding another 10% of non-billable time to the already enormous investment in Hippo CMS and our clients. Even so, we are convinced that this will improve our company in many (unforeseen) ways.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a href=&quot;https://lh3.googleusercontent.com/-qOtNfhy7vDE/TYI1vD5gr_I/AAAAAAAAACk/TBSGYVPldNY/s1600/photo-1.jpg&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;298&quot; src=&quot;https://lh3.googleusercontent.com/-qOtNfhy7vDE/TYI1vD5gr_I/AAAAAAAAACk/TBSGYVPldNY/s400/photo-1.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot;&gt;Result of a brainstorm session&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div&gt;&lt;b&gt;Why spend this time?&lt;/b&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;Unleashing the enormous potential in the Hippo pool;&lt;/li&gt;&lt;li&gt;Remove restrictions by the full-pressure planning;&lt;/li&gt;&lt;li&gt;More inter-colleague&amp;nbsp;contact was needed.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;We found that with the rising popularity of Hippo consultants it was hard to get everyone in the office at the same time, contact with colleagues was sorely being missed by many.&amp;nbsp;Knowledge was not shared enough. Hippos simply are herd animals :-)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Won’t this hurt customers?&lt;/b&gt;&lt;/div&gt;&lt;div&gt;No.&lt;/div&gt;&lt;div&gt;In the short term this measure limits the availability of Hippos from 80 to 72 hours in two weeks and yes, that might not be beneficial to specific projects at specific times. Note that this will never interfere with us helping clients who have a support subscription.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Take the long view and you will see that it will enhance the product, make new features available and improve documentation and processes company wide.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Can you already give some examples?&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Well yes, thank you for asking, below a selection of achievements (remember, we’ve only had three Fridays so far)&lt;/div&gt;&lt;ul&gt;&lt;li&gt;HST Config – automated backup and rollback facilities&lt;/li&gt;&lt;li&gt;Red5 integration&lt;/li&gt;&lt;li&gt;HTML compatibility checklist&lt;/li&gt;&lt;li&gt;Selenium integration&lt;/li&gt;&lt;li&gt;Console improvements&lt;/li&gt;&lt;li&gt;CMS announcements / messaging&lt;/li&gt;&lt;li&gt;An internal Wicket-plugin training&lt;/li&gt;&lt;li&gt;RFP Knowledgebase&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;span&gt;[2012 update: we've found that bi-weekly is too much, it made the day &quot;normal&quot; and we've reduced the frequency to once every four weeks]&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width=&quot;1&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/6364779749127996620-4078964436046884670?l=hippobas.blogspot.com&quot; alt=&quot;&quot; /&gt;&lt;/div&gt;</description>
	<pubDate>Tue, 22 Mar 2011 09:01:31 +0000</pubDate>
	<dc:creator>noreply@blogger.com (Bas van Leeuwen)</dc:creator>
</item>
<item>
	<title>Mathijs Brand (Hippo): Hippo in Boston</title>
	<guid>tag:blogger.com,1999:blog-862413798174121061.post-2696717774146122844</guid>
	<link>http://mathijsbrand.blogspot.com/2011/03/hippo-in-boston.html</link>
	<description>&lt;div class=&quot;separator&quot;&gt;
      &lt;a href=&quot;http://1.bp.blogspot.com/-tqYYtzz2cqs/TX_ABnOR45I/AAAAAAAAAC8/kcfT7DmisIY/s1600/IMG00179-20110315-1347.jpg&quot;&gt;
        &lt;img border=&quot;0&quot; height=&quot;320&quot; width=&quot;240&quot; src=&quot;http://1.bp.blogspot.com/-tqYYtzz2cqs/TX_ABnOR45I/AAAAAAAAAC8/kcfT7DmisIY/s320/IMG00179-20110315-1347.jpg&quot; alt=&quot;Just outside the office&quot; /&gt;
      &lt;/a&gt;
    &lt;/div&gt;
    &lt;p&gt;It's been just over a week now, since Hippo opened up the Boston office. Colleagues, implementation partners, clients and friends have been asking me what the place looks like. Here's a first impression. Hope you like it as much as I do. 
&lt;/p&gt; 

&lt;p&gt;
The Hippo Boston office is
      &lt;a href=&quot;http://maps.google.com/maps?f=q source=s_q hl=en geocode= q=1+Broadway,+Cambridge,+MA aq=0 sll=52.373056,4.892222 sspn=0.290093,1.056747 ie=UTF8 hq= hnear=1+Broadway,+Cambridge,+Middlesex,+Massachusetts+02142 ll=42.361794,-71.082766 spn=0.010972,0.033023 z=16 iwloc=A&quot;&gt;located&lt;/a&gt;
      next to the Kendall / MIT subway stop (red line). You can be in Boston Central or at the airport in a matter of minutes. And of course, you can also park your car.
    &lt;/p&gt;
&lt;div class=&quot;separator&quot;&gt;
&lt;a href=&quot;http://4.bp.blogspot.com/-R2JDbiJY2Dc/TX_2QIuOJeI/AAAAAAAAADc/nu1s9z8Zblc/s1600/IMG00180-20110315-1358.jpg&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; width=&quot;240&quot; src=&quot;http://4.bp.blogspot.com/-R2JDbiJY2Dc/TX_2QIuOJeI/AAAAAAAAADc/nu1s9z8Zblc/s320/IMG00180-20110315-1358.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;



    &lt;p&gt;The surrounding high tech companies and innovative MIT startups create a great working atmosphere. It's nice and quiet most of the time. Mostly because there are phone booths when you need to make a call; a feature that has been requested for years on end by my Dutch colleagues. Well guys, you can finally work peacefully.
&lt;/p&gt;

&lt;p&gt;Now turn on your sound system and play the video below...&lt;/p&gt;

&lt;p&gt;That's right, you hardly hear anything. Nice, huh ;)&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Meeting rooms&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;An example of something I specifically like about the building. We share meeting rooms on a first come, first serve basis. The system to reserve the room is so nice, you'd almost reserve the room, just because it's so neat to reserve the room. Watch the video:&lt;/p&gt;

    

&lt;p&gt;&lt;b&gt;A great city&lt;/b&gt;&lt;/p&gt;
&lt;div class=&quot;separator&quot;&gt;
&lt;a href=&quot;http://4.bp.blogspot.com/-GiuImET8aOg/TX_5J6F72WI/AAAAAAAAADk/iqN2bxsbmG8/s1600/IMG00181-20110315-1706.jpg&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; width=&quot;240&quot; src=&quot;http://4.bp.blogspot.com/-GiuImET8aOg/TX_5J6F72WI/AAAAAAAAADk/iqN2bxsbmG8/s320/IMG00181-20110315-1706.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;


    &lt;p&gt;
      Boston is great. Universities always give a city a nice touch. And saying Boston has a couple of them would be a big understatement. I specifically like &lt;a href=&quot;http://www.cityofboston.gov/bikes/&quot;&gt;the initiatives to encourage biking around the city&lt;/a&gt;. It matches well with the Hippo credo to provide each employee a bicycle. Not surprisingly. It's nice to bike to work. Not just because it's healthy, mostly because it's fast.&lt;/p&gt;
&lt;p&gt; By the way. The bike in the picture is a Hippo bike and that little orange dot riding the bike is a Hippo :) This Thursday I'll probably see a lot more of the city as Saint Patrick's Day is coming up. I'm supposed to be getting ready for it. Okay. I think I am ready.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;So, why an office in Boston?&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Hippo came to Boston to better serve the growing number of East Coast clients and partners. We've seen an astonishing amount of interest coming our way as Hippo CMS is &lt;a href=&quot;http://www.onehippo.com/en/solutions/case-studies&quot;&gt;clearly capable of serving the largest web properties in the world&lt;/a&gt; and more and more Americans start to experience our products. Yes, word of mouth is still a powerful marketing tool. Furthermore, most medium to large companies realize open source isn't just a viable alternative to closed source, &lt;a href=&quot;http://www.uschambermagazine.com/article/open-source-goes-mainstream&quot;&gt;it's becoming mainstream&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;A second big reason to come to Boston is the time difference with Amsterdam compared to Amsterdam / San Francisco. We can just work better together to integrate our development efforts.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Looking for an interesting job?&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;As a last note... if you're interested in working for us as a developer in our brand new Boston office? Feel free to get in touch. &lt;a href=&quot;http://www.onehippo.com/en/company/career/job-opening?backpage=en/company/career&quot;&gt;We are hiring...&lt;/a&gt;&lt;/p&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width=&quot;1&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/862413798174121061-2696717774146122844?l=mathijsbrand.blogspot.com&quot; alt=&quot;&quot; /&gt;&lt;/div&gt;</description>
	<pubDate>Wed, 16 Mar 2011 01:04:00 +0000</pubDate>
	<dc:creator>noreply@blogger.com (Mathijs Brand)</dc:creator>
</item>
<item>
	<title>Jeroen Reijn (Hippo): HIPPOs RESTful JAX-RS Component Support & Spring Android</title>
	<guid>tag:blogger.com,1999:blog-2962867622850517744.post-9025796539075006708</guid>
	<link>http://blog.jeroenreijn.com/2011/02/hippos-restful-jax-rs-component-support.html</link>
	<description>The new &lt;a href=&quot;http://www.onehippo.com/en/products/cms/try&quot;&gt;Hippo CMS 7.5 release&lt;/a&gt; brings some quite interesting features. The most interesting new feature for me&amp;nbsp;was&amp;nbsp;support for&amp;nbsp;RESTful components within the Hippo Site Toolkit (HST-2 v2.20.01).&amp;nbsp;Being able to expose data in a RESTful manner opens up a whole new set of possibilities for external application developers.&lt;br /&gt;&lt;br /&gt;As you might have read in my &lt;a href=&quot;http://blog.jeroenreijn.com/2011/02/working-with-android-layouts-and.html&quot;&gt;previous post&lt;/a&gt;, I'm building a sample application to get acquainted with the Android platform. My previous post was mainly focussed on layouts and ListViews, but this time I will be focussing on information retrieval from an external &lt;a href=&quot;http://en.wikipedia.org/wiki/Representational_State_Transfer&quot;&gt;REST&lt;/a&gt; service. That's why&amp;nbsp;I've used the default REST service that comes with the online&amp;nbsp;&lt;a href=&quot;http://www.demo.onehippo.com/&quot;&gt;Hippo GoGreen demo&lt;/a&gt;&amp;nbsp;as my&amp;nbsp;source of&amp;nbsp;information. &amp;nbsp;The GoGreen REST service exposes a list of 'top products' with additional information about the products that can be used nicely for this demo project, but first let's start at the beginning.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Getting started with&amp;nbsp;RESTful HST-2 components&lt;/h2&gt;From what I've seen in the documentation and in the GoGreen source code, there are two different methods of exposing data with the RESTful components.&lt;br /&gt;&lt;ol&gt;&lt;li&gt;The data can be exposed based on the primary JCR NodeType of a resource inside the Hippo repository. The HST-2 sitemap will determine the URLs of the items based on the relative path of the items inside the repository. This approach can be done with the&amp;nbsp;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;JaxrsRestContentPipeline.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;A sitemap item (or mount) can be configured as a&amp;nbsp;&lt;span class=&quot;Apple-style-span&quot;&gt;JaxrsRestPlainPipeline&lt;/span&gt;&lt;i&gt;.&lt;/i&gt;&amp;nbsp;By doing so, the HST will try to match the request within a &lt;a href=&quot;http://en.wikipedia.org/wiki/JAX-RS&quot;&gt;Jax-RS&lt;/a&gt; based resource provider&amp;nbsp;component that handles all the (relative) URL matching from there on. &amp;nbsp;&amp;nbsp;&lt;/li&gt;&lt;/ol&gt;&lt;ul&gt;&lt;/ul&gt;In this example I will use the&amp;nbsp;&lt;span class=&quot;Apple-style-span&quot;&gt;JaxrsRestPlainPipeline&lt;/span&gt;&amp;nbsp;approach, which is also used by the Hippo GoGreen demo to create the 'top products' resource. The response output of a REST pipeline can be in all kinds of different formats. For this example we will use &lt;a href=&quot;http://en.wikipedia.org/wiki/JSON&quot;&gt;JSON&lt;/a&gt;, but you can also use XML instead.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Configuration&lt;/h3&gt;&lt;br /&gt;&lt;div&gt;The first step in the proces of setting up our own REST service is to create an HST mount. The configuration for our mount has to look something similar to :&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;pre class=&quot;brush:java&quot;&gt;&amp;lt;sv:node sv:name=&quot;restapi&quot;&amp;gt;&lt;br /&gt;  &amp;lt;sv:property sv:name=&quot;jcr:primaryType&quot; sv:type=&quot;Name&quot;&amp;gt;&lt;br /&gt;    &amp;lt;sv:value&amp;gt;hst:mount&amp;lt;/sv:value&amp;gt;&lt;br /&gt;  &amp;lt;/sv:property&amp;gt;&lt;br /&gt;  &amp;lt;sv:property sv:name=&quot;hst:alias&quot; sv:type=&quot;String&quot;&amp;gt;&lt;br /&gt;    &amp;lt;sv:value&amp;gt;restapi&amp;lt;/sv:value&amp;gt;&lt;br /&gt;  &amp;lt;/sv:property&amp;gt;&lt;br /&gt;  &amp;lt;sv:property sv:name=&quot;hst:authenticated&quot; sv:type=&quot;Boolean&quot;&amp;gt;&lt;br /&gt;    &amp;lt;sv:value&amp;gt;false&amp;lt;/sv:value&amp;gt;&lt;br /&gt;  &amp;lt;/sv:property&amp;gt;&lt;br /&gt;  &amp;lt;sv:property sv:name=&quot;hst:isSite&quot; sv:type=&quot;Boolean&quot;&amp;gt;&lt;br /&gt;    &amp;lt;sv:value&amp;gt;false&amp;lt;/sv:value&amp;gt;&lt;br /&gt;  &amp;lt;/sv:property&amp;gt;&lt;br /&gt;  &amp;lt;sv:property sv:name=&quot;hst:mountpoint&quot; sv:type=&quot;String&quot;&amp;gt;&lt;br /&gt;    &amp;lt;sv:value&amp;gt;/hst:hst/hst:sites/rest-live&amp;lt;/sv:value&amp;gt;&lt;br /&gt;  &amp;lt;/sv:property&amp;gt;&lt;br /&gt;  &amp;lt;sv:property sv:name=&quot;hst:mountsite&quot; sv:type=&quot;String&quot;&amp;gt;&lt;br /&gt;    &amp;lt;sv:value&amp;gt;site&amp;lt;/sv:value&amp;gt;&lt;br /&gt;  &amp;lt;/sv:property&amp;gt;&lt;br /&gt;  &amp;lt;sv:property sv:name=&quot;hst:namedpipeline&quot; sv:type=&quot;String&quot;&amp;gt;&lt;br /&gt;    &amp;lt;sv:value&amp;gt;JaxrsRestContentPipeline&amp;lt;/sv:value&amp;gt;&lt;br /&gt;  &amp;lt;/sv:property&amp;gt;&lt;br /&gt;  &amp;lt;sv:property sv:name=&quot;hst:roles&quot; sv:type=&quot;String&quot;&amp;gt;&lt;br /&gt;    &amp;lt;sv:value&amp;gt;everybody&amp;lt;/sv:value&amp;gt;&lt;br /&gt;  &amp;lt;/sv:property&amp;gt;&lt;br /&gt;  &amp;lt;sv:property sv:name=&quot;hst:showport&quot; sv:type=&quot;Boolean&quot;&amp;gt;&lt;br /&gt;    &amp;lt;sv:value&amp;gt;true&amp;lt;/sv:value&amp;gt;&lt;br /&gt;  &amp;lt;/sv:property&amp;gt;&lt;br /&gt;  &amp;lt;sv:property sv:name=&quot;hst:subjectbasedsession&quot; sv:type=&quot;Boolean&quot;&amp;gt;&lt;br /&gt;    &amp;lt;sv:value&amp;gt;true&amp;lt;/sv:value&amp;gt;&lt;br /&gt;  &amp;lt;/sv:property&amp;gt;&lt;br /&gt;  &amp;lt;sv:property sv:name=&quot;hst:types&quot; sv:type=&quot;String&quot;&amp;gt;&lt;br /&gt;    &amp;lt;sv:value&amp;gt;rest&amp;lt;/sv:value&amp;gt;&lt;br /&gt;  &amp;lt;/sv:property&amp;gt;&lt;br /&gt;&amp;lt;/sv:node&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;As you can see there is lot to configure for a mount, but I don not want to go into much detail. The next step is to setup an HST sitemap for this mount. In the configuration above, our mount uses a default namedpipeline of type&amp;nbsp;&amp;nbsp;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;JaxrsRestContentPipeline&lt;/span&gt;&lt;/span&gt;&amp;nbsp;, since we want to use a &amp;nbsp;&lt;span class=&quot;Apple-style-span&quot;&gt;JaxrsRestPlainPipeline&lt;/span&gt;, we can override the type of pipeline by specifying the &lt;span class=&quot;Apple-style-span&quot;&gt;hst:namedpipeline&lt;/span&gt; property on an HST sitemap item for this mount, for example for the sitemap item called 'topproducts'.&lt;/div&gt;&lt;br /&gt;&lt;pre class=&quot;brush:xml&quot;&gt;&amp;lt;sv:node sv:name=&quot;topproducts&quot;&amp;gt;&lt;br /&gt;  &amp;lt;sv:property sv:name=&quot;jcr:primaryType&quot; sv:type=&quot;Name&quot;&amp;gt;&lt;br /&gt;    &amp;lt;sv:value&amp;gt;hst:sitemapitem&amp;lt;/sv:value&amp;gt;&lt;br /&gt;  &amp;lt;/sv:property&amp;gt;&lt;br /&gt;  &amp;lt;sv:property sv:name=&quot;hst:namedpipeline&quot; sv:type=&quot;String&quot;&amp;gt;&lt;br /&gt;    &amp;lt;sv:value&amp;gt;JaxrsRestPlainPipeline&amp;lt;/sv:value&amp;gt;&lt;br /&gt;  &amp;lt;/sv:property&amp;gt;&lt;br /&gt;&amp;lt;/sv:node&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;h3&gt;Spring Configuration&lt;/h3&gt;Now after we stored the HST-2 configuration in the repository, the next step is to register our new component as a plain resource provider in our website Spring configuration. We can do this by creating a file called &lt;span class=&quot;Apple-style-span&quot;&gt;custom-jaxrs-resources.xml&lt;/span&gt; in the &lt;span class=&quot;Apple-style-span&quot;&gt;src/main/resources/META-INF/hst-assembly/overrides/&lt;/span&gt; folder of our Hippo site project with the following content.&lt;br /&gt;&lt;br /&gt;&lt;pre class=&quot;brush:xml&quot;&gt;&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&amp;gt;&lt;br /&gt;&amp;lt;beans xmlns=&quot;http://www.springframework.org/schema/beans&quot; &lt;br /&gt;       xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;&lt;br /&gt;       xsi:schemaLocation=&quot;http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd&quot;&amp;gt;&lt;br /&gt;  &lt;br /&gt;  &amp;lt;import resource=&quot;classpath:/org/hippoecm/hst/site/optional/jaxrs/SpringComponentManager-rest-jackson.xml&quot; /&amp;gt;&lt;br /&gt;  &amp;lt;import resource=&quot;classpath:/org/hippoecm/hst/site/optional/jaxrs/SpringComponentManager-rest-plain-pipeline.xml&quot; /&amp;gt;&lt;br /&gt;  &amp;lt;import resource=&quot;classpath:/org/hippoecm/hst/site/optional/jaxrs/SpringComponentManager-rest-content-pipeline.xml&quot; /&amp;gt;&lt;br /&gt;  &lt;br /&gt;  &amp;lt;!-- Custom JAX-RS REST Plain Resource Providers to be overriden. --&amp;gt;&lt;br /&gt;  &amp;lt;bean id=&quot;customRestPlainResourceProviders&quot; class=&quot;org.springframework.beans.factory.config.ListFactoryBean&quot;&amp;gt;&lt;br /&gt;    &amp;lt;property name=&quot;sourceList&quot;&amp;gt;&lt;br /&gt;      &amp;lt;list&amp;gt;&lt;br /&gt;        &amp;lt;bean class=&quot;org.apache.cxf.jaxrs.lifecycle.SingletonResourceProvider&quot;&amp;gt;&lt;br /&gt;          &amp;lt;constructor-arg&amp;gt;&lt;br /&gt;            &amp;lt;bean class=&quot;com.onehippo.gogreen.jaxrs.services.TopProductsResource&quot; /&amp;gt;&lt;br /&gt;          &amp;lt;/constructor-arg&amp;gt;&lt;br /&gt;        &amp;lt;/bean&amp;gt;&lt;br /&gt;      &amp;lt;/list&amp;gt;&lt;br /&gt;    &amp;lt;/property&amp;gt;&lt;br /&gt;  &amp;lt;/bean&amp;gt;&lt;br /&gt;      &lt;br /&gt;&amp;lt;/beans&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;With this configuration in place the HST-2 has knowledge of our custom resource and the&amp;nbsp;&lt;span class=&quot;Apple-style-span&quot;&gt;TopProductsResource&lt;/span&gt;&amp;nbsp;can start creating the response.&lt;br /&gt;&lt;br /&gt;Now let's take a look at our &lt;span class=&quot;Apple-style-span&quot;&gt;TopProductsResource&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;pre class=&quot;brush:java&quot;&gt;@Path(&quot;/topproducts/&quot;) &lt;br /&gt;public class TopProductsResource extends AbstractResource {&lt;br /&gt;  @GET&lt;br /&gt;  @Path(&quot;/topproducts/&quot;)&lt;br /&gt;  public List&amp;lt;ProductLinkRepresentation&amp;gt; getProductResources(@Context HttpServletRequest servletRequest, @Context HttpServletResponse servletResponse, @Context UriInfo uriInfo,&lt;br /&gt;            @QueryParam(&quot;sortby&quot;) @DefaultValue(&quot;hippogogreen:rating&quot;) String sortBy, &lt;br /&gt;            @QueryParam(&quot;sortdir&quot;) @DefaultValue(&quot;descending&quot;) String sortDirection,&lt;br /&gt;            @QueryParam(&quot;max&quot;) @DefaultValue(&quot;10&quot;) String maxParam) {&lt;br /&gt;        &lt;br /&gt;      List&amp;lt;ProductLinkRepresentation&amp;gt; productRepList = new ArrayList&amp;lt;ProductLinkRepresentation&amp;gt;();&lt;br /&gt;      HstRequestContext requestContext = getRequestContext(servletRequest);&lt;br /&gt;        &lt;br /&gt;      try {&lt;br /&gt;          Node mountContentNode = getNodeFromMount(requestContext);&lt;br /&gt;          HstQueryResult result = getHstQueryResult(sortBy, sortDirection, maxParam, requestContext, mountContentNode);&lt;br /&gt;          HippoBeanIterator iterator = result.getHippoBeans();&lt;br /&gt;&lt;br /&gt;          while (iterator.hasNext()) {&lt;br /&gt;              Product productBean = (Product) iterator.nextHippoBean();&lt;br /&gt;                &lt;br /&gt;              if (productBean != null) {&lt;br /&gt;                ProductLinkRepresentation productRep = new ProductLinkRepresentation(requestContext).represent(productBean);&lt;br /&gt;                productRepList.add(productRep);&lt;br /&gt;              }&lt;br /&gt;          }&lt;br /&gt;      } catch (Exception e) {&lt;br /&gt;        log.warn(&quot;Failed to retrieve top products. {}&quot;, e);        &lt;br /&gt;        throw new WebApplicationException(e);&lt;br /&gt;      }&lt;br /&gt;        &lt;br /&gt;      return productRepList;&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;The &lt;span class=&quot;Apple-style-span&quot;&gt;TopProductsResource&lt;/span&gt; has a&amp;nbsp;&lt;span class=&quot;Apple-style-span&quot;&gt;@Path(&quot;/topproducts/&quot;)&lt;/span&gt;&amp;nbsp;annotation set on the class level. This is what's making the request to '/topproducts' being handled by this specific resource. As you can see the only other thing the resource does is perform the query from the&amp;nbsp;&lt;span class=&quot;Apple-style-span&quot;&gt;getProductResources()&lt;/span&gt;&amp;nbsp;method. Take a look at the full&amp;nbsp;&lt;a href=&quot;http://svn.onehippo.org/repos/hippo/hippo-demos/hippo-go-green/trunk/site/src/main/java/com/onehippo/gogreen/jaxrs/services/TopProductsResource.java&quot;&gt;source code&lt;/a&gt;&amp;nbsp;for more details on the&amp;nbsp;&lt;span class=&quot;Apple-style-span&quot;&gt;TopProductsResource&lt;/span&gt; class.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Response output&lt;/h3&gt;&lt;br /&gt;Now that we've setup the configuration and put the component in place, let's take a look at our actual response.  You can see what the response of the&amp;nbsp;&lt;span class=&quot;Apple-style-span&quot;&gt;TopProductsResource&lt;/span&gt;&amp;nbsp;is if you go to the following URL:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;http://www.demo.onehippo.com/restapi/topproducts?_type=json&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;i&gt;Note: the URL might not be available at the time you try it, because the GoGreen demo is restarted every 30 minutes with a fresh set of content. If the URL does not work try again in 5 minutes.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Since we specified the response type as JSON, the actual response should look something like what is shown below. For readability I've removed some properties, but I guess you get the idea. &lt;br /&gt;&lt;br /&gt;&lt;pre class=&quot;brush:javascript&quot;&gt;[&lt;br /&gt;  {&lt;br /&gt;    productLink: &quot;http://www.demo.onehippo.com/restapi/products/food/2010/07/organic-cotton-reusable-lunch-bag./&quot;&lt;br /&gt;    price: 34&lt;br /&gt;    rating: 5&lt;br /&gt;    smallThumbnail: &quot;http://www.demo.onehippo.com/binaries/smallthumbnail/content/gallery/products/2010/06/organic-lunch-bag.jpg&quot;&lt;br /&gt;    localizedName: &quot;Organic Cotton Reusable Lunch Bag&quot;&lt;br /&gt;    primaryNodeTypeName: &quot;hippogogreen:product&quot;&lt;br /&gt;  },&lt;br /&gt;  {&lt;br /&gt;    productLink: &quot;http://www.demo.onehippo.com/restapi/products/food/2010/07/birch-wood-compostable-cutlery./&quot;&lt;br /&gt;    price: 5&lt;br /&gt;    rating: 4.25&lt;br /&gt;    smallThumbnail: &quot;http://www.demo.onehippo.com/binaries/smallthumbnail/content/gallery/products/2010/07/wooden-cutlery.png&quot;&lt;br /&gt;    localizedName: &quot;Birch Wood Compostable Cutlery&quot;&lt;br /&gt;    primaryNodeTypeName: &quot;hippogogreen:product&quot;&lt;br /&gt;  }&lt;br /&gt;]&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;As you can see the response is quite simple and contains an array of product items with their properties.&lt;br /&gt;If you want to know more about RESTful Component support there is a nice &lt;a href=&quot;https://wiki.onehippo.com/display/HST2/RESTful+JAX-RS+Component+Support+in+HST-2&quot;&gt;page&lt;/a&gt; on the HST-2 wiki.&amp;nbsp;Now let's move on with the Android part of this post.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Spring Android&lt;/h2&gt;Android version 2.2 has native support for handling JSON. I tried that, but I recently discovered &lt;a href=&quot;http://www.springsource.org/spring-android&quot;&gt;Spring Android&lt;/a&gt;.&amp;nbsp;Spring Android is quite new and gives you an easy to use &lt;a href=&quot;http://static.springsource.org/spring-android/docs/1.0.x/reference/html/rest-template.html&quot; target=&quot;_blank&quot;&gt;REST client&lt;/a&gt;. The reason I chose to use Spring Android is that it takes less code to handle requests then by doing it the native Android way with the default HttpClient. Now when we combining Spring Android with &lt;a href=&quot;http://jackson.codehaus.org/&quot;&gt;Jackson&lt;/a&gt;&amp;nbsp;it makes working with JSON really easy. All you have to do is create a mapping class, so that Jackson knows how to map the response array.&lt;br /&gt;&lt;br /&gt;To be able to work with the JSON response we will need the following three libraries in our Android project.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;spring-android-rest-template-1.0.0.M2.jar&lt;/li&gt;&lt;li&gt;jackson-core-asl-1.7.1.jar&lt;/li&gt;&lt;li&gt;jackson-mapper-asl-1.7.1.jar&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;h3&gt;Using Spring Android&lt;/h3&gt;&lt;br /&gt;For my Android application I've created a service class called &lt;span class=&quot;Apple-style-span&quot;&gt;ProductService&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;pre class=&quot;brush:java&quot;&gt;public class ProductService {&lt;br /&gt;  private static final String RESTAPI_BASE_URI = &quot;http://www.demo.onehippo.com/restapi&quot;;&lt;br /&gt;  private static final String RESTAPI_RESPONSE_TYPE = &quot;_type=json&quot;;&lt;br /&gt;&lt;br /&gt;  public static ArrayList&amp;lt;Product&amp;gt; getAllProductsFromHippo() {&lt;br /&gt;    ArrayList&amp;lt;Product&amp;gt; products = new ArrayList&amp;lt;Product&amp;gt;();&lt;br /&gt;    RestTemplate restTemplate = new RestTemplate();&lt;br /&gt;    &lt;br /&gt;    List&amp;lt;HttpMessageConverter&amp;lt;?&amp;gt;&amp;gt; messageConverters = restTemplate.getMessageConverters();&lt;br /&gt;    //add the Jackson mapper for easy mapping of JSON to POJO's&lt;br /&gt;    messageConverters.add(new MappingJacksonHttpMessageConverter());&lt;br /&gt;&lt;br /&gt;    String url = RESTAPI_BASE_URI + &quot;/topproducts./?&quot; + RESTAPI_RESPONSE_TYPE;&lt;br /&gt;&lt;br /&gt;    Product[] productsFromHippo = restTemplate.getForObject(url, Product[].class);&lt;br /&gt;    products.addAll(Arrays.asList(productsFromHippo));&lt;br /&gt;    return products;&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;As you can see the&amp;nbsp;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;getAllProductsFromHippo&lt;/span&gt;&lt;/span&gt; method uses the Spring Android&amp;nbsp;&lt;span class=&quot;Apple-style-span&quot;&gt;RestTemplate&lt;/span&gt; in combination with the&amp;nbsp;&lt;span class=&quot;Apple-style-span&quot;&gt;MappingJacksonHttpMessageConverter&lt;/span&gt; to map the JSON response to an array of &lt;span class=&quot;Apple-style-span&quot;&gt;Product&lt;/span&gt;&amp;nbsp;classes. Let's have a closer look at a &lt;span class=&quot;Apple-style-span&quot;&gt;Product&lt;/span&gt;&amp;nbsp;class.&lt;br /&gt;&lt;br /&gt;&lt;pre class=&quot;brush:java&quot;&gt;package org.onehippo.gogreen.android.data;&lt;br /&gt;&lt;br /&gt;import org.codehaus.jackson.annotate.JsonIgnoreProperties;&lt;br /&gt;import org.codehaus.jackson.annotate.JsonProperty;&lt;br /&gt;&lt;br /&gt;@JsonIgnoreProperties(ignoreUnknown = true)&lt;br /&gt;public class Product {&lt;br /&gt;&lt;br /&gt;  @JsonProperty&lt;br /&gt;  private String localizedName;&lt;br /&gt;&lt;br /&gt;  public String getLocalizedName() {&lt;br /&gt;      return localizedName;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  public void setLocalizedName(final String localizedName) {&lt;br /&gt;      this.localizedName = localizedName;&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-rs4t8FsokCc/TVvDXoPj15I/AAAAAAAAAcg/Tp_4bhVK2NM/s1600/android_products_list.png&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;http://3.bp.blogspot.com/-rs4t8FsokCc/TVvDXoPj15I/AAAAAAAAAcg/Tp_4bhVK2NM/s320/android_products_list.png&quot; width=&quot;193&quot; /&gt;&lt;/a&gt;&lt;br /&gt;The &lt;span class=&quot;Apple-style-span&quot;&gt;Product&lt;/span&gt; class is quite simple. It only contains the localized name (for now). To make sure the mapping succeeds, I've also added the annotation &lt;span class=&quot;Apple-style-span&quot;&gt;JsonIgnoreProperties&lt;/span&gt; , so that it will ignore unknown properties during the mapping phase.&lt;br /&gt;Now if we provide the list of &lt;span class=&quot;Apple-style-span&quot;&gt;Product&lt;/span&gt; items to the Android &lt;span class=&quot;Apple-style-span&quot;&gt;ArrayAdapter&lt;/span&gt;, which is used by our ListView we will see all the items in the list returned by the HST-2 REST service.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Resources used&lt;/h2&gt;The following resources were used to create this post:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://svn.onehippo.org/repos/hippo/hippo-demos/hippo-go-green/trunk/&quot;&gt;Hippo GoGreen demo source code&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://jackson.codehaus.org/&quot;&gt;Jackson (JSON parser)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.springsource.org/spring-android&quot;&gt;Spring Android&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://wiki.onehippo.com/display/HST2/RESTful+JAX-RS+Component+Support+in+HST-2&quot;&gt;RESTful Jax-RS component support in HST-2&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width=&quot;1&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/2962867622850517744-9025796539075006708?l=blog.jeroenreijn.com&quot; alt=&quot;&quot; /&gt;&lt;/div&gt;</description>
	<pubDate>Wed, 16 Feb 2011 22:28:00 +0000</pubDate>
	<dc:creator>noreply@blogger.com (Jeroen Reijn)</dc:creator>
</item>
<item>
	<title>Jasha Joachimsthal (Hippo): It works on my machine - Maven site plugin</title>
	<guid>http://www.jasha.eu/blogposts/2011/01/it-works-on-my-machine.html</guid>
	<link>http://www.jasha.eu/blogposts/2011/01/it-works-on-my-machine.html</link>
	<description>&lt;div&gt;&lt;p&gt;Today I had a very strange case with the
&lt;a href=&quot;http://maven.apache.org/plugins/maven-site-plugin&quot;&gt;Maven site
plugin&lt;/a&gt; using Maven 2.2. The site and the reports built fine on my machine
but failed on several other machines. One of these was the server that hosts the
documentation so I had to fix it. It failed with the message&lt;/p&gt;

&lt;pre class=&quot;brush: text&quot;&gt;[INFO] Trace
java.lang.ArrayIndexOutOfBoundsException: 1
    at org.apache.maven.doxia.module.xhtml.XhtmlSink.tableCell(XhtmlSink.java:791)
    at org.apache.maven.doxia.module.xhtml.XhtmlSink.tableHeaderCell(XhtmlSink.java:777)
&lt;/pre&gt;

&lt;p&gt;The message was not very useful to me and there was no table in one of my
documents so it would be hard to debug. From what I found on Google it may have
to do with an outdated version of the Maven site plugin. I tried building the
site with a clean local Maven repository to be sure that it wouldn't take an
exotic version of the plugin from the local repository. It still worked on my
machine so maybe my machine did use the latest version while the others relied
on a previous version.&lt;/p&gt;

&lt;p&gt;Then I started reading the
&lt;a href=&quot;http://maven.apache.org/plugins/maven-site-plugin/plugin-info.html&quot;&gt;Plugin
documentation&lt;/a&gt; (men never do that you know) and found out that the
maven-site-plugin was only configured in the reporting section of the pom and
not in the build section. After adding the configuration to the build section of
the pom it works on all machines.&lt;/p&gt;&lt;/div&gt;</description>
	<pubDate>Fri, 14 Jan 2011 16:09:25 +0000</pubDate>
	<dc:creator>Jasha Joachimsthal</dc:creator>
</item>
<item>
	<title>Arje Cahn (Hippo): Is JCR Dead?  So What If It Is?</title>
	<guid>http://blogs.onehippo.org/arje/2011/01/is_jcr_dead_so_what_if_it_is.html</guid>
	<link>http://blogs.onehippo.org/arje/2011/01/is_jcr_dead_so_what_if_it_is.html</link>
	<description>&lt;p&gt;Josette Rigsbe wrote an article on &lt;a href=&quot;http://www.CMSWire.com&quot;&gt;CMSWire&lt;/a&gt; asking the question &quot;&lt;a href=&quot;http://www.cmswire.com/cms/web-cms/is-jcr-dead-009676.php&quot;&gt;Is JCR Dead?&lt;/a&gt;&quot;. I wanted to quickly respond with my answer, which in itself is a question: &quot;so, what if it is?&quot;&lt;/p&gt;

&lt;p&gt;JCR i</description>
	<pubDate>Thu, 13 Jan 2011 14:35:33 +0000</pubDate>
</item>
<item>
	<title>Rolf van der Steen (Hippo): Content Industry Trends in 2011</title>
	<guid>tag:blogger.com,1999:blog-8488651744833642317.post-2082939079440871515</guid>
	<link>http://rolfvandersteen.blogspot.com/2011/01/trends-for-content-technology-industry.html</link>
	<description>&lt;div&gt;&lt;span&gt;As we start a fresh new year&lt;/span&gt; of Web Content Managment, I was wondering what the analysts predict to be the trends in the Content Technology industry in 2011 year? Here's a collection of predictions I've found.&lt;br /&gt;&lt;br /&gt;&lt;span&gt;David Hillis - &lt;a href=&quot;http://www.cmswire.com/cms/web-cms/david-hillis-10-predictions-for-web-content-management-in-2011-009588.php?utm_source=twitter&amp;amp;utm_medium=twitterfeed&amp;amp;utm_campaign=Social%20Media%20%28Twitter%29&quot;&gt;10 Predictions for Web Content Management in 2011&lt;/a&gt;&lt;/span&gt;:&lt;/div&gt;&lt;span&gt;&lt;/span&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;span&gt;Mobile Will Accelerate Web Content Management Adoption&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;Deployment will be King&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;Structured Content will be Queen&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;Mobile Pushes Adoption of HTML5&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;Content Moves to the Cloud&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;Back to Basics&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;Got Apps? Welcome to the CMS App Store&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;Meet the Social CMS&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;Mobile Changes Web Expectations (Death of Brochure-ware)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;MVC Disrupts .NET CMS Marketplace&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;Importance of privacy will disrupt personalization and “experience” strategies&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;Mobile payments will enable true content monetization.&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;&lt;span&gt;Jarrod Gingras - &lt;a href=&quot;http://www.realstorygroup.com/Blog/2056-2011-Content-Technology-Predictions?source=RSS&amp;amp;utm_source=twitterfeed&amp;amp;utm_medium=twitter&quot;&gt;2011 Content Technology Predictions&lt;/a&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;:&lt;/div&gt;&lt;span&gt;&lt;/span&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;span&gt;&quot;Bring Your Own Device&quot; policies will push HTML5 adoption for mobile access to enterprise applications&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;Content-rich customers will rebel against Web CMS marketing spins&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;Microsoft will turn to partners to fix SharePoint shortcomings&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;The top end of the Web CMS market will be redefined&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;Intranet community managers will adopt public social functionality&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;SaaS vendors will try to separate from &quot;The Cloud&quot;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;Buyers will have a greater acceptance of newer standards&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;Case Management will become the leading application from high-end ECM vendors&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;Digital Asset Management vendors will greatly expand video management capabilities&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;E-mail will remain the world's de-facto enterprise document repository and workflow system&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;Portal software will increasingly produce services for other portals&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;Specialized talent around managing content will begin to migrate out of large corporations&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;&lt;span&gt;Barb Mosher - &lt;a href=&quot;http://www.cmswire.com/cms/web-cms/emerging-trends-in-web-content-management-006294.php?pageNum=3&quot;&gt;Emerging Trends in Web Content Management&lt;/a&gt;&lt;/span&gt;:&lt;/div&gt;&lt;span&gt;&lt;/span&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;span&gt;Platform vs Specialization&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;Integration of Web Analytics&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;Tightly Integrated Search&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;Cloud Hosted vs SaaS&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;WCM Gets Social and Social Gets WCM&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;&lt;span&gt;Stéphane Croisier - &lt;a href=&quot;http://stephanecroisier.jahia.com/top-10-trends-for-the-content-industry-in-201&quot;&gt;Top 10 Trends for the Content Industry in 2011&lt;/a&gt;&lt;/span&gt;:&lt;/div&gt;&lt;span&gt;&lt;/span&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;span&gt;Rise of Composite Content Platforms&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;From Open Source to Open Data&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;Smart Content&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;Personalization and Curation&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;Renewed Interest in Search&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;Never Easy Enough&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;Managing, not only creating, compelling User Experiences&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;Social as a standardized Service&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;Business Solution Accelerators and Cross-Over Technological Suites&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;User-Centered Design and Integrated Collaborative Development Environment&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;&lt;span&gt;Joe Shepley - &lt;a href=&quot;http://www.cmswire.com/cms/enterprise-cms/joe-shepley-on-enterprise-cms-trends-for-2011-a-businesscentric-view-009550.php&quot;&gt;Enterprise CMS Trends for 2011: A Business-Centric View&lt;/a&gt;&lt;/span&gt;:&lt;/div&gt;&lt;span&gt;&lt;/span&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;span&gt;Business value will be king&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;ECM will become increasingly concerned with managing content within cross-functional, value-chain activities&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;Organizations will address the people and process dimensions of ECM in order to get more out of their current (and future) investments in technology&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;The seeds of SharePoint’s demise are already sown&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;&lt;span&gt;   Phil Wainewright - &lt;a href=&quot;http://www.zdnet.com/blog/saas/six-big-trends-to-watch-in-2011/1232&quot;&gt;Six big trends to watch in 2011&lt;/a&gt;&lt;/span&gt;:&lt;/div&gt;&lt;span&gt;&lt;/span&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;span&gt;Mainstream means mobile&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;Fake cloud #fails the crowd&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;IT management gets wired to the cloud&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;Data just wants to be mined&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;Social technologies remake enterprise apps&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;Business transformation becomes the big story&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width=&quot;1&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/8488651744833642317-2082939079440871515?l=rolfvandersteen.blogspot.com&quot; alt=&quot;&quot; /&gt;&lt;/div&gt;</description>
	<pubDate>Tue, 11 Jan 2011 23:17:00 +0000</pubDate>
	<dc:creator>noreply@blogger.com (Rolf van der Steen)</dc:creator>
</item>
<item>
	<title>Jeroen Reijn (Hippo): Tip of the day: sharing information between HST components</title>
	<guid>tag:blogger.com,1999:blog-2962867622850517744.post-2296091663671678623</guid>
	<link>http://blog.jeroenreijn.com/2011/01/tip-of-day-sharing-information-between.html</link>
	<description>If you're working as a web developer with &lt;a href=&quot;http://www.onehippo.org/&quot;&gt;Hippo CMS&lt;/a&gt;, I guess you have written quite a few HST components. I presume that by now you will have a basic understanding of what HST components can and can't do.&lt;br /&gt;I've had the situation myself where I wanted to share some information between components on a single page. I first thought I could simply achieve this by adding an attribute to the request, but that didn't work. To show you what you &lt;b&gt;can&lt;/b&gt; do, let's first start of with a bit of background information about what's actually going on inside the HST, when an incoming request is being processed.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;HST request processing&lt;/h2&gt;&lt;br /&gt;Let's first have a look at a page definition. In a traditional HST page definition you have a tree of components. The figure below describes a normal page layout defintion.&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot;&gt;&lt;a href=&quot;http://3.bp.blogspot.com/_hd6Y7yyFK7E/TSotWDmyVCI/AAAAAAAAAbE/JU5pIKNV2G4/s1600/page-definition.png&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://3.bp.blogspot.com/_hd6Y7yyFK7E/TSotWDmyVCI/AAAAAAAAAbE/JU5pIKNV2G4/s1600/page-definition.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;As you can see the page definition in the above figure has a root component (the page definition itself) with three child components: component 1, component 2 and component 3. Now the follow flow chart shows what the HST will do when it's handling a request.&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot;&gt;&lt;a href=&quot;http://4.bp.blogspot.com/_hd6Y7yyFK7E/TSoujHT4oNI/AAAAAAAAAbM/4cegvK5fH9U/s1600/HST-request-process-simple.png&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://4.bp.blogspot.com/_hd6Y7yyFK7E/TSoujHT4oNI/AAAAAAAAAbM/4cegvK5fH9U/s1600/HST-request-process-simple.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;This flow chart of couse does not show all the steps taken by the HST,&lt;br /&gt;but it should give you a good impression of what's going on.&lt;br /&gt;&lt;br /&gt;At first the HST will lookup the correct page definition based on the HST sitemap. Once the correct page definition has been found the HST will start processing.&lt;br /&gt;&lt;br /&gt;The entire component tree for the current page definition is fetched and once the tree is there, the HST will use the AggregationValve to run down the component tree and invoke the doBeforeRender() methods of all of the available components.&lt;br /&gt;&lt;br /&gt;Once the entire component three has been processed in the 'before render phase', it will start processing the doRender() methods of all the components, so that the output of every single component will be generated and aggregated to end up in the end result.&lt;br /&gt;&lt;br /&gt;Now the important part to know here is that each invoked component will have it's own individual HStRequest object. Now if you want to share any kind of information you cannot simply use the HstRequest, because all the information is gone while processing the next component.&lt;br /&gt;However there is an object attached to these individual HstRequest objects and that is the HstRequestContext. The HstRequestContext hold some quite useful information, which you help support your components, but you can also add your own information by&amp;nbsp;setting some attribute.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;Enough theory for now. If you would like to have a deeper knowledge of the HST request processing, the proces is described in much more detail on the&amp;nbsp;&lt;a href=&quot;https://wiki.onehippo.com/display/HST2/HST-2+Request+Processing&quot;&gt;HST2 wiki&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;h2&gt;Now for some code&lt;/h2&gt;&lt;br /&gt;As an example let's take the usage of banners on a page. Let's say we have a boolean flag configured somewhere, which will define if banners should be shown on our page.&lt;br /&gt;&lt;br /&gt;Let's presume that a banner can be shown by multiple components on a page. If we take figure 1, we could say that a banner could appear above component 2 and underneath component 3.&lt;br /&gt;&lt;br /&gt;Now we could let both component 2 and component 3 figure out if the banners should be shown, but we could also share the information if component 2 or 3 is executed first, so that the other component does not have to read the configuration over again. The resulting code is quite simple. Let's have a look.&lt;br /&gt;&lt;br /&gt;&lt;pre class=&quot;brush:java&quot;&gt;@Override&lt;br /&gt;public void doBeforeRender(HstRequest request, HstResponse response) {&lt;br /&gt;  boolean isBannerEnabled;&lt;br /&gt;  HstRequestContext requestContext = request.getRequestContext();&lt;br /&gt;  //let's see if the flag has been set on the request context&lt;br /&gt;  if(requestContext.getAttribute(IS_BANNER_ENABLED_ATTRIBUTE)!=null){&lt;br /&gt;    isBannerEnabled = (Boolean)requestContext.getAttribute(IS_BANNER_ENABLED_ATTRIBUTE);&lt;br /&gt;  } else {&lt;br /&gt;    //nothing on the request context, so lets figure it out&lt;br /&gt;    isBannerEnabled = isBannerEnabled(request);&lt;br /&gt;    //put the result on the request context so all other components can benefit&lt;br /&gt;    requestContext.setAttribute(IS_BANNER_ENABLED_ATTRIBUTE, isBannerEnabled);&lt;br /&gt;  }&lt;br /&gt;  //put on the request for the current component&lt;br /&gt;  request.setAttribute(IS_BANNER_ENABLED_ATTRIBUTE, isBannerEnabled);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt; * Simply return true for this example.&lt;br /&gt; */&lt;br /&gt;boolean isBannerEnabled(HstRequest request) {&lt;br /&gt;  return true;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;As you will see the actual code is really simple. All you will have to do is store information on the HstRequestContext. That's it. Well these were my 2 cents for today. Go and have fun and try to leverage the power of the HST2.&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width=&quot;1&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/2962867622850517744-2296091663671678623?l=blog.jeroenreijn.com&quot; alt=&quot;&quot; /&gt;&lt;/div&gt;</description>
	<pubDate>Sun, 09 Jan 2011 23:00:00 +0000</pubDate>
	<dc:creator>noreply@blogger.com (Jeroen Reijn)</dc:creator>
</item>
<item>
	<title>Jasha Joachimsthal (Hippo): Freemarker as HST rendering template</title>
	<guid>http://www.jasha.eu/blogposts/2011/01/freemarker-as-hst-rendering-template.html</guid>
	<link>http://www.jasha.eu/blogposts/2011/01/freemarker-as-hst-rendering-template.html</link>
	<description>&lt;div&gt;&lt;p&gt;The common templating engine for
&lt;a href=&quot;http://www.onehippo.org/site-toolkit&quot;&gt;HST&lt;/a&gt; sites is JSP. Most Java
web developers know it and there are plenty of libraries available. However JSP
is not the only possibility to render your page.
&lt;a href=&quot;http://blogs.onehippo.org/woonsan/&quot;&gt;Woonsan&lt;/a&gt; wrote blog posts about
using Spring MVC with the HST. Another flexible templating engine is
&lt;a href=&quot;http://freemarker.sourceforge.net&quot;&gt;Freemarker&lt;/a&gt;. Since we handle most
of the logic in the HST component, the rendering template only needs to iterate
over lists, check for empty variables and display values from beans. For this
little bit of programming Freemarker is just as easy to use as JSP and IDE's
like IntelliJ have code completion for it.&lt;/p&gt;
&lt;h2&gt;A few examples &lt;/h2&gt;
&lt;p&gt;In these examples we render the title of a bean called &quot;mybean&quot; if it
contains a value. Then we iterate over a list and print each item. The last part
is creating a link to a different bean.&lt;/p&gt;
&lt;h3&gt;JSP &lt;/h3&gt;
&lt;pre class=&quot;brush: xml&quot;&gt;&amp;lt;c:if test=&quot;${not empty mybean.title}&quot;&amp;gt;&amp;lt;h1&amp;gt;${mybean.title}&amp;lt;/c:if&amp;gt;

&amp;lt;ul&amp;gt;
  &amp;lt;c:forEach var=&quot;item&quot; items=&quot;${mybean.items}&quot;&amp;gt;
    &amp;lt;li&amp;gt;${item}&amp;lt;/li&amp;gt;
  &amp;lt;/c:forEach&amp;gt;
&amp;lt;/ul&amp;gt;

&amp;lt;hst:link hippobean=&quot;${otherbean}&quot; var=&quot;link&quot;/&amp;gt;
&amp;lt;a href=&quot;${link}&quot;&amp;gt;${otherbean.title}&amp;lt;/a&amp;gt;&lt;/pre&gt;
&lt;br /&gt;
&lt;h3&gt;Freemarker &lt;/h3&gt;
&lt;p&gt;Freemarker supports both &amp;lt;&amp;gt; and [] as
&lt;a href=&quot;http://freemarker.sourceforge.net/docs/dgui_misc_alternativesyntax.html&quot;&gt;syntax&lt;/a&gt;. 
I prefer to use the square brackets to distinguish the Freemarker instructions
from the HTML.&lt;/p&gt;

&lt;pre class=&quot;brush: xml&quot;&gt;[#if mybean.title?has_content]&amp;lt;h1&amp;gt;${mybean.title}&amp;lt;/h1&amp;gt;[/#if]

&amp;lt;ul&amp;gt;
  [#list mybean.items as item]
    &amp;lt;li&amp;gt;${item}&amp;lt;/li&amp;gt;
  [/#list]
&amp;lt;/ul&amp;gt;

[#assign link][@hst.link hippobean=otherbean/][/#assign]
&amp;lt;a href=&quot;${link}&quot;&amp;gt;${otherbean.title}&amp;lt;/a&amp;gt;&lt;/pre&gt;

&lt;p&gt;If you're not reading this post through RSS or Atom, you're looking at a page
that uses
&lt;a href=&quot;http://forge.onehippo.org/svn/weblogdemo/tags/Release-weblogdemo-1_01_01/site/src/main/webapp/WEB-INF/ftl/&quot;&gt;several
Freemarker templates&lt;/a&gt; for the rendering. So, if templates in JSP and
Freemarker are just as easy to create, why would you use Freemarker if you're
familiar with JSP? There's one big difference: Hippo Site Toolkit supports
Freemarker templates that are stored inside the Hippo Repository. This means you
can directly modify your templates without having to deploy a new version of
your web application. I will blog about this later because the mechanism for
fetching the template will change in the next HST version.&lt;/p&gt;&lt;/div&gt;</description>
	<pubDate>Tue, 04 Jan 2011 07:30:00 +0000</pubDate>
	<dc:creator>Jasha Joachimsthal</dc:creator>
</item>
<item>
	<title>Jasha Joachimsthal (Hippo): Open sourced my Hippo blog</title>
	<guid>http://www.jasha.eu/blogposts/2010/11/open-sourced-my-hippo-blog.html</guid>
	<link>http://www.jasha.eu/blogposts/2010/11/open-sourced-my-hippo-blog.html</link>
	<description>&lt;div&gt;&lt;p&gt;Half a year ago I started making my own blog using Hippo CMS and Hippo Site
Toolkit. I didn't like the Blogger tagsoup, wanted to use HTML5 and CSS3. I also
wanted to control my data. Yes there are maybe more blogging engines than
toothpaste brands but I happen to work at Hippo so I decided to eat our own
dogfood. It all started with drawing the wireframes with pen on paper (dead
trees), then running the
&lt;a href=&quot;http://www.onehippo.org/site-toolkit/getting+started/generate+project&quot;&gt;HST
Maven archetype&lt;/a&gt;. After making the initial design for a static JSP, it took a
train ride to Groningen to split up the static JSP into several HST templates.
&lt;/p&gt;

&lt;p&gt;I had a working blog, mostly based on the archetype, but no blog posts. It
took some while to convert the export from Blogger into a
&lt;a href=&quot;http://en.wikipedia.org/wiki/Content_repository_API_for_Java&quot;&gt;JCR&lt;/a&gt;
node structure. The export from Blogger was one huge XML feed with both the
posts, comments, page templates and settings and it took some XSL
transformations, imports and exports to the repository before everything was in
place. Then I had some work getting all the images into the repository which
were scattered over Flickr, Picasa and some other webservers. I also had to
think about supporting or redirecting existing URLs for blogposts and (RSS)
feeds. It's not that easy setting priorities if you're playing the product
owner, scrum master and developer at the same time.&lt;/p&gt;

&lt;p&gt;After dealing with some sysadmin issues (trivial for sysadmins, unknown
territory for me) I switched the DNS and my Hippo blog was alive! Colleagues
reacted enthousiastic and asked where they could find the code. I replied &quot;It's
mostly the HST archetype with some Forge projects&quot;, but they kept asking for the
code. During &lt;a href=&quot;http://vimeo.com/16249024&quot;&gt;Chris Heilmann's talk&lt;/a&gt;
(watch the part at 30:55 if you're in a hurry) I decided to put effort in
upgrading the project to the latest Hippo CMS and HST releases, cleaning up the
code and adding some documentation so others could use the code. Thanks Hippo
for allowing me to do most of this during working hours :) (all the previous
work was done in my spare time).&lt;/p&gt;

&lt;p&gt;Again it took more time than I thought and I had to fight some hosting issues
which prevented my from working on the code and documentation. It's not done
yet. You will still find some hard coded labels with my name in the JSP and I
will work on that in the near future. Not all
&lt;a href=&quot;http://weblogdemo.forge.onehippo.org/&quot;&gt;documentation&lt;/a&gt; is visible on
the web, but I tried to add as many instructions in the Javadoc or the HST
configuration.&lt;/p&gt;

&lt;p&gt;If you want to help, check out
&lt;a href=&quot;http://forge.onehippo.org/svn/weblogdemo/trunk/&quot;&gt;the code&lt;/a&gt;, request
to join the &lt;a href=&quot;http://forge.onehippo.org/gf/project/weblogdemo/&quot;&gt;forge
project&lt;/a&gt; and improve it. If you still don't like it, fork it. That's the big
advantage of bringing your code in the open.&lt;/p&gt;&lt;/div&gt;</description>
	<pubDate>Sun, 14 Nov 2010 13:01:23 +0000</pubDate>
	<dc:creator>Jasha Joachimsthal</dc:creator>
</item>
<item>
	<title>Mathijs Brand (Hippo): Not open minded after all</title>
	<guid>tag:blogger.com,1999:blog-862413798174121061.post-4135385853667523895</guid>
	<link>http://mathijsbrand.blogspot.com/2010/11/not-open-minded-after-all.html</link>
	<description>&lt;p&gt;
I must confess. I'm not open minded after all...
&lt;/p&gt;

&lt;p&gt;
My MP3 player was lost and I needed music. So last weekend I went to buy a simple MP3 player. I like gadgets the Spartan way. Not too many buttons to press, not too many things that go wrong. I thought I found just the right one. A Philips MP3 player.&lt;/p&gt;

&lt;p&gt;There were 2 versions of it. A 30 Euro version with 2 gigabytes of storage and a 40 Euro version with 4 gigabytes of storage. I like cheap, so I opted for the 30 Euro one.&lt;/p&gt;
&lt;p&gt;&quot;Let me get that for you&quot;, the guy said. &quot;Hmm... sorry sir, I only have the cheap one in &lt;span&gt; pink&lt;/span&gt;&quot;, he continued. 
&lt;/p&gt;

&lt;p&gt;So you can guess which one I bought. Yep, the 40 Euro one in grey. The smart sales guy is taking advantage of my short minded mind. Just offer the cheap one in pink and a sensible one for a bit more and most guys will end up spending a bit more. It made me wonder. If Hippo wouldn't be fully open source, we could pull the same trick on people.&lt;/p&gt;

&lt;img src=&quot;http://farm5.static.flickr.com/4056/5164087776_4aa61767b3_m.jpg&quot; alt=&quot;Hippo in Pink Logo&quot; /&gt;

&lt;p&gt;&quot;So sir, you don't like that pink Hippo logo with the hat in your CMS? Well, we can set you up with a nice blue logo. Very representable. Would you like to pay cash or credit card?&quot; &lt;/p&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width=&quot;1&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/862413798174121061-4135385853667523895?l=mathijsbrand.blogspot.com&quot; alt=&quot;&quot; /&gt;&lt;/div&gt;</description>
	<pubDate>Wed, 10 Nov 2010 12:00:00 +0000</pubDate>
	<dc:creator>noreply@blogger.com (Mathijs Brand)</dc:creator>
</item>
<item>
	<title>Jeroen Reijn (Hippo): Unit testing your HST2 components with EasyMock</title>
	<guid>tag:blogger.com,1999:blog-2962867622850517744.post-2746085119212517341</guid>
	<link>http://blog.jeroenreijn.com/2010/10/unit-testing-your-hst2-components-with.html</link>
	<description>Quality is an important aspect of every software development project. Writing unit tests is just one part of keeping an eye on quality. In this post I will try to explain how you can unit test your &lt;a href=&quot;http://www.onehippo.org/site-toolkit/index.html&quot;&gt;Hippo Site Toolkit (HST2)&lt;/a&gt; components, so you can be sure that the component still behaves as expected even after multiple maintenance cycles.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;A mocking framework&lt;/h2&gt;Unit testing is the testing of software units (for instance HST2 components) in isolation. However, most units do not work alone, but they collaborate with other units, like the HST2 does for instance with a running JCR repository and a live HttpServletRequest (wrapped inside an HstRequest). To test a unit in isolation, we have to simulate these collaborations in our tests.&lt;br /&gt;One way of working around such collaborations is by using Mock objects. A Mock Object is a test-oriented replacement for such a collaborator. It is configured to simulate the object that it replaces in a simple way. For this post I use&amp;nbsp;&lt;a href=&quot;http://www.easymock.org/&quot;&gt;EasyMock&lt;/a&gt;, but there are other mocking frameworks out there.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Setting up your environment&lt;/h2&gt;If you are regular reader, you might have noticed that I've been using Maven2 in most of my posts, so this time will not be different. To be able to test your HST components, you will need to add the following dependencies to your project/module pom.xml.&lt;br /&gt;&lt;br /&gt;&lt;pre class=&quot;brush:xml&quot;&gt;&amp;lt;dependency&amp;gt;&lt;br /&gt;  &amp;lt;groupId&amp;gt;junit&amp;lt;/groupId&amp;gt;&lt;br /&gt;  &amp;lt;artifactId&amp;gt;junit&amp;lt;/artifactId&amp;gt;&lt;br /&gt;  &amp;lt;version&amp;gt;4.5&amp;lt;/version&amp;gt;&lt;br /&gt;  &amp;lt;scope&amp;gt;test&amp;lt;/scope&amp;gt;&lt;br /&gt;&amp;lt;/dependency&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;dependency&amp;gt;&lt;br /&gt;  &amp;lt;groupId&amp;gt;org.easymock&amp;lt;/groupId&amp;gt;&lt;br /&gt;  &amp;lt;artifactId&amp;gt;easymock&amp;lt;/artifactId&amp;gt;&lt;br /&gt;  &amp;lt;version&amp;gt;2.5.2&amp;lt;/version&amp;gt;&lt;br /&gt;  &amp;lt;scope&amp;gt;test&amp;lt;/scope&amp;gt;&lt;br /&gt;&amp;lt;/dependency&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;dependency&amp;gt;&lt;br /&gt;  &amp;lt;groupId&amp;gt;org.easymock&amp;lt;/groupId&amp;gt;&lt;br /&gt;  &amp;lt;artifactId&amp;gt;easymockclassextension&amp;lt;/artifactId&amp;gt;&lt;br /&gt;  &amp;lt;version&amp;gt;2.5.2&amp;lt;/version&amp;gt;&lt;br /&gt;  &amp;lt;scope&amp;gt;test&amp;lt;/scope&amp;gt;&lt;br /&gt;  &amp;lt;exclusions&amp;gt;&lt;br /&gt;    &amp;lt;exclusion&amp;gt;&lt;br /&gt;      &amp;lt;groupId&amp;gt;cglib&amp;lt;/groupId&amp;gt;&lt;br /&gt;      &amp;lt;artifactId&amp;gt;cglib-nodep&amp;lt;/artifactId&amp;gt;&lt;br /&gt;    &amp;lt;/exclusion&amp;gt;&lt;br /&gt;  &amp;lt;/exclusions&amp;gt;&lt;br /&gt;&amp;lt;/dependency&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Now that we have setup all the needed dependencies let's create an HST component to get started.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Basic HST2 Component&lt;/h2&gt;&lt;br /&gt;So let's start of with a simple/basic HST2 component. Here we have a simple component that tries to get a HippoBean wrapping a JCR node for the current request and puts the bean as an attribute on the request.&lt;br /&gt;&lt;br /&gt;&lt;pre class=&quot;brush:java&quot;&gt;import org.hippoecm.hst.component.support.bean.BaseHstComponent;&lt;br /&gt;import org.hippoecm.hst.content.beans.standard.HippoBean;&lt;br /&gt;import org.hippoecm.hst.core.component.HstComponentException;&lt;br /&gt;import org.hippoecm.hst.core.component.HstRequest;&lt;br /&gt;import org.hippoecm.hst.core.component.HstResponse;&lt;br /&gt;&lt;br /&gt;public class AbstractBaseHstComponent extends BaseHstComponent{&lt;br /&gt;&lt;br /&gt;    @Override&lt;br /&gt;    public void doBeforeRender(HstRequest request, HstResponse response) &lt;br /&gt;        throws HstComponentException {&lt;br /&gt;&lt;br /&gt;        HippoBean bean = getContentBean(request);&lt;br /&gt;        if(bean!=null) {&lt;br /&gt;            request.setAttribute(&quot;document&quot;,bean);&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Looks quite simple right? Now let's move on to the test.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;The actual test&lt;/h2&gt;Now that we've seen what our component looks like, let's take a look at how we can test this class. The component doesn't do a lot, but there are a couple of things that we want to test:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;that the getContentBean method is called&lt;/li&gt;&lt;li&gt;when the bean is not null the bean is set as an attribute on the request&lt;/li&gt;&lt;li&gt;there is an attribute on the request with the name document&lt;/li&gt;&lt;li&gt;the document from the request attribute is the same as the one put on the request&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;So now let's translate that into some code.&lt;br /&gt;&lt;br /&gt;Before we can actually test our doBeforeRender method we need to do some setup before we can continue.&lt;br /&gt;&lt;br /&gt;&lt;pre class=&quot;brush:java&quot;&gt;MockHstRequest fakeRequest;&lt;br /&gt;MockHstResponse fakeResponse;&lt;br /&gt;AbstractBaseHstComponent component;&lt;br /&gt;&lt;br /&gt;@Before&lt;br /&gt;public void setUp() throws Exception {&lt;br /&gt;    fakeRequest = new MockHstRequest();&lt;br /&gt;    fakeResponse = new MockHstResponse();&lt;br /&gt;    component = createMockBuilder(AbstractBaseHstComponent.class).&lt;br /&gt;                addMockedMethod(&quot;getContentBean&quot;, HstRequest.class).&lt;br /&gt;                createMock();&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Now looking at this setUp() method, you will notice that at first we create mocked versions of a request and response. These objects are necessary because they are parameters for our method under test. In a normal environment these objects will be created by the servlet container, but since we're unit testing we have to create these ourselves.  &lt;br /&gt;&lt;br /&gt;Next to that we create a mocked version of our AbstractBaseHstComponent. We do this because we need to mock the getContentBean method, which in a normal live environment performs interaction to a live JCR repository. The logic for getting the bean based on repository configuration is not useful for our test, so we mock the method.&lt;br /&gt;&lt;br /&gt;Now let's have a look at the total test case and the actual test method.&lt;br /&gt;&lt;br /&gt;&lt;pre class=&quot;brush:java&quot;&gt;import org.hippoecm.hst.content.beans.standard.HippoBean;&lt;br /&gt;import org.hippoecm.hst.content.beans.standard.HippoDocument;&lt;br /&gt;import org.hippoecm.hst.core.component.HstRequest;&lt;br /&gt;import org.junit.Before;&lt;br /&gt;import org.junit.Test;&lt;br /&gt;import org.onehippo.hst.mock.MockHstRequest;&lt;br /&gt;import org.onehippo.hst.mock.MockHstResponse;&lt;br /&gt;import static org.easymock.classextension.EasyMock.*;&lt;br /&gt;import static org.junit.Assert.*;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt; * Test for {@link com.jeroenreijn.site.components.AbstractBaseHstComponent}&lt;br /&gt; */&lt;br /&gt;public class AbstractBaseHstComponentTest {&lt;br /&gt;&lt;br /&gt;    MockHstRequest fakeRequest;&lt;br /&gt;    MockHstResponse fakeResponse;&lt;br /&gt;    AbstractBaseHstComponent component;&lt;br /&gt;&lt;br /&gt;    @Before&lt;br /&gt;    public void setUp() throws Exception {&lt;br /&gt;        fakeRequest = new MockHstRequest();&lt;br /&gt;        fakeResponse = new MockHstResponse();&lt;br /&gt;        component = createMockBuilder(AbstractBaseHstComponent.class).&lt;br /&gt;                addMockedMethod(&quot;getContentBean&quot;, HstRequest.class).&lt;br /&gt;                createMock();&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    @Test&lt;br /&gt;    public void testDocumentOnRequestAfterDoBeforeRender() throws Exception {&lt;br /&gt;&lt;br /&gt;        HippoBean bean = new HippoDocument();&lt;br /&gt;&lt;br /&gt;        //record the expected behavior&lt;br /&gt;        expect(component.getContentBean(fakeRequest)).andReturn(bean);&lt;br /&gt;&lt;br /&gt;        //stop recording and switch the mocked Object to replay state.&lt;br /&gt;        replay(component);&lt;br /&gt;&lt;br /&gt;        component.doBeforeRender(fakeRequest,fakeResponse);&lt;br /&gt;&lt;br /&gt;        //verify the specified behavior has been used&lt;br /&gt;        verify(component);&lt;br /&gt;&lt;br /&gt;        assertSame(fakeRequest.getAttribute(&quot;document&quot;),bean);&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;As you might notice, the testDocumentOnRequestAfterDoBeforeRender() method tests the doBeforeRender method and checks all of the above requirements.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;The next step&lt;/h2&gt;&lt;br /&gt;Even though you can create a mock of most objects quite easily, it's much better to have some native support/provided mock objects for most HST2 classes. Therefore I've added a &lt;a href=&quot;https://issues.onehippo.com/browse/HSTTWO-1257&quot;&gt;patch to JIRA&lt;/a&gt;, which adds more mocked classes that can be used for testing, so you do not have to mock explicit methods. Next to that it will create test maven artifact, which you can use when testing your HST component without having to mock explicit methods or objects yourself.&lt;br /&gt;Let me know if you run into any issues or have some ideas on improvement. It can make all our lives better.&lt;br /&gt;&lt;br /&gt;ps. I've just noticed that Shane Smith of iProfs created a &lt;a href=&quot;http://blog.iprofs.nl/2010/10/19/hst-and-mockito-sitting-on-a-tree/&quot;&gt;similar post&lt;/a&gt; with using &lt;a href=&quot;http://mockito.org/&quot;&gt;Mockito&lt;/a&gt;.&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width=&quot;1&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/2962867622850517744-2746085119212517341?l=blog.jeroenreijn.com&quot; alt=&quot;&quot; /&gt;&lt;/div&gt;</description>
	<pubDate>Thu, 21 Oct 2010 20:26:00 +0000</pubDate>
	<dc:creator>noreply@blogger.com (Jeroen Reijn)</dc:creator>
</item>
<item>
	<title>Rolf van der Steen (Hippo): Results Usability Test: Right Click</title>
	<guid>tag:blogger.com,1999:blog-8488651744833642317.post-9060731391780913799</guid>
	<link>http://rolfvandersteen.blogspot.com/2010/09/results-usability-test-right-click.html</link>
	<description>&lt;span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;span&gt;Here's a quick update on the usability test on right click functionality in Hippo CMS 7.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;The results show that roughly 2/3 of the participants would like to see right click functionality in the CMS.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt; &lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot;&gt;&lt;a href=&quot;http://4.bp.blogspot.com/_xXtS8nTPUSE/TKGcflJ9mXI/AAAAAAAAACU/ge9waODIqTw/s1600/rightclick-results-28-sep.png&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;79&quot; src=&quot;http://4.bp.blogspot.com/_xXtS8nTPUSE/TKGcflJ9mXI/AAAAAAAAACU/ge9waODIqTw/s320/rightclick-results-28-sep.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Many participants mentioned that right clicking would be good, but should not be the only way to reach certain actions; right clicking should be additional / redundant interaction.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;I would also like to point out that I suspect the participant group to be largely developers, thus real power users. I think actual CMS users will be less technical oriented and thus have a lower 'expectancy' for right clicking in a web interface.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;So a premature conclusion from this test is that users tend to be ready for right clicking in a web interface, but that it is still to early to use it as sole interaction pattern.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Note: the test is still running. So if you are a Hippo CMS&lt;/span&gt;&lt;span class=&quot;status-body&quot;&gt;&lt;span class=&quot;status-content&quot;&gt;&lt;span class=&quot;entry-content&quot;&gt; &lt;b&gt;user&lt;/b&gt;, let us know what you think about right mouse clicking in a CMS interface? Please vote on &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;a class=&quot;tweet-url web&quot; href=&quot;http://bit.ly/cY5LoT&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://usabilla.com/rate/7772163384c9c&quot;&gt;http://usabilla.com/rate/7772163384c9c&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width=&quot;1&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/8488651744833642317-9060731391780913799?l=rolfvandersteen.blogspot.com&quot; alt=&quot;&quot; /&gt;&lt;/div&gt;</description>
	<pubDate>Tue, 28 Sep 2010 13:01:36 +0000</pubDate>
	<dc:creator>noreply@blogger.com (Rolf van der Steen)</dc:creator>
</item>
<item>
	<title>Rolf van der Steen (Hippo): Usability test: Right Click Functionality</title>
	<guid>tag:blogger.com,1999:blog-8488651744833642317.post-4617763108480106097</guid>
	<link>http://rolfvandersteen.blogspot.com/2010/09/usability-test-right-click.html</link>
	<description>&lt;span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;span&gt;A call to Hippo CMS7 authors, editors and admins! Please join in on the next usability test. This one is about &lt;b&gt;right click functionality&lt;/b&gt;. Use the following URL to start the test:&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://usabilla.com/rate/7772163384c9c&quot;&gt; http://usabilla.com/rate/7772163384c9c&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Please don't hesitate to join in and speak up. Your opinion is much appreciated!&lt;br /&gt;&lt;br /&gt;Note on Usabilla (the tool used for these tests): Participating is anonymous; It is not possible for me to see who has participated. If you like to get in touch personally, please state your email in a note in the test.&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width=&quot;1&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/8488651744833642317-4617763108480106097?l=rolfvandersteen.blogspot.com&quot; alt=&quot;&quot; /&gt;&lt;/div&gt;</description>
	<pubDate>Fri, 24 Sep 2010 10:55:00 +0000</pubDate>
	<dc:creator>noreply@blogger.com (Rolf van der Steen)</dc:creator>
</item>
<item>
	<title>Rolf van der Steen (Hippo): Design by Fire Café - Design in Open Source</title>
	<guid>tag:blogger.com,1999:blog-8488651744833642317.post-1887482198409003165</guid>
	<link>http://rolfvandersteen.blogspot.com/2010/09/design-by-fire-cafe-design-in-open.html</link>
	<description>&lt;span&gt;&lt;/span&gt;&lt;div&gt;&lt;span&gt;On Monday 20 sep I attended Design by Fire Café, which is an informal gathering for (interaction) designers. Each café features a short, inspiring presentation as food for discussion. Last Monday Bojhan Somers presented &quot;Design in Open Source&quot;. Bojhan &lt;/span&gt;&lt;span&gt; works at &lt;a href=&quot;http://www.userintelligence.com/&quot;&gt;User Intelligence&lt;/a&gt; and &lt;/span&gt;&lt;span&gt;is UX manager for &lt;a href=&quot;http://drupal.org/&quot;&gt;Drupal&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;To start of, Bojhan named some examples of successful open source projects such as Firefox, Ubuntu and Wordpress. Despite these projects having little dedicated designers compared to the amount of developers and users, they are able to create a successful UX. According to Bojhan it is the culture within these projects which is the major success factor in creating good UX.&lt;br /&gt;&lt;br /&gt;Side note, some nice examples of gathering / dealing with UX issues from these projects are&lt;br /&gt;&lt;a href=&quot;http://planet.firefox.com/ux/&quot;&gt;Planet Firefox&lt;/a&gt; and &lt;a href=&quot;https://launchpad.net/hundredpapercuts&quot;&gt;Ubuntu 100 Paper Cuts&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Next Bojhan went into more detail on Drupal. From a major usability test in 2007 at the University of Minnesota it was clear Drupal needed UX improvement (l&lt;/span&gt;&lt;span&gt;ater on more usability research followed&lt;/span&gt;&lt;span&gt;). Drupal's UX team started the UX project to get these UX improvements into version 7. Just to make it clear: Drupal's UX team is not a full time dedicated team, its members are people who have the Drupal design role besides their everyday job. Bojhan mentioned he spent about an hour a day in his UX role. So it was a real challenge for the UX team to change the culture in the community and thus get the UX improvements realized.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;img border=&quot;0&quot; height=&quot;238&quot; src=&quot;http://3.bp.blogspot.com/_xXtS8nTPUSE/TJkhFCUnQpI/AAAAAAAAACE/2axyOisDh3k/s320/photo.jpg&quot; width=&quot;320&quot; /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot;&gt;&lt;span&gt;UX design challenge&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class=&quot;separator&quot;&gt;&lt;a href=&quot;http://3.bp.blogspot.com/_xXtS8nTPUSE/TJkhFCUnQpI/AAAAAAAAACE/2axyOisDh3k/s1600/photo.jpg&quot;&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt; Here's a summary of their 'lessons learned'.&lt;/span&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;span&gt;Their was a shift of focus in the design; traditionally Drupal focused much on the technically oriented users (site admins). Now they are focusing more on the user group who uses Drupal extensively (authors and editors).&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;The UX team formulated core UX principles; these were 4 high level principles which helped to maintain the focus in discussions instead of getting lost in details.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;The UX team introduced an iterative design process which contained &quot;explore&quot;, &quot;discuss&quot; and &quot;design&quot; cycles. Designers were encouraged to be as visual as possible (use visuals and mockups) in the discussions to make problems more visible and better discussable. The team also noticed the issue queue was thé tool developers worked with. So they made sure the design discussions took place IN the issue queue. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;Developers needed to learn; developers were used to start coding right away. They had to get used to this new process with its iterations and mock-ups before coding (you know, &quot;&lt;a href=&quot;http://en.wikipedia.org/wiki/The_Cathedral_and_the_Bazaar&quot;&gt;Plan to throw one away&lt;/a&gt;&quot;). &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;Designers needed to learn too: designers were used to creating a near-perfect design before 'releasing' it. But this is impossible in the open source world. Designs need to be released early and should be more about showing the line of thought (thus educating other contributors).&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;Initially there were concerns that the 'design by committee' process would be slow and result in mediocre solutions. It turned out this was not the case; 'thought leaders' (mostly designers) arose and were the ones making design decisions.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a href=&quot;http://3.bp.blogspot.com/_xXtS8nTPUSE/TJkhcXfOTWI/AAAAAAAAACM/cS4ivxmHf7s/s1600/photo%282%29.jpg&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;238&quot; src=&quot;http://3.bp.blogspot.com/_xXtS8nTPUSE/TJkhcXfOTWI/AAAAAAAAACM/cS4ivxmHf7s/s320/photo%282%29.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot;&gt;&lt;span&gt;Iterative design process&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div&gt;&lt;span&gt;&lt;br /&gt;All in all I think it was a really nice presentation containing valuable lessons which we can learn form at Hippo.&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width=&quot;1&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/8488651744833642317-1887482198409003165?l=rolfvandersteen.blogspot.com&quot; alt=&quot;&quot; /&gt;&lt;/div&gt;</description>
	<pubDate>Tue, 21 Sep 2010 21:36:00 +0000</pubDate>
	<dc:creator>noreply@blogger.com (Rolf van der Steen)</dc:creator>
</item>
<item>
	<title>Bas van Leeuwen (Hippo): Inspiring: Hippo GetTogether</title>
	<guid>tag:blogger.com,1999:blog-6364779749127996620.post-362457633482657666</guid>
	<link>http://hippobas.blogspot.com/2010/08/inspiring-hippo-gettogether.html</link>
	<description>&lt;a href=&quot;http://photos1.meetupstatic.com/photos/event/1/9/e/600_17460414.jpeg&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;240&quot; src=&quot;http://photos1.meetupstatic.com/photos/event/1/9/e/600_17460414.jpeg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;So yes, last Friday we had the Hippo GetTogether, our gathering of clients, developers,&amp;nbsp; partners, managers and interested individuals all clad in identical cutesy Hippo shirts. Let me give you an (incomplete) glimpse into the day’s events.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://photos3.meetupstatic.com/photos/event/1/e/9/600_17460489.jpeg&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;240&quot; src=&quot;http://photos3.meetupstatic.com/photos/event/1/e/9/600_17460489.jpeg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The summer day beckoned, yet everyone decided to stay inside in the magnificent Felix Meritis to listen to an exciting day filled with knowledge sharing. People freely came in and left when they desired, according to &lt;a href=&quot;http://twitter.com/Geebee&quot;&gt;Gerrit&lt;/a&gt; there was a “good informal vibe” which in my opinion helped to foster an environment for open discussion later on.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://photos1.meetupstatic.com/photos/event/4/0/9/1/600_17476529.jpeg&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;240&quot; src=&quot;http://photos1.meetupstatic.com/photos/event/4/0/9/1/600_17476529.jpeg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Hippo’s very own CTO opened the day with a hearty welcome and after he had&lt;a href=&quot;http://www.slideshare.net/arjecahn/hippo-gettogether-opening-talk&quot;&gt; shown us&lt;/a&gt; what the future of Hippo CMS holds in store it was time for client cases. In this speed-dating for professionals each participant had 4 minutes to show everyone a short glimpse of their Hippo implementations.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://3.bp.blogspot.com/_rzmLVGhlHvE/THe-uWQgjAI/AAAAAAAAABE/9fE5fCika9A/s1600/highres_17328006.jpeg&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://3.bp.blogspot.com/_rzmLVGhlHvE/THe-uWQgjAI/AAAAAAAAABE/9fE5fCika9A/s320/highres_17328006.jpeg&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;TDC Lighthouse&lt;a href=&quot;http://www.vimeo.com/14360960&quot;&gt; used Spring&lt;/a&gt; to implement the website of the &lt;a href=&quot;http://www.nierstichting.nl/&quot;&gt;dutch kidney foundation&lt;/a&gt; Not only did we see the big, high-traffic sites for which Hippo is known and loved, but there was also a presentation by Indivirtual about their implementation of &lt;a href=&quot;http://www.landg.nl/&quot;&gt;http://www.landg.nl&lt;/a&gt; in 10 days of work.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://photos2.meetupstatic.com/photos/event/1/a/1/600_17460417.jpeg&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;240&quot; src=&quot;http://photos2.meetupstatic.com/photos/event/1/a/1/600_17460417.jpeg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The program flowed from these non-technical client cases, through technical cool vs. hot talks ending in an overheated hackathon.&amp;nbsp; Some chose to attend the Usability Sidetrack, in which our User Interface Guru shared some insights into “how we create the friendliest CMS around”. An inspiring workshop in which participants were actively involved in creating ideas for a better &lt;a href=&quot;http://www.onehippo.com/try&quot;&gt;product&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://2.bp.blogspot.com/_rzmLVGhlHvE/THe--ilCKkI/AAAAAAAAABM/hh5yz1uBYnU/s1600/highres_17460477.jpeg&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/_rzmLVGhlHvE/THe--ilCKkI/AAAAAAAAABM/hh5yz1uBYnU/s320/highres_17460477.jpeg&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Cool vs. Hot focused on using Hippo CMS in new and exciting ways, examples are using Hippo in an “In Memory Data Grid”, integrating Hippo with SAP, &lt;a href=&quot;http://info.jteam.nl/August2010HippoGetTogetherContentRequest.html&quot;&gt;SOLR&lt;/a&gt;, using REST interfaces, &lt;a href=&quot;http://www.slideshare.net/m.pillitu/10-hippo-cmis-plugin-get-together-august-2010&quot;&gt;using CMIS&lt;/a&gt;, SOAP &amp;amp; Spring, or tips &amp;amp; tricks for running Hippo in a high-performance way.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://2.bp.blogspot.com/_rzmLVGhlHvE/THe_EhKm32I/AAAAAAAAABU/TzqyIRa9o5E/s1600/highres_17460473.jpeg&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/_rzmLVGhlHvE/THe_EhKm32I/AAAAAAAAABU/TzqyIRa9o5E/s320/highres_17460473.jpeg&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Afterwards Hippo’s HST expert “Ardcore” gave an introduction into linking with the HST and how to make sure your visitors (and Google!) get where they should be.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://photos1.meetupstatic.com/photos/event/1/a/5/600_17460421.jpeg&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;240&quot; src=&quot;http://photos1.meetupstatic.com/photos/event/1/a/5/600_17460421.jpeg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;We have it all on &lt;a href=&quot;http://www.vimeo.com/tag:hippogt&quot;&gt;film&lt;/a&gt;, so please have a look at some of the talks, either because you missed them or to review the ideas presented. For example the &lt;a href=&quot;http://www.vimeo.com/14361157&quot;&gt;Liferay-Hippo integration&lt;/a&gt; for PvdA.nl  &lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://photos3.meetupstatic.com/photos/event/1/f/7/600_17460503.jpeg&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;240&quot; src=&quot;http://photos3.meetupstatic.com/photos/event/1/f/7/600_17460503.jpeg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The day ended with a hackathon, complemented with refreshments and pizza. Guys being guys there was no way that the &lt;a href=&quot;http://www.google.com/images?um=1&amp;amp;hl=en&amp;amp;client=firefox-a&amp;amp;rls=org.mozilla%3Aen-US%3Aofficial&amp;amp;biw=1200&amp;amp;bih=1447&amp;amp;tbs=isch%3A1&amp;amp;sa=1&amp;amp;q=baywatch+-hasselhoff&amp;amp;aq=f&amp;amp;aqi=&amp;amp;aql=&amp;amp;oq=&amp;amp;gs_rfai=&quot;&gt;Baywatch-plugin&lt;/a&gt; could not have won…&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://photos3.meetupstatic.com/photos/event/1/a/e/600_17460430.jpeg&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;240&quot; src=&quot;http://photos3.meetupstatic.com/photos/event/1/a/e/600_17460430.jpeg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The day ended with a lot of happy faces, see you all next time!&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://photos1.meetupstatic.com/photos/event/1/e/e/600_17460494.jpeg&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;240&quot; src=&quot;http://photos1.meetupstatic.com/photos/event/1/e/e/600_17460494.jpeg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://photos1.meetupstatic.com/photos/event/2/0/0/600_17460512.jpeg&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;240&quot; src=&quot;http://photos1.meetupstatic.com/photos/event/2/0/0/600_17460512.jpeg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width=&quot;1&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/6364779749127996620-362457633482657666?l=hippobas.blogspot.com&quot; alt=&quot;&quot; /&gt;&lt;/div&gt;</description>
	<pubDate>Fri, 27 Aug 2010 13:44:00 +0000</pubDate>
	<dc:creator>noreply@blogger.com (Bas van Leeuwen)</dc:creator>
</item>
<item>
	<title>Rolf van der Steen (Hippo): Usability test: Tab Management</title>
	<guid>tag:blogger.com,1999:blog-8488651744833642317.post-1199076462983600722</guid>
	<link>http://rolfvandersteen.blogspot.com/2010/08/usability-test-tab-management.html</link>
	<description>&lt;div&gt;&lt;span&gt;A call to Hippo CMS7 authors, editors and admins! Please join in on the next usability test.  This one is about &lt;i&gt;Tab management&lt;/i&gt;. Use the following URL to start the test:&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://usabilla.com/rate/8190903884c76&quot;&gt;http://usabilla.com/rate/8190903884c76&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Please don't hesitate to join in and speak up. Your opinion is much appreciated!&lt;br /&gt;&lt;br /&gt;Note on Usabilla (the tool I'm using for these tests): Participating is anonymous; It is not possible for me to see who has participated. If you like to get in touch personally, please state your email in a note in the test.&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width=&quot;1&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/8488651744833642317-1199076462983600722?l=rolfvandersteen.blogspot.com&quot; alt=&quot;&quot; /&gt;&lt;/div&gt;</description>
	<pubDate>Fri, 27 Aug 2010 10:09:00 +0000</pubDate>
	<dc:creator>noreply@blogger.com (Rolf van der Steen)</dc:creator>
</item>
<item>
	<title>Rolf van der Steen (Hippo): Results Hippo GetTogether Usability Sidetrack</title>
	<guid>tag:blogger.com,1999:blog-8488651744833642317.post-8646243963363484350</guid>
	<link>http://rolfvandersteen.blogspot.com/2010/08/results-hippo-gettogether-usability.html</link>
	<description>&lt;div&gt;&lt;span&gt;Last friday (20 aug 2010) was Hippo GetTogether. Right after lunch, while the Cool vs. Hot tech-talks were being held in the Zuilenzaal, I ran the Usability sidetrack in the Teekenzaal. About 15 people attended and gave me really valuable feedback on Hippo CMS 7.&lt;br /&gt;&lt;br /&gt;The sidetrack consisted of two parts. First I presented a brief introduction on usability. Most of the sidetrack however was a practical workshop. In this workshop participants gave me feedback on Hippo CMS 7. For those interested; you can find the entire presentation on http://www.slideshare.net/rolfvandersteen/hippo-get-togehterusabilitysidetrack (yes, I know, it contains a typo).&lt;br /&gt;&lt;br /&gt;Check out the presentation if you'd like to know a bit more on usability. Here I like to go into more detail on the workshop and the results from it. For the workshop I had prepared three exercises; “Top 10 Improvements”, “Personas” and “Today's Design”, so that I had at least enough to fill the planned time (13:30 - 15:30). But in the end I used all the planned time and about an hour extra on the first exercise only; creating a decent most-wanted improvements list.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Top 8 Improvements&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;I used focus group methods to create the improvements list. First I asked all participants to write down their most-wanted improvements on post-its. This could be things like frustrating interaction, bad graphical design or missing features. Then we went through these improvements one-by-one; the 'owner' explained what he/she meant, and we put all the post-its on a flip-over functionally grouping them as we went along. This resulted in approximately 20 improvements. Next we prioritized the improvements. Everyone got to make two votes by placing stickers on the flip-over: one big sticker&amp;nbsp; for the most-wanted improvement (2 points) and one small sticker for the second-most-wanted improvement (1 point).&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/_xXtS8nTPUSE/THZp_z2FHQI/AAAAAAAAAB0/LkUxGEhXqCk/s1600/top-improvements.JPG&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;http://1.bp.blogspot.com/_xXtS8nTPUSE/THZp_z2FHQI/AAAAAAAAAB0/LkUxGEhXqCk/s320/top-improvements.JPG&quot; width=&quot;239&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br /&gt;This resulted in the following top 8 improvements*:&lt;/span&gt;&lt;/div&gt;&lt;ol&gt;&lt;li&gt;&lt;span&gt;Rich text editor (Xinha): frustrating to work with, doesn't give users true text-editing functionality they expect from Office applications they normally use like MS Word.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;Performance: Bad performance influences the user experience, users get frustrated, start clicking more than needed, thus creating more errors.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;Document presentation: bad typography, unusable alternating color coding, 'technical' design.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;Template creation: current way of creating document type templates is too rigid / clunky.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;Workflow: communication possibilities between users in the workflow are missing / too little.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;Dashboard: perceived as useless because presented information is not relevant to users.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;Tab behavior: frustrating interaction.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;Drag &amp;amp; drop: missing functionality.&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;&lt;span&gt;&lt;br /&gt;* The top listing is composed of voted improvements and improvements that are mentioned more than once. All other improvements are left out of the top listing.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Hackathon input&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;After creating the top listing we came to the conclusion there was too little time left to pick up one of the other exercises. We then had a short brainstorm on input for the hackathon, using the top listing as a reference. We decided improvements for the Dashboard nicely fitted the hackathon goals and could be feasible within a couple of hours.&lt;br /&gt;&lt;br /&gt;From this brainstorm the following improvements for the Dashboard arose:&lt;/span&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;span&gt;History improvements: make the history list more relevant, show publication, show take offline show requests and their comments, don't dhow login/logout actions, allow user to hide (some) actions, and group actions per user (within a certain time frame).&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;Chat functionality in CMS: allow logged in users to chat with each other, on dashboard, but eventually across entire CMS, one-on-one chats, but optionally also one-to-many.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;ToDo improvements: Group per action.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;Change order of history and todo; to do is more important, so should be on the left.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;span&gt;&lt;b&gt;Structured feedback&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Another very interesting point which became clear from the usability sidetrack was a clear need for more frequent and better structured ways for Hippo clients/users to provide input/feedback like in this sidetrack. I pointed out that we're running usability tests and that I would like as many participants as possible to join in. I also mentioned that I'm very much interested in additional feedback and like to enable structured ways of exchanging this. Participants responded enthusiastically to that.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;What's next?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;I've discussed results from the Usability sidetrack at Hippo internally and these are the steps we're going to take:&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;span&gt;The upcoming release (7.5) is already fully planned and there are little resources available to pick up additional design and development. However we can fit Tab behavior improvement within this release.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;For the next releases we have appointed key usability improvements: Dashboard,&amp;nbsp; Rich text editor, Performance and Document presentation.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;Also we're going to create a 'UX channel'. We want to satisfy the need of sharing thoughts and ideas on user experience (and separate these from technical discussions). We have to give it some thought on how we are going to do this, but most likely we'll be opening up a UX forum.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;span&gt;Well, that’s it in a nutshell. I'll keep you updated and hope to see you at the next GetTogether!&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width=&quot;1&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/8488651744833642317-8646243963363484350?l=rolfvandersteen.blogspot.com&quot; alt=&quot;&quot; /&gt;&lt;/div&gt;</description>
	<pubDate>Thu, 26 Aug 2010 13:21:00 +0000</pubDate>
	<dc:creator>noreply@blogger.com (Rolf van der Steen)</dc:creator>
</item>
<item>
	<title>Rolf van der Steen (Hippo): Hippo GetTogether Usability Sidetrack</title>
	<guid>tag:blogger.com,1999:blog-8488651744833642317.post-6535089963308338108</guid>
	<link>http://rolfvandersteen.blogspot.com/2010/08/hippo-gettogether-usability-sidetrack.html</link>
	<description>&lt;span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;span&gt;This Friday is &lt;a href=&quot;http://gettogether.onehippo.org/calendar/13459921/&quot;&gt;Hippo GetTogether&lt;/a&gt;. Parallel to the &lt;i&gt;Cool vs. Hot&lt;/i&gt; tech-talks I will be running the &lt;i&gt;Usability sidetrack&lt;/i&gt;.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span&gt;The Usability sidetrack is  scheduled for form 13:30 until 15:30*. In this time I will  give a glimpse into how we create the friendliest CMS around.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span&gt;First there will be a brief introduction on usability; what is it, what is our vision on it and how do we apply it at Hippo.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span&gt;Most  of the sidetrack however will be a practical workshop. In this workshop  you can give us your feedback, directly to me! The feedback will be used right there and then to collectively  design and evaluate new and better solutions.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span&gt;Your  input is valuable here!&lt;/span&gt;&lt;span&gt; Since the workshop is based on your feedback, please bring your issues, examples, comments, etc.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span&gt;* There is room and time to continue an extra hour if desired.&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width=&quot;1&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/8488651744833642317-6535089963308338108?l=rolfvandersteen.blogspot.com&quot; alt=&quot;&quot; /&gt;&lt;/div&gt;</description>
	<pubDate>Wed, 18 Aug 2010 06:47:00 +0000</pubDate>
	<dc:creator>noreply@blogger.com (Rolf van der Steen)</dc:creator>
</item>
<item>
	<title>Mathijs Brand (Hippo): The little secret about Search Engine Optimization</title>
	<guid>tag:blogger.com,1999:blog-862413798174121061.post-8634485584873037704</guid>
	<link>http://mathijsbrand.blogspot.com/2010/08/little-secret-about-search-engine.html</link>
	<description>&lt;p&gt;
Your average Hippo customer isn't stupid. She's smart. Let's call her Paula. I like that name. &lt;b&gt;Paula&lt;/b&gt;. Now let's say Paula is a web analyst and works for a large non profit organization. And because she's smart, she's migrating to Hippo CMS 7. Before she did this, she read some extensive reports on SEO. Her company even hired an SEO consultant to verify her website. But she also noticed a lot of Hippo websites got the highest rankings. 
&lt;/p&gt;

&lt;p&gt;
She asked me why. Did I know a little secret perhaps? My answer is &lt;b&gt;yes&lt;/b&gt;. I do have a little secret for Paula...
&lt;/p&gt;
&lt;p&gt;
But first I will tell you exactly what Paula knows. So here it goes.&lt;/p&gt;

&lt;h2&gt;Paula knows&lt;/h2&gt;

&lt;p&gt;
&lt;b&gt;Human Readable URL's&lt;/b&gt; are important. Luckily she got it out of the box in Hippo CMS.&lt;/p&gt;

&lt;p&gt;
Paula knows where the &lt;b&gt;description&lt;/b&gt; text in her Google search results comes from. See picture below. Better yet, she knows how she can easily manipulate it in her own Hippo CMS. 
&lt;/p&gt;

&lt;p&gt;
A friend of Paula told her about a thing called a sitemap.  Although search engines won't promise you they will use it, it is pretty nice if they do: giving visitors an overview of your website in search results. See picture below. The Hippo forge has a nice &lt;a href=&quot;http://sitemap.forge.onehippo.org/&quot; target=&quot;sitemap plugin documentation&quot;&gt;sitemap plugin&lt;/a&gt; using the &lt;a href=&quot;http://www.sitemaps.org&quot; title=&quot;what are sitemaps?&quot; target=&quot;_blank&quot;&gt;sitemap standard&lt;/a&gt;. The installation is easy. That's why Paula has it now.

&lt;a href=&quot;http://farm5.static.flickr.com/4118/4884375437_b2954d4249_z.jpg&quot; title=&quot;large thumbnail of search results image&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://farm5.static.flickr.com/4118/4884375437_b2954d4249_z.jpg&quot; alt=&quot;search results in google with sitemap feature&quot; width=&quot;380px&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;h2&gt;Keywords&lt;/h2&gt;
&lt;p&gt;
Things started to get a bit messier with a discussion about keywords. Paula knows it can be a lot of work to add well chosen meta keywords to your pages. She used to give the editors guidelines to try and match all the important search queries in Google; adding keywords for higher search rankings. The editors had entered them extensively in their old CMS and I didn't want to migrate them, for they weren't very helpful at all. Even worse, they were always the same. 
&lt;/p&gt;
&lt;p&gt;
&lt;i&gt;Why don't you migrate them?&lt;/i&gt; She asked. &lt;i&gt;Google likes them, I read it in my report by the SEO consultants.&lt;/i&gt; &lt;/p&gt;
&lt;p&gt;
So I explained her what a nice job it must be, being an SEO consultant. It seems you can basically write whatever you want. Why? The search ranking algorithm isn't public. So a bit of the mystery remains. I'm not saying meta keywords will hurt your search results. But they won't help you either.&lt;br /&gt;Don't believe me? Check this guy's video:&lt;br /&gt; &lt;a href=&quot;http://www.youtube.com/watch?v=jK7IPbnmvVU&quot; title=&quot;Google does not use keywords
&quot;&gt;Google does not use the keywords meta tag in web ranking&lt;/a&gt;. 
&lt;/p&gt;

&lt;p&gt;
So don't spend your time on keyword optimization for external search engines. Rather spend it on keywords for use within your own website. For example in your own search engine. Try making sure the list of keywords in your article is short and relevant. Then people will find what they are looking for faster and you can influence your website's search results. But searching within your own website is a different topic altogether. I might write about that another time.&lt;/p&gt;

&lt;h2&gt;Link farms&lt;/h2&gt;
&lt;p&gt;
Very important is the amount of linking between you and other websites. If you link to a normal relevant website and they link back, it's pretty good news for your search results. 
However &lt;a href=&quot;http://en.wikipedia.org/wiki/Link_farm&quot; title=&quot;wikipedia about link farms&quot;&gt;a link farming&lt;/a&gt; doesn't work. That is bad news for your ranking. Broken links on your website don't help you either, so luckily Hippo CMS has a lot of tooling for that. 
&lt;/p&gt;

&lt;h2&gt;Performance matters&lt;/h2&gt;
&lt;p&gt;
Paula didn't know performance mattered for search engines. It does. &lt;a href=&quot;http://googlewebmastercentral.blogspot.com/2010/04/using-site-speed-in-web-search-ranking.html&quot; title=&quot;Using site speed in search ranking&quot; target=&quot;_blank&quot;&gt;Check this page by Google about it&lt;/a&gt;. 
&lt;/p&gt;
&lt;p&gt;
I'm glad speed matters. I like fast websites. And others do too! It will get give your visitors a better feeling of usability. Higher performance leads to more page views. People return more often to fast website.  &lt;a href=&quot;http://www.youtube.com/watch?v=MStKwEff_kY&quot; title=&quot;Velocity 2010: Urs Holzle &quot;&gt;Some people argue it's the most important feature of your website&lt;/a&gt;. Anyhow. I'm glad Hippo can provide you with lightning speed. 
&lt;/p&gt;


&lt;h2&gt;Nice, nice, nice, but now I want the secret&lt;/h2&gt;
&lt;p&gt;
So you're wondering why Hippo websites rank as high as they do? What is the secret? Is it about all the rules applied above? Partly. 
&lt;/p&gt;
&lt;p&gt;
The real secret is your &lt;b&gt;content&lt;/b&gt;. There's no smart technical feature giving you high rankings without having relevant &lt;b&gt;content&lt;/b&gt; people like. So the amount of pages with nice relevant articles is the little secret I'll give away. And that's exactly what editors in Hippo CMS can focus on. A search term in the title or introduction is more important then a search term in the body. But you don't have to tell people that. They do that already. 
&lt;/p&gt;

&lt;p&gt;
And by the way. Paula is very happy and is getting high search results. Are you next?
&lt;/p&gt;


&lt;p&gt;
&lt;i&gt;All characters and events in this blog — even those based on real people — are entirely fictional.&lt;/i&gt;
&lt;/p&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width=&quot;1&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/862413798174121061-8634485584873037704?l=mathijsbrand.blogspot.com&quot; alt=&quot;&quot; /&gt;&lt;/div&gt;</description>
	<pubDate>Thu, 12 Aug 2010 16:01:13 +0000</pubDate>
	<dc:creator>noreply@blogger.com (Mathijs Brand)</dc:creator>
</item>
<item>
	<title>Rolf van der Steen (Hippo): Hippo GetTogether T-shirt poll</title>
	<guid>tag:blogger.com,1999:blog-8488651744833642317.post-4190899187749385907</guid>
	<link>http://rolfvandersteen.blogspot.com/2010/08/hippo-gettogether-t-shirt-poll.html</link>
	<description>&lt;span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;span&gt;To all Hippo GetTogether attendees; now is your chance to determine the looks of us hippotizers. We want you to choose your favorite T-shirt for the Hippo GetTogether (majority rules).&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Vote on: &lt;a href=&quot;http://usabilla.com/rate/19475236134c5&quot;&gt;http://usabilla.com/rate/19475236134c5&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/_xXtS8nTPUSE/TFlRJbUs2kI/AAAAAAAAABE/-OMypu08hxQ/s1600/tshirt_poll.png&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;240&quot; src=&quot;http://1.bp.blogspot.com/_xXtS8nTPUSE/TFlRJbUs2kI/AAAAAAAAABE/-OMypu08hxQ/s320/tshirt_poll.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width=&quot;1&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/8488651744833642317-4190899187749385907?l=rolfvandersteen.blogspot.com&quot; alt=&quot;&quot; /&gt;&lt;/div&gt;</description>
	<pubDate>Wed, 04 Aug 2010 11:38:00 +0000</pubDate>
	<dc:creator>noreply@blogger.com (Rolf van der Steen)</dc:creator>
</item>
<item>
	<title>Ard Schrijvers (Hippo): Relevance scoring your search results with the HST Query</title>
	<guid>http://blogs.onehippo.org/ard/2010/07/relevance_scoring_your_search.html</guid>
	<link>http://blogs.onehippo.org/ard/2010/07/relevance_scoring_your_search.html</link>
	<description>&lt;p&gt;Typically, customers like it when a title matches some query, that this item gets scored higher than a match for the query only in the documents body.&lt;/p&gt;

&lt;p&gt;Now, without going into the subtle details of Lucene scoring, by default all text in a Hippo Document is indexed with equal weight (assumi</description>
	<pubDate>Wed, 28 Jul 2010 16:17:32 +0000</pubDate>
</item>

</channel>
</rss>

