"Doch ein Bild kann nicht lachen so wie du, und ein Bild kann nicht weinen so wie du." (Peter Maffay)

Website constructions ahead

Page 1

This month, it has been now 2 years since this web site has been online. To be precise, the first entry was on the 28th January 2007. I developed this site from scratch in only 2 or 3 weeks right after I finished my master’s thesis in Dundee and before I started to do job interviews. So the main goals where to create an ASP.NET 2.0 web application got get quick again into the latest web developing since that was the kind of job I was looking for. It also had to serve as a kind of portfolio to show off what I know and can do. And it actually helped because 2 weeks later I got a signed contract in Norway.

I created a blogging application because everybody was blogging and I thought it might be interesting to have a professional technological related place on the web as well. I would blog articles about technologies and problems I encounter during my work as I move along through the years. Admitting, the MAIN idea came from a colleague student of mine who did exact the same for the same reasons ;)

Though, I based my site on the open source application DasBlog. A blogging engine I was using before on my first website. Since it was open source, I started to analyze the source, moving from the UI to the data storage and ended up with my own implementation. It is because of DasBlog that my blog is stored as xml, that I learned xml serialization and many other things.

Problems

That said, the starting point was great. I would use it frequently and make constant updates as my knowledge about ASP.NET advanced. Though, the reality turned out a little different. I didn’t use de blog as much as I was intending to do. This is because of multiple reasons but 2 of them are standing out. They are also linked to each other.

Not enough content to display
I wanted to make it a professional technical blog. So no personal and other stuff. This is after all... well... personal and does not belong on the web or anywhere else where the entire world can access it. There were projects or problems I encountered from witch I thought “that would make a nice blog entry”. But to write a blog entry, it requires some talent. You really need the ability to write in a decent and understandable way so that everyone knows what you’re talking about and can follow your explanation. There’s one problem. I’m able to write documentation, but it goes difficult. I need a lot of time to finish 1 page of documentation.
Time
It takes a lot of time and dedication to maintain a decent professional blog. Preparing the examples, testing the code, thinking about the structure and order of your entry are all things that when you read a blog article you just don’t see. Tough I like, when I come home after 8-10 hours at work, do something completely else than developing. I don’t fire up my home computer and Visual Studio and start coding again. I DO fire up my computer but only to start Winamp. Instead, I like to do things like going out jogging, pick up my guitar or take a good novel in my hands. Most of the times I’m also too exhausted to do any thinking anyway. So ideas that I have during work about blog entries, are always postponed until they are too far away because at work things do advance forward.

Usability

A third reason is also the usability of the website itself. It is developed very quick by a person (me) with (at that time) not much knowledge about usability and decent developing practices at all. Looking 2 years later at the code of this application, I really start to wonder why anyone every hired me :D
There are a lot of errors in the application, and again because of time constrains, no developing has continued for 2 years.

Following is a list of things that irritated me the most during those 2 years.

  • Adding a new entry.
    It “works”, but it is completely implemented through a web interface. A pain for doing decent formatting. I ended up writing my entries in word, and then copy/paste them in the html-view.
  • Adding new categories stopped working.
  • Image upload was a mess (ended up using ftp)
  • Not able to save changes in the content of “About”, “CV” and “Portfolio” pages
  • Not able to dynamical add or remove links or other UI content
  • The “Description” field was a mistake. (never knew what to write there)
  • Comments submission.
    This is probably the worst. There is no Captcha, which means that daily I receive dozens of junk mail through my comments submission. Lucky I have build-in activation, so I receive first an email and then I’ll have to activate manually the comment to be visible. But I just stopped looking at it. Lucky, nobody really posted really any comments in the past 2 years.

There are more, but these are the ones that pop out right away.

New Start

All these annoyances together with my gained knowledge and experiences during the past 2 years, I finally made the big decision of re-writing the entire application from scratch. This time according to following principles:

  • Follow correct architectural design according to patterns and models that I learned of.
  • Use of ASP.NET MVC
  • Fully Unit Test the application
  • Make it very extensible and maintainable
  • Atom and AtomPub compliant so I can use Windows Live Writer (WLW) as the client
  • Better UI and design
  • Improve and secure the comments submission!!!

About 2 weeks ago I started with this by reading up about ASP.NET MVC and analyzing the open source blog application BlogSvc which is also build on ASP.NET MVC and makes us of AtomPub to make it compatible with WLW.

I hope that these improvements will give a new boost for me to start blogging more regularly. After all, I believe it may be very interesting in further challenges that lay ahead.