Prototyping with Axure: Why not just learn to code?

Prototyping. I had never done it before, so I was excited when my new project required me to learn Axure and make real, fairly comprehensive prototypes for a web app. I read Prototyping: A Practitioner’s Guide by Todd Zaki Warfel to prepare, and I started to believe that prototyping was the solution to every problem I’ve ever had communicating wireframes. 

And in a way, prototypes do just that. After a couple months in prototype land, I think clients who can’t grasp wireframes---who are overwhelmed by what they are seeing (and what they aren’t)---may be more comfortable with a mockup that they can take for a test drive. I also believe that prototypes can be good for killing bad ideas before they make it to coding. 

But prototyping in Axure? For me, the jury is out. 

Why am I fake-coding? 

First, there’s the problem of Axure. Building interactions in Axure is fairly complex. Not only are you doing simple things like linking up pages and adding list items to dropdown menu controls---but you are also writing conditional statements and managing tons of visible and hidden layers. This left me wondering WHY. Why not just learn how to code? Writing a condition with a fill-in-the-blanks style builder in Axure is only slightly less confusing than learning how to program conditions sloppily in JavaScript. Why learn a uni-tasking fake programming tool when you could just learn how to code? I’m terrible at coding (and not very fond of it, either), but Axure had me convinced that coding would be faster and more fun. 

What, this visual representation isn't a visual representation? 

The second thing that bugs me about prototyping is how it makes wireframes--formerly known as “not a visual representation”--into visual representations. When you show a lo-fi black and gray line drawing, no one actually believes the final product should be black, white and gray. Also, in most of my circumstances, wireframes were not pixel-perfect. Yeah, they might be based on a 960 grid, but wireframes are an artifact that people print or tape up on a wall. Show a prototype? You are showing a website. You are one step closer to fidelity, and if you start introducing graphic design elements like logos, images and colors---man. You are no longer not a visual representation, are you? 

And if you’re no longer “not a visual representation,” then are you really rapid and iterative? I’ve worked on plenty of savvy teams where my partners could look at wireframes get the concept. See the problems. Grasp the possible solutions. I didn’t need to make accordion panels unfurl or fake-program conditions onto a submit button. I could’ve just shown the wireframes in a sequence. 

So, in the end, I’m sure prototyping is valuable and helpful in many contexts. I’m just not sure the way I’m doing it with Axure is worth the trouble.