In an earlier post, I said I was going to tell you about how there’s really only one downside to being a designer who can code. Well, here it is:

Ok, so no one has really said that to me out loud, but I think it’s pretty obvious that’s what people think. Otherwise, why would you not take advantage of having a designer who knows how to code? How? Well, let me give you a few suggestions:

  • Let the designer-coder work out the kinks of UI. UI development is hard. In any language. And unless you have specific people who were born/bred/educated to do UI development, chances are you’re just going to have a bunch of developers who feel more comfortable writing all the model/controller crud and none of the view stuff. Enter the designer-coder. Maybe she is someone who loves to fiddle with messy UI gorp and would jump at any opportunity to get messy with code. Swing/AWT? SWT? HTML/CSS? Android? XCode? Yes, please.
  • Let the designer-coder work on future prototype stuff. Developers don’t have time to work on extra stuff, especially when they have multiple simultaneous releases to worry about. If you need someone to go off for a couple of days and come back with a working prototype of something for future stuff, let the designer-coder go off and do that.
  • Let the designer-coder get together with other designer-coders and create reusable UI frameworks and widgets/controls/layouts/etc for developers to reuse everywhere, in all products of your company. Maybe they do this in other companies, but not where I work (at least for some products). Reuse across products is hard because every product has its own schedule and management style. By letting designers own the UI, we make them responsible for how things look and they can’t complain when things are pixel-perfect. Because they would be the ones in charge of it.

You’re probably wondering, if I want to do so much coding, why don’t I just become a UI developer? I’ve been there. The downside to being a developer who knows some design is almost as bad as being a designer who knows development…you just don’t have the full credibility of either side.

I know someday, somewhere, I’ll be appreciated for the misfit I am. It’s just a matter of time.

There’s this woman I see regularly at this place I go, and she is always very grumpy. No, I’m not talking about looking in the mirror, sheesh. This woman is just always bitter, always looking down at people with a stern look of disapproval. I don’t think I’ve ever seen her smile or laugh with people. But tonight I saw her with a big shopping bag, giving out Valentine’s candy.

I know people have a wide range of emotions, and that people can be stern at times and lighthearted at times, but I just don’t see a person who is always grumpy and barks at people being the same person who is kind and generous enough to prepare and give out Valentines. I guess it’s possible, but I would question a Valentine given by someone who is usually a jerk to me.

Maybe I should think about being the bigger person and becoming kind and generous to those who are rude to me, and maybe that will catch on.

Or maybe not. That’s just not the kind of person I am. 😛

(Thanks to JG for the idea. If you’re wondering about the toenails, read this post.)

have something better to do like clip your toenails?

Everyone says that stuff never translates well in IM or email, and that a phone conversation or face to face is better because at least you can hear voice inflection or see facial expressions. But sometimes even those don’t translate well.

I wasn’t actually clipping my toenails, but I might as well have been, since it’s apparent to people that I just sit around and do nothing all day anyway.

I always wanted to do political cartoons, so any chance I get to do something like it, I get excited. The company I work for started this new intranet series last year which featured a monthly internal comic strip. I got the chance to do one for this week.

Every year we have to get “certified” in the company’s “Business Conduct Guidelines”, which basically outline ethical work behaviors that every employee must follow. The course that goes along with it is pretty much the same every year, it goes through the story of a fictional company with fictional employees that are conducting business and unknowingly (or maybe knowingly?) commit some business conduct faux-pas, like gathering info on competitors through personal network channels and promising discounts on products if customers do something in return. After going through the course, it seemed like those unethical behaviors were things that people do all the time anyway, and that’s really the basis of the business world. Maybe to a lesser extent. Something like giving someone you know a job over a stranger who has the same qualifications may not be something that people can outwardly detect (and could be debatable on whether it is unethical or not), but I’m sure happens all the time.

I had a rather interesting email thread go on at work that I wanted to illustrate, but it seemed too boring once I thought it through, so I just decided to draw a picture of what I thought was really happening through email:

Ok, maybe it’s going a bit overboard comparing my situation to the Salem witch trials. But there is a lot that people can do to avoid a situation where it makes one person feel like they are being ganged up on for no reason other than to pass the time. A few pointers:

  1. Before you jump to conclusions, make sure your facts are straight. You don’t want to end up looking like an idiot when the “witch” turns out to be right in the end.
  2. If the “witch” admits wrong-doing or ignorance, it’s not necessary to ask further questions like, “why” or “who told you that”.
  3. Most problems with miscommunication can be easily cleared up with a 2 minute IM or phone call. Dragging something out in an email thread with multiple people cc’ed does not help the situation.

Product development is truly a difficult process, especially when it involves a big team of people. Everyone has their distinct roles, and people are constantly inventing methods to keep those roles in check and make sure that everyone is working toward the same end goal. “Agile development” is one of those methods that is in place where I work, and while I’m sure it works for the most part, there is always still room before you can truly call any big development team “agile”. I’ve been thinking about what the major themes of Agile are (to me) and why I think they are important.

No, I'm not really "the ScrumMaster", I'm just a designer.

Always Be Communicating

I’ve always been really bad at communication. Partially because I think people can hear my inner voice, when they really can’t. So of course I would go and do something like chat with a developer about a minor design change in the MIDDLE OF AN ITERATION FOR GOODNESS SAKE and not tell anyone else about it. The least I could have done was to notify the leads just so they are aware. Live and learn. This is why I try hard to keep my design documents up to date so that anyone can go take a look when something does change. Of course, I don’t always do that right away, which is probably why I got called out, but I think being able to hash out issues directly with a developer is one of the great things about working agile-ly. We don’t always need a committee of 10 to approve and have a say in every single design decision that is made.

Embrace Constant Change

The thing with Agile is that, well, you’re supposed to be “agile”, right? Which means that you’re ready for anything that pops up, maybe an architectural change, a design change, API change…anything. Breaking down features into achievable mini tasks is really the key to managing this. I don’t expect to see an Eiffel Tower at the end of each iteration, but I do expect to see small things like where the footprint of the tower will go, and defining placeholders for where the snack carts can hang out, and approximately how many trees can be in the lawn in front of the tower. That way, when someone decides that the snack carts have to be at least 50 feet from the tower footings, we aren’t going to freak out about it.

There’s No Final Build ‘Til The Product Ships

If you have automated builds of your product that run daily or more often than that, there’s no reason you couldn’t put in temporary code for the sake of experimentation. Yes, that’s what I said. Don’t break code, of course. I work on designing mobile apps. There’s no better way to validate a design than to have a developer build it and let you install that on your phone. If it works, great. If it doesn’t, then we iterate and make it better in the next day’s build. Of course, once you start getting into code freeze and testing, it’s a different story. But in the early stages, I think it’s fine.

Dogfood It!

I’ve always felt that the best indication of progress (or lack thereof) for a software product isn’t those Gantt charts or checked-off todo lists or whatever people use to track work items. The best indication of progress for a software product is to install the actual product and use it. Of course, much easier said than done for some products, but if you’re working on a tool that you actually use on a daily basis or could use, there really is no reason you can’t run daily or weekly builds.

It’s tough creating anything that is to be consumed by others. Whether that is a painting you make, or software you write, or a sandwich cut into the shape of something to make it more palatable to your kid, the beauty of it is definitely in the eye of the beholder. Anything you make is subject to be criticized, loved, or hated by someone out there.

The other day there was a big todo about a photo of a raw chicken on the NY Times food section. They wrote about it in their Lens blog, just in case people didn’t have enough places to comment on it. Granted, most of the people offended by the photo were anti-meat and it was more about the unnecessary killing of the chicken rather than the composition of the photo, still there were people who took offense to the overt sexual nature of the photograph. Misogynistic? Exploitation of women and animals? I don’t think people understood that it was an illustration of the article, which talked about peoples’ passion for eating chicken skin. Even so, I couldn’t see how anyone could find a picture of a raw chicken so offensive.

Person offended by green blob artOf course, I often don’t see all the sides of how other people interpret things, especially my own work. Recently I was approached at work to do an illustration for a new internal web column about etiquette in the information age. The columnist happened to be a woman, and I used a photo of her seated at a desk with hands clasped as the model for the drawing. The only criticism I had of the drawing myself was that it didn’t look much like the columnist. Still, I sent it in and it was used on that week’s column. It wasn’t until a month later when the next column came out that I received a note about some feedback from people asking for some changes to be made because the image that represented the column was misinterpreted as “a secretary behind her desk” and was a “throw back to the 50s”.

It’s always hard for me to believe how differently people react to the same things. If I am a woman and I am not offended by this picture, how could other women be offended? Granted, it wasn’t the picture alone, but also the title of the column (which used a mashup of two words and ended it with a feminine suffix) that put up red flags for women. Women who spent the better part of the past 50 years battling the gender wage gap, or inequality in college admissions, or making sure people don’t use the words “actress” or “stewardess”, but rather “actor” and “flight attendant”. But…”a secretary behind her desk”? Is that really an image that is hard for people to bear nowadays?

Are we to now stop using pictures of women in kitchens? Women in classrooms? Women in nurse outfits? Women are everywhere, and they can be anything nowadays. A woman sitting at a desk could mean she is an executive. A lawyer. An accountant. A school principal. A secretary. So what if she is a secretary (ahem, administrative assistant!)? There is nothing wrong with that. It seems to me that people who believe that a drawing of a woman at a desk means she is a secretary really have more issues internally than just being offended by the drawing. If we can’t get past these little things ourselves and we ask people to tiptoe around these issues, how would we get past them? We can’t ignore the past struggle that women have gone through. But we can’t also forget that there are still women who today are in the roles that were big in the 50s (like Mrs. Cleaver!), and to disregard them is doing the same thing that people did to all women back then. Being a woman and an engineer (or any other previously male-dominated career role) doesn’t mean you’re a hero or are even that special. I think once we start believing that, maybe we’ll finally get past all of the gender issues in corporate America.

In the end, I did completely redo the illustration, which I’m much happier with now anyway. So maybe this was all a good thing.

A debate that I see pop up every so often is “should designers know how to code“. If you Google that, you can read all the blog posts for both sides. Here’s my answer to that question:

Why not?

I know, it’s such a cop-out answer. But really, it’s up to a designer to decide if he should or not. Do you want to learn new stuff? Do you want to keep up with technologies? Do you want to understand how developers are going to implement your design? Do you want to understand the platform for which you’re designing? If you answer yes to all these, then yes, you should learn some code!

Being able to prototype designs in HTML and CSS (even if your final product isn’t a website) helps you to understand your designs better than static Photoshop mockups. Adding interaction with Javascript makes it even better. Prototyping your designs, whether in HTML or Flash or even Java, is so useful because it allows you to see your designs in action and help you iterate on changes if necessary. Of course, I don’t expect every designer out there to go learn Java or Xcode or whatever other language, but if you can and would like to, then do it!

One argument that I’ve seen (and actually heard at work) is that designers should provide the best-looking design possible and not think about whether it actually can be built (because that’s the developers’ job to figure out) and that if a designer knows his limitations, he won’t be able to create truly ground-breaking designs. I’m guessing that those people are huge fans of Frank Gehry. Frank Gehry is the architect behind such amazing buildings as the Stata Center at MIT and the Guggenheim Museum in Bilbao, and the Disney Concert Hall in LA. Gehry really pushes the envelope in coming up with ways to mold building materials into organic shapes that aren’t typically done in construction. I saw some photos of his design process, where he actually made sculptures out of pieces of paper which were then 3d-scanned to figure out how they could be constructed. This process was even joked about on the Simpsons! I admit that it is refreshing to see such creativity in architecture, but there should also be a balance between what looks cool and what is functional, otherwise you may end up with a hard time constructing it right and a lawsuit on your hands. I’m not saying we should just be boring and only design what we know is possible. I think the more we learn about what is possible can help us to create designs that are not only interesting, but actually work.

There are a couple of arguments (here and here) against designers who code that are, interestingly enough, written by people who are actually designers that code. It makes me wonder if people are pushing others away from doing something that they have seemed to specialize in doing, in order to make themselves more special. I think if you are a successful designer who codes, you should encourage others to do the same. If people can learn to do both and be good at it, why discourage anyone from trying? I happen to be a designer who knows some code (although, it’s still to be determined if I’m successful at it :P), and I highly encourage any designer out there to at least learn HTML/CSS/JS…you won’t regret it. It’s much easier as a designer to learn the basics of coding rather than to be a coder trying to learn the basics of design.

There is really only one downside to being a designer that can code (and it’s not that you’ll dilute your ability to design, that’s ridiculous), but I’ll leave that for next time.

Lately I’ve been thinking a lot about what it means to be a working mother. When I was growing up, my mom stayed at home with us. She didn’t start working until we were all safely in elementary school, and even then, I only remember a handful of times when she didn’t pick me up from school. Later when we were old enough, we were the typical latchkey kids. I never thought growing up that my mom wasn’t there when I needed her or that she was sacrificing her time with us to go to work. And it never occurred to me that her working was any different than my dad working, except that he left the house before we woke up and came home just in time for dinner.

When my first kid was born, I assumed I would take the default number of weeks off that my company allowed (six, or eight if you had a c-section), find a nanny or daycare, and go back to work like nothing ever happened. But I couldn’t get myself to do that. I took as much time off as I could milk out of the company, and instead of finding alternative care for my baby, I thought I could work from home and take care of him at the same time. It was hard and I managed to get through it for 20 months before I started him in daycare. It was my guilty conscience that couldn’t get me to just put him in daycare from the beginning. It was the fact that my mom had taken care of my sisters and me when we were young and that I wanted to do the same, but also had this pre-existing job that I could not or would not leave. I wanted to have the best of both worlds, and every so often I felt like I had, but at other times I felt like I was barely surviving each day.

Working Mom

This is the plight of the working mother. The necessity to have a job, be it for the income or for the personal growth. The desire to be there for her kids, even if it isn’t always possible. The guilt that sometimes you need to choose between one or the other at times. Of course, this story isn’t the same for everyone. Some women don’t have the guilt that I have for putting my kids in daycare. Some women don’t have the luxury of working from home and being close to their kids. Some women realize they don’t have a choice and this is the life they lead; part time for work, part time for kids.

I just finished reading I Don’t Know How She Does It. I had seen a commercial for the upcoming movie and I thought, I could go for an easy, funny read. It definitely was an easy read. Not so much funny though. It was at times fairly realistic, at least from my point of view. The protagonist was definitely the kind of perfectionist that I sometimes tend to be, and I could see myself doing similar things. I’m that kind of annoying person that wants to stay up all night decorating cupcakes for my kid’s daycare class even though I still have work to catch up on and even though I complain the next morning when I don’t get enough sleep, I don’t do anything to change things (like cut back on the things I commit to doing).

Spoiler alert, in case anyone decides to actually read the book. In the end, the woman decides that in order to save her marriage, her kids, and her own sanity, she leaves her lucrative career and becomes a stay-at-home mom. Yes, some people don’t have the choice to do that, but I think it’s an important statement to women, even those who don’t have children yet. You have to find what makes you happy and what works for you. Sometimes it means losing out on income, or losing out on time with your kids, or losing out on getting ahead in your career. Whatever it is, you are in control of it.