About Contented Web

This blog is intended as my personal brain dump as I get started with developing my own personal CMS using Django and Python. I will be recording my experiences here in the hope that others might find them helpful.

Why Django and why Python?

In my professional job as a programmer I am fully immersed in Microsoft’s ASP.Net platform.  I really enjoy working with it, but I often get frustrated by the effort needed to do things which are more involved than using a basic web controls. I am not myself a programmer by education and I see programming as a means to an end. I don’t care about the language as such, I just want to get my work done as quickly as possible, whilst making sure the code is clean, maintainable and tested. I am not looking for a quick hack, too often in .Net that is what I found myself doing though.

So about 2 years ago I started getting interested in scripting languages, after having happily left classic ASP a few years before that. What really caught my interest at the time (and not just mine I imagine) was the emergnece of Ruby On Rails as a solid development platform.  I played around with it, bought the book and developed one or two basic apps locally. I started following the community and learned a lot by simply reading the discussion. But somehow, RoR never really caught my interest to the extent that I wanted to try to develop a serious app with it. I think part of what put me off was the hype. It is a great framework, but there comes a point when it becomes to sound false. I was also a little worried about it’s reported scalability issues, but that wasn’t the deal breaker as it is unlikely anything I ever develop with be used to the extent that scalability becomes an issue! I think the one thing I found missing was the learning materials. There is a lot of info on RoR and a big helpful community but somehow, for me, something was missing.

Enter Google App Engine. When Google sneezes the rest of the world catches a cold – or something like that. 3 months ago I became aware of Google’s recently released App Engine. This sounded great. Web apps hosted by Google which in theory gives you unlimited scalabilty and for free as well. Currentlty GAE only supports the python scripting language, so I had to start digging around in that, as well as the Google App docs.  I quickly started developing my own app, but realised that I am probably not a strong enough developer to really start to make use of this tool.  And, as I stated above, the truth is that I am unlikely to ever need this sort of scalability. But I had already seen enough of the Python language to want to continue working in it, after all it used terminology such as tuples.

However, GAE also supports a limited version of Django, which is how I came across the that project. So I decided that to start working on a little app in Django and was immediately taken by two things:

  1. The clarity of the documentation
  2. The usability of the admin interface that is generated for you

No system I had encountered before came close to this. I was able to get my up and running in almost no time. On a Unix system no less. Which is quite remarkable given that I am pretty much 100% from the Windows world. Kudos to the Django project!

Why Contented Web?

Contented Web is my own little headline, which I came up with a couple of years back. In my professional life I work for a small company who concentrate mainly on content and information architecture. What I have noticed in my time with this company is that there simply aren’t many good web based resources for generating high quality content. CMS’s tend be full of features, but none of them seem to aid in the creation of structured web content. A simple WYSIWYG editor simply does not cut the mustard when it comes to writing high quality content. The approach has to be more structured.

So I have decided to explore this area a little bit and will do so with Django. I am absolutely not in the business of reinventing the CMS wheel. I doubt anything useful will ever come out of this. Greater minds than mine are probably needed to solve this problem.  Still this web site will document my playing games with Django.  If the lessons I learn here help me to perform my real job better I will consider this experiment success. Don’t hold your breath for the “best thing since sliced bread” though.

About the Author

Still here? Well then I’d better explain a little about my background. I am an aeronautical engineer by trade. My first job involved developing a web based training system for astronauts. That is how I got into web development. I then spent a few years working in a financial software house on a web based trading system and have finally ended up working for a small company that concentrates on developing high quality web content for the charity and health care sector. All in all I have around 10 years web development experience, almost all of it on Microsoft technologies. Hoping to find out who I am? I intend to keep this site relatively anonymous for fear of making a fool of myself. Although I am sure the more technically curious can probably figure out who I am through the intelligent use of Google