1. Use bespoke tools
Using a tool like our own UXPin, or other solutions like Moqups or Balsamiq, will provide you everything you need to build your mockup and facilitate the entire process. These tools are designed to make the creation process as easy as possible, so you can focus more on stylistic decisions and less on how to manipulate the program.
Both experts and beginners feel most comfortable with mockup tools, as beginners prefer their ease of use, while experts appreciate the designs specifically tailored to their advanced needs.
Moqups and Balsamiq provide more functionality than non-design tools that are sometimes used for wireframes and mockups (such as Keynote), but they are limited to only low fidelity designs. They can, however, be quite useful if the goal is to create low-fidelity wireframes very quickly.
When it comes to mockup tools, many are targeted for wireframing than true mockups. With built-in collaboration, UXPin offers dozens of element libraries to save time, and its a simple matter of dragging, dropping, and customizing to create your mockup. Our 20+ element libraries cover both web and mobile.
However, the drawback to using this type of software is that it can be difficult to translate when it comes time to start coding the design. What worked in Photoshop may not always work in code (elements like fonts, shadows, gradient effects, etc.), which can waste time in figuring out solutions for the prototyping phase.
Photo credit: CreativeBloq
As described in The Guide to Mockups, graphic design software is only recommended if high fidelity visuals are the top priority. If you have a style-heavy page, it might help to hammer out the specific visual details in the mockup process (in which case Photoshop or Sketch will give you the most options).
Just take a look at Hubspot’s list of the 53 Most Beautiful Homepages, and it’s easy to understand why it sometimes helps to sort out all the visual details sooner rather than later. Similarly, if you’re dealing with a nitpicky or hard-to-please client, presenting them with a gorgeous and impressive mockup might win them over more easily.
It’s also worth mentioning that mockups created in Photoshop or Sketch can be dragged and dropped into the prototyping phase with UXPin. This lets you easily animate all layers (no flattening) with a few clicks, and ensures you don’t need to start from scratch when it’s time to prototype. For more details, take a look at the tutorials for Photoshop integration and Sketch integration.
If visuals are not your only priority, you might be more efficient using a tool that allows you to do the wireframing, mockups, and prototyping all in one place. Graphic design software can be more trouble than its worth for mockups unless you’re looking for optimum visualization — you’ll definitely need to communicate regularly with your developer since these tools aren’t designed for collaboration.
3. Coding your mockups
For starters, if you’re mainly a designer and not comfortable with coding, then this obviously isn’t even an option. As discussed in The Guide to Mockups, coded mockups are not the default choice.
As Joel Falconer shows us on TNW, building a structure in HTML and then moving to CSS for the basic layout can streamline the entire development process — in theory at least; many would argue that focusing only on visuals during the mockup phase saves time in decision-making and organization down the road. But those who prefer coding early understand that more mathematical changes such as sizing can be implemented more easily when the code is already written.
Photo credit: Ash Maurya
One of the biggest proponents of coded mockups is Ash Maurya, Founder/CEO of Spark59 and speaker on development. When describing how he prefers to create mockups, Maurya defends the HTML/CSS route, and makes some solid points:
- Feasibility — “Flashy” mockups (sometimes literally if they’re done in Flash) designed only to look good can be difficult to translate into code, resulting in wasted time and effort. Elements like gradients, fonts, and effects — while easy to create in other tools — can be cumbersome or even impossible to recreate when coding. Starting in code lets you know right away what you can and cannot do.
- Quick Iteration — According to Maurya, coding actually saves time by simplifying the iteration process, although others disagree in that it adds time in dragging out design decisions.
- Minimizes Waste — “Creating a mockup in anything other than the final technology in which the product is delivered creates waste.” Because the mockup is going to end up in HTML/CSS anyway, Maurya suggests adding fidelity there.
But as we mentioned before, mockups with coding are not a popular strategy, for more reasons than the difficulty of coding. Tony Thomas, Lead Designer at Medialoot explains why in a compelling post on the subject. Among the reasons designers prefer to leave coding out of mockups, these three are the most common:
- Limits Creativity — The strength of building with code can also be its weakness: knowing concretely what you can and cannot do will cut off many avenues before they’re fully explored, while designing openly might inspire new ideas you wouldn’t have had otherwise. Sometimes when you like an idea enough, you try harder to figure out how to recreate it with code, whereas the idea never would have even surfaced if you started in code.
- Limits Experimenting — It is a lot harder to try out new and different ideas in CSS/HTML than in other simplified programs. Just as with the above point, the freedom to create will often inspire new, more, and better ideas. Just ask yourself how many UI designs and iterations can you create in 30 minutes of Photoshop or Sketch versus CSS/HTML?
- Dilutes Design Process — Not everyone is great at multitasking. The mockup phase is all about iterating on the appearance of the site, and worrying about coding at the same time can get distracting. Some people prefer leaving things for the right place and time: visual design during the mockup phase, coding during the prototyping or development phase.
Again, it’s up to you when to introduce coding. Just make sure you know your design priorities and keep the developers updated on how you’re prioritizing features.
Don’t make the mistake of thinking all mockups are the same. Simple decisions about platforms, fidelity, and coding will all produce significantly different results.