views:

1032

answers:

4

This isn't strictly a programming question, but I'm asking it here because it's certainly a software development question, if you take "software development" to include all aspects of creating a software system.

I am an independent iPhone developer. Except for translations, I handle all aspects of my apps myself—graphics included. I have to create icons, buttons, and UI elements of all sorts on a regular basis. I've learned a few tricks along these lines, and while they're certainly not works of art, I can effectively use gradients, shadows, border strokes, transparency, and textures to create minimalistic, attractive effects.

So far, I've used a vector drawing tool called VectorDesigner for all of my development, with occasional raster postprocessing by Pixelmator. It's worked mostly okay so far, but VectorDesigner has a host of issues:

  • It uses a package format for its files, which interferes with the use of Subversion.
  • It is very much a print tool, and I have to be very careful not to end up with objects on fractional pixel values which cause antialiasing.
  • While you can take the union or intersection of shapes, or add and subtract them, curves tend to deform with repeated boolean operations, sometimes quite dramatically.
  • And it offers very little control over strokes, to the point where I barely use them.

So I'm looking for a better tool for this specific purpose: shape-based drawing of simple icons, buttons, and UI elements on a Mac by someone without graphic design training. Good functions for exporting would be a plus—ideally it should be almost as easy to export a PNG to the place it goes in my project as it is to save (not save as) the file.

The perfect tool for me would be one that would allow you to define an object's shape by stacking up areas and masks defined by primitive shapes (which would remain separately editable), then define properties on those objects like transforms and strokes. I have no idea if something like this exists, though.

Adobe's tools generally strike me as very heavyweight, and are usually expensive, but I suppose they're a possibility. (Fireworks, with its emphasis on screen design, seems like it might be particularly suitable, but I don't know that much about it.) But what else is out there? If you're in a position like me, what do you use? What do you recommend?


Edited to add: Of course a graphic designer could get better results from an ancient copy of MacPaint than I could from Illustrator CS5. No tool can replace skill and taste, and many programmers have little of either. I'm aware of that. But I'm fortunate enough to have at least some taste—enough that my users compliment my apps' appearance in their reviews. I'm not hugely talented, but I do know my limitations, and I don't let myself produce anything ugly. Given my budget, that will have to do for now.

+9  A: 

Try Opacity. A little rough on the edges, but one of the coolest and most unique features they have is export as source code (in Quartz, Cocoa, Cocoa Touch, or Canvas)

coneybeare
+1  A: 

I think the only acceptable answer here should be "hire a designer".

But it sounds like Pixelmator/Inkscape are your best bets.

Though if you do find something better, that'd be really cool. Like a jQueryUI but for native.

Oren Mazor
A: 

If you don't know how to use Illustrator then you probably shouldn't be drawing anything yourself.

Azeem.Butt
+1  A: 

I'd suggest OmniGraffle

OmniGraffle is easy to use, can save as a PNG, can create binary non-package files (it's an option in the interface). You can also set the units to pixels to ensure exact alignment. (Canvas Size -> Ruler Units)

Finally, the Graffletopia website has some nice iPhone stencils for getting it right: http://graffletopia.com/search/iphone

Geoff Hutchison
Commenting on my own answer... not everything is possible in OmniGraffle, but you mentioned post-processing in Pixelmator already. I just think you solve some of your issues with VectorDesigner if you used OmniGraffle.
Geoff Hutchison
I actually have OmniGraffle already, but it looks like I'd need the Pro version to really be able to make custom shapes. $100 more for something that still won't fill all of my needs is kind of steep. Still, not a bad idea.
Brent Royal-Gordon