Blog

Pomodoro CMS - Project start

For a project to become successful there has to be some strategy behind it with a clear view of the desired direction and the goals it's trying to achieve. This requires a lot of thinking and discussion and often results in some documentation. This doesn't have to be really extensive but keep things concise, don't over-document but allow for changes along the way.

My design method of choice is User Experience Design as described by Jesse James Garrett in The Elements of User Experience. Garrett divides the design process into 5 phases (or panes), from abstract to concrete; strategy, functional, interaction, interface and visual.

Choices and results from this process go into the design document, it describes the preferred user experience for the product and helps to ensure that no aspect of the user's experience will happen without conscious and explicit intent.

The document will be constantly updated as I progress through development. For development I use agile development method SCRUM. Therefore only the first phase, strategy is really necessary before start of the project. After that I'll be constantly going over the last 4 phases again for every development cycle.

Strategy pane

In order to give everyone the same expectations of the final result it has to be clear what both the owner and the users want out of it.

For the Pomodoro CMS, the business requirements mainly focus on technical requirements; easy deployment and high quality code. Deployment shouldn't take much time and the product should make good use of web standards which shouldn't break by content provided by the user.

Customers of a small site require hosting of equal budget. Ruby on Rails hosting is still relatively expensive compared to some standard LAMP hosting. It should be user friendly, use terms like "pages" instead of "articles" and customers want to be able to fully independently edit all the content, not having to contact the developer now and then. It has to be reliable and secure which means automatic backups and login required and finally it should be SEO friendly.

Another part of the strategy phase is to create an example user for everyone to relate to; our user is aged 35 - 55, owns a small company and is the only employee using the product. He is well informed about his industry and used to handle things a certain way. Occasionally he surfs the web but is still an inexperienced user. He doesn't know HTML, CSS or the difference between a browser and a search engine and uses only one computer. His favorite sites are Hyves.net, Marktplaats.nl and nu.nl.

Having a clear strategy, I can prepare for the first development round (or sprint in SCRUM terms). In the next post a product backlog will be made in which functional requirements get specified and prioritized. I put the strategy into the design document which is available on Google docs. For now commenting can be done by replying to @benvds on Twitter.

Announcing Pomodoro CMS

This is the first post on my new website. As you can see there's not very much functionality here yet, that's because I haven't been able to choose between a CMS or blog engine and therefore this page is static.

For the back-end of this blog section I was looking for some simple CMS functionality focusing on small business sites. Besides creating web application I also do the occasional website, mostly for small businesses. I need something I could use for those sites as well.

When building applications I prefer Ruby On Rails but because of the high hosting costs for rails it has to be PHP.

The best candidate for this has to be Frog CMS. It's simple, fast and has all the essential plugins.

Downside is that I can only get it working on my host. For some reason I can't get installed on my development environment. Apparently lots of people are having issues installing.

Then I thought about using WordPress again. There are a lot of good plugins for WordPress but it isn't an ideal solution for small sites, because it's aimed at blogging and not a real CMS.

So I decided to create my own: Pomodoro CMS. The world doesn't really need another CMS but I think there's a lack of tutorials and blog posts which cover the complete process of launching a site or web application. So i'll be blogging about the whole progress, from start to finish, covering project mangement, the design process, the technical implementation and server setup.

The focus at the start of development will be mainly blogging functionality so I can get things running as quickly as possible. After that it will head towards more regular CMS functionality. The product backlog will be put on Google docs and the source will be available on on github.

For now commenting can be done by replying to @benvds on Twitter.