Why designers shouldn't try to force innovation

In 1994 I was 8. I vividly remember standing in the cafeteria of my elementary school, picking up a dime with the current year on it, and proclaiming, "by the year 2000 we're going to have flying cars." How could we not? Everything is possible, thats the mantra I (like most American children) grow up around. Not only that, 6 years was nearly a lifetime away.

19 years later, I don't think we're much closer to flying cars - but then again, I have a feeling we're closer than most people suspect.

Idealists have a habit of designing or seeing new technology in movies - set in the year 2XXX - and trying to see how we can make it today. Immediately. Usually theres a reason why even if we could implement some kind of future technology today, we won't. Simply put, the entire ecosystem needs to be ready for game changing technology to be adopted properly.

Lets go back to flying cars for a second. Movies tells us this is our inevitable future, I imagine the road map looks a little something like this:

  1. Self driving cars
  2. Mass adoption of said cars
  3. Using the same technology for self flying cars.

Removing the human element of flying cars is what makes it actually seem more realistic. But the only way we'll get there is by removing the human element from driving first. Its a much less disruptive progression.

With technology such as video chatting, we had very few people buy the phones with the capable technology, but there was no mass adoption. Nobody wanted to be the first bozo to waste their money on it, and nobody knew anyone else who owned one, or actually used it. And if they did know even one person, they probably didn't want to video chat with them anyway.

Now nearly all phones have that technology built right in - and video chatting is super easy. Whats more surprising is that people don't really feel the need to use it all that much. Which obviously questions our assumptions about how future tech will actually be used.

All that being said, in the design world, if you care about design, you peruse dribbble at least occasionally. Its a great place to see what kind of trends are "up and coming" in the UI world. Especially considering many of today's "top" designers are releasing sneak peaks of their upcoming projects there.

So what's the problem? Well, people crave innovation (consider waiting for the new iPhone, you want something - anything new and exciting) but equally so, good UX demands intuition - any time spent struggling to learn a new UI, is a negative for the user.

Sometimes innovations are natural when they occur - Atebits I believe, came up with the side panel navigation menu now seen in almost all mobile apps. Its wonderful - instantly learned, and immediately intuitive - even when it was spanking fresh. Same with the "pull to reload" feature (also from Atebits). 

Other times, designers are trying to "force" innovations, because they want to solve a problem that people don't have. They want to be different, and exciting, and to be credited with revolutionizing UI. But heres a newsflash - that doesn't equate to anything except a waste of time, and a potentially shitty UX. Consider the occasionally seen mobile circular menu popularized by Path. Barf. There will never be a standardization of menu items on a circular menu across apps (as their placements cannot become uniform). This is a terrible UX. I don't care how pretty it is, f that noise.

As form factors are constantly changing for the way we work with tech - designers will be presented with many many different ways to innovate. Approach the challenges as they are presented. Trying to reinvent the wheel before the car is built will get you nowhere fast.

CSS frameworks, the killers of design trends.

Frameworks are interesting. In general, they're really great - they increase speed of development, often provide a good boiler plate set of styles - for greater uniform consistency throughout your site, and if they're worth their weight, include some kind of neato burrito responsive features already built in.

So whats the problem?

Most design on the internet is not timeless - for whatever reason, its not like print. Design trends become stale once they've saturated the market.

I remember the first day I saw Bootstrap and thinking to myself, "wow, this cool, I'm curious if it'll impact the value of design (i.e. if anyone can do it, are designers useless?)" but what I saw, was an explosion of bootstrap adoption. Everyone did. Now when I notice a site's design is "bootstrapped" I only make judgements:

  • They probably don't have a designer
  • This is ugly
  • Unoriginal, 
  • Not innovative

The judgements might not be accurate, but thats exactly what they are (judgements). When I discussed this with a co-worker (engineer), they simply said, "the more you use out of the box, the less seriously I take your site."

I remember when the Motorola Razr first came out - it was incredible, so thin, so cool. At the end of it's life cycle, it was a piece of shit that everyone and their mother owned. It's rarity of design, what made it so special & unique, was completely dead.

Frameworks often do this to styles of design (consider any popular CMS wordpress/phpnuke/joomla/drupal etc. theme). Right now "flat ui" is enormously popular, it will rise and rise, and at some point, someone will just make something that will make flat design look crappy - solely because they're innovating, they're unique, and they're creating value through innovation and standing out.

Choose your frameworks with caution, embracing the good (grids, responsive elements) - but innovate and push to stand-apart, create your own designs.

How to get a "unicorn" on your team

Unicorns are defined in this community as individuals who are designers & programmers simultaneously.

How they're born

Logically, most unicorns are designers who have learned to code (although I'm sure it goes both ways). HTML/CSS have the least barriers to entry in terms of development, and are the most obvious add-on skill for a designer. 

After designers learn HTML/CSS building a web site at this point is pretty easy with tools such as wordpress, joomla, drupal etc. available. Designers who get better at this eventually branch out, acquiring the skill (this being an actual language, such as ruby, js, etc.) to make ANY of their designs come to life - not just things that fit a certain mold. 

That is the most obvious driver - being able to take an idea from conception all the way through to execution.

However, there are many people ("unicorns") like myself out there (the most well known may be Drew Wilson - and I've also seen a few comment on some of my other posts here). But if so many exist, why is the designer-coder considered a rare mythical beast? There are a couple reasons:

They're entrepreneurs

Someone who has been driven enough to learn both skills of the trade most likely has the innate desire to create and build products, so as soon as they can work for themselves, they will. 

This doesn't make them poor team players, if anything it gives them the motivation to contribute and learn as much as they can at any startup, because simply put - they get it. They know the startup they'll some day run, will hopefully have people just like themselves, who should be equally impactful.

They only fit at startups

This is an assumption from my personal experience, so please comment if you feel differently. But from what I've seen, people with these highly desired skill sets are more valued on smaller teams, where wearing multiple hats is of higher importance. Larger teams generally desire individuals who are focused on their primary skill. For me personally, I love design, and I love programming - I won't even talk to a place that wouldn't allow me to do both.

So how do you get a unicorn on your team?

Simple, hire designers who want to learn to code (and have at least some kind of foundation in the basics) - and make sure your developers are open to mentoring them. 

Your environment's overall efficiency should increase ten fold when the designer can take over more of the front end work and deal with the design-related software bugs. 

It'll make the lives and working relationships of your designers and developers better, while increasing the value of your designer immensely, and letting your developer eventually focus more on future facing issues and features (and things they probably enjoy working on the majority of the time, i.e. not bugs). 

Edit: To be clear, this article frames "unicorns" as designers who are jr. software developers. It is not to say they're more valuable than anyone else in a team. It is to say, they can help make a team more proficient through smoother communication. If you read this article in any tone besides that of food for thought, you're doing it wrong.

The myth of the "UX designer"

I truly dislike seeing these articles around "UX" designers. Every other week they go on and on about how they're not just UI designers, or web designers, and about how there are so many very important distinctions. 

Lets define something. UX equates to user experience. The user experience may be in fact, the most important thing your company has. Do you know who is responsible for creating a good user experience? EVERYONE ON YOUR TEAM. EVERYONE.

UI designers simply control the experience around the visual interface. A lot of the UX might go into that, and it is the designer's responsibility to defend and enhance that experience.

However, it is the entire team's responsibility to make sure things work properly, quickly, and in such a way that the user enjoys using the service or product (this is usually a great way to eat your own dog food, and test your products).

News flash: Good solid design, in any sense (code or visual), is an iterative process. This means it needs to continually change and grow based on feedback, data, and conversion rates. If you're a programmer working somewhere, and your "UX" person does something that you think is bananas, it's your responsibility to let them know. 

I have UX in my title, most definitely - but I'm not trying to oversell something beyond a certain point. How the hell do people think good UX existed prior to the invention of the UX role?

Make good products for the user. If this is everyone's main concern, your UX will be amazing, plain and simple.

Why long term goals make you a better team player

Something I find interesting, is learning about what people are working towards. 

Obviously enough, we have short term goals, and we have long term goals. If goals drive us to work for what we want, the achievement of reaching them encourages us to raise the bar, to be better, and to keep trying. Its a positive feedback loop that makes us productive individuals.

It often surprises me to learn that people are working with short sighted goals in mind - dead lines, rather than where they plan to land "in the long run."

To be more clear, I may be working on a deliverable this week (such as a new design, template, code test- whatever), but I'm working towards helping the company I'm at achieve it's long term goals. And more importantly my long term goals. 

But this is more important than just my goals

Think about how many times you've worked on something that never saw the light of day - regardless of what it was, it can be frustrating. But at any company, thats part of the process - and keeping your sights on long term goals can keep you happy when you might naturally be discouraged.

At every startup I've been at, countless designs, products, features, code, etc. are thrown away. Its never bothered me, because from a business perspective I generally understand what makes sense for the company - more importantly, I have an extreme sense of faith in the people running the startup I'm at (if that changes, its time to leave).

This mindset is important for a team thats striving to achieve the same goal. It can help people take losing past work less personally. This is incredibly important because when people are upset about their time being wasted in such a way, it affects their attitude, and makes them less "fun" to work with. It hurts the overall team - even if only from a social standpoint (which may be the most important in regards to constant quality of life - afterall, who wants to quit a job where they get to work with their friends all day?).

Your work, is your work - but it is not for you, its for your team. Don't be a big baby about it.

Why designers are talking about the wrong thing.

Where does the responsibility of a designer end? With delivered PSD files and designs? Or with an amazing user experience, living in production?

The answer should be obvious.

Designers are such fickle bitches (I say this, as a designer). We want control of the entire user experience. We want to ensure repeat use, and high engagement - and to do so, we want to design every little piece of whatever it is we're working on. After all, we are largely responsible for the performance of the result. However, most of us don't want to own the work it takes to execute this full scale implementation. We want to complain about people butchering our designs when bringing them to life, and claim non-responsibility. This is the problem.

I keep seeing tweet after tweet, article after article about some new app or tool for design, or some old app that is being phased out and designers are going crazy over (re: fireworks). You know what I don't give a shit about? Design tools. They are all obsolete. Why? Because we don't use images to build web sites anymore. We use code. You can use any stupid design tool to achieve a mockup. If spending your time learning new design related apps constantly you're literally wasting it.

This is akin to being a painter, and trying every god damn brand of paint brush there is. And then once you know how to paint with all these brushes (which all achieve a relatively similar result) - you use only one. Then you paint your picture with this ONE brush. But GUESS WHAT? That's not even the final copy. Its not even the rough draft (i.e a beta version). Its still a fucking mockup. The bricks and mortar. The HTML, CSS & JAVASCRIPT bring your painting to life. Who gives a shit what brush you used to make it?

I've been using photoshop for 14+ years, I don't care when it upgrades to a new version. Yes, I will move with it, and check out the new features. But the truth is, I want to spend as little time in photoshop as possible. I want to get my design live, so then the REAL WORK can begin. Testing the design, and iterating again and again, to see what has the best results in front of users. That is good design.

I don't give a shit what software you're using if your design isn't implemented properly. And you know what? The only person who can implement your design properly is YOU. Because only you are aware of each subtly and nuance you've designed into your masterpiece.

As an aside - it makes you about 100x more valuable to anyone who has to work with you, if you know how to code what you design.

If you're afraid of writing code - thats ok, you don't need to deliver production level stuff. If you can make a demo that just works in chrome, you're off to a great start.

Where Flat UI fails

If you're a designer, you haven't had a chance to stop reading about flat UI design in months. Its everywhere, hackernews, twitter, dribbble, your grandpa's hand-me-downs, the list goes on.

Like most design trends (chunky buttons, web 2.0 badges, grunge, noise, whatever else..) flat UI is likely just that. A trend people will inevitably become sick of after it has saturated the market.

Flat UI follows Dieter Ram's 10 principals in the majority of ways. But I think it fails on two:

  1. Good design makes a product understandable
  2. and Good design is long lasting

Any good UI designer or product person has read Steve Krug's Don't Make Me Think

So if our main goal is to make everything intuitive (to keep a user from having to think) - its easy to reason that we should be using forms of visual communication with which people are familiar. 

I.e. You're familiar with logos always being in the top left. Or that in real life, a door knob indicates rotation + pulling/pushing to open/close, whereas a metal strip generally means push.

My main concerns with flat UI - are that while it is gorgeous, its not familiar. We live in a world of multiple dimensions - and we get visual cues from those dimensions. Even a newspaper or magazine may have a flat UI for content - but have 3D UI for navigating between pages.

I think that flat UI in it's current growth is mostly being mis-used, and overused. Designers must give more consideration to function over style. 

Just because something looks good, doesn't mean its easy to use, or useable at all.

I think the real answer - is to treat it as one more tool in your belt and use it when its appropriate - not because it's the "hot" thing to do right now.

Most problems I see include a total loss of visual hierarchy, indistinguishable depth and layers (i.e. hovering menus). Things don't work like that in the real world - and the way you design should take cues (not mimic) from real life as best as possible. 

Nerf or something

Good company culture is really fascinating, but what comprises it?
Nerf guns? ping pong tables?  Unlimited free snacks?

No. Its just one thing - a shared attitude.

One of my favorite books is called "Good to great" (by Jim Collins). Its a scientific look at how a few pretty good businesses, became amazing companies.

As a geek who went to school for business, one key point really struck a chord with me - "Get the right people on the bus".

Simply put, when building a company - you want to work with the right people in every sense of the word. They should make your quality of life better in general. This means beyond a skill set - they should be similarly motivated - and someone you would pick to be on your dodgeball team of life.

Every day I go to work with my friends. I am so fucking lucky it is ridiculous.

Shared attitude does not mean similar personalities.

I'm not saying people should be the same, or even similar - I'm speaking strictly about attitude. In my office, the ages range from 21 to 50+. And we're all friends. Everyone is super unique in their own right. But we're all on the same page - we're passionate about what we do, and we're happy to be doing it. We're striving for success as a team, rather than an individual. We're striving to be better as individuals, to increase productivity of our overall team. Thats what makes people excited to come to work. Thats what creates good company culture.

(disclaimer, we definitely have awesome nerf fights anyway)

What fitness taught me about programming

When I was just a young buck, I was on the path to obesity. I wasn't fat-yet, but it was where I was headed.

I remember being around 9 and chowing down on some serious garbage when a friend's dad said something along the lines about how unhealthy it was and I literally said, "I don't care, I'm going to get wicked fat now, and then when I'm old I'll just workout and get really strong."

Theres a lot in that statement. First of all, it should be clear I'm from fuckin Boston. Second, I had no qualms with pushing problems and work onto my future self. And third, I didn't understand how difficult it was to achieve my future goals. I remember being supremely surprised that getting stronger wasn't a once and done activity, but needed constant maintenance for the rest of my life to keep strength... But I suppose thats whats so great about it, if it were easy to be in shape, everyone would look like The Rock or Chuck Norris - and nobody would give a shit. (Unless you actually looked like Chuck Norris, and then people would definitely still give very much shit).

About 3 years later I got into building web sites, and 2 years after that - into lifting. Clearly, I was a child psychic - or psychotic (both may be accurate). 

So why are these sharing a blog post?

Well, any tech related skills are just like muscles. Its true that If you don't use em, you'll lose em.

And unless you're willing to try new technologies or workout, you'll plateau or become obsolete.

Lets look at the figures:

Here are a few of my workouts (lifting specific) I've tried over the years - all very googleable. 

  • Hypertrophy Specific Training
  • Pyramids
  • Reverse Pyramids
  • 5x5s
  • Rest-pause
  • Super rest-pause
  • HIIT
  • Negatives
  • Circuit Training
  • Volume Blasts

Now here are some of the technologies I've worked with:

  • CGI
  • Perl
  • PHP
  • C++
  • Java
  • Javascript
  • HTML
  • CSS
  • Drupal
  • Wordpress
  • Joomla
  • Mambo
  • KnockoutJS
  • AngularJS
  • Jquery
  • MooTools
  • Prototype
  • Scriptaculous

The point is this - you need to keep learning new things. In fitness its to shock your body, and constantly keep it guessing - but then you need to continue the use of those things to stay in shape and maintain your results.

In tech - learning new technologies and tools keeps you valuable, and continuing to do work within any of these will keep you sharp. 

I'm sure these ideas apply to many other areas of life but the main takeaways are - always practice, and always strive to learn more.

Why you should always have a mentor

Any entrepreneur knows failure is a staple of life. They make mistakes, they learn from them. If they're lucky, they have friends who've already made those mistakes and can preemptively teach them the lessons.

One thing I always try to keep in my professional life is some form of mentor. This person should be someone who has accomplished something that you admire - someone who can inspire you to be better, but can also help get you there.

I won't count family as mentors - while they certainly are, their levels of bias are generally too high (they want to blindly support you, and may lose some objectivity - they'll often fight for you, even when you're dead wrong). 

I've had 5 amazing mentors so far, here are some of my takeaways to-date:

Life lessons:

My first mentor was during college - a professor who taught entrepreneurship. He was one of my first freelancing clients. Even though I really enjoyed his class, the more valuable lessons I learned through working with him. It was about his shotgun approach to business that stuck with me the most - not the football formation - but the idea that trying out a lot of ideas and focusing on the ones that stuck made sense. I read all about people who started XYZ, and lived and dreamed the business - which inevitably lead to their success. Its not that I disagree with that approach, its that I dislike the cult attitude surrounding it. You don't need to bleed an idea for it to be successful. It's ok to try things just because you want to see the response. Overcommitting to things before they're successful will make it that much more difficult to quit when you hit the dip, and even harder to come to terms with if it fails (which most businesses do). Try a lot. Test everything. Save your passion for the things that have proven to be worth it.

My second mentor is a close family friend. I worked with him for about 6 months after college - he helped me determine wether or not it was worth launching a business around a fitness program I had been designing and planning for throughout my college career (read: overcommitting). I learned more during my time with him than I did all 4 years in college. Its depressing how much I truly mean that (good old student loans). The people I was introduced to, and the lessons around startups he ingrained into me were priceless. I'm sure I'll blog more about this later - but one of my greatest takeaways while working under him was the importance of customer development and market research. Selling a product to customers that don't exist is insane - but people do it all the time. Most businesses fail for that reason. People assume their idea is the absolute best thing since star wars, and don't realize only the sith deal in absolutes. To be clear - make sure your customers are real, and want to pay for your product before you go about building it.

My next mentor was completely different - he was technical mentor. We worked together and he pushed me to be a better designer. He taught me different techniques for achieving different effects through CSS, and in photoshop. I can't express how important mentors like these are - they will increase your value ten-fold, and unless you're a dumbass you'll make a really great friend.

My last two mentors I'm currently working with, and they'll probably read this at some point so I'll leave it at this:

Your mentors surround you. They're smarter than you. They're better than you. And they can teach you some serious shit. If you're not surrounded by people like that, than you're working in the wrong fucking place.

Giving it back

In the same way that I'm always actively trying to be mentored (which effectively means I ask a shit load of questions all the time, with the goal of understanding reasoning - not just accepting an answer blindly) - I'm always happy to help my friends and co-workers in the same sense, wether its talking about business, attitudes towards culture, design or anything else where my experience may be greater - because if you're not paying it forward, than the value of your experience is lost into the ether.