Last week we had our first Hackathon at Colours, and it was a blast! There were a lot of great ideas, ranging from better time-tracking apps and a mobile poker app for Scrum poker sessions, to multiple content management add-ons and even an iBeacon utility that you can easily administer online. My submission came in at a third place (just behind the poker app and a standardized Drupal website with generation wizard) and, of course, was related to Sitecore. I worked out my concept of bringing component statistics (analytics data) directly to the content editor, showing the relevant data per component in the Page Editor.
My idea basically came down to the following two questions: How often does a content editor really take action to change his content based on website statistics (most of the time only visible to the web analyst)? And wouldn’t it be great to get this information per component?
After a fun night of coding, Laphroaig Cask Strength whisky (oh that’s sooo good), lots of table soccer games of questionable quality, loud and good dubstep (but also some traditional Belarusian music from our Minsk-colleagues), pizza, fries and Red Bull, my concept started coming together. I started with a clean Sitecore installation of version 7.5, built a small website to demonstrate my concept (some renderings do work with live content, but not all of them) and then I’ve built the data collection events. Lastly, HighCharts was used to display the results.
You can get a more in-depth view of my concept and implementation by watching the following screencast:
which is also available via YouTube directly: Hackathon entry – Page Editor Statistics in Sitecore.
Of course, this is just a concept and there are a lot of additional things to figure out, like:
- The (for the demo removed) speed measurements should be re-entered and extended with the load time in the browser, not only the load time of the DOM structure (this was only built to demonstrate the concept).
- The page load registration should be moved to an asynchronous call, as is the case with the ‘scrolled into view’ demo.
- It should be made possible to follow multiple components that use the same layout on one page.
- The fly-out should be made dynamic (only fly in on hover for example) and tested within the Page Editor extensively.
- Storing the statistics in xDB would be way better than storing the data on the item itself, mostly in regard of scalability and performance.
- Personalization should be implemented to get more accurate statistics and to be useful within personalized websites.
So keep in mind that it’s just a demo of a concept, built during a hackathon while having fun (and a little sleep) too. But you’re more than welcome to comment on my video on YouTube or to extend my concept, but please share it with me, as I shared the concept with you and intend on making it an Open Source Sitecore plug-in that may be ready to appear on the Sitecore MarketPlace one day :-).