New Website, new look, new tech, new... - 5/29/2013

So, this is the new look for our site. Here are some site features we aspired to:
  • Reactive design, to look good on all kinds of devices
  • New content engine (file system based)
  • Dynamically show list of YouTube videos
  • Dynamically show list of open jobs from JobVite, thanks Aidan Ryan

Here is the tech stack

  • Re-write whole site in VS2012 ASP.NET MVC 4, .NET 4.5
  • Switch to TFS Services hosted by Microsoft
  • HTML5 with Modernizr to make it work nice
  • Very small style sheet that work across browsers well using LESS to keep it tidy
  • Simplified SQL Schema for SQL Azure
  • Switching to web site hosting in Azure
  • Switch to TFS Services hosted by Microsoft

Overall, the experience was great. I really liked MVC4, took me a while to understand views, but the clean separation of concerns over all makes the code very clean. I like that when I decorated the model with validation attributes, and then generated views for each of actions: create, edit, and so on with validation built in. Here is some advice based on my experience:

  • Time spent on crafting a model is time will spent and pays dividends. Don't be afraid to delete the views and re-generate them when the model changes (partial views are your friends)
  • Less is more in every aspect, minimal HTML, minimal CSS, very few containers (don't make deep nesting), and so on. Even the esthetics are minimal
  • Focus on the content.
    • The old site had gutters full on clutter, the site name was too big,
    • the menu too small,
    • the content too hard to read (fonts and initial font size are important).
    • Minimizing the impact of headings (make them subtle but different from the text).
    • In general focus on readability
    • Remove Chrome, full stop
  • jQuery is your friend
  • The out-of-the-box VS2012 project for ASP.NET MVC provides many useful bits of helpful functionality that along with the tools make developing a web site a pleasure.
  • My usual tactic of
    • read lots,
    • take a stab at it,
    • throw code away,
    • refactor,
    works well, especially against source control. I'd advice giving it a try. Notice that there was a fair amount of prep reading before I got started, I read books and internet content on HTML5, CSS3, LESS, jQuery, JavaScript, MVC4, etc. before I got started.

Blog ID: 2013 05-29_Blog_145