Sometimes when I talk about prototyping and Axure, there is someone who thinks Axure shouldn’t exist; we should all just be writing code.
Well should we? Part of the problem with answering this is that I’m not a programmer. I can’t compare my own coding work vs my Axure work. I can only compare my Axure work to programmers trying to do the same thing or something similar at the same time.
When it comes to code vs Axure, here are the factors I tend to consider.
Who’s building it? I once had a guy at a conference tell me he didn’t need Axure because he was making all his UX people and graphic designers learn code. He was very proud that all “prototypes” would end up production ready. If they want to learn code and write code, that’s great! But what if they don’t want to learn that? What if they prefer to follow their chosen career path or UX, visual design, or both?
And what if they’re bad at it? If your dev team saw the code the UX and graphic designers are writing, would they be thrilled to merge it in? It’s always great to try to learn new things but not everybody will be naturally talented or quickly skilled at everything.
And how are these workers’ time best spent? Do you want your visual designer spending X hours a day writing code? Did your visual designer have that much spare time that you can add that to his or her plate?
Which is faster to build? Can some programmer branch off the master, whip up what you need in a few hours or days, and be done? Or you show what you need to show more quickly in Axure in hours or days? Very often Axure wins but you never know! I can tell you stories of when my Axure work was days faster than someone trying to get his code to work.
I don’t have to really tie into a database, an API, or anything else. I just have to mock it up. That should be good enough for the purposes of UX design and iteration.
Where is this going? Is it your UX ideation and design process? Is it going to user testing? And after this prototype has served its purpose, what happens? Some people hope the code can head into production, which makes Axure less attractive.
When I’m the UX architect (and not a coder), it’s fastest for me to work straight in Axure. I don’t start in Sketch or Omnigraffle and then move into prototyping. I start in Axure. This helps me get my ideas out and quickly see if they are potentially good solutions or need further evolution.
I spent many years writing HTML and CSS but I prefer the visual, drag and drop style of Axure vs trying to think of things in divs and blocks.
What is the source material? You want to show leadership what you’re building but what do you have right now? Wires? Comps? Things live on the site? From what will this be built?
Sometimes, I am prototyping from screen shots. Here is what our site or app looks like now. Slice, dice, change, add… and here is what I suggest we build. I can mock that up quickly. Would it take longer to try to write code on screen shots? Again, as a non-programmer I’m not sure.
How realistic does this have to be? Axure doesn’t do real responsive design. You can’t make a browser window narrower and watch things resize and reposition as you go. Axure works in breakpoints. Here’s desktop. THUD here’s tablet. THUD here’s mobile. If it needs to look really responsive, Axure not be right. If jumping from desktop to tablet to mobile is OK, Axure might be OK.
I believe it comes down to time and resources.
I have seen projects where the spotlight was on coding. That meant that as things finally got to some user testing or review, things had to be complete re-coded. How much time would that take vs me making some changes to an Axure file… and then testing or reviewing again?
Who is working on this and do they have the time to write code? Do they have the talent and skill to write code? Do you have another resource who is coming in just to write the code or does coding take time away from UX architects and visual designers?
Try it and see.
The best way to know is to try it. I’ll always defer to real, empirical data. If your UX process goes faster with coded prototypes over someone REALLY good with Axure building in Axure, then coding wins.
But be fair. Don’t put someone new to Axure up against an experienced coder. I’ve found that people new to Axure or uncomfy with it are sometimes slow or inefficient. Get them training! 🙂
Also consider each practitioner’s process. It’s faster for me to design right into Axure and see my ideas come to life rather than pass it to someone for prototyping. It’s a better UX process to design right into a prototype rather than designing static wires and then finding out later what the interface really feels like to use. I’d rather spend my time prototyping in Axure than troubleshooting my code.
I’m still biased toward Axure, and no, they don’t pay me anything. I am just a fan.