The Best User Experience – and nothing else

swapit-blog-interestsWe are in constant contact with our users. That’s important, because only that way we find out about road blocks they might have and things that might slow them down when using Swapit.

While Swapit has grown into a great marketplace app, where our users can trade efficiently, privately and in a seamless manner; there is always space for improvement. We will not rest if we can still improve the life of our users. These can be simple things, like making them smile the first time they start Swapit because a lovely “Swapit la!” voice comes out of their phone.

BEAUTIFYING THE SWAPIT LAUNCH EXPERIENCE

This is how Swapit on iPhone and Android looks like when you start it first day in the morning:

It’s informative and functional. We show such startup dialogs because we want to communicate to our users what has changed. We want to be sure they are aware of the cool new features we’ve just put into Swapit. Like on iOS for example, you can post your items for sale at multiple locations. No other app has that kind of feature!

While these dialogs serve a purpose, they are however, rather ugly. The launch experience is diminished by them showing up. They’re too text heavy, not catchy enough and are missing a certain twang.

That dialog does show way too often as well. For example, it always shows when after the app was force-closed or after the phone was rebooted. In short: it gets annoying.

That’s exactly the kind of feedback we’ve received from our users. Most appreciate our intention to communicate, but generally, it needs to be done more subtle and with more style. Granted, we have quite some space for improvement on that front.

CONSOLIDATING LAUNCH EXPERIENCE

At the same time, we also know that we have many other dialogs that might show up at app start. Say for example, when a user’s account got suspended, when we have a new version everyone needs to update to or when the user receives some referral reward, and so on. In fact, we have identified 15 different cases so far of what can happen when or better what we want to show at startup in each of those cases. That’s a lot.

So we are now in the process of consolidating all such cases and we are following multiple goals:

  1. Improve the Overall User Experience
  2. Beautify the Visual Appearance
  3. Simplify In-App Navigation
  4. Improve Manageability of Content
  5. Load Dynamic Content (e.g. promotions)

img_20161110_1508522For all of that, we defined a very simple visual structure for our startup dialog with the following key elements:

  1. Title
  2. Image
  3. Countdown
  4. Text
  5. Action 1 (Label + URI)
  6. Action 2 (Label + URI)

All such elements are optional, but generally, we would almost always use at least an image, text and an action.

At the same time, we are also taking care of what happens when we would want to show multiple startup dialogs at the same time. The best way we could think of, was to prioritize all kinds of dialogs that would show up. Say for example an “Account Suspended” dialog has the highest priority, so in case a “Welcome” dialog would want to show as well, the “Account Suspended” dialog received precedence to show up and lock the suspended user out. Of course, there’s an action offered to contact us and resolve the issue.

Furthermore, we combine this with a queueing system. Sometimes it happens, we want to show two things at a time, but one dialog is more important, so that dialog shows. However, the other dialog, which was not shown, might be important enough that we still want to show it at some point in time. So we’re putting in a queueing system that allows us to queue a dialog to show it the next time.

While I am writing this down, I am imagining someone reading it and thinking: “Isn’t all of this a bit overkill for just a simple startup dialog?” Well, I believe it is absolutely important to make sure our users are not annoyed by any step inside our app. So if our startup currently shows up too often and if it is just too ugly right now, we need to change that. But if we change it, we change it properly. Our users deserve nothing but the best.

ITERATING THROUGH DESIGNS

Since the onset, we’ve been iterating at an amazing pace. Not just in terms of Swapit app releases (we’ve released over 140 thus far), but also in terms of designs. We’re constantly evaluating, creating design drafts, changing things up, adjusting, adding design elements, removing them, and so on. Most of which is driven by user feedback.

This now is not different. We’re already iterating through different variations of our startup dialog in various conditions. We need artwork for each of them and we need to make sure that artwork fits into the overall design language. Here is a quick glimpse at how that looks like at the moment:

screen-shot-2016-11-10-at-3-01-13-pm

Obviously, the above screen shot only shows 3 of those 15 mentioned cases, so you can imagine how massive our design iterations can be like. It is a time consuming process, but it helps us a lot to understand how people navigate through Swapit and it is absolutely necessary to be able to provide the best design and user experience to our users.

We will not rest until everyone is happy and we will make sure that Swapit works like and feels like everyone expects it to.

Have you tried Swapit yet? Download it for free from: http://get.swapit.la/now

Advertisements

3 thoughts on “The Best User Experience – and nothing else

  1. Pingback: Swapit Update: The License to Kill! | swapit blog

  2. Pingback: The Acceptance of the New Swapit Startup Dialogs | swapit blog

  3. Pingback: $1.5 Billion GMV on Swapit ↗️ 15x in 4 months | swapit blog

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s