I recently created interactive prototypes using Axure RP for my individual project in the redesign of craigslist.org. I opted to use Axure RP since I've seen many job listings in the field of HCI inquiring about familiarity with the prototyping tool. In the process of using Axure RP in my project, I became intimately familiar with the program's strengths and weaknesses and thought I would share those. I'm not terribly familiar with competing software tools, such as iRise, so this review is based on my experience with Axure RP alone. I have used OmniGraffle, Balsamiq, and Microsoft Visio, primarily, fairly extensively for system and flow diagrams, but I would say that Axure RP is in a different league based on its interactive prototyping capabilities.
If you're not already familiar or aware, Axure RP is a wire framing, prototyping, and specification software tool for design of user interfaces in applications and websites. It can used to quickly create wire frames that evolve into fairly high fidelity interactive prototypes all before any code needs to be written. This allow for quick evaluation of company or client designs. Axure RP also boasts an automatic specification generator that utilizes annotations from the wire frames to generate a Microsoft Word specification document.
The Newbie Level videos on Axure RP tutorial page are a good place to get started. I watched a few videos and was off designing in less than hour.
Axure RP's user interface was familiar given my previous experience with similar software tools. Beginning your wire frame is pretty straight forward. Widgets (what Axure calls all the buttons, text, images, panels etc.) are easily drug out on to your page from the Widgets panel. A grid, snapping, rulers, and guides provide an easy way to keep your wire frame all lined up and organized.
Depending on the widget, various properties can be set on the Widget Properties panel. This panel is where you will spend a lot of time with its three tabs: Annotations, Interactions, and Formatting. The Axure RP tutorial doesn't make a big deal of it and I wish it had, but the Annotations tab is where you can apply labels to your widets--this provides an easier way to find specific widgets when you're adding interactivity to your prototype and later, where the tool will pull your comments from when auto generating the prototype specification.
Different widgets have different event handlers (OnClick, OnMouseOver, etc.) and this is how you bring your prototype to life. You can add several Cases of interactivity with the Case Editor on the Interactions tab--a case being a possible interactivity that will occur after a specific event (e.g. opening a link in a current window, bringing a specific panel to the front, or disabling or enabling features of a specific widget). Its also possible to add simple conditions (e.g. if a widget is at a particular state, do this or if a variable has this text, disable this widget) if you want to start adding more high fidelity interactivity. You can add simple slide or fade in or out animations if you're looking to add that level of detail to your prototype.
Perhaps Axure RP's most powerful widgets are the dynamic panels. These contain stacks of states or diagrams. The dynamic panel can be hidden, shown and moved, or switched between its various states based on the interactivity you add to widget interactions. I ended up using dynamic panels quite a bit as opposed to pages since I wanted to maintain a constant menu bar across the top of the UI for my particular prototype. One thing that I liked about Axure RP was the widget libraries which are essentially dynamic panels other users had previously created.
I did not spend a lot of time on formatting but Axure RP does have the ability to create styles and masters, which are essentially templates if you're doing a larger scale design and have many different iterations you want to try out.
I was pleased with Axure RP. I will say that it seems at some point once you start adding complex interactions to your prototype with Axure's Case Editor you may have been better off coding the prototype since your are limited by Axure RP's event handlers and would not be with your coding creativity. For myself, I see Axure RP as a powerful tool to quickly generate lower fidelity interactive prototypes for clients and generating early specifications for statements of work.