Why Sketch is the perfect design tool for developers

Niels de Hoog
4 min readFeb 3, 2014

As a developer building apps for iOS, I am confronted daily with the importance of combining solid code with beautiful and well thought out design. An app may have a lot of awesome features, but without a properly designed user interface, it most likely won’t succeed in the App Store.

Even so, I have met few developers who can perform more than a few basic design tasks, while most designers these days at least know how put together a website with some HTML and CSS. Now this is by no means scientific, but my theory is that this has a lot to do with the tools that are available. While there are many tools that simplify the development process, such as Dreamweaver, WordPress or things like Squarespace, there aren’t many tools that are simple enough to allow developers to experiment with doing their own design work. I mean we don’t all have to be as good as this guy, but sometimes it can be useful to be able to visualize some idea or concept without having to go through a designer.

Enter Sketch

Sketch is a vector graphics app focused on the ability to do interface design. It has allowed me, as a developer, to venture into design territory without feeling immediately lost. I have been using the app for a few days now, and I already feel like I am able to use and understand most of the features the app has to offer. Not only that, but it has enabled me to think of design in a more structured way. Learning to use the application has enabled me to begin to understand some of the techniques that go into creating a design, much in the same way that learning to program helped me understand how computers work.

Teehan+Lax has made their iOS 7 GUI file available for Sketch as well

The reason that Sketch works so well for a developer like me, is that in many ways, it operates like a development tool instead of a design tool. It’s like a framework for design. Like a framework, it provides basic building blocks, which can be stacked together, combined, altered and shaped into whatever end result you might have in mind. Like any good framework, it provides a simple and consistent “API”, which enhances discoverability and ease of use.

Revelation

The main building block for creating a design in Sketch is a shape. Shapes can be combined with four different boolean operations: union, subtract, intersect and difference. With these four basic actions, and some styling options like gradients, borders, shadows and inner shadows, most interfaces can be easily recreated. Now to designers and graphic artists this will all be old news, but this idea never dawned on me until it was presented to me so plainly by this app.

Take this camera icon that I created for instance. It is nothing more than the combination of a few basic shapes.

Features

Some of the main features that will make developers feel right at home using Sketch are the following:

Non-destructive editing

In addition to supporting Auto Save and Versions, most operations are non-destructive. Meaning that any changes you make can always be altered or undone. This makes it easy to experiment, without having to worry about destroying what you’ve made.

Linked Styles

Layer styles can be shared amongst multiple layers to keep them in sync. Although this is already a useful feature, I think it could be improved by adding more fine grained control over which elements of a style are to be synced. As it is now, you can either use the exact same style, or create a completely new style. Also, linked styles for text seem buggy, or at the very least a bit confusing.

Designing with numbers

Sketch makes it easy to control every element of your design with exact numbers. This is something that makes a lot of sense from a design as well as a development standpoint.

CSS Attributes

This is a great feature for web developers. It allows you to copy the style of an element as CSS attributes so you can paste it right into your CSS file.

Scripting API

One last interesting thing about the app is that it offers a scripting API , which allows anyone to write their own plugins for the app using JSTalk. The documentation could use a little more love, but a lot can be figured out by looking at the provided code samples and plugins that others have already written. These are the ones I’ve found so far:

Related articles

Disclaimer: I am in no way affiliated with, or endorsed by Bohemian Coding.

--

--

No responses yet