What software is best for GUI design?
I've used Photoshop extensively, but the fact of the matter is that it's a photo editing tool. It has some complicated effects built in, such as the drop shadow and inner and outer glows etc., but it just isn't enough when designing a graphical interface. You can't add multiple editable gradients, for example. And you have to trick the tools into pulling off the effect you want, when they weren't designed for that.
I've also started using Fireworks, and there's a few things I like, such as being able to keep changing the curves on a rounded rectangle, but the color picker in that program just isn't usable. When you go into the mac color picker, it says the color is something different to what it is, due to Fireworks not handling color profiles correctly. This makes adjusting colors a very difficult process. And the software as a whole feels like a pre-release version (and maybe it should be).
So, I'm wondering what software everyone would recommend for creating a GUI? There must be some software out there which allows you to have a range of editable effects which you can change, change the order of, move around at any time, along with all the other tools required to create great graphics.
There is no universal "best" software for GUI design. It just depends on your software/workflow preferences.
I'm not sure what you mean by "multiple editable gradients", but if you know what you're doing, Photoshop provides all the tools you need to design any GUI you can imagine. No "tricking" of tools needed.
Despite its name, Photoshop has evolved far beyond being a simple photo-editing/manipulation tool, and there's no reason why you can't do GUI design in it. Photoshop probably provides the most comprehensive set of raster image editing tools of any graphics program on the market, and it's used for everything from digital painting to comic book coloring to illustration to web and UI design to video production and creating 3D game art to even photo forensics.
Features like adjustment masks, layer styles, vector paths, smart objects, layer comps, etc. make it a natural choice for UI design for those already familiar with its interface and deep featureset. Another plus is that it's well integrated with tools like Illustrator, Flash Catalyst, and many 3rd party apps/plugins.
Many people prefer Fireworks for web design as that's what it was specifically designed for, and for this reason it's also a good tool for GUI design. Being object-oriented and supporting pages, symbols, and styles, Fireworks lends itself very well to a UX design workflow. A lot of people also find Fireworks gives them better pixel-perfect control without resorting to rulers, guides or measuring tools.
Additionally, Fireworks has a lot of nice features like gradient dithering, ASE swatches, and in some ways better typography control than Photoshop. Fireworks' web layer and its integration with Adobe's Device Central also makes it easy to rapid prototype for multiple devices.
Another popular app amongst UX designers is Illustrator, which shares a lot of strengths with Fireworks. Like Fireworks, it supports symbols, advanced object styles, multiple artboards (similar to pages) and even better vector editing facilities.
Photoshop, Fireworks, Illustrator, as well as InDesign, all have wireframe/stencil kits and UX templates available for them on the web, but modular UX design is easier in Illustrator and Fireworks because of their support for reusable symbol libraries.
Illustrator also supports character and paragraph styles, making its typography design features far superior to either Photoshop or Fireworks. Additionally, Illustrator is great for illustration, so any icons or web graphics you might want to create can be made in the same program.
InDesign is another very popular app amongst IAs, IxDs, etc. Its graphic design facilities may be limited, but its support for pages, paragraph and character styles, snippets and object libraries make it ideal for a lot of UX design tasks. InDesign also has very advanced typesetting facilities and supports grid layouts. This, along with InCopy integration and Adobe Digital Publishing Suite make it a natural choice for print media companies looking to design mobile apps for their magazines.
But at the end of the day, every tool has its strengths and its weaknesses. The most UX-specific apps like Axure, Balsamiq, OmniGraffle, etc. have a lot of great UX-specific features for layout/wireframe/interaction design. But at the end of the day, you still need to actually design the graphics for the UI, which graphic design tools like Photoshop/Fireworks/Illustrator are needed for.
That's why most UI design workflows include more than one app. So unless you're only concerned with a single part of the UI design process, e.g. wireframing or building the UX library or prototyping, then there isn't going to be a single "best software".