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!

How NOT to Evolve from Freelancer to Agency

I recently ran across an article explaining how a freelancer can become an agency, and it sent chills up my spine. That may have been partially because I work in my poorly-heated office during the depths of the Saskatchewan winter. Nevertheless, in recent years I’ve become a big believer in the power of freelancing and here’s why.

Quality of life

I live 2 blocks away from a major street. Every morning at about 7:50, cars are lined up all the way to my house waiting to get through the traffic light. I’m usually in my bath robe at that point, thankful for that extra hour of sleep. Let’s say going to an agency and working the day averages 8 hours per day including commuting. I average about 6 hours per day in my office. That gives me over 450 extra hours in a year. I’m sure my kids will be thankful later on that I was around that much more, even if I stop making crêpes for breakfast. Furthermore, Mother Nature might even reward me with some extra oxygen to breathe instead of exhaust fumes.

I’m doing what I love

I like the hands-on work of my business. The graphic design. The creativity. The coding. I know a few people who started out in the role, and when their company grew to a considerable size they were doing more meetings, paperwork, and administration. No thanks.

We have the tools

Agencies still have their place, but technology nowadays enables freelancers to assemble, collaborate and disperse very easily.

Right now I’m part of a contracted development team with members from California, Prince Edward Island, and Saskatchewan. We use Google’s tools for video meetings, document sharing, and calendar. We use GitHub and Lighthouse for bug tracking and code versioning. I’ve worked in a large interactive agency before and the only thing I’m missing now is the opportunity for social engagement. The work still gets done just as efficiently.

Tools like FreshBooks or Harvest, coupled with internet money transfer make it so easy to contract or be contracted. Why burden yourself with a payroll if you don’t have to do so? If you know the right people, it makes a lot of sense nowadays to use freelancers.

It’s not for everyone

One thing I appreciated about that other article was that it was realistic. Not every freelancer should become an agency, and in the same way not everyone is cut out for freelancing. It’s still more paperwork and admin than working for a salary. Interpersonal skills are essential to stay connected to other developers and your clients. There are slow times where you’re wondering when the next job will come in. I can find those factors to be tiresome at times, but in the end—working less, getting paid more, doing the stuff I love, and being close to the people I love is my priority. Freelancing just happens to provide those things.