Some things came naturally to FTX. Product design has always been a relative strength of ours, and will likely continue to be. User interfaces and experience were way less obvious to us, though, and it’s taken us a while to develop our thinking on them.

We get a lot of feedback as an exchange, and we really value it. Customer suggestions have led to a number of the improvements we’ve made to the platform, and some customers in particular have gone way out of their way to give us great advice. We periodically get feedback on our UI. Sometimes the feedback is “FTX is great, everyone else should do what you do!” But other times, it sounds roughly like “your UI is bad, you should copy XXXX.” We try to follow up on this by clarifying what people don’t like, and what we should change; but the UI feedback in particular tends to be pretty confusing: people ask us for things we already have, or things that are self-contradictory, or just respond with some variant on ‘make it better’. As a comparison, product feedback tends to be fairly straightforward and actionable: “please list KNC, I want to trade it!”

One classic example of this is cross vs. isolated margin. By default, FTX uses cross margin: all of your collateral goes in the same wallet, and powers all of your futures positions. We think this is significantly more powerful than isolated margin. You don’t have to bother shuffling assets back and forth between your ETH margin and your XRP margin, and trading a new future on FTX doesn’t require any additional setup.

Some people prefer isolated margin, though. In isolated margin, each of your positions has a separate pool of collateral that can only be used for it. So if you want to open up a BTC-PERP long position, you move some collateral into a wallet for it and then trade. If you then want to open up an EOS-PERP short, you move a different bit of collateral into a new wallet, and put on the EOS-PERP position there. The advantage of isolated margin is two-fold: first, some people like the ability to split their accounting by product; and second, assets in the BTC-PERP wallet will be protected from any liquidations of your EOS-PERP position. (The flip side of this is that they also can’t help prevent the EOS-PERP liquidation in the first place.) And a lot of users asked us to support isolated margin.

Partially to give users the flexibility to choose isolated margin, we built subaccounts into FTX. Each subaccount is isolated for each other subaccount. So if you wanted to use cross margin you could put everything in one subaccount; and if you wanted to use isolated margin you could split your collateral between two subaccounts, and trade BTC-PERP in the first and EOS-PERP in the second.

And so from a feature perspective, FTX is more powerful than either a cross or an isolated margin platform: you can choose whichever you prefer. We thought this would make isolated margin traders happy! And it did, to a limited extent; but many still kept asking us for isolated margin, and even when we told them they could already do it using subaccounts, they didn’t seem happy with that suggestion. We’d try to ask why this didn’t solve their problem, and frequently the feedback we got seemed unhelpful (“just do isolated, everyone else does”).

It took months, but eventually we figured out what was really going on here. In theory, the subaccount approach was great! It let everyone do what they wanted. The problem was that it was clunky. If you wanted to use isolated margin, you’d have to:

  • Figure out that subaccounts were what you wanted
  • Figure out where the buttons were
  • Click on your name in the upper right corner
  • Click on ‘Subaccounts’
  • Click on the subaccount you wanted
  • Click on the asset you wanted to trade

That was a lot of clicks–way more clicks that it takes to go from trading BTC futures to trading EOS futures on natively isolated margin exchanges.

And so we introduced the subaccount switching bar:


The bar, which appears on all trade pages, displays all of your subaccounts, and you can click on it to switch. All of a sudden, steps 1 through 5 were replaced with a single click.

And basically overnight, people who wanted isolated margin were happy with our solution (once we described it to them). This still left the problem of letting people know how subaccounts worked on FTX, but at least once they did know, they were satisfied.

Which left us wondering–if that was what users wanted, why didn’t they just ask for it, instead of vague UI complaints? (And to be fair, some did ask for it! But many fewer than wanted it.)

This pattern repeated over many times. Customers thought our order entry features were worse than a competitors (they’re the same), wanted to be able to see the graph and orderbook at the same time (you can, and you can drag/resize them), wanted to be able to make the orderbook stacked vertically (you can, in the settings menu), etc.

We’d get similarly confusing feedback about the UI. People would say that it didn’t look professional, and point to a clean professional alternative; or they’d say that it wasn’t retail friendly, and point to a flashy competitor. But each of those would have failed the other test!

Customers would have complaints that seemed confusing to us, and eventually we’d find something they didn’t ask for that resolved them. And we remained befuddled by how to handle most UI feedback.

Finally, after a long time thinking about it, we started to understand what was going on. When you’re using a platform–especially one with as many different things going on as FTX–sometimes you just get a sense of wow using this feels great or ugh this is pretty frustrating. And often you don’t know why!

I’ve tried sending an international wire transfer before, and it’s a huge pain. But if you asked me why, I’d probably say something like “I don’t know, it didn’t even seem like the bank had an option for it!” And you might rightfully point out that it does, to which I’d say: “idk come on it still sucks, ‘transfer funds’ doesn’t let me do it”. And so you’d point out that, yes, ‘transfer funds’ is to transfer to another user at the same bank, you have to use ‘send funds’ if the destination is a different bank. And this could go on for a while! The whole experience was miserable and took me an hour to do and had lots of false starts and by the end I couldn’t even remember what had made it take so long, it just had.

But if you actually make me step through it, bit by bit, eventually it’d become clear what’s really bothering me: a long laundry list of bad UX decisions:

  • The labels on the various transfer buttons were ambiguous, one should just say ‘international wire transfer’
  • It asked me for ‘address’ once but didn’t clarify whether it meant my address or my bank’s.
  • If you mess up there’s no back button, you have to log out and log in again and start over.
  • If you typed in a number in the wrong format it wouldn’t alert you, and would let you keep going until the end when the whole transfer would fail with an unclear error message.

….and so many more mundane annoyances that added up to a miserable experience. And by the end I had no idea what I didn’t like about it, I just knew it sucked.

And this is what’s going on with a lot of the confusing feedback we get. A customer used FTX, and something about it made the process frustrating, but they can’t quite pinpoint what–they just know that, for some reason, it wasn’t fun. And it’s our job to figure out what that reason is, and how to address it.

So we now treat UI and UX feedback very differently than before. If a customer has a complaint about a feature and we can’t figure out what’s going on, we’ll do the following:

  • Try doing exactly what the customer was doing, and see if anything frustrates us
  • Try walking the customer through their usage, ask really specific questions, and see if we can lead them to where they get frustrated
  • Think about the backlogged set of UX changes we want to make, and see if any of those would fix it

We’ve spent a lot of the last month updating the FTX UX. We have a bracket order form; we’ve rearranged the tabs on the markets page to be more intuitive; we’ve added whitelisted withdrawal addresses and IPs. And we’ve been adding more and more features onto our new, revamped mobile app.

We get a combination of UI suggestions (e.g. “make this prettier”, “change the color scheme”, etc.), and UX suggestions (e.g. “I want a button to do X”, “Please add limit orders to the bracket orderform”, etc.). We’ve come to take UI feedback very differently:

  • UI matters; the website being attractive makes it a more pleasant experience
  • UX probably matters more: there’s nothing worse than wanting to do something and not being able to
  • A lot of UI feedback is secretly UX feedback: “the website is visually overwhelming” probably means, at least in part, that we put unimportant buttons on the homepage and hid important ones in settings menus that are never read.

And, finally, we’ve started putting a lot more emphasis on helping people to understand what features FTX has. We’ve created a post walking through the most important ones, brainstormed ways to make the settings menu and orderform switcher more obvious to users, and have a homepage redesign in the works. Hopefully you like the changes, because there are a lot more coming.