Thoughts on Engineering, Photography, and Design.

Hey, I'm Ryan Heath. I design & develop things for a living and play with cameras for fun. This is where I share my thoughts on all of that — and probably more — along the way.

Humanizing Software

User-friendly software is a goal for anyone who builds or designs it. It’s a very tough challenge. Code, best practices, and browser-restrictions all get in the way, clouding up the human-factor.

For example, let’s look at user-restrictions. It’s easy, in code, to make a decision firm. Let’s say Plan A offers 5 users and Plan B offers 10 users. The logic to add a new user might go through a path like this:

1if (plan == A && users.count == 5) {
2  # too bad, you're maxed out!

That’s what the software says. Clear as day, hard and firm. There are no considerations beyond that. But what if someone needs only 6 users? Just ONE more? Is the best solution forcing them to upgrade to Plan B? Maybe it is, but I’m not so sure.

What if that same conditional could be more like:

1if (plan == A && users.count == "close enough") {
2  # go for it, we want to make you happy!

Is it better to have a happy customer with 6 users on a 5 user plan than a frustrated customer with 5 users on a 5 user plan? Forcing that customer to make a decision bumps up the chances they will leave. And if they don’t leave, odds are they’re hovering around the 5 user limit “making it work” to avoid the upgrade. So now they’re inconvenienced by the product, and that might leave a bad taste.

I’m aware that a line has to be drawn somewhere. Allowing 20 users on Plan A is surely too much, but paying extra attention to the edges is an interesting thought. If this were done manually, human-to-human, a real person might say “it’s no big deal, you can have one more user” in an effort to keep the person happy. Why shouldn’t software do the same thing?

Generally, rules are rules, and so it’s expected (even by customers) that they live within their plan restrictions. But wow, what an opportunity to go the extra mile and make a customer that much happier!

User-restrictions are just one of many areas where we can consider being less robotic. So, yeah, humanizing software. That’s what I’ve been thinking about lately. We’ll see where it takes me.

Early On, Let Ideas Be Cheap

A couple in their very first relationship often don’t get married; your first job out of school is likely not where you will retire; when car shopping, buying the very first car you look at probably isn’t the best approach. There are a lot of “firsts” in life that you shouldn’t get overly attached to, and ideas are no different. Let them be very simple, cheap thoughts early on.

This may seem counter-intuitive because, in design, we’re taught to really focus and hone in on a solution. Pay attention to every detail. It’s hard to hear things like that while also working fast and somewhat carefree. It doesn’t feel like they match up.

But, effort is directly related to how attached to an idea you become, and time is directly related to effort. The more effort and time you put into an idea, the harder it will be to let it go if it doesn’t work. Visualizing alternatives can unintentionally be skewed by the idea you went all-in on. So avoid all-in up front. Often enough, a simple sketch can give you the insight into whether or not it’s worth pursuing. You can scratch stuff out, make notes, and literally try anything you want.

So, a reminder: don’t run the risk of designing yourself into a box by over-dedicating to an early-stage idea. Keep the jobs-to-be-done in mind, but at first, try keeping the effort low. It free’s the mind to explore. Once you feel like the direction you want to go in has been realized, dig in a little deeper and put in the time and effort to see it through.

Design Machines

Maybe one of the best articles I’ve read in 2015.

Designing In the Build

This post pretty much summarizes my thoughts on design, as well. I’ve long felt that to become a great “designer”, I had to get much better at Photoshop and other graphic-related technologies. “That’s what designers do!” Some do, yes.

But to me, design, at least in the context in which I make a living, is the experience. The look sure does play a huge role in that, but mostly, it’s what the design affords the user in the end. And, while I’m certainly welcoming of better graphic-related “chops” (they will come with time), I no longer see that as a mandatory piece to the puzzle. That’s a very exciting realization.

Design Is Expensive

The end stuck with me:

Thinking about the details, wandering around an unknown space trying to invent the right solution, is expensive.

So very true.

Brunettes Shoot Blondes (Knock Knock)

Creativity and (I’m guessing) a lot of time. I love the art direction of these short little videos, too.

Creativity is just connecting things. When you ask creative people how they did something, they feel a little guilty because they didn’t really do it, they just saw something. It seemed obvious to them after a while. That’s because they were able to connect experiences they’ve had and synthesize new things. And the reason they were able to do that was that they’ve had more experiences or they have thought more about their experiences than other people.

A quote by Steve Jobs in 1996
Car UX

This is a fun site to browse through. A nice change of pace from the “traditional” user experiences I’m used to looking at.

What Design Really Means

Design is not principally measured by a product’s visual appeal; its aesthetic qualities.

It’s also measured by how it was planned and articulated, how it was built, how it functions. It’s about the design’s ability to improve upon the current reality.

Agreed. Good design involves both the form and the function.


Truly. Well done.