Poll Notification UX Changes


Recently there were two governance polls that passed that caused the Minimum Collateral Ratio (MCR) of both mKO and mSPY to be increased from 110% to 130%. Although these polls took the standard 7 days before they were enacted, a number of users were unaware that these changes went live and suffered liquidations.

It’s clear that Mirror has many users that do not regularly check governance polls.

Below are ideas to help users become aware of big changes, as well some of the implementation limitations and challenges Mirror faces.

The Problem

Information Management

The key issue is around information management. Some users are going to want a lot of information, while others are going to only want information that directly impacts them.

Let’s take a look at these recent polls as examples:

Skimming the forum links in these polls, it looks like a lot of thought, effort, and discussion went into their structuring. But unless you are interested in Mirror protocol mechanics, these polls are just noise. Users who have this perspective have likely clicked on “Govern” at one point to see what’s there, and have written that section off as “this doesn’t apply to me”. And 99% of the time, they’d be correct.

Mirror Resources

I’ve seen a lot of comments on discord in #general recently around User Experience (UX) concerns. Users were basically asking “why isn’t the app better?” regarding alerts around MCR changes. So why isn’t there a better web application?

Mirror has no employees. Worse, there’s also no compensation for all the current contributors. As of writing this, there’s 758 million USD of Total Value Locked (TVL), and no compensation for contributors… Basically, the resources to stay on top of these kind of issues don’t exist.

Shit’s fucked yo. It’s not sustainable.


User Experience Improvements

Care needs to be taken when considering UX. The dirty approach is to just past all active polls in a banner at the top of the screen for all users to see. Unfortunately, users are very good at training themselves to look at what they consider relevant information.

There’s been some neat studies on the topic which I encourage everyone to take a look at, if only to look at the eye-tracking heat map. With this in mind, we need to ensure we have a quality over quantity approach when it comes to considering the final solution.

This is the vision of what the final solution looks like, but it will take some time and a couple iterations to get there.

Mockup - Overview

(Props to @rstevens11 for the amazing mockup)


  • Recent Poll - Any poll that currently being voted on, as well as any poll that was passed/executed less than 1 week ago.
  • Direct Financial Impact - Term used for changes to mirror that result in direct changes to financial strategies, potential or otherwise.

Rejected Ideas

There were a number of ideas that I noticed in various discussions. Here are some of the notable ones. Although these would all be interesting to build, they were all rejected due to limited resources.

  • Email Notifications - Requires centralization and a monthly subscription to a service like SendGrid.
  • Desktop Notifications - We’d a service that would publish notifications.
  • Discord Notifications - This still has potential, but with the changes to the web app it likely wouldn’t be needed.
  • Manual vs Automatic - There was an idea to potentially push notifications that were manually written, but this would require an entity or person to write them, as well as a secure means to publish them.

Info Button

On a per position basis, there’s going to be an info button that appears when there’s a recent poll that relates to the asset of the given position. As this is done programmatically, the type of polls will be limited to ones that can be directly associated to an asset. I.e. text type polls will not appear here.


All recent polls that have direct financial impact to users will appear as dismissible notifications at the top of My Page.

Text Polls

Text polls will now have a boolean flag called “Direct Financial Impact”. This will cause the poll to be shown users’ My Page.
For example, the poll: SIMP-3 (Revote) […] will impact users directly and it would make sense to flag it as such to raise awareness on the main page.

Mirror Resources

I’m going to keep this section short as it takes away from the UX issues. I’m including it for completeness as it’s a direct contributor to the issues raised in this post, but for discussions on the topic we should move to a separate thread.


The community should consider voting in someone as the CEO to effectively run Mirror. Realistically, I don’t expect a CEO role to happen - the goal here is spur discussions on how the Mirror organization should be structured.


Do you know how to set and get cookies in java script? Great! Mirror needs your help. There’s a general lack of developers, particularly front end. If you’re interested, please reach out on discord in #developers. Even if you’re just available to answer a couple questions to help other devs, every little bit helps.
The project is open source and can be found here: GitHub - Mirror-Protocol/terra-web-dapp

Prepared by: @Guido12.5, @rstevens11, @EuphoricBadger, and @josephsavage

Edit History: @mentions for usernames

1 Like

I do NOT think that a CEO position would be in line with the idea of decentralization … we already have the Mirror Steering comitee.
Anyway I can agree with you that the protocol could need people who work for it on regular basis as developer, secretaries, analysts and for sure they have to be payed in order to perform well.

we could also set up bounties for specific tasks in line with what can be found on the terra ecosystem.

The banner is a good Idea, Spectrum protocol alread have it and i think it could be very useful.


Your mockup is awesome! Maybe someone who knows React can do the implementation.

The mockup is awesome! Not mine though - I’ll add credit above.

Anyway I can agree with you that the protocol could need people who work for it on regular basis as developer, secretaries, analysts and for sure they have to be payed in order to perform well.

That’s the key problem. There is no way to effectively do this without an organizational structure.

Decentralization seems great on paper, but it really isn’t and no one actually wants a “DAO” to run things. I’ve suggested some basic flagging previously in gov. IE a flag for polls where the text does not match the actual poll (there was a huge war over this previously, and two malicious polls recently), and additional flags for MSC, etc

I’d be happy to jot out some more of the ideas I discussed previously in the MSC if you are gonna head this up. Great to see this!