Hacker News new | past | comments | ask | show | jobs | submit login

I've never heard of Opacity before but this looks pretty awesome. Anyone else used it for iOS or Mac apps and can weigh in on how well it works?



You've already heard a bit of my endorsement, but I'll give you more in the hopes you'll try out the app. It comes with a trial period, so don't be squeamish.

The awesome:

- Fucking persistent corner rounding for rectangles. So you can adjust the size without screwing up your round rects' corners. WTF, Photoshop? How hard is this to do?

- edit: ALSO, easy Retina display support. No thought required

- Factories, as described in my post

- Badass pen tool for bezier shapes. Anchor points snap to guides in a very intuitive way, as do those fiddly little handles for curvy anchor points. It's much easier to create an arbitrary shape in Opacity than it is in PS or Illustrator.

- Much more flexible layer layer styling than Photoshop. Want two strokes on that vector? Fuck yeah, there you go.

- Variables. No shit. So, say you want the same button in five different colors. Set up a color variable, tie it to the button's fill property, then set up five factories with different color variables. Change the button's appearance, then the factory will dump out five brand new versions identical to your new changes

- Code generation: So maybe you suck at Quartz or want to use a GUI to create a starting point. Build your image in Opacity, then use the "Source Code" factory type. It'll spit out native drawing code using the drawing library of your choosing (Cocoa, Quartz, Core Animation). Variables work with this, too.

What needs improvement:

- Drawing performance is spotty, especially when dealing with bezier vectors. I see more pinwheels than I'm used to in Opacity, and that's on a late 2010 machine. This has been improving – I sent a sample file to the dev and he made some optimizations that helped a lot. Still, needs more work here.

- If you've built your existing UI assets in Photoshop, there's no easy way to get them into Opacity. You're probably going to end up recreating them, but since Opacity's tools are for the most part much better, this isn't terrible. Gives you a chance to spruce things up.


I think you've sold me. I can't wait to really sit down and dig into the demo tonight.

I had way more than $90 worth of headaches on my last iOS project keeping UI assets straight. I had no automated workflow; it was "do this in Photoshop then change the color manually for each one and then probably forget once or twice to export the correct resolution and tear my hair out wondering why it looks like crap."

I absolutely hated making minor iterations to the design, because I'd have to waste half an hour changing everything for a few pixels difference.

Thanks for the recommendation on this!


We use Opacity for everything, everything. It's fucking fantastic. I'm torn between telling everyone how great it is, and trying to keep it my secret to give me a competitive edge. Way worth it for the expensive version.

Integrate it with Xcode and treat your vector artwork as source -- when you build the project it will spit out all the little PNG files you need at all the different sizes. Your artists just tweak the opacity files, and when you build the PNGs get made. So awesome. We had to buy an extra copy for the CI server, but it was worth it to never again need to sit around and export png files.

Plus, if you need to draw something with Quartz, you can mock it up first in Opacity, and then have it generate the source code for your drawing, which you then integrate into your class. We quickly made classes that implement dynamically blurred drop shadows, customized numeric "badges" of any size, shape and color, and so on, just by drawing the effect we wanted, generating the source code, and combining the drawing code into a custom class. So awesome. Feels like cheating. (You have to work around Quartz's lack of Unicode support, but still.)


> Integrate it with Xcode and treat your vector artwork as source -- when you build the project it will spit out all the little PNG files you need at all the different sizes

Whoa, really? Badass. How do you set this up? Have a link?


Sorry, I didn't come back to this thread yesterday. The link is http://likethought.com/lockfocus/2008/05/compiling-opacity-i...

"Opacity includes opacityutil, a command line utility that can convert images between the formats supported by Opacity. You can use this functionality in Xcode to create a Build Rule that will dynamically convert .opacity images in your project to TIFF files (or any other supported format) at compile time."


>Plus, if you need to draw something with Quartz, you can mock it up first in Opacity, and then have it generate the source code for your drawing, which you then integrate into your class.

Wow, that's worth the price of admission alone. Writing drawing code by hand takes forever and is the worst kind of time sink: the almost-but-not-quite mindless kind.


I've used it for a few iOS projects. It's strength is making multi-state things like buttons and automating different resolution images (i.e. Retina). The factories feature combined with "variables" makes it a powerful vector editor. I'm not affiliated with the developer, I just think it's a great app.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: