My Website Full of Firsts

Developing this site crossed many things off my list of “to do” items for my career as a web developer.  This post got a little bit like a “to do ” list itself but if I detailed every pieces at length it would be way too long for me to ever read so I’d assume the same for you. I’ll probably post some more detailed parts over the coming weeks so for now we’ll go with the list-like post. I have been informally doing this for something like 15 years but the launch of this site in it’s current form and the mindset change that I’ve made to get here marks a new era in my career as a web developer.  It’s been a fun and relaxing ride up to this point but now it’s time to get serious and do a bit more to make things happen.

My First Blog

The first thing I wanted to make sure this site included or rather that this site was centered around was a blog.  But not just a blog about being a web developer but a blog all about me.  And it needed to be the real me and not just the me that seemed like the one that I should try to convey so clients would like me or do work with me.  I’ve been trying to do that for years and clearly it hasn’t gotten me real far.  As I’ve grown up over the years and become more comfortable with just being me and accepting whatever that means for the rest of my situation I’ve learned this rule time and time again.  Becoming a father (and then having my second kid) hammered it home more than ever.  I have to be me… so here I am.

My thoughts aren’t profound and probably are pretty boring to others but nobody started off with post #1 being discussed on the Reddit homepage or having so much traffic that the server falls over from traffic. Maybe none of this ever makes it to anyone and I’m the only one that ever reads it.  That’s okay by me.

My First Packaged CMS

While the blog idea was important I also had to change my mindset and strategy around how I develop websites.  I have been a “roll your own” developer since the beginning because that was part of what got me into web developer: I loved being able to open a file in notepad and create something from nothing.  While I still love that and will continue to do that, there is no reason to attempt to do that for things that awesome tools already exist.  This site is built completely on WordPress because there is no possible way I could ever compete with something like that in configuration options, stability, features and user experience.  So I let go of the blogging and content management portion of the site, put my abilities into writing a plugin to do the administration-y stuff that my business requires and now I can spend my time developing stuff I really want to spend time on (more to come on that as my first side project begins to take shape, stay tuned).  

My First Fully Responsive Site

I believe there are very few business cases these days for sites to be built (especially brand new sites being built from the ground up) without being responsive in every way possible. It’s my first attempt and, while I think it’s pretty good, it certainly has room for improvement. I started my tabbed navigation from a lovely experimental pure CSS3 idea in a post by Lea Verou and adjusted a few things as needed. Then I borrowed some javascript bits from Chris Coyier’s Transformer Tabs on www.css-tricks.com and adjusted a few things as needed there as well. The navigation is (as is usually the case) the biggest challenge for making a blog responsive but Chris laid out some pretty good groundwork so I just needed to style up the usual drop-down style navigation with the navicon for a toggle button. From there the rest of the site flowed pretty easily as it’s mostly just text and basic layout. Regardless of the complexity of the site, having a fully-responsive site under my belt (and in my portfolio) makes me feel good.

My First Site Built Completely with Sass

While building my first responsive site I did some research on methodologies and best practices. Sass has become an integral part of my workflow so I knew I needed to make that part of things. Going back to Chris Coyier again I found the papa bear, mama bear and baby bear breakpoint setup perfect for me. It makes media-queries easy and I can honestly say that I’m not even 100% sure what pixel points my breakpoints are at because I set them up once and then just made things flow from size-to-size from there. Variables, the @extend and the @mixin options are just what CSS needed to be brought to the next level. I will likely have a post in the coming weeks with more of my thoughts on CSS preprocessors so I’ll leave the rest of my thoughts for that.

My First WordPress Theme

The site concept detailed above started as a pen on CodePen where I spend a lot of time these days building a portfolio to poise myself for this focus on making this a real career without having a large client-base to work with. Then I dove into WordPress for the very first time. Being a fairly-seasoned PHP developer with my aforementioned appetite for rolling my own from scratch this was a bit of a change for me. Don’t get me wrong, WordPress is great at what it does and who it’s meant for. It’s just quite a change and I’m still getting used to “the loop”, a function for every session and page variable and a templating system unlike the others I’ve previously used. The most recent number I found from Matt Mullenweg (Co-founder of WordPress) shows WordPress powering a very impressive 18.9% of the entire web. Clearly it is a very fine CMS and I can tell from the 6 weeks I’ve spent on it that I’ve made a good choice.

My First WordPress Plugin

While I am thrilled with the famous 5-minute install of WordPress and the ease that it brings to managing the content on my site there are pieces of my business that I still need to run from a website. Historically I have built that into whatever framework I’ve used for the rest of the site and it’s been “easy” (relative to setting up the content management portion) to incorporate. With WordPress writing your own PHP to do your bidding isn’t quite as easy but certainly it has it’s constructs to allow for it. I did some searching and even tested out a few plugins but I couldn’t find any that do what I need for migrating code from one environment to another. I have a shared environment on my host where the two or three environments for a site all live within the same parent directory as each other and as this site. So having a script run to move files from development to test or test to production just makes sense and makes the act of deployment a couple clicks of a button and maybe 20 seconds of waiting for files to copy. While this plugin may not serve many users, it serves me perfectly and the learning I did about how WordPress handles plugins will undoubtedly come in very handy in future development on the platform.

What’s Next?

While there are many ideas floating around in my head for blog posts, projects and streamlining of my business the first thing on my list is getting all of my existing sites converted to a proper CMS to avoid any further headaches there. Some may be WordPress, some may need something different but I guarantee that someone out there has had more time than me to write a better, more fully-tested and more feature-rich CMS than me that will do the job that I should stop trying to do. From there I’ll be able to spend my time working on those blog posts and side projects to make this business what I always wanted it to be: fun.

Write a Reply or Comment

Your email address will not be published. Required fields are marked *

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax