If you only follow my blog via the ATOM feed, then you probably missed the fact that https://robmensching.com/ and https://robmensching.com/blog/ have a brand new look. The whole site was rewritten and redesigned. "Why?" you might ask. Read on for why, what went well and what didn't go so well.
There were a few reasons I wanted to do this rewrite for quite a while. In no particular order:
New technology - I wrote the original blog using ASP.NET MVC 1.0, LINQ to SQL and my own hacked up attempts at CSS. In the mean time, ASP.NT MVC 3.0 with Razor and EF 4.1 with Code First were released. Then Twitter announced Bootstrap and I knew all the pieces I needed were available.
- Add social - I probably could have added the Twitter and Facebook buttons to my old blog but I kept telling myself I'd just do it during the rewrite.
- SEO and navigation - the URLs in my old blog were a bit of a mess with too many duplicating titles. I also wanted to improve the navigation and tie the "root" of RobMensching.com in better with my blog. While I was at it, I tossed in some microformatting that supposedly will help search engines see the structure.
- Redesign for Ads - ads were an afterthought in my last blog and but I found the perfect provider with the perfect ad size. That provider sold to a bigger provider a while ago and they started phasing out the ad sizes I was using. So it was time to put together a better design.
- Get off GoDaddy - my blog was hosted by GoDaddy. Every time I went to the control panel to manage my site I felt my intelligence assaulted. Now there is SOPA and it was beyond game over.
So what went well:
- Bootstrap - Bootstrap rocks. I look forward to what Twitter brings with Bootstrap 2.
- Razor - after fighting with a bit of learning curve, Razor turned out to be a pretty decent formatting language. Massively better than the <% %> of ASP.NET.
- Ad layout - my site is not about the ads but the ads keep the lights on. I like how things look now using the standard ad sizes. Again, I credit Bootstrap (the grid, really) for making this work out.
- Microformats - I was able to slip in microformats easily at the last minute. That was fun and made me feel pretty good about the HTML structure of the site.
- Learned a lot - my LINQ skills improved. My HTML/CSS skills improved. My DNS + infrastructure debugging skills improved. Basically, I did a lot of stuff that I don't normally do and that makes me a better developer.
There are a few things that aren't working out so well:
- EF4.1 Code First vs. Memory - I'm on a shared hosting and my AppPool is constantly hitting memory pressure. I think I have some bad stuff in my LINQ queries and probably way too many SELECT N+1 issues. At first, I liked EF Code First but the maintenance is leaving a bad taste in my mouth.
- WebDeploy - I wanted to experiment with WebDeploy. I ruled out any hosting that did not support it. Now, I must say I'm really disappointed in WebDeploy. It's not significantly better than FTP'ing a site. More frustrating is that I think it could be so much more than it is. Maybe this is something to tackle in WiX v4.
- Too much Time - it took way too long to get everything done. I hoped I could pull the rewrite off in a week of pretty focused effort. It took that plus another 1-2 weeks of evenings to get things done.
Ultimately, I'm happy the work is done and now I'm just tweaking the site as I find bugs. I have a to-do list about 10 items deep but none of them take longer than an hour hear and there.
Anyway, keep coding. You know I am.