I've talked numerous times to numerous people on Design Notes about prototyping tools (most recently Max from Sympli). And why not? They're a hot subject right now - everywhere I look there seems to be a new prototyping tool trying to explain why it's the best.
Even Adobe, doing something rare, has put together a brand new app just for interaction and experience design with the aptly-named Experience Design CC.
But out of all the conversations I've had on this topic, something has stuck with me. Well, I guess two things.
1. Prototyping tools are limited to the features predicted by data from other designers.
2. Prototyping tools mean learning something.
The two points kind of converge on one thing: there isn't a tool yet (at least in my experience) that you can pick up and create exactly the experience you intend right away.
To the first point, you're relying on a (growing) set of features for interaction patterns established by those developing the prototyping tool, which may not exactly match your intent.
Second, as that list grows and maybe gets closer to accommodating your every wish, you have more to learn. The legacy begins to build. Anyone who's tried learning a Creative Cloud app they've never used before knows this feeling.
And there's also an invisible third point, which is that even if you provide a prototype to developers, that might not say a lot about how to implement it.
I actually went through this cycle with a recent project at touchlab. I used the now Google-owned Pixate to make a mockup of a screen with a sheet-swiping interaction. The interaction needed to be very precise - the user could slide the sheet up and if they let go, it would snap into place either fully expanded or in its original state. What's more, the toolbar should expand up to greet the statusbar, and text in the toolbar should appear a certain way. A FAB was also meant to animate in at just the right moment in just the right way. Basically, it was a complex interaction that sounded really simple.
Pixate got me kinda close, but the results just weren't quite there. It could be that I didn't know Pixate well enough, or it could have been that the tools were limited and from my perspective didn't accommodate exactly what I had in mind.
Whatever the case, magic did not occur. I eventually used examples from other apps and my own words to talk through what I had in mind with the developers, and that got the interaction to where it needed to be.
Eventually, as we've discussed on Design Notes, prototyping tools will reach a point of customization where the number of actions needed to execute a prototype (assuming, pessimistically, that the prototype still doesn't result in workable code) will approach the number of actions simply needed to code the layout or interaction yourself.
The same thing happens too often with static layouts. As designers, we see the cracks in our own work, details that we find important or obvious that aren't fully explained by notes or images. And all of this rambling is to explain why I've decided to just try learning Android first.
Either way, I have a lot of learning to do. I'm just doing whatever I want.