How do you design icons, logos, marketing stuff, etc. for an app you're writing? Do you do hire a graphic design artist or do it yourself? What are some good learning resources to get started with DIY graphic design?
As a graphic designer/artist: this question strikes me as funny because the frequent "how do I start programming" threads are always so matter-of-fact. 3-4 biblical texts get recommended, a handful of vetted resources bandied about, and then a minimal amount of hemming and hawing over which language to use.
As daunting and foreign as those threads seem to me, programming has a lot of known knowns - I can see where "how do I design" would be more daunting because it's such an unqualified expanse consisting almost completely of grey area. Stand before it, naked, putting yourself in the shoes of the designer, and imagine the horror of the client's most unspeakable words: "I can't explain it to you, but I'll know it when I see it."
All that aside, I think the advice that I've received from this community re: learning to program/hack is still sound as it applies to graphic design:
1) Have a project and work toward it. If you don't have one, make one. Be specific in your end goal.
This focus enables you to do the most important thing:
All the other advice in this thread is pretty legit. You probably don't even know what looks good, so don't start on your own. Do your research. Look at competitors in the space (or the closest you can find to it). Use open source/CC art. Follow the crumbs back to the artist's portfolios and see the other work they've done. Web and app design follows patterns and there are many pattern resources that you should use. Form follows function and usability should inform design: copy good patterns and make them great later. Copy copy copy.
And at the end of the day: hire a designer! It's a big ecosystem and we all need to eat.
For some reason I'm reminded of The Tick Omnibus, wherein was featured "How to draw The Tick" (The Tick is an unlikely superhero).
The complete instructions were something like this:
1. Draw an oval.
2. Bisect the oval with a straight line.
3. Draw The Tick holding an oval bisected by a straight line.
Gets me every time. As a programmer, though, I actually do something similar for my artwork--except step 3 is "hire an artist".
I'm not sure I can bend my brain to work like that of an artist, but what I do is look at graphics design pieces and do A/B comparisons between them. What's better about one or the other? How are things aligned? What are the nuanced technical details of shading, shadows, colors, highlights? Why that font?
It's really the same procedure I use if I want to learn the best, say, coding style or technique for a language. I look at code, and compare it to other code, and choose which looks best, and analyze why that is.
That's very procedural. A lot of art people I've talked to just mess with stuff until it "feels right", whatever the hell that means. It works for them, though!
Thinking you have a decent sense of what looks good just doesn't cut it, unfortunately every human being is endowed with this belief, hence the general ugliness of the interwebs. I(/we) need to know more about your experience and abilities to give you better advice.
Logo's and "marketing stuff" are very different disciplines, although a good designer will be able to do both. A good logo makes the rest a lot easier.
The most sound general advice I can give you as a graphic designer is to focus on typography and whitespace.
>"Thinking you have a decent sense of what looks good just doesn't cut it, unfortunately every human being is endowed with this belief, hence the general ugliness of the interwebs."
I strongly disagree with this statement. Perhaps every web designer thinks that they know what looks good and not all do but this is not a feature of the general public. The public tend, in my country at least, to consider that "I can't do art" - it's like a massive version of imposter syndrome.
I work with a company that spends a lot of time tapping the art and creativity of those who think they have none.
Icons, logos and marketing stuff are all very different tasks. Many designers will specialise in just those particular disciplines. To take them all on and expect to execute them in a manner which is professional and not distracting, is a big ask.
There are plenty of on-line resources(1) to get started, but be aware that a lot of learning will be required. And that means a lot of failures. If you don't want your failures to be a part of your product/brand etc. then you should hire a professional(2).
I try not to. I'm significantly more efficient at developing. I try to outsource/delegate design as much as possible to exploit marginal utility.
However, there are instances where this isn't always possible - sometimes I have to do some basic design. I've assembled a small collection of graphic/web design books that I try to make use of when I can. I'd recommend "The Non-Designers Design Book" and "Universal Principles of Design" to help you get started. In addition, I take screen clippings of interface elements that stand out to me and try to draw inspiration from them whenever I need to implement something similar.
My advice is programmers who need graphics for their apps not for those planning to become designers.
Hire a designer - but for their design skills, not their photoshop skills.
You should (slowly) develop basic photoshop skills. This will let you go further before you hire a designer and also let you communicate with the designer much better.
Steps:
1) Ask a designer friend to show you the very basics: layers, file format, resizing, colors, simple tools like text, bucket fill, etc.
2) Use a cheap Photoshop substitute - Paint.NET, Gimp or Pixelmator depending on your OS.
3) Learn by (i) watching a designer, (ii) reading online tutorials, (iii) trying simple stuff you need
Over the years, I've gone from simple to more complex:
- Crop & resize images and convert file formats.
- Convert transparent PNG icons to transparent GIF.
- Made very simple 16x16 transparent icons for web apps - by zooming in and toggling individual pixels!
- Changing the colors in a designer's graphic to try out different color themes in a web app.
- Simple text logos - watch a designer & you'll see a lot of this is about having a huge selection of fonts & picking a good font/color combination.
- Business card design - some cards are just good text, colors and alignment
- Basic fake miniature effect on some of my photos (following online tutorials)
I did most of the design work for our travel app (Room 77), it certainly can be learned especially since there are some well established app design patterns. If you are developing for iOS, most of the built-in libraries look pretty good and you won't need to do a lot of tweaking. I'm not as familiar with Android. Keep in mind that although you can learn graphic design, would your time be better used on other parts of the app?
I recommend the following resources:
1) Glyphish Pro icon pack - $25, pretty much everyone uses this high quality icon pack in their apps.
2) Tapworthy - Designing great apps - Great book with a lot of case studies and practical advice on grid based design, etc.
For the same reason the "every co-founder should learn to code" mantra always gets tossed around here: because it's not impossible to do yourself and will make you a better and more self-sufficient developer.
You might still choose to bring in a design specialist for pixel-perfect work or usability perfection, but it's no different than having the hacking chops to get your prototype into a functionally complete form. Done is better than perfect.
“I’ve been amazed at how often those outside the discipline of design assume that what designers do is decoration—likely because so much bad design simply is decoration. Good design isn’t. Good design is problem solving.” – Jeffrey Veen
It certainly wouldn't be worth hiring a designer just to get "pretty" pixel perfection. I would hope they could provide thinking as well. By doing the work in parallel with you, they should make it possible to go faster than doing it yourself.
"better and more self-sufficient" - the issue is whether it is the best use of your time. Learning to code is about having control over your business for a start-up; the issue here touches less on existential necessity, I think.
If you are not going to hire a designer here are some beginner tips:
- choose at most 1 or 2 sizes (like 5pixels and 15pixels)
- use only x*size for all your sizes (image sizes, margins, paddings)
- choose only 2 or 3 colors (kuler.adobe.com).
- check, double check and check again if what you created is easy to read/see.
- check how your design looks in grayscale (will help the colorblind but is also a good contrast check)
The limitations above will help a lot. But in the end it all comes down to experience and feedback from others.
I think it depends, if you are doing a personal,or not very impprtant, app and you do not need awsome design i do it myself, but my skills are limited(like most programmers?) so, if i need really good graphics i think it' better to pay someone who can do some great stuff insted of having it for free but not too mich good. Anyeay depends also on your design skills.
For web apps, I throw uncut, raw and basic app online and see if it rolls. When and only when I start getting signups and questions whether it will do X or Y, then and only then I start thinking about design.
I usually end up with either ripping ideas from some themeforrest theme and going my own route or just buy the theme and be done with it. Same for icons.
To the average user, your product IS the design. So I think seeing if it rolls without the design is kind of like seeing if your sandwich tastes good with just the bread.
i, as a web developer, have the same exact issue, im not an artist, yet i need it done. so i believe if your not good at something, dont pretend that you are. you just got to bite the bullet and say that if I try doing this: A) its not gonna be good anyway B) im going to waste time on bad designs. so personally, obviously taking my lack of design skills into account, i would hire someone OR partner with a designer. thats also a good option
See the thing is, I think I have a decent sense of what looks good and what doesn't, but I just have no idea about common design patterns and how to create the designs I envision. I also am reluctant to believe that this can't be learned.
I'm a web designer by trade. While I think I have a good innate layout and design sense that I've been working since the days of print, I certainly do not believe it can't be learned. If your goal is to produce product, though, you have to consider if there's a long term time/money benefit to learning. I license layouts from Theme Forest and icons Graphic River for clients all the time when budgets are tight and money is an issue. There's no shame in it. It's very efficient and in the right hands, effective.
For me the biggest advantage is that they do backend stuff as well, which since that is God's most tedious job, is a real bonus. It is so much easier when you have somewhere to start.
It can be learned, but it's hard, you might be able to use every single future of any graphic tool, but if you(or anyone, me too) lack of that feeling that usually a good designer have from birth, it's really hard to get, For example an icon or a logo, can be just 3 or for lines or a simple canvas, very easy to do, but what is hard to get is the idea, that's what is important that's what i pay for. This is my opinion.
Of course it can be learned. 10,000 hours to mastery of anything is what they say. Substantially less if you want to be passably good at it.
Best advice I've ever heard on design is "copy, copy, copy, copy until you don't need to". Themeforest or TemplateMonster are both good starting points.
As daunting and foreign as those threads seem to me, programming has a lot of known knowns - I can see where "how do I design" would be more daunting because it's such an unqualified expanse consisting almost completely of grey area. Stand before it, naked, putting yourself in the shoes of the designer, and imagine the horror of the client's most unspeakable words: "I can't explain it to you, but I'll know it when I see it."
All that aside, I think the advice that I've received from this community re: learning to program/hack is still sound as it applies to graphic design:
1) Have a project and work toward it. If you don't have one, make one. Be specific in your end goal.
This focus enables you to do the most important thing:
2) Steal like an artist. (via http://www.austinkleon.com/2011/03/30/how-to-steal-like-an-a...)
All the other advice in this thread is pretty legit. You probably don't even know what looks good, so don't start on your own. Do your research. Look at competitors in the space (or the closest you can find to it). Use open source/CC art. Follow the crumbs back to the artist's portfolios and see the other work they've done. Web and app design follows patterns and there are many pattern resources that you should use. Form follows function and usability should inform design: copy good patterns and make them great later. Copy copy copy.
And at the end of the day: hire a designer! It's a big ecosystem and we all need to eat.