Tag: blog

Another Year, Another Redesign

It’s my mind that my website’s design goes through a cycle. Sometimes that cycle lasts only a year, other times it lasts a couple of years. It always starts off with the honeymoon period where everything is great and I love it to bits. Then I fall into the comfortable maintenance period where things are still working, but once in a while something goes a little off-balance and it eventually gets fixed. Then it enters its twilight period where I’m tired of looking at it, and tired of patching all the little things and feel like it would just be a better solution to redo the whole damn thing. This twilight period is usually where I question my value and skills as a designer and developer and it bothers me to no end.

Usually around the end of that second year, I get the uncontrollable urge to redesign this place. In 2017, my website is starting to show its age a little and I’m finding annoying little things here and there that I’ve been meaning to fix for months. Sure, it still works, but sometimes I wish it worked better and as an example of what I do, I’m feeling a bit underwhelmed by the current site.

I’m thinking of going ultra simple this time. Part of the reason for that is because I’m tired of the fancier bits and pieces sometimes going awry on this older browser or that older browser. So, I’m looking to update the layout, fix the code base, simplify or otherwise modernize the design, or maybe just use all this as an excuse to add my latest work to the Portfolio section.

Whatever the reason is, I’ll be working on (in whatever spare time I have) a redesign for Iron Ion which I’m hoping to roll out before the fall season. Outside of musing about it all and one day seeing a completely different looking site, nothing else is going to change.

I’ve got a dozen or so coding posts that I’m still working on, spare time to work on these things is sparse nowadays–not that I’m complaining or planning to stop any time soon. I’m always happy to visit the site and see your wonderfully kind comments and notes. I do read every single one of them, and try to respond to all that I can–even if I don’t have the answers. So thank you for all the comments, questions and feedback. Hopefully before the end of 2017, this place will look a little different so I can assuage the screaming designer in me. ūüôā

Developers Should Learn Design, Designers Should Learn to Code

I’ve pondered the question over the entire course of my time working as a freelancer and continue to ponder it to this day: Should developers learn to design? The common advice to designers is that yes, you should learn to code. But what about the other way around? With the recent push to get more coders out into the workforce, we often forget to pull back and think of the simpler things. Such as the question of¬†whether someone who programs should know anything about design. I say, yes. Yes, programmers and developers should know design.

But why? Isn’t it about solving problems? Clean code? Making the engine start, and keeping the gears turning? Sure, that’s a large proportion of a developer’s job. But it’s hardly the only thing. A large portion of a developer’s work–particularly front-end development, is ensuring whatever you make is usable. And usable tends to go pretty well with the idea that everything you make, ought to be¬†well-designed.

So here’s a list, because I love those, of reasons why developers should learn design.

Usability: So many times I’ve seen developer or programmer created applications that were made (and made well) without the end user in consideration. There’s a lot that goes into the usability of a product. It’s very easy for people to forget, as they’re creating something they’re passionate about, that other people will eventually have to use it¬†too. Design is a large part about usability, or UI/UX considerations. So, for a developer to make a highly usable, highly desirable product, something a thing or two about the good design that goes into these products is beneficial.

Possibilities: Just as designers have been told to learn code so they understand what is and is not possible, developers would benefit from learning some design. This is so that they gain a better understanding of what is and is not good user experience.

Teamwork:¬†Working in house or as a freelancer is rarely an entirely independent exercise. You’ll have to talk to the designer eventually, get their opinion on various design choices they’ve made. This is where having an understanding of what they’re talking about when they tell you that you should, ‘increase the leading on the body type to improve the hierarchy of the layout’ is probably a good idea.

Perspective: Since when has having a narrow perspective been a good idea in a professional setting? Broadening your perspective by learning a little bit about another subject makes your work more well-rounded and allows you to approach projects and tasks with a more diverse skill set. I don’t think I’ve ever heard an employer or client say, ‘We want to hire someone who’s only good that this one thing. And if they have any other skills or abilities, then heaven help them, we aren’t giving them the job!’

Presentation: While a developer shouldn’t be tasked to sit down and layout things as their primary job, the fact that presentation is important to a project is difficult to argue with. Aesthetics matter. How something looks is the very first thing people will pay attention to. So if it looks bad, then users¬†have a bad impression of your work–whether or not you spent hundreds of hours writing the most beautiful, clean code you’ve ever written in your life. Chances are pretty good that your users aren’t going into the code to see how you’ve written things to make the program work. But they are going to want to know what the buttons on your interface do, or how to use your menu system.

I come from a perspective shared by fellow designers who have to¬†wear multiple hats. I have always considered myself a designer first and have always accepted that designers should know code. Initially, it was so I could be self-sufficient as a freelancer. Then it turned into a philosophical advantage and finally to the point where I’m now referred to as a developer first. While I still identify primarily as a designer, I often recommend developers look across the pond. The four reasons above are just the start. You may find it fun to learn some design.

Is it Gif or Jif?

On a lighter topic today, I want to share with you a story of my childhood. Back in the 90s, the very first image I downloaded onto my computer (downloading images and saving them on your hard drive was a big thing back then), was an animated gif of all 151 Pokemon. It took me forever because the image had to load before I could download it. But really, it was because I was on a 14kb connection. But when it did finish loading and I got it onto my hard drive, that thing was boss.

From the get-go, I pronounced Gif with a hard G. And continued pronouncing it that way all the way up into my college years, unbeknownst that Steve Wilhite, the creator of the Gif format, said it was pronounce with a soft G, or “Jif”. One of my college professors told us this in a dark, musty lab filled with dust and the deafening hum of computer fans.

“It’s pronounced ‘Jif’, a soft G. Almost like a J. That’s what Wilhite said and he invented it. That’s how you should be pronouncing it from now on.”

Along with this proclamation, he launched into appropriate times to use a Gif and inappropriate times. But I was still reeling from the knowledge that I had been wrong almost my entire life. As time went by, Gifs became less and less relevant and for a while, it seemed like the format was on its way out. But in recent years, Gifs have made something of a comeback, being used for lightweight technical animations and–of course, amusing animated looping videos. I don’t think the format is going to see the boom that it did back in the 90s, but it’s not without its charm and usage now.

Of course, that brings me back to my conundrum. Ever since college, I had banished the pronunciation of Gif with a hard G and forced myself to pronounce it with a soft G. Only people have tended to band together and pronounce the word with a hard G. Even the dictionaries say that both pronunciations are accepted. Even the White House says it’s pronounced with a hard G. And amongst all this is Steve Wilhite, who once again said that you pronounce Gif like “Jif” in more recent years at the Webby Awards (is anyone else surprised by how fancy the Webby Awards are?) It’s true. See?

In the grand scheme of things, does it really matter how you pronounce the stupid word so long as you know what it is? Probably not. But how one pronounces Gif has been a debate that’s raged on since the format was first released. After all 1) Technically, they’re both correct. 2) It really doesn’t matter.

As for me, I might have to reprogram myself to say it with a hard G. Even knowing the historical naming of the format (peanut butter, for real), I can’t bring myself to keep saying it with a soft G. Here’s a great article about why people generally veer towards the hard G version and why it’s technically more accurate as a hard G than a soft G: How to Really Pronounce GIF.

Do You Suck at Math? Learn to Program Anyway

There’s something to be said for being good at math. Or at least not sucking at it. I suck at it, and playing catch up after all these years of doing very little with math also sucks. I would be lying if I said I still hated it as much now as I did back then. In high school there was no class I loathed more than math class. It was a one to two hour horrorfest every weekday when I’d sit there and watch my peers fly through the material while I struggled to keep up. It felt like I was never going to understand what was going on. Part of that was how it was taught, which isn’t an indictment on my teachers not caring or not being good at what they did. They were good people, excellent at their professions. It was me. Some of us learn things differently. It wasn’t until a couple of years ago did I realize that how I was taught math wasn’t the best way for me to learn it.

I learned math through trying to learn to program, because a lot of programming tutorials, books and courses have a lot of math-based examples. So while I was trying to figure out the language, I was also forced to figure out why we were doing certain things with the language. And because I wanted to learn the programming, one of the byproducts was figuring out some of the math–because I had to. Now, I’m still not good at math. And if you ask me to calculate something, my first response is probably to go ask someone else. But, I’m no longer of the opinion that it’s one of those things that I’ll never get the hang of–music, on the other hand, I’m perfectly happy to continue sucking at that for the rest of my life.

I read a couple of interesting opinion pieces recently. One was Al Sweigart’s, “‘How much math do I need to know to program?’ Not That Much, Actually”, which explores some of the most commonly used math-related concepts in programming and Sarah Mei’s, “Programming is Not Math”. Whether one agrees with the ideas put forth in either article is various. I’m of the opinion that knowing math and being good at it definitely helps. And if a Computer Science or Computer Engineering degree is where you want to go with it, then having a solid grasp on math is definitely needed. Knowing math is also incredibly useful when it comes to certain programming tasks too. But I have personally found that what I picked up while learning to program is all that I’ve needed. And if I need to solve more complex programming tasks, the math that comes along with it tends to be learned in the process of figuring out the code.

I don’t think math is a prerequisite for programming, certainly not if you’re just aiming to learn to program. Where if you couldn’t cut it in calculus then you would never survive the process of learning to code. I also don’t think people should discourage those who aren’t great at math from trying to learn how to program anyway. After all, a lot of people successfully learn through a mixture of interest and determination and I definitely think a lot of people pick up the math as they pick up the language.


Project Euler
Programming challenges to solve math-related problems. Great for practice when you need something to expand your horizons.

How to Think Like a Computer Scientist
by Jeffrey Elkner, Allen B. Downey, and Chris Meyers

Like the Iron Ion Facebook Page

After a little over two years, I finally got around to setting up an Iron Ion Facebook page for Iron Ion. It wasn’t complicated, difficult or very spectacular. I’m just amazed by how long it took me to get around to it. I don’t even have a good excuse, it was just like saying to yourself, “Geez, when was the last time I went through the spice cabinet to throw out all those spices?” And then you meant to go do it later when you had some time, but forgot because something exciting got in the way.

The Iron Ion Facebook Page

So if you like me on FB: Like Me on Facebook <3

You’ll make me feel a little better about myself. It may even motivate me to organize my spice cabinet because I don’t know how old that cumin is, but I’m very leery of using it. I’ll be posting links mostly, and updates for new posts. Most of them related to an up and coming series of Bonfires from Free Code Camp.

Admittedly, I’m not hip on the social media side of things. Or social marketing, at some point, maybe I’ll get up the nerve to post something funny. Long story short, if you like the page, it’ll only help.

I might also draw an amusing image of a cyberpunk, spandex-wearing, rocket-propelled octopus who codes or something. If time ever permits.

5 Frameworks Worth Checking Out

Frameworks seem to be the in thing and while I’m still kind of old school about this in that I’ll insist upon building things from scratch, I do still use a framework to avoid the hassle of the setup. It’s also imperative that designer/developers understand at least one major framework because hey, they are tools that exist to speed up your development time and you can’t go into every project setting things up from the ground. I’m only going to go over the lesser known frameworks here because knowing jQuery, Bootstrap, Foundation, AngularJS, etc. are pretty much a given. Here are some of the frameworks I’ve been using lately.

Material Design Lite
Gorgeous, well thought out, logical and the documentation is available right on the site along with helpful examples and visual demos. Material Design is a beautiful thing and this framework makes working with it super simple.

I prefer Foundation over Bootstrap 9 out of 10 times, but when I do use Bootstrap for a client, I head off to Bootply first. It’s always a good idea to know how the guts of a framework is setup, and once you have that down, using a generator like Bootply will speed up your development time exponentially. Beautifully written and easy to use.

Webix – DataTable
If you ever find yourself having to work with a good amount data, Webix Framework’s DataTable is a treat. Working with tables and tons of data can get frustrating, tedious and downright painful. This takes a little bit of the edge off. Webix has a lot of components as a part of its framework, but the DataTable is by far my favorite.

Code generation and scaffolding for PHP? Gorgeous! This makes writing web apps that have to deal with PHP a snap. And as much as I advocate building PHP from scratch, I will admit it’s a chore unless you have a good framework to smooth things out. I’ve been working with Cake for a few years, and it’s hard to imagine not having it in a workflow.

One of my favorite WordPress Frameworks. Combines the latest version of Foundation into a clean set-up. I have some things I don’t use in Joints, but they’re easy to remove or modify to my liking. It’s one of the fastest and smoothest implementations of Foundation for WordPress I’ve found.

There’s a lot more where that came from as knowing one framework is great, but there are newer, more exciting ones coming out all the time. Have I missed anyway? Share the frameworks you’re using in the comments below!