Login

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
  • DHTML
  • 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.

What its like to be judged as a total douche.

I've always been a strong believer in a positive attitude dictating the path of your life. The whole concept of "fake it until you make it" makes great sense to me - act like you're having fun by doing fun things, and end up having fun.

In August I was going on a skydiving / white water rafting trip. A little intense. Naturally I decided it was a great time to get a mohawk. Not wicked big (my hair is a little too curly for that), but enough to make a clear statement when people look at me.

I had never done anything like it (with my head) before - I've probably rocked the same freaking hair cut (you know, short white guy hair) for the past 15 years after the infamous bowl-cut phase of the 90's.

So what do you think when you see someone like this? Any number of surface judgements:

  • Theres a bro.
  • Theres an idiot.
  • Hmmph.
  • Maybe that dude fights.
  • Theres a hipster. Do they have mohawks? Hawkster.
  • Douchebag.

And judgements are fair - everyone makes them. They're usually wrong but they're also usually based on people we've met in the past who looked like XYZ, and acted like ABC.

The first time I was out at a bar with the "hawk", a girl came up to me and asked if I lost a bet. Almost every time I go out people want to touch it. They want to say whatever the fuck they're thinking about it. Only because its different.

Every now and then someone will ask why I got it, and I'll just explain I'm trying to, "increase my level of douche" - a little self depreciating humor sure, but they always smile and agree. Because at the end of the day - I look like a douchebag with a mohawk, and I totally fucking love it

It's easy. Most people don't have a mohawk, so that in general requires confidence. I have to be confident that I can pull it off, and that I want people to look at me, and that I'm going to be ok with whatever surface judgement that comes along with it.

The lesson it taught me is simple - own your life for you, and take action with confidence - and the world will respect you for it. Even if they think you look like a dick. You'll look like a dick with balls to do what you want. Aka confidence.

Igniting motivation in others

I am a meathead freak.

I talk about protein more than anyone I know. I have up to 4 protein bars a day, probably 2 shakes, and usually some amino acids. When I eat food, I think about it's protein to calorie ratio.

I have bench pressed over two times my body weight. I have had six pack abs. I prefer going through life shirtless.

I've been working out since I was 14. 13 years of serious dedication.

Initially what drove me was really to just not be fat (which is where I was headed).

The results I saw - the ability to control my physical appearance through my own actions (exercise) and decisions (what to eat) - was fascinating and has created years of a never ending obsession.

I know what motivates me now - I'm a control freak about myself. Only I can determine my level of success in any area of my life - physical, career, relationships - anything.

Something many people have talked to me about, is how they can get "into" the gym (or programming).

So, how do you create motivation in someone else? How do you give them the drive to accomplish their goals?

I don't know the full answer yet, but here is my current roadmap:

  1. Inspire
  2. Educate
  3. Encourage
  4. Challenge
  5. Repeat

Inspiring is something you do without doing anything - if you are leading by example, people will be inspired simply because it's how they would like to see themselves. People want to be better naturally.

An inspired person talks about it - how they want to be better. They may be idealistic and dreaming, but their hopes and goals may be the most valuable thing in their life. Educate them as much as you possibly can. When a friend asks me to workout with them for the first time - I try not to teach them this exercise or that exercise - but more about how muscles work, and what the goals of working out are (ripping fibers, increasing endurance). The idea is for them to understand how to build their own workout around their goals, rather than just proceeding blindly on my word and not understanding what or why they're doing something.

I'll encourage them - I'll set their expectations appropriately. Everything is easy when the mystery is removed. Everything. Its like the day after you learned how to ride a bike, it seems unbelievable that you would have ever needed training wheels to begin with.

Then its time to challenge them to be better - tell them to set their goals. To give themselves a deadline. A start date, anything to measure against themselves.

For the numerous people I've been able to help motivate - this is always the process I've used. The real trick is #5. When a person sees the fruits of their labor, thats when it happens. When they understand that they know how to fish. When they realize they don't need anyone else. When they realize the mystery is gone, and they are the master of themselves.

The utility of side projects

When I look back at all the side projects I've built post college, after you know, "starting my career," I have the following:

  1. A local resources app for learning (my first rails app) that never launched.
  2. A weight lifting tracking application - that partially launched (reached about 300) members, before I took it down.
  3. A task management app - I finished, and then decided it just wasn't right. Never launched. It was also my first app to utilize highcharts.
  4. A trading application (80% done - will revisit in the next few years), and my first app to utilize KnockoutJS & Resque & Stripe.
  5. An app for remotely managing error pages, and my first app to utilize AngularJS. This one launched - 404engine.com.

I've been out of college 5 years now, so I'm creating these things at a rate of about 1 per year, which certainly isn't bad. 

The obvious problems

  1. I'm not launching enough of these.
  2. I'm doing absolutely no customer development.
  3. I'm not getting paid.
The value is much higher
  1. Each one of these exists in git as a portfolio piece
  2. Each one taught me to be a better designer
  3. Each one taught me to be a better rails coder
  4. Each one taught me to be a better javascript coder
  5. Each one taught be to think about XYZ market differently
  6. Each one taught me how to embrace new technology
  7. They all gave me massive experience on both ends of building an app (design to backend)
  8. They all increase my value to any employer
  9. They all increase my confidence
  10. They increased my skill set.
  11. They take initiative.
  12. They teach me about solving my own needs.
  13. They teach me about solving needs that never existed.
  14. They teach me about failure.
  15. They push me to be better.
  16. They set me apart.

Developers who say they don't know design, are simply developers who haven't failed at design enough times.

I went to school for business. Yet I'm paid to be a user experience designer/engineer and developer. I get to work in photoshop, HTML/CSS, Rails, & Javascript every day at work - and its incredible. I'm extremely confident in what I do - a formal education in CS or design may have provided a different foundation to let me move faster, but it can't touch years of just trying shit out.

The first web site I built, I was 12. Today I turned 27. So 15 years ago, I made a site on Angelfire called, "Jack from the moon's galaxy" - it was based on an inside joke from summer camp. The web site had links to pages I liked, and an image for the movie "Idle Hands" which had been my current favorite. And it of course had a counter. It looked like dog shit.

The next web site I built also looked like dog shit, and so did the next one. But they looked a little bit less like shit each time. I was never a naturally good designer. I love that. I have no emotional connection to my designs. I want them to look good, and want to love them - but if they're ineffective, and user's don't like them, I want to throw them the fuck out and start over. Good design for me, is iteration & testing.

This has been exactly the same with every project I've taken - personal, freelance, career - every project I should be getting better as a designer, coder, business guy, marketer, etc. Every project is just the next iteration of myself.

And thats how side projects should be viewed:

  1. Yes, try to at least have a business model.
  2. Yes, at least think about customer development
  3. Yes, try to get paid
  4. But do it for the experience
  5. Do it to learn
  6. Do it for fun
  7. Do it to be better


Do you like to, "do it, yourself?"

I've been designing and coding web sites for nearly 14 years now. 

Anyone in a similar position can agree that comes with a reputation amongst friends and acquaintances as the guy who can build your "amazing idea called mygooglebook," that will obviously be bigger than the beatles, if they were a web site.

This is about the time I usually try to take a huge dump on their idea.

There is an inherit value of doing so:

  1. If they really believe in it, what I say should only motivate them to prove me wrong.
  2. If I'm right I'm going to save them a lot of time.
  3. If they can't convince me I'm wrong, how will they ever get customers?
  4. I'm a busy guy, I don't want to be pitched non-stop. If this stops someone from repeatedly pitching me shit ideas, then I've saved us both some time.

Lets say I do decide their project is enticing enough that I would consider putting in my time. 

This is when customer development becomes your best friend. At this point its easy - you want to have shared (not equal) effort and founder value if you're working together. You know you can do your job well, but you want to mitigate your risk entering any kind of joint venture (with a friend, acquaintance or otherwise).  

So now you must require your "idea/business man" to develop a customer base, that will be ready to buy on launch. You need this absolutely guaranteed - by the customers, maybe a form of early discounted payment, letter of intent, or early deposit.

If your business guy can make that happen before you ever touch the keyboard, you're doing it right - and they're the right partner to have.

So, unless you like to "do it -all- yourself" - get dumpin.