Making do…thoughts from a Saskatchewan web developer

I wrote about my grandmother a while ago, so why don’t I bring up my grandfather with equal reverence for a bit?

Norman Dowdeswell was a Saskatchewan farmer who lived through the Great Depression. As such, he was somewhat resistant to buying something new when a bit of “fixer-upping” in the shop would result in getting something working again. He never threw anything remotely usable away. This was evidenced by his large piles of scrap metal in the yard and myriad jars and tins, filed with everything from used nails to retired drawer handles, lining the walls of his shop.

When we were doing farm work out in Grampa’s yard, my Dad and I would often have a chuckle at some of his make-do’s we discovered. Having a sore hip, Grampa made himself a cane for yard use by sawing off a hockey stick to the right length. He built a kids’ merry-go-round (known in our family as The Whirl-a-Gig) out of a big old tractor wheel. He made his own cab for the old Fordson tractor out of plywood and angle iron, and I couldn’t tell you how many items such as grain shovels which developed a hole at some period in their life and were later patched using braised brass.

So what does his grandson doing web design in Saskatoon draw from all of this?

1. New stuff can be a world of pain

Not only is new stuff an unnecessary driver of capitalism, it can be simply a recipe for heartache.

How many times have you upgraded your computer’s operating system for the Wonderful New Features it offers, only to discover that your other software and hardware ceases to work properly? What starts out as a free upgrade so often results in many hours and dollars spent on new software, driver upgrades, expensive dongle adapters, or new peripherals. And the old installation discs, manuals, and fully-functional hardware end up either recycled or in the landfill. Often there’s no going back.

Right now I am two OS versions behind on my laptop because I know if I upgrade, my whole Adobe Creative Suite will hit the toilet and I’ll need to upgrade that and start paying subscription fees. I’ve tried Illustrator CC on my machine and it is so slow as to be unusable. Are things good enough right now? You bet they are.

2. Sometimes new ain’t new enough

“What does it cost to migrate to WordPress?” These are words I often hear from people with perfectly good websites. Even when I could make a ton of money from an expensive upgrade, I’d much rather have a client get good value from what they already have.

Sometimes a user has a robust CMS such as Joomla, and finds the feature set is simply overwhelming. Often they don’t understand that Joomla is already preventing problems which are typical to other systems, and providing features they don’t have.

If the user needs simplicity, there are many options for easy editing in Joomla, whether it is custom administrator templates, using front-end editing, installing a blogging component, or simply having a training session. Good web developers should be training their clients properly when building a site, and stick around to guide their clients in managing it.

3. Know when to give in

I do my best to resist “the new” but the time will come when a major upgrade just makes sense. For example, I had a client with an older version of Joomla ask me if they should upgrade. For a couple years my answer was no, because there was no security concern. However, a security issue was recently uncovered which affected many old versions of Joomla. I was quick to recommend the upgrade.

My grandfather bought a new car in his later years. With his health declining, it just made sense to have a reliable vehicle for long road trips.

Thank you for reading this. I hope that 2017 will be a good trip for you!

 

 

New Confidant Website

I’ve had a slow couple of months business-wise, but the benefit of that is I can work on my own projects. I am happy to report that I have just completed a new website for myself. My WordPress blog (you are here) has not changed, but you will notice that my top-level site has been updated to be completely mobile-compatible using modern day technologies. My previous site used Flash for its primary experience and did have a mobile-compatible fallback but this was never ideal, especially as today’s browsers are making it more difficult to use Flash.

So—the new site is built using the UFront framework. This is a very interesting and useful tool because it uses the same Haxe source code which compiles for both client (Javascript) and server (PHP). The framework is able to cache resources such as the site template, and it builds pages client-side whenever possible. It will remotely load only the data it needs to build each new page. The result is that the site is super fast. If you watch your network activity as you browse my portfolio, you will see that each new page requires only a few kilobytes, and browsing previously viewed pages will have nearly no network activity at all. If JavaScript is disabled, the site looks identical and pages will be built server-side instead.

For graphics, the site detects high-resolution (e.g. “Retina”) devices and serves high resolution images to them if they are available on the server. The top-level site navigation features a single SVG graphic for the menu. The graphic is embedded in the site template, where it serves as a graphic library allowing me to have the same display code used for both the menu and the headers. Animation effects are achieved using only CSS3 transforms, which saves the user from having to download any JavaScript libraries.

Something I wish was different is that Webkit-based browsers like Chrome and Safari for desktop don’t render fonts nicely when perspective transforms are applied to page elements. I was able to remedy this fairly easily for portfolio items, but pages at the second level of my hierarchy are a bit fuzzy. My hope is that these browsers make improvements which remedy this for me.

As a benefit to the Haxe community and a thank you to other people who provided coding help, I have released my full UFront source code on Github.

Thanks for reading!