One of the things I believe in when it comes to experience design deliverables is the practice of doing enough and no more.
Lately I’ve found the best way for me to get an idea across isn’t to create multi-page clickable prototypes; rather, I draw the interaction on paper using Sharpies and/or my favorite Muji pen, take a photo of that, and then send it off to people for discussion. This is a bit different than the oft-expected high-fidelity prototype. So here’s why I do it:
Ultimately, tools and technology should not get in the way of explaining the model.
For getting an idea out, sketching is the way to go. I’m totally comfortable with OmniGraffle (and HTML/CSS, and… and…) but it adds a layer of complexity I might not want when I’m exploring ideas and defining overall interactions. The mental block for most people is seeing the sketch as the deliverable, and not taking it back to Axure, Visio, or OmniGraffle for solidification.
With every single thing you add to a sketch, wireframe, or mockup, you need to ask if it really is doing anything. Do you need to create all 58 variations of how an error message will look, or will 2-3 suffice? Do you need to identify every piece of text which will wrap on a page, determine the break point, and then document each one? And is there value in having a sketch, a wireframe, a mockup, a clickable prototype, and a mock data prototype in addition to the actual code?
What you need depends on your situation, corporate structure, client, and ability. But adding complexity can diffuse an idea. Remember that you should only do what is absolutely necessary and no more.