Weekly Update, August 11th
Weekly Update Series
Introducing the new insource.io v2.0
Hello interwebz! Today marks an historic day in the life of one developer turned entrepreneur, as I proudly announce a newly redesigned website to showcase this company.
As with any development project, this site took quite a while to build. For those who are curious or thinking about taking on such a project for themselves, here are some of the things I learned.
#1: Purchase a template
Seriously, just do it. It’s less than $100 and it makes all the difference. Of course, I’m assuming you want the site to look nice when you’re done.
Ironically, most developers I know want to roll their own site template. They do this probably because they start with the idea “Hey, I’m a UI dev or software engineer or some such, I can totally do this for my own site!” Problem being, it takes way too much time to develop a high quality template from scratch. Can it be done? Sure. But it won’t be worth the time in the end.
So, just purchase a template. Don’t get cocky and try to build the template yourself.
#2: Adapt to your hosting platform
If you’re hosting on a wordpress site (not recommended, but maybe you’re old school like that), you’ll want your template to work with wordpress. Similarly, if you use Jekyll or Ghost, you’ll want a theme that works with that. Using Joomla? You should probably go now…
If you go back to #1 above, you can be selective and pick a theme already tailored to your platform. But I don’t recommend this. While it will save you some valuable time, this is actually the fun part. Adapting it to your platform (e.g. converting to a Jekyll theme, for example) is good for developing your skills, and helps you gain control of your site early on. If you build the theme for your platform yourself (not the template, see above), you will know it by heart. You can’t say that about the Wordpress theme you just hacked off some free theme site. Plus, those themes probably suck anyway. (Again, see above.)
#3: Put together the content
This is the really hard part. Of course, you’ll mix this with #2, and that’s OK. But if you don’t watch yourself, or if you don’t have a good plan (I thought I did…), this will take you a long time.
Of course, if you have basically no content, and just want a blog, feel free to skip this step. I recommend it, if you aren’t putting together a corporate website or highly detailed personal one.
But if you’re working on a site that has meaning, and the content matters, this step is critical. As I hinted above, you need a plan. It takes a long time to come up with one, so don’t expect it to be a shortcut. But having a concrete idea of the message you’re sending to your audience with the site is a good idea. And not just an idea, have a really detailed outline. This helps organize the pages, makes the navigation come together quickly, and optimizes your development time so you don’t flail about trying to come up with those details while you’re in your IDE. I probably did some of this wrong. It hurt me. Bad.
#4: Add all the really cool bits
I just threw this in there to get 4 items in this post… Or did I??
Like #2, this part is fun. But also time consuming. I recommend taking it in chunks, using a familiar process.
Identify a backlog of items you want to incorporate into your site. For example:
- Blog
- Comments
- Search
- Contact form
- Newsletter subscribe
- Message board
- Spam prevention
- etc.
For each item, use something like scrum to break down the tasks into manageable chunks. Identify your definition of done, the criteria by which you consider it feature complete. Then prioritize your list, and begin to knock down the list one sub-task at a time. If you get halfway through a feature and realize, “Hey, this is pretty good!”, just stop! Like in scrum, you’ve reached MVP. Save the really advanced stuff for later.
So why do this as opposed to just “having fun” and going crazy all over the place? Well, besides the obvious, it keeps you focused, saves you time, and forces you to stop when you achieve MVP. It’s also good practice for real development. Think you’re above that stuff? Think again. A little practice never hurt anybody, and you’ll learn stuff you can use at your day job (assuming I’m speaking to engineers here…).
#5: Publish that thang!
Even if half the above feature list isn’t complete, but you’ve decided it’s ready for some visitors, get it out there. Then get feedback. You can always iterate on it some more. And go back and fill in some of those killer advanced features you wanted to finish.
Posted by 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...