Nothing short of Abysmal!
As grateful as I am that HiveEngine exists and the utility it adds to the Hive ecosystem, there are still a ton of things about it that annoy the hell out of me. Lately I've been using HE a lot more than usual and these issues have become more and more blatant over the course of the last few weeks. Let the rant begin!
Delegation to the void!
Today I found out that the delegation I owed to @cryptosimplify mistakenly went to @cryptosimplifiy instead. The account @cryptosimplifiy doesn't even exist and yet HE allowed me to delegate 10k LEO to a non-existent account anyway. I was going to write this post a while ago but figured I'd wait till something really pissed me off... well that was it... that was the last straw. Time for a classic rage blackout.
Unacceptable Wait Times.
UWT for short, an abbreviation that literally no one uses except me in this post to sound important and that I know what I'm talking about. We figured out in the 80's that waiting a couple seconds was already too long for the average person to wait for something. There are legit scientific marketing studies on this exact topic. Users want things to happen instantly... yet... here we are. In many ways crypto has regressed back to the very beginning of the internet, and this is one of those things.
12 seconds later...
A simple transfer from one account to another takes over ten times longer than it should on the frontend. The crazy thing is that this wait-screen didn't even used to exist back in the day. It was added on purpose to make the user wait until the transaction had fully cleared. Blows my mind, as this is such a ridiculous way of going about it. IMO the frontend should simply assume that everything worked fine and allow the user to resume going about their business. If something gets rolled back then hitting the user with errors and wait-screens makes a lot more sense.
The most egregious example of this wait-time debacle is when the user goes to cancel a limit order. Say you have 10 limit orders you need to cancel. No problem, as long as you love waiting at least 10 seconds for each and every one to fully clear for no reason. Same goes for creating the limit orders in the first place. Kinda blows my mind what crypto users are willing to put up with. Creating 10 limit orders takes 2 minutes on HE while on centralized exchanges they can be made as fast as one can type. Wen moon, ser?
The crazy thing is that there is absolutely no reason to do it this way. Well... there is a reason... and that reason is laziness I assume. The frontend is asking the backend if the transaction has cleared and waits until it has... when in my opinion it should just reach consensus with the client instantly and assume everything is all good (until it's not and you get slapped with an error/rollback).
Devs like @khaleelkazi and the LEO ecosystem understand this problem all too well (and react with "Lightning" implementations). Response times matters a lot more than one might think. Waiting is annoying as hell. Of course when you compare Hive to something 10 minute Bitcoin transactions we can see why people are willing to put up with 10 second wait times. This won't be the case when mainstream adoption hits. Slow protocols will be thoroughly ignored by the masses.
Shilling the BEE token at every fucking opportunity.
Every time you click on the "exchange" tab it shills you the "BEE" token, which is literally a token that no one wants to buy ever unless they are a HE dev and they need it for the "utility" it provides. Of course by "utility" I mean getting past a paywall that essentially gets funneled to a centralized agent running the entire protocol. Remember when Steem forked to Hive and HE wanted to doublecharge everyone more fees to list their token on Hive? Yeah, people don't forget. It's shiesty AF.
Use cookie to remember last used token.
It is downright offensive that HE frontends know for a 99% fact that the user doesn't want to buy the BEE token, but they shill it on every god damn click anyway. When someone creates a website they should be looking to show the user things they actually want to see, and this is the best example of how HE does the opposite of that by design. It's annoying as shit.
Speaking of the widget that allows you to select the token you're actually looking for that isn't BEE, it feels very counterintuitive that I can't use tab while selecting it to scroll down the list and highlight the next token. Instead hitting tab highlights the next widget, like 'candlestick', 'depth', and 'volume', which again is completely worthless on the UX side of things.
Getting airdropped tokens you don't want to see.
When I click my wallet I am bombarded by 4 pages of totally illiquid tokens worth nothing. This is made even worse by the fact that the "USD value" tab only measures the USD value of unlocked unstaked tokens... so if you pump $1000 into your favorite HE token and power it up... it get's lost in a sea of bullshit that you don't want to see because the "USD value" dropped from $1000 liquid to $0 liquid. Such a bad design choice imo. And again IIRC it was changed to be this way on purpose so that users wouldn't think the USD value was immediately tradable. Just make another tab for USD if it's so important to list liquid values (it's not).
I just noticed that there is a "hide small amounts button"... I just clicked on it and it only gets rid of one of the four pages. The bottom of the first page is 2 cents. So a 2 cent USD value doesn't qualify as "small amount"? Really? Increase it to $1 at least. Maybe even $10. Half of the literal listed values are $0 on page 2. Wut? I guess zero isn't low enough.
Charts that don't adapt well to illiquid markets
How many years has HE been operational and the charts still look like absolute shit? Seriously though. Worthless. Fix it. It can't be that hard. Remove extreme outliers from the data. If I created something like this I'd be straight up embarrassed and fix it ASAP. It's been years.
Where is the fucking richlist?
Every time I look for certain functions that I know exist I always forget where they are because they are never in the obvious intuitive place and instead exist in some random corner of the site. I always end up finding the thing I'm looking for but by the time I do I'm just annoyed as hell. Guess where the richlist link should be? On the information page next to all that other worthless info.
Why are order numbers random?
This is another thing that is super annoying from the dev side of things. If you were trying to create a liquidity bot on HE you can't even cancel your own order without knowing the order number.
The protocol never tells you your own order number, so you can't even cancel your own order with a bot unless you ping the API for it, which is dumb. There is no need to create a random unique primary key for the order number when you could just make them [0,1,2,3] and combine them with the account name to generate uniqueness. At least that's what I would do... maybe there is some optimization issue that makes this less ideal, but somehow I doubt it. Especially considering that's exactly how Hive does it on the backend for things like HBD conversions.
Trade history is shit
This is a great way to show orderbook history... if you're writing a bot. As it stands now it's hardly even human-readable. If I place a market (taker) order for XYZ token it could liquidate dozens of limit maker orders... each one of those liquidations counts as a separate transaction... I can't believe I have to point out how terrible this is. Stop listing the liquidated maker orders and just show the taker market orders by default... for the love of god it's not hard.
Instead of showing a dozen buy/sell order on a single operation just show... you know... one. One maker order with the average price they paid for the entire order. Again. Not hard. I'm annoyed it even has to be said out loud.
Diesel pools are completely underutilized
AMM liquidity pools are a HUGE advantage on Hive Engine, and no one seems to use them despite very impressive liquidity depth. I get the same response as to why no one uses them over and over again:
- AMM requires yield allocations to the LP to incentivize users to lock up their money.
- The BEE fee for Diesel Pools is "too high".
I always forget about the stupid fee.
Last time I checked I think it would cost like $300 at current prices to get one of these listings... which obviously isn't a lot but apparently it's too high of a price for us plebs to pay. Spoiler alert: it shouldn't cost anything... at least not now when it has near zero adoption. Take a WEB2 lesson on that front IMO. The original listing fee should easily cover both orderbook listings and diesel pools. So obviously. Adoption is more important than adding a stupid fee to every goddamn feature.
Ah well that was fun. Again I think HiveEngine is pretty great and it adds a lot to the ecosystem... for now. But honestly I can't help but think it will eventually fade into obscurity and be antiquated by some other up-and-coming protocol. Until such times it's good that we have the ability to forge these small communities in advance and see what sticks.
There are just so many little annoying UX issues with HE that downright baffle me after I use it enough times... and it's like just accepted that this is simply "the way things are". Hm. Sure. If you say so. I feel like it wouldn't be hard to fix a lot of this stuff in less than a month, but maybe it's not a priority or I'm oversimplifying the issues.
Don't mistake my tone: I'm not even mad and wrote down a lot of this criticism weeks ago and then didn't even write it until now after my delegation to the void occurred to a nonexistent user. Some things are better left unsaid. Until you say them anyway because you just can't help yourself.