For the last three years I’ve been looking for a really elegant website building tool, and figured that a content management system (CMS) was the best approach. However there are hundreds of CMSes out there, and I didn’t know which to use. It’s been a long journey, and I’ve
wasted a lot of time investigated many options before settling on one and really learning it – and I couldn’t be happier!
Defining my needs for a website building tool[pullquote align=”right”]I wanted to define types of content, and then style that type of content to look a particular way[/pullquote]
As a programmer, I could have built a website from scratch, using ASP.NET/MVC/C# or whatever, but the website wasn’t my focus. My business is the focus, and while the website is certainly important, one very important thing I’ve learned about writing software is that things often take a lot longer than you expect! There are an unending stream of bugs, and then there’s more bugs, and solving bugs creates more bugs, etc (all of which is why I am a huge fan of unit testing). Anyway, I didn’t want to program my business website myself – I wanted to focus on programming my application and running the business.
Additionally, I’m not a graphics designer. I study software usability, so I know what is usable for clients and end-users (or how to test it), but I can’t choose a nice set of colours or work magic with Photoshop without spending inordinate amounts of time re-reading online Photoshop walk-throughs. So the choosen website building tool needed to have lots of themes/skins available on the internet. This is for my business so I don’t mind spending money, but the more that the website building tool had available to choose from, the better.
So I wanted a website building tool that allowed me to:
- Quickly and easily choose a skin/theme so the site looks good
- Easily edit my content!
- Host video tutorials
- Provide a help forum
- Provide social-sharing buttons
- Provide an easy way to download my application, perhaps after the visitor provides an e-mail address
- Have good Search Engine Optimication (SEO) to help people find my websit
- Possibly provide a way to offer an e-mail newsletter
- Have a Contact-us form (pretty basic stuff)
- Provide version-control for my content, for when I mess something up
- Provide the ability to easily use tabbed content, etc.
- Integrate with CloudFlare
- And of course, provide a level of website security so my business website isn’t hacked!
“Advanced” website building capabilities
Finally, I really wanted to separate content from presentation. I wanted to define types of content, and then style that type of content to look a particular way. Just like in programming where we separate code and presentation, I wanted my website building tool (likely to be a content-management system) to separate the actual textual or video content from how the content is displayed. I wanted to be able to easily edit the content – say a collection of help videos – and then make them look good. Later, if I want to change the look of the videos, it shouldn’t involve editing every video entry and manually trying to make sure the HTML markup is all the same. This separation of content from presentation proved to be very difficult to find, but I did find it.