Menu Search
Jump to the content X X
Smashing Conf San Francisco

We use ad-blockers as well, you know. We gotta keep those servers running though. Did you know that we publish useful books and run friendly conferences — crafted for pros like yourself? E.g. upcoming SmashingConf San Francisco, dedicated to smart front-end techniques and design patterns.

Choosing The Right Prototyping Tool

When it comes to creating prototypes, so many tools and methods are out there that choosing one is no easy task. Which one is the best? Spoiler alert: There is no “best” because it all depends on what you need at the moment! Here I’ll share some insight into what to consider when you need to pick up a prototyping solution.

I’ve always wanted to stay up to date on the latest design and prototyping tools, testing them shortly after they launch, just to see if any of them might improve my workflow and enable me to achieve better results. In the beginning, a few years ago, I think it was easier than it is now to decide whether a new tool was useful. Nowadays, apps are being released every day, and it’s kind of difficult to give them all a proper try.

My list of prototyping tools1

My list of prototyping tools2: I swear it was much shorter in the beginning! (View large version3)

In a desperate attempt to become more conscious about each prototyping tool’s features and characteristics, and to better decide which to try next, I started to compile a short list of prototyping tools4. Gradually, as I added more and more items to the list, it got out of control — a reliable sign that too many solutions exist.

Further Reading on SmashingMag: Link

Perhaps it’s because of this situation that, quite often, after having presented at a conference or taught a class, some of the attendees would ask for my advice, wanting to know which is the best tool out there. Honestly, I don’t feel capable of giving a straight answer, because, as with choosing a pair of running shoes, the “best” often depends on your needs at that particular moment and on what outcome you want to achieve9.

I guess after a while, I have developed a kind of sixth sense for design — an ability to understand (or, at least, believe — I’m not Superman, after all) whether a given tool is worth trying just by giving it a quick look.

Luckily for you, you don’t need a sixth sense or any other superpowers in order to choose a prototyping tool. There are other, more objective means of choosing one. It all depends on your current priorities, so let’s start there.

1. Learning Curve Link

The most effective methods of learning take advantage of previous knowledge, so that we don’t have to start from scratch. This is what we call “knowledge transfer”: applying previously acquired knowledge to a new situation. It is also useful when you’re learning how to use a new prototyping tool: The ones with a familiar interface and a familiar set of tools will probably be easier to learn than ones that are new in every aspect.

This is especially true for Adobe’s suite, in which every app is designed to resemble the others. You know where the panels and dialogs will be10, and the similarities make it easier to learn new apps within the suite or to switch between apps — for example, from Illustrator11 to Photoshop12.

But also compare how much time you expect to invest in learning a new tool with how much time you expect to actually be using that tool in your design process. The ideal situation would be to dedicate a little time to learning a tool that you will use frequently or even every day.

2. Support For Teamwork Link

I need my prototyping tool to consolidate feedback from clients about my designs, so that I can use the information to improve my work and then share a new, better version.

InVision is a strong tool for feedback and comments13

With InVision, gathering feedback and comments about a design is easy. (View large version14)

To achieve this, I’ll usually upload my design screens to InVision15, where the client can add comments about a particular feature in the exact spot they’re referring to. Then, I’ll have a chance to reply to the comment or close it if the issue has been resolved.

But if you work in a company, then not only should the client feel like a part of the team, so should your fellow designers. It’s important to have a tool that enables your workmates to share and upload their own versions of your design screens, so that that everybody stays on the same page while contributing to the project. Tools such as InVision present the general activity of a project in a kind of timeline view, so that you can stay up to date and keep track of all changes.

3. Level Of Fidelity Link

From day one, when we have only a basic idea of what a product will be, our prototype starts to evolve, fueled by learning. That’s why we design in iterations, and in each phase we test different things according to our priorities.

For example, at the very beginning, when we don’t know whether an idea is valid, it is not advisable to focus on design details, such as color palette or grid system. Instead, we should be prototyping. And the prototyping tool we choose will depend on the fidelity we’re aiming for (i.e. how close the prototype should be to the intended final product).

Fidelity can build incrementally: low when we simply want to test the idea (the tool should allow navigation from one screen to another), medium when we’re focusing on layout, information and interaction design (the tool should be capable of more precise design), and high when the most important things are visual design, animation and micro-interactions (the tool should be capable of adding motion and transitions).

Each tool should help us to achieve the prototype we need — and perhaps not much more — and then enable us to move quickly to the next stage, where that tool might not be needed anymore.

Low Fidelity Link

When I merely want to test the idea for a digital product, an app that gives me a lot of control over the design is not convenient, because I will easily get distracted by details that are not relevant during that stage. More important is being able to navigate from one screen to another, without wondering about whether elements of the interface have the proper size or layout. (Yes, I know it’s difficult to resist the temptation to align elements, but believe me, it’s not crucial at this point.)


While many prefer to do their conceptual work digitally, there’s a freedom in putting an old-school pencil to paper17. (View large version18)

When I have just come up with an idea and go straight to the computer, I often find myself asking questions such as what size should the design document be or what colors should I choose — when I don’t even know whether the concept is on the right track. That’s why, in moments like these, I prefer to use the oldest and most basic option: pen and paper.

The idea is not new19:

“But why should we start with sketching?” you might ask. The reason is because getting caught up in pixel-precision this early on in a project by going straight to digital is just too easy, and it’ll cost a bit of time in the long run.[…] Dropping back to pencil and paper is both a fast and easy way to get your ideas out so that you can start iterating.

Using pen and paper, I won’t be worried about any of the design-specific details that I mentioned before. Instead, I can focus on the idea.


Using pen and paper during the early stages of the prototyping process. (View large version21)

I can quickly draw a design to commit what I have in mind, and then, using a tool such as Marvel22 or POP23, take pictures of it to build a working prototype that includes gestures and transitions, in order to test some basic flows. The good thing about prototyping in this way is that if the concept fails (but you have to continue working on that million-dollar idea), you won’t feel attached to your work, and restarting with a different approach will be very easy.

Marvel is a nice option for both adding interactions and building your own design.24

Marvel allows you to take pictures of a design on paper and add interaction, but you can also design a basic interface directly on your phone. (View large version25)

Tip: If you are designing temporary views, such as alerts, tooltips or short feedback messages, you can draw them separate from the main interface. Then, cut one of the messages with scissors, and put the little piece of paper on top of the main design. This way, you can take one picture with the message, and another without. You’ll have two screens for the price of one and without having to draw the two versions by hand!


Create two screens for the price of one. (View large version27)

Medium Fidelity Link

Pen and paper are fine, but there comes a point in the design process when they’re not enough. When I’m sure about the app’s core concept and I have already made some basic prototypes on paper, I need a different tool to move forward. Normally, when we talk about medium-fidelity prototypes, we are referring to wireframes whose primary purpose is to convey interaction and information.

When I design wireframes, I try to use real information as much as possible. However, I don’t always have all of the data at my disposal at this stage. So, I usually have to approximate the final text, graphics and colors, because these are tied to branding. (Don’t blame me: Those guys are always late!). At least I can focus on achieving a convincing layout and interaction.

I use this baby every day.28

For many designers, Sketch has been a game-changer, especially for its focus on interface design and getting rid of all the things you don’t need. (View large version29)

During this stage, I normally use Sketch30. This tool is relatively easy to use and helps me take my paper design concept to the next level. Using Sketch, I can easily reuse UI elements, so that I don’t have to start from scratch, and I can benefit from many standard UI components. There are also plenty of additional interface components that you can use to build layouts, like the ones found on Sketch App Sources31. As my process keeps going, I can also control the degree of customization of those elements and decide where to pause for user testing.

Using these design components is also good idea if you want to align with expectations and not over-design. Normally, designing everything from scratch will take a lot more time (and developers will take more time, too, when they implement your design). That’s why it’s better to reuse common UI elements, such as lists, dialogs, forms and tabs.

But (yes, there’s always a “but”) Sketch is a Mac-only tool; so, if you are using Windows, you’ll have to rely on something else. Balsamiq32 and Omnigraffle33 are well known and have been available for a while. A couple of new UI design tools are web-based (and so don’t need any setup or installation): Gravit34 and Figma35.

High Fidelity Link

When your prototype grows and get closer to being a viable product, you will need to design components that were less relevant before36, like infrequent dialogs, some feedback messages (error messages and messages that show the result of an action), empty states, disabled buttons and so on.

Basically, during the earlier stages of low- and medium-fidelity prototyping, we were focused on structure, information and flow and on a small set of core use cases. As the design matures, we need to consider more:

  • additional use cases (often, less frequent ones);
  • edge cases and contingencies (for example, what happens in a check-out flow if a credit card is rejected?);
  • error prevention and handling.

All of these use cases are important to consider for a good UX, but they shouldn’t be the first things we design. We start with the core use cases and focus on the most relevant and salient aspects of the design. Then, we include the edge conditions in order to complete and validate the design.

At this stage, then, it becomes increasingly important to choose a tool that gives you granular control over the components of the design, so that you can determine the aspect and behavior of each one of the elements of the UI.

A while ago, I used Axure37 for these types of tasks. In fact, in one of my first job interviews in Barcelona, they asked me if I knew how to use it, because it was being used widely across that company. Of course, I said yes in order to get the job, and in the days before starting work, I learned it from the inside out. It was then when I discovered its full potential, using features such as conditionals, which enable you to show and hide dialogs, banners and other temporary blocks of information, depending on the user’s interaction. This might come in handy because it minimizes the number of screens to be designed completely from scratch.

If you have been reading carefully, you have probably realized by now that I have been focused mostly on static designs. What about animation? This is becoming more and more important, not only because animation can be found everywhere in modern interfaces, but also because it is very hard to communicate with the rest of the team how you want something to move or fly without showing a sample.

When it comes to prototyping animations, micro-interactions and transitions, I divide prototyping tools into two groups:

  1. tools that have familiar UIs and that don’t require you to learn any code;
  2. tools with which you get your hands dirty with at least a few lines of code.

In the first group, a few new tools have appeared, such as Pixate38, Principle39 and Flinto40. In many situations, you would use these tools to prototype not the whole app, but only a subset of screens, to see how different elements will be displayed or how to transition from one state (or screen) to another.

Use Framer, for animations and micro-interactions41

If you want more precise control over your designs, then Framer is a good option. (View large version42)

If you want to go a step further, you might opt for the second group. This set of apps might look less familiar to designers, but you will have more precise control over animations. Also, in many cases, you can use native components to achieve a more realistic outcome, thereby making the move from prototype to final code easier. If you’d like to go even further, I would suggest trying Framer43 (which is based on JavaScript) or Facebook Origami44, whose accompanying Origami Studio45 will be released later this year, allowing you to export code snippets that can be sent to developers.

For iOS, you could use Interface Builder46, which enables you to design interfaces using native iOS components in a visual environment. (This solution is completely code-free — yay!). For Android, there’s Android Studio47.

4. Integration With Your Workflow Link

Another point to consider when choosing a prototyping tool is how well it fits your design process48 and other tools you regularly use. Prototyping is part of a much broader process that includes researching users, testing, gathering metrics, communicating the idea to stakeholders, and sharing designs with developers for final implementation.

You probably won’t find one tool that does everything (more on this later), but prototyping tools should at least help you move through the process smoothly, especially when you are expected to iterate under tight deadlines.

For example, if you are designing in Photoshop, Illustrator or Sketch, it would be great if your prototyping software could directly use the files produced by these apps without requiring you to export assets separately and then build everything from scratch to create the interactions.

Personally, I’m pretty satisfied with Sketch (again). I can export images and even use the original, editable Sketch file and upload it to a different tool to complete my prototype. When I want to add interactions, I upload files to Marvel49, and when I need to animate, to Framer or Flinto.

Lookback is powerful when used in combination with other tools50

Lookback integrates with other tools, making for a smooth design workflow, without major interruptions when moving from one stage to the next. (View large version51)

One of the last (and most important) steps when building a prototype is testing it and gathering information (gestures, taps and responses) from real users so that you can improve the product. Tools such as InVision and Marvel connect with Lookback52, enabling you to test the app and record video at the same time, so that you can analyze the data with the rest of the team.

5. Ease Of Use And Comfort Link

Finally, how you feel with a prototyping tool is important! If you are going to be using it every day — and sometimes even on Saturdays and Sundays if your are a freelancer, like me — it should feel good, right?

This is personal, so my advice here is limited. Look for a tool that satisfies you, not one that makes your work harder, puts hurdles in your way, slows you down, adds extra steps or forces you to find workarounds.

Conclusion Link

Given that so many design and prototyping tools are out there today (and I didn’t even mention them all), you might feel intimidated. Perhaps that’s why we are starting to expect the appearance of “one tool to rule them all” — an app that enables us to create all kinds of designs and even make prototypes.

In a way, we are starting to see this with Adobe Experience Design CC53 (a new design tool that allows you to link between design screens) and Sketch (when used with plugins such as Craft Prototype54 for interactions and AnimateMate55 for animations).

Choosing and switching between tools should feel natural.56

When crafting something, we are used to switching between tools depending on what we need. Why should digital design be any different? (View large version57)

What does the future of design and prototyping tools hold? I’m not sure, but I think that if we go in this direction, we might end up with an overly complex tool, like a Swiss Army knife that has plenty of little tools, but none of which are truly useful. Also, other professionals, including surgeons and mechanics, use different tools depending on the occasion. Why should we designers be any different? One of the most important things is to identify which tool is most suitable for the given job.

In any case, don’t obsess about the tools so much. They are supposed to help us shape our ideas; they should not determine or constrain how our products look or behave.

I also understand that the guidelines above will be pretty useless if your corporation forces you to use a particular tool (as did mine once). If that is the case, you could try to persuade your team to at least try something different, if your reasoning is clear and logical. Perhaps some of the points above would support your argument.

Lastly, be wary when someone tells you that a certain tool is “the best” or “the easiest to learn.” This is highly subjective, and you should discover it on your own. In the end, you, like me and everybody else, are different.

Useful Resources Link

(mb, al)

Footnotes Link

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
  27. 27
  28. 28
  29. 29
  30. 30
  31. 31
  32. 32
  33. 33
  34. 34
  35. 35
  36. 36
  37. 37
  38. 38
  39. 39
  40. 40
  41. 41
  42. 42
  43. 43
  44. 44
  45. 45
  46. 46
  47. 47
  48. 48
  49. 49
  50. 50
  51. 51
  52. 52
  53. 53
  54. 54
  55. 55
  56. 56
  57. 57
  58. 58
  59. 59
  60. 60
  61. 61
  62. 62
  63. 63
  64. 64
  65. 65
  66. 66
  67. 67

↑ Back to top Tweet itShare on Facebook

Javier Cuello is a UX designer specializing in mobile. Currently residing in Barcelona, Javier has worked on app design projects for companies like Zara, Telefónica and Yahoo. He is the co-author of Designing Mobile Apps.

  1. 1

    Hello there,

    Thanks for the article, pretty effective at explaining the different options.

    As for the Hi-Fi prototype, you can check Justinmind Prototyper which is, in my opinion, a powerhouse in that matter.

    Behave just like Photoshop, emulates false data, allow templating (for ease of re-use), navigation, effect, variables, etc.

    A nice feature is the Justinmind app for iOS & Android where you can demonstrate your prototype directly to your client, already proved useful in my previous company.

    A bit overkill and quite priced, but in the end it’s a powerful tool.

    Hope it will help.

    Best regards,

    • 2

      Hi Damien! Thanks for your comment. I do actually know about Justinmind and have tried a couple of times. Unfortunately I had to choose only a few tools to mention on the article, but the one that you’ve referred to is included in the list I mentioned (

    • 3

      I agree: templating using shared data arrays is one of the best features across all prototype tools.

  2. 4

    Thank you! Very well explained! :P

  3. 6

    Thank you! Very well explained post.

    I would also recommend to the list. I think it has almost entire features mentioned above and also keeps growing rapidly.

  4. 8

    It seems that the mentioned above have some impressive features. As a prototyping tool, MockingBot have multi-platform supports (OS X, Linux, Windows) , also it can export your prototype to HTML, PNG, IPA (for iOS) and APK (for Android). Where the IPA and APK files give you the ability to install your prototyped app as a real application.

  5. 10

    Interesting article :)

    My absolute favourite is Hype Pro.

    Check it out!

  6. 13

    I prefer to create Hight Fidelity prototypes in the browser. Solving HTML and CSS problems right away speeds up the process and gets the code to the engineers in a quicker fashion.

    I have been programming for a long time so it is very easy for me to implement a prototype in browser, however, I understand those without the coding chops would do better with some of the tools described.

    Sometimes I even prefer designing in the browser, but that is for small implementations or components, not full blown websites or apps.

    • 14

      True, Lowkase. I agree that your approach could be good idea in certain cases (specially when we are talking about web prototyping —where you can re-use the prototype for the final implementation) and in specific moments (when you are fine-tuning your product for example).

      For earlier stages, it may be easier to make use of other tools, in my opinion.

      Thanks for sharing how you work!

  7. 15

    Hi Javier, This is a very useful post. It is always very helpful to see how a UX designer finds the various prototyping tools. Here at we have been trying to make improvements so that designers like yourself will find it perfect for all of their needs. It would be great to hear what you think about the changes we have made (including a new app which makes user testing much easier). The iOS version was just released on Friday. Thanks, Brian

  8. 17

    Fidelity is an illusion. Nobody can really say “this is low, this is medium.” Best not to present it to a client that way, as most clients don’t know what the hell we’re talking about anyway.

    Also pie.

  9. 18

    HI Javier,

    Can you comment on how you use Sketch to build interactions or navigation between screens? I assume you would couple it with Invision to build a semi-functioning prototype but you didn’t mention this in your post and I’m curious why. Do you just recommend using Axure to start if you know you need to build out an interactive prototype? I’m curious how everyone feels about the workflow between Sketch and Invision (using separate applications to explore/validate interaction design decisions versus having one application that allows you to do both).

    • 19

      Hi Mindy,

      I kind of mentioned something about this in the “workflow” part (using Marvel as an example, also to mention different tools, not just InVision). In any case, what I try to do it’s to make the base design on Sketch but sooner or later I end up importing screens on Marvel or InVision to add interaction (at least links between screens) and some basic transitions.

      This is specially useful to test navigation —in order to do usability testing or share your progress with other members of the team, but I find those tools a bit limited when your prototype reaches certain level of complexity / navigation (For example, it’s difficult to update a tab bar if something has changed —but I still haven’t found one that has figured out that part).

      I guess that we’ll use “one” tool at least for adding links between screens, just like Adobe XD is doing and Sketch via plugins —but for something more than that, you’ll most likely need to combine with other software.

  10. 20

    I use a two-step process for static mockups (Sketch>Zeplin) and it has its place when there’s strong payoff. In the case of Sketch>Zeplin the payoff is changing from “stream” (emails etc) to “repository,” (a place for everything and everything in its place… and the ‘place’ is exactly where a developer would look for it in the interface likeness, not a folder structure). But I’m pretty certain that a two-step process is 100% unacceptable for concept negotiation work, which is what prototyping mostly is. I was on the receiving end of a two-step dance with Sketch and a previously mentioned tool from the A- company (I won’t name the company or its tools). The process proved my point exactly; static mockups provided a low level of service to the negotiation process needed by a highly interactive end product, and the second step meant the work was always awkwardly latent.

  11. 21


    October 19, 2016 10:37 am

    Such a nice piece of information. Tools you mentioned are very helpful, I had tried Pixate and Flinto and my experience goes really well. Thanks

  12. 22

    Thanks for sharing some tips for choosing the right prototyping tool. You make a great point about how it needs to have the right support for teamwork. It makes sense that you would want to be able to collaborate on prototyping designs.


↑ Back to top