Here are some tips that I feel apply in general to any application development regardless of language. When it comes to making your apps the more information you have upfront and throughout the process the better, and that means prototyping.
Here are my suggestions for making better prototypes.
Keep it simple
There is always a tendency on the part of developers and designers to over do things (shocking right!) so keep it simple, you are not building the final product. Only do what is needed to get the application feel, flow and maybe look working and in the hands of people for comments as quickly as possible. Create just enough code or even full static screen images to get across the idea. Consider just using a slide slow of screens to present possible flow options and check for the size of elements like buttons (remember the Apple Human Interface Guidlines).
Do not look to go solving code problems, in fact try very hard to write little if any code. For example, lets say your application has a map, don’t code it just use a screenshot to get the idea across.
Expect to iterate over time
After you get your prototype in the hands of people, preferably the kind of people that will be using the final application, you will start getting feedback. Collect this feedback and look through it for common threads, these are the keys to the real problems you have to solve. Then go back to the prototype and make changes and get it back in the hands of the test group. Expect to do this several times before planning the real application. You should also get the input of any marketing departments/teams that may have influence in the product at this stage to ensure no surprised later.
Use familiar tools whatever they maybe
We all have our favorite tools, some like paper and pencil whilst others favor software package X, use what ever you are comfortable with to make the prototypes. The key here again is getting it done fast and doing just enough to get it in the hands of people before starting the real work. So if you prefer Illustrator or Sketch for example then just use that. There are now lots of templates out there for you to download and use with just about every standard iOS control you can think of, get them and use those to save time drawing the date picker over and over again!
Apple has some great videos on how you can use Keynote to get started prototyping and I recommend checking them out in the developer portals, hey it’s a free tool at this point for many so make use of it.
Try to get the hands of the prototypes into groups of people expecting to use it
I have mentioned this already but it is worth repeating! I often feel when I try an app that it never left the hands of the engineers or marketing during development, THIS HAS TO STOP!!! OK rant over 🙂
It is imperative that you try to get your apps during the prototype stage in the hands of the people you expect to use it, these are the people that will help determine the problems and in the end decide whether the app is a success or failure. Now I get it, this is complicated; You are building the next greatest thing that will go viral and do not want to give away any of the secrets before releasing the app (if you ARE thinking this then a hard reality check is about to knock on your door or cube wall), but you really do need to get feedback from people that have nothing to do with the development of the app, these are the people that matter and whos opinions can help you avoid terrible decisions.
Test prototypes on targeted devices
The iOS simulator is a fantastic tool for development, but the actual devices you plan to release on are the best, nothing beats actually seeing screens at the right size and color on the device(s). This way you can check that controls feel right and the placement and layout work as expected.
Check for assistive compatibility
Do a simple color blindness test by desaturating the interface and viewing in grayscale to ensure interactions like buttons are still clearly visible. Check for assistive audio and any other compatibility you may need to perform.
These are just a few of my top tips for getting an app right before putting code to compiler. Do you have any prototyping tips you want to share? Contact me via Twitter @compileswift or the contact form and lets make apps betters.