Smarter prototyping: How designers can use variables to build realistic flows