Weekly Update, July 26th


Weekly Update Series

Please excuse the mess, we are still under construction.

As you have noticed, we’re still working on this site. Some things are very incomplete, but I feel it’s coming along nicely. For those of you who’ve ever assembled a website more or less from scratch, you know that this process is waaaaaaay more time consuming than you at first realize it might be. And since I have nothing else to talk about, let’s talk about the journey.

Step 1: Pick a hosting provider

There are various reasons I chose GitHub Pages to host this site. The choice was obvious, as I’m tired of living in the stone ages when doing web development, and having my normal full-stack development platform be this amazing thing from the future, decked out with an enterprise development IDE, fully distributed version-control, and the plethora of click-to-deploy strategies like continuous integration, light-weight containers, web-hooks, automation, and other tools that make life for the wayward developer that much better.

With all that in mind, why go back to unencrypted FTP uploads, PHP or Ruby, MySQL, and an assortment of other website hosting stacks that haven’t taken the jump into the 21st century? Not to mention, GitHub Pages is free, as it just encourages people to stay with the platform that’s been so good to them. Win-Win. Thanks AND you’re welcome, GitHub.

Step 2: Pick a content management system

With GitHub Pages already pre-supposed into the equation, experimenting with a piece of software to build the website itself is fairly obvious as well. GitHub Pages comes out of the box with support for Jekyll. But the problem is, I don’t know squat about it. Thank goodness I’m an engineer, as this is the point that a non-technical person curls up in the corner to die. Jekyll is great, but it’s not for the faint of heart. You basically have to be a web developer to use it. Since I’m one of those, I’m good to go. But if you’re looking for a CMS that has a friendly administrative interface, and requires no coding skills, you’ll have to look elsewhere.

Step 3: Pick a theme

This drives me crazy. I have done extensive web development in the past. But it takes forever. I’m not rolling my own website anymore, I just don’t have time for it. So what to do? Luckily, there are lots of free themes available by people who are far more passionate about this aspect of development than I am. But even as you start the journey of choosing a theme, whether for Jekyll, Wordpress, Squarespace, Wix, or another CMS solution, you realize one thing very quickly.

This sucks. Not all themes are created equal. Further, most themes do a good job of giving a demo for the basic content, but are not good at giving you a comprehensive set of styles and options for building out a full-fledged website. What if I want to embed videos? What if I want an image gallery? What if I need to embed code snippets, quotes, or other content? What if I want a comprehensive set of consistent icons that goes beyond what the demo provides? Does it have styles for that? Are there multiple layouts to add some variety so the whole site doesn’t look like it was kicked out in half a day by a college student?

Another thing about Jekyll themes that I noticed right away, is that they are basically completely custom frameworks unto themselves. Each one is as different as the other, so that choosing a theme is almost as heavy a decision as choosing the framework it’s built upon.

In the past, I used Feeling Responsive. While the look and feel needed some work, the thing that struck me about this theme was that it was very comprehensive. Like when you see a Hollywood actor who has a band on the side, and you come to find out they’re actually talented, I was impressed. It takes something above and beyond to create a theme that comprehensive, even if half the tools are given to you by something like Jekyll. But alas, the theme just wasn’t quite up to the standard I would eventually need for a professional website.

So this time around, I chose to purchase a premium theme. I’m not really interested in doing a lot of advertising for companies like this, as they do fine by themselves, and have a sledgehammer for a business model. So I’m not linking to it. But I chose Template Monster. It lives up to the name. Many of the themes are not great, but most of them are better than free themes.

And then there was this multipurpose theme. It was designed with a construction motif, but I immediately recognized that it could be so much more than that. It had all the flexibility my old theme had, but even more, a lot more. While not perfect, it’s about as good as you’re going to get from an affordable theme. It has almost everything you need to build a really top notch website. The downside was, it wasn’t a Jekyll theme.

So it begins.

Step 4: Start building

This is the part where things really go off the rails. As you start building, you’re thankful you’ve done steps 1-3, so you are likely thinking to yourself, “This will be easy. I’ll be done in no time.” Wrong!

Again, possessing web development skills really helps here. If you don’t have them, you’re not customizing anything. But if you want your website to stand out, no matter how good the theme, you’ll want to do a little customization at a minimum. And possibly much more.

So I started building and tweaking and modifying. Your first task is to convert 50+ pages into a comprehensive set of Jekyll (Liquid) templates. At some point, you’re adding content and then you start to realize you have none, and days go by without a real finished product. But that’s beside the point. All this tweaking and modifying is basically a development project. And it takes about as long. Unless you already have a perfect picture in your mind of what the content and look will be, and then you’re probably just ripping somebody else off. Either that, or you’re a visionary, and then why are you wasting your time with this stuff anyway? You get where I’m going with this.

Once I got a little ways into it, I started getting a little derailed by the time consuming nature of building out all the content. And putting together unique images to add some visual appeal to the site, which I could tweak and vary for a lifetime before I get something really good.

Step 5: Build a brand

Not only is it useful to be a web developer, but if you have some graphic design skills, you’re really coming out on top here. Luckily, I have enough technical skills to have a good eye, and a partner in crime who has the interest and skills in graphic design. Double whammy!

So at this point, I needed to finish building out the content by adding logos, and really starting to build the brand of this site. It’s about this time, if not before, that you might want to consider picking a domain name and/or company name. If you come at it from the angle of building for an existing brand, this is easy. For me, I had to choose. Right now.

I came up with insource.io as an available domain. Since I’m getting into the software engineering space, whether consulting, software product development, or something tangential to those, this name immediately struck me. While there are several companies with InSource in the name somewhere, it’s not really copyrighted as it’s just two English words, and one can easily attach a label to it to differentiate. InSource Software Solutions seems to be popular (there are several of those), but InSource Software, Inc. seems open. I could still be wrong, and won’t be offended if I have to change it. But there you go. I’ve got a starting point.

Step 6: Expand your influence

Personally, I don’t like social media that much. It’s OK I guess, but for personal use, I’d rather not waste my time. However, when building a brand and marketing it, a presence on social media (various flavors of it, in fact) seems not only a good idea, but a necessity. While people may not care about what you ate for breakfast this morning, people seem to love personalized outreach programs where the content is relevant and they are already interested in the topics you’re plugging.

So, you need to decide what social media platforms you’re going to attach to, and what they can do for you. Am I an expert in this area? No. Far from it. But it’s not brain surgery.

I chose the following for now, as I don’t see a use for any others yet:

GitHub For open source, and hosting this site.
Twitter The single best platform for shouting at the interwebz.
LinkedIn Just ‘cuz everybody in the business world is there.
Google+ Which is attached to more compelling platforms.
Facebook Just ‘cuz everybody not in the business world is there.
YouTube Tutorials and vcasts are all the rage, downright useful, and a great way to get the word out.
Instagram Just ‘cuz.

Step 7: Win

You’re here, aren’t you?

Share this
Aurelia Shopping List, Part 3 Weekly Update, August 11th
Posted by Steve Riesenberg
Steve Riesenberg

I'm an author, developer, father, musician, and everything in between. In 2016, I founded InSource Software with the goal of making software development fun again, and to create a sustainable model for including the customer in the process. Oh, and building great software. That too...