Jboye 2010 has come to an end. The Jboye conference is about getting CMS expert users, analysts and vendors together. The central idea is to learn more by communicating openly. This means I shouldn't too obviously put marketing messages in my sentences, so you can have interesting discussions and get to the point. I like this idea since it's very close to communicating in an open source project. A project like Hippo CMS for example, the best and most user friendly CMS in the world, especially if you have huge amounts of content. Java developers love it. By the way, here's one of those cute Hippo toys.
My first day at the conference I selected a tutorial course about rapid prototyping by James Hobart. Prototyping helps in getting expectations aligned quickly. It's not all that easy to turn the ship around once it's close to the harbour, so it makes sense to make a prototype early in the project. It's an investment, but a very important one.
That's why prototyping combined with SCRUM became a common practice at Hippo. I don't want to keep all the success to myself, so I'm sharing a couple of best practices for a Hippo CMS project in this blogpost. If anything is too technical, please say so. If you think you do it better, please share. If you don't know SCRUM, this is a very fast video introducing you to it under 10 minutes. A sprint takes about two weeks depending on the size of the project and your personal preferences. In small projects a sprint and a phase is the same thing. In larger projects a phase takes one or more sprints.
The business case
The most important part of a project is not part of the project. It's about getting your business case straight. A question you should ask yourself: why are we actually doing this? Which audience do we target and what value does it have for our business. In other words: describe your targets. Once this is clear, don't forget to share your carefully designed ideas. I share the business goals and targets with everyone participating in the project. Even when it's unessential for someone's day-to-day job. In the end this understanding delivered better and more consistent projects. At Jboye I had the pleasure to meet Christine Pierpoint. She had inspiring ideas you should take into account before starting a web project and in this video some of these interesting thoughts will come to you.
The design phase
The (user action) designers can take on the business case and start designing: screen-shots, scratches, wire-frames, anything concrete. Details are not important yet. Keep your focus on the absolute minimum the project needs to go live with. The reason I always focus on the bare minimum is because a) it's nice to get fast results, b) search engines can start indexing your website, c) your marketing people can get going, d) it's easier to end up with something, surprisingly this is not straightforward . A Hippo project has a very solid foundation, so don't worry about adding modules and features after going live. That is, if you make sure you have some Hippo certified developers on your team.
A clickable website
The goal of this phase is to get a real website with HTML, javascript and CSS up and running. No connections to any database or repository. Just plain text, easy programming. I don't like latin texts in a design, because people don't seem to understand what these "lorem ipsum" texts are about. It's confusing, so better use good examples or even texts describing the sort of content that should be there. A functional design can be helpfull for details, but nothing beats having a go at something similar to the end product. I make every link clickable, to make sure the interaction is clear. The clickable website will give you valuable feedback fast. Developers, designers, managers, editors and end users can all have conflicting ideas. Discussions in this phase are necessary. Don't avoid them, but end up with conclusions everybody agrees upon. Your clickable website will help you focus.
About the tools used for a clickable website:
Hippo developed guidelines to make the web design extensible and accessible, however Hippo CMS doesn't impose any technical restrictions on your web design. You're really free to do whatever you're used to do. My team usually creates a simple maven project, use svn for versioning, jsp for coding and jetty to run it all. We created a lot of code snippets for paging, calendars, faceted navigation, related items, forms, header and footer templates, etc. Hippo has support for any javascript library you would like to use, although we tend to use jquery. Don't use more than one javascript library. It ruins your performance. Because projects requirements tend to change all the time during this phase your precious code turns into spaghetti quite easily. That's why we usually keep the clickable website as a seperate project. You can take a different approach and use your own tools or use Hippo Site Toolkit from the start.
The content model and architecture
While frontend developers, end users and business people are getting together to focus on the look and feel of the website, extranet or intranet. The analysts can work on the content model and architecture. You can start at the same time the clickable phase starts and of course there's some overlap. Take your time during this phase to get a good overview of the content model. It's essential for any CMS project. I like to use an excel sheet to describe all the templates, but anything will do as long as it's clear. A news page for example can have a title, a date used for sorting, an introduction, a rich text field, a multiple thumbnail picture or whatever you would like it to have. Don't forget to describe metadata. A simple website has a couple of templates, for example a news template, a simple text template, a template for adds and so on. Define them. Hippo CMS is content driven, so you're defining content types, not web pages.
Next to the model, it's smart to define a good way to structure the actual content in folders, so make a basic setup with a folder for news items or a folder for the communication department depending on your preferences. Editors have an opinion about this, so ask them. The way you structure your content doesn't have to be the same way you structure your website. In Hippo Site Toolkit you can query the content anyway you like. Questions to help you get your answers: Where does each type of content come from. Does the content come from an external source like a webservice or rss feed? Which groups of editors add which content, for example do you have a group of people only editing news pages? If that's the case you help editors a lot by only showing the news pages in Hippo CMS. It's more user friendly and secure.
Hippo CMS and data entry
Because of the Hippo CMS architecture, you can first get Hippo CMS up and running and later further develop your website. This means content migration can take place first and editors can start entering content before the project is finished. That is, as long as you have your (test / acceptance) servers up and running. Even though Hippo CMS is very user friendly, a training course and custom documentation for editors can help to get going fast and consistent. The training material can also be used for writing guidelines. Do you have to migrate a lot of content and you're stuck with tons of xml files? This tool comes in handy. Changes in your content model are more expensive from this phase onwards, but not impossible. If you need to make a change, do it, but only if you're sure you really need it. More info for developers on: http://www.onehippo.org/.
Adding features and phases recursively
Your project is growing and growing and soon your real website starts to look better then your clickable website. You can add sprints until the end of your project's lifecycle, so don't put too much pressure on the first time you enter the world wide web.
Champagne
I congratulate you for reading this and hope you share a glass of champagne with me once your own Hippo CMS project goes live, so feel free to contact me even if it doesn't go as planned. We wouldn't leave you out in the cold. For guarantees and a healthy relationship Hippo offers support.
Great information here, thanks for sharing this valuable information!
ReplyDelete