Pencil is an open source application for creating interface mockups, flowcharts and diagrams.
The program works much like many other drawing tool. Drag and drop shapes onto the page, add text, set colours and more, then join them up with connectors.
Pencil doesn't just come with the usual flowchart symbols, though. It also has web elements (headers, text, hyperlinks, panes and tables); desktop widgets (labels, buttons, checkboxes, radio buttons, combo boxes); and a host of other components for Windows, Android and iOS interfaces.
Putting these together is straightforward. You might drag and drop a button onto the page, then click it to set any properties (size, text, font and more). Add other interface elements, then rearrange and reorganise them as required.
As you drag elements around, they "snap" into place at key alignment points, so it's easy to (for example) make a row of buttons line up. There are other options to control shape height, width, spacing and alignment. Once you're happy with a part of your interface - a title and set of radio buttons, perhaps - you're able to "group" these elements, and drag them all around together.
Creating one screen is easy enough - but it's just the start. Pencil allows you to build further designs on new pages, then link them all together. Export the document as an HTML file and you'll be able to click on a button, say, and be taken to a separate page showing what happens next, a useful simulation of your program flow.
If you don't need this kind of interactivity, then your document can be exported in several other formats: PDF, ODT, multi-page SVG, and individual PNG files.