Lately I've been doing a lot of prototype work, mainly for mobile apps and it is really challenging. More so than creating wireframes. Prototyping forces you to think about the process, the flow, the transitions, the workings of iOS or Android and most importantly, the user. It forces you to get into the mind of the user and try imagine the most obvious way to get from A to B.
I am still learning a lot about this process but I will share a few things that I have learnt recently.
Find Your Poison
Find the software you want to use and get really good at it. Really good, because you don't want the challenges of the tool holding you back from what you want to do. There are a lot of good tools to use but it helps to focus on just one. Read the blogs and keep abreast of the updates they make. I highly recommend Axure. I started using it a couple of years ago to create interactive wireframes for websites, and I remember thinking how easy it was to learn. I immediately grasped the logic, and I'm not one for doing tutorials initially. I tend to dive right in.
However, that is the catch with Axure. It is so easy to use, that you tend to fall into bad habits and there are much better way of doing things. When I started working on mobile app projects I started doing the tutorials, which has helped a lot. As I follow the blogs, I recently found out that Axure made a significant improvement where you can now download the app locally to your phone instead of hosting to their server, axshare. The drawback used to be connectivity issues while presenting the app, and also the lag times of the interactions. Now it's quick and smooth. This update came in the nick of time as the client was wanting to present her prototype, and the slowness was a big issue.
Iterate
Iterate is possibly the most important word in product development right now. I hear it a lot. There's usually a few rounds of iterating when one designs logos or icons, but nothing compares to the iterating that should be done in prototyping. Get ready to save many versions. In Axure it helps to create masters of repetitive elements. Don't spend hours styling wireframes - do them roughly and get those ideas across. The rougher the wireframes, the less likely the client will think they are actual designs.
Design
Always room for dessert, although design isn't just about adornment. Problems still arise and the prototype may keep evolving and changing. If you are not doing the designs yourself and they are for prototype purposes, try to make sure the files are saved out to the dimensions of the prototype, as you'll be spending a lot of time re-sizing and scaling, and iterations will start to become time consuming at this stage. I'm still learning and might be wrong, but I think it might be more time effective to do the hi-res design after the prototype has been signed off, in preparation for the coding of the app.
Axure has many slick animation settings. Try use these as often as you can as it will bring the prototype to life and feel more like an app. Create hover and down states too.
In conclusion, prototyping will help you become a better designer because it will make you think more about those style decisions and the consequences of all the actions. You'll start making those design compromises before they get to the prototyping/coding part. You'll be involved in the bigger process and become a more versatile designer.