Blog Icon

Mission Data Blog

UI Designer's Toolbox, Part I: Comparing Sketch, Figma, and Adobe XD

Radu Negrean
Posted by: Radu Negrean on Jan 11, 2018 10:00:00 AM
Find me:
Our Senior UX Designer creates a sample app to review the hottest tools in UI design

 BLOG PROMO 2.png

For today's UI/UX designers, one of the most utilized tools for working on a Mac is Sketch. Released in late 2010, it made a big splash in the design community, challenging the status quo and the prior go-to application for any design-related projects: Photoshop.

We're now in 2018, eight years after Sketch first came on the design scene, and the design software landscape could not be more varied. Encouraged by Sketch's success, many companies started to create new, specialized apps for the new breed of designers. We've seen specialized tools for UX designers, and a lot is going on on the UI scene as well.

We, at Mission Data, use Sketch as our primary tool for both UX and UI but we're always looking out for other alternatives, and we're eager to experiment and discover new ways of achieving the best results. I decided to do a head-to-head comparison of Sketch, Figma, and Adobe XD to compare their strengths and weaknesses.

I will focus my review on a few aspects of my day-to-day work. I will start with my first impressions when opening the app; then I will jump right into the design exercise. I am starting with Sketch since I feel most comfortable with it. Once my design is complete in Sketch, I will recreate it with Figma and then with Adobe XD.

First Impressions

Here are my first impressions after interacting with the apps for a few minutes:

File Organization

Sketch: Native Mac style — simple and effective

sketch_desktop.png

Figma: Everything sits inside the Figma app (or on their server). It's quite straightforward to understand where everything is. It's not the standard Mac interface, but it should not influence the design workflow too much.

figma_desktop.png

Adobe XD: Native Mac style like Sketch.

Interface

UI_interface.png

Sketch: Layers list is on the left, properties on the right, and the central work area is in the middle. Layers are organized with artboards (that contain layers) and pages (that contain artboards).

Figma: There is a layers list on the left, alongside components (similar to Sketch symbols) and a team library tab. On the right, we have the properties inspector that also allows the user to copy CSS, iOS and Android code that is generated for the selected object.

Adobe XD: Layers list on the left, alongside assets (symbols, character styles, and color styles). On the right side, similar to Sketch and Figma, we have the properties inspector.

Prototyping

Both Figma and Adobe XD have prototyping capabilities built into the interface while Sketch relies on third-party integrations for this (Invision, Marvel, etc.)

UI Design Exercise: Sample App

I have decided to create an imaginary app called “Travel the World.” I will create two screens: the home screen, with some branding elements and a few listings areas, and an “attraction detail” screen.

Sketch UI Design Process

Before doing any UI design work, I need a dummy logo for my travel app. I’ve settled on a globe on the left and “Travel the World” on the right, with “Travel,” in an italic font stacked above “THE WORLD.” Of course, I chose to create the logo in Sketch.

travel_the_world_logo.png

For a quick globe icon, I searched through The Noun Project and found a nice option. Copy and paste into Sketch, and 15 minutes later and I have a symbol ready to go with my new logo.

The Home Screen Structure

I decide I want an image-heavy app since it’s about traveling around the world. I used Unsplash and Google Image Search.

Sketch_app_homescreen.pngI’ve settled on using large stylized images as a background for each home screen section. After some experimentation with multiple backgrounds, I’ve come up with this formula for the logo background image: background image at 100% opacity on the bottom layer, and on top of it, a black layer at 51% opacity).

Featured Attraction on the Home Screen

I decide to apply a similar style for the rest of the home screen sections, and after some experimentation, I have settled on this formula: main accent color as the background layer at 100% opacity, and the background image on top of the solid color layer, at 17% opacity).

I ended up with something like this: 


Sketch_background_sample.png

The Attraction Card

One of most powerful concepts in Sketch are symbols. I can use symbols in multiple places in my designs, use various overrides (images, texts in the main symbol but also in any embedded symbols), and change anything inside the symbol that will affect all instances of a symbol, without modifying the overrides.

For example, in my item card symbol, I have a rounded rectangle using multiple backgrounds that I use to create the background of my symbol. Here’s how it looks:

Sketch_symbol_sample.png

As you can see, I have the main background image at the bottom of the backgrounds stack. Next, I have a black layer that I set as black at 15% opacity; then I have a transparent to black gradient at 100% but with the blend mode set to Darken.

Each time I reuse this symbol I will be able to replace the main background image, and all other settings will apply to all the new images. Very handy!

Now I’m ready to add new elements to my symbol (ratings, attraction name, and location).

Featured Attractions

Here’s how the “Featured Attractions” looks, after adding the new elements to my symbol and creating my grid of images (I’ve used the Auto Layout plugin to do this quickly).

featured_attractions_sample_app.png

I’ve used the same symbol technique to build the other sections of my screen. I heavily relied on the Auto Layout plugin for all my grids (even the menu items).

Here's what I have achieved so far:

Sample_app_Sketch.png

If you are wondering why I have decided to include in the featured attractions The Peles Castle from Romania, it’s because, well, I’m biased. I grew up in Romania, and one of the most magical places in that old and distant country is The Peles Castle. More about the castle on the next app screen.

The Attraction Details Screen

For this screen, I decided to reuse some of the symbols I’ve already created and added some text and navigational elements.

peles_castle_sample_app.png

As you can tell, I’ve reused the top image symbol - the one I’ve created for the logo background. I’ve also reused the symbols for the ratings and the user icons in the “People who’ve been here” area.

Sketch Conclusions

From the three apps I’m reviewing in this series, Sketch is unmistakably the most mature app. It’s feature-rich, has an open architecture that allows plugin development, and it’s the unofficial king of UI Design apps.

Pros

Excellent features specially designed for UI work.

A wealth of plugins that can significantly speed up the work.

Stable and reliable. It kind of sets the standard regarding how an app should work.

Symbols. The Sketch symbols are remarkably efficient. The symbols implementation changed over time, but being able to override texts, swap symbols from a symbol instance, and disable instances of symbols within a symbol instance, are notably robust features that make designing with Sketch a pleasure.

Libraries. Teams can now share libraries together and use the same symbols in various design projects. The symbols can range from branding elements, like logos, fonts, etc. to different design patterns (forms, UI elements, etc). Libraries represent a huge step in developing design systems and reusable components.

Cons

Performance. Compared to Figma and Adobe XD, Sketch feels like the slowest app. The latest update (48) appears a lot faster than the previous version, however, I still think the Sketch team can improve a lot on the performance of the app.

Libraries. While I list this as a pro, it’s also a negative given the current implementation. Currently, libraries are a global setting. One can have an unlimited number of global libraries. This means all enabled libraries will be available for any new document. It works great for a team working on a couple of products. However, if someone needs to work on various projects, Sketch currently lacks the ability to set a library per file/project.

Resizing vector objects. Sketch works reasonably well with vectors, but it sucks when resizing vector objects. There are workarounds (use the scaling tool or locking the aspect ratio and then modifying the values for the width or the height of the object) to make objects resize correctly, but this still a big thing that needs a lot of improvement.

Stay tuned for part II of this post where I break down Figma and Adobe XD, coming very soon.

See you at FSTEC 2018

Recent Posts