When I recently started my new side project, Read Feeder, I wanted to do some quick UI mockups before I started coding. Normally I would do this with a physical pen and paper, but I wanted to move into the 21st century and find a way to efficiently make mockups on the computer (also, there wasn’t a pen and paper nearby, and I didn’t feel like getting up to find one).
It’s not often that I find an app that is really, really intuitive, but this one nails it. Within minutes I was feeling productive, everything did exactly what I expected it to do, all the features I looked for were right where I first looked for them, and it just plain made things easy for me to do. I’m not a usability expert, so I can’t say exactly what they did right, but they certainly did something right. Lots of somethings. I can’t remember the last time I felt at home with a new program so quickly.
The first thing I noticed was that Pencil is aware of all the other components you’ve placed on the screen, and helps you keep them lined up with each other. It does this by both overlaying guide lines that let you match the top, bottom, and middle of other components, and also by snapping new components to those positions as you drag them around the screen. Being someone who is very particular about these kinds of things, even on mockups, I found this to be a very welcoming feature.
Another nice feature Pencil provides is the ability to use an existing page as the “background” for a new page. This lets you lay out the new page to match the existing one, almost like using tracing paper. You can also select multiple items from the existing page, and copy/paste them into the new one.
Since copy/pasting so many elements, even groups of elements, would become a tedious task when you have something common to so many screens, like the Read Feeder header, Pencil allows you to convert the combinations of items you make into reusable widgets that act like any of the other Pencil widgets. Doing this you can quickly build up a library or reusable components for your project, without having to plan it out ahead of time.
Speaking of widgets, Pencil comes with an assortment of them for different platforms, including GTK, Windows, even Web! It also has a library of “Native Widgets”, which I assume will change depending on your current platform. It even comes with a library of “Sketchy” widgets, which have a hand-drawn look to them, which is something that is popular when doing mockups, even when more polished widgets are available.
All in all, I’ve been very impressed with Pencil, and I would highly recommend it to anybody who wants to do some UI mockups for any kind of project. Unfortunately it isn’t currently in the Ubuntu repos, nor do it’s developers provide a .deb package for it at all. Maybe if I have some time I’ll take the initiative to package it for Debian and Ubuntu. For now you can just extract the .tar.gz and run it directly.