The (non-)existing problem with interactive transactions & UX - Rant

Dear all I would like to rant about the (non-)existing problem with interactive transactions.
One of the most reoccurring discussion topics on this forum is the (un)-usability of Grin and complains about bad User Experience (UX). Basically, many people in the communithy complain that Grin is too hard to use. And the source of all evil/The Problem == interactivity (the need to be online to do transactions)!
These discussions mostly continue complaining about the lack of usability of Grin, state that the core developers do not care about UX etc. etc.

So here is my problem with these discussions. I hardly ever encountered problems with making interactive transactions myself, and I often feel that the arguments given about UX are not founded in whether those transactions are interactive or not.

Therefore, I want to ask everyone here who is unsatisfied with the UX of Grin to help identify what the root cause is of this unhappiness. Please try to answer the question below privately or publicly, and please be honest with yourself.

  1. Why do I perceive/experience the UX of Grin as bad?
    a - I tried so many transactions to a friends wallet and they always fail, because they are offline. → Interactivity sucks!
    b - I tried to send or withdraw from and exchange and it failed, or there are to few exchanges that support Grin!
    c - I expected the price for Grin to be higher than it is, even though I knew the supply of Grin would outpace the demand in the first few year. It must be that evil interactivity that is to blame for the low price of Grin.
    d – Another reasons, please share that reason with us.

I think most of us would have answered ( b ) or ( c ) here, meaning the root cause of the unhappiness is having few exchange support Grin properly for now or having had too high expectations for the price of Grin.

Does this mean there is no real problem with interactive transfers? Well, no, the interactivity makes it for now impossible to do cold storage for Grin and there are other limitations. But I do not think these limitations are what most people would mention when they complain about bade UX for Grin or complain about the need for non-interactive transactions.

What I hope to achieve with this rant is that we as community try to separate the perception and emotion of ‘the (non-)existing problem’ of interactive transactions’ with what factually might be the root cause of the unhappiness and perceived bade UX. Because honestly, I think Grin has come a long way from a few years back. UX is great, especially with Grin++ which is as intuitive as it can get.
Sure, it would be nice to have more exchanges and mining pools support Grin’s interactive transactions, but hell we could even pay them to develop open-source template solutions which might be a more effective solution than trying to force non-interactive transactions in the Grin ecosystem before we have a good solution.

Feel free to disagree or counter rant :wink:. By all means this does not mean we shoulld stop exploring possible solutions for non-interactive transactions or 2-step transactions, but we should do so for the right reasons.

4 Likes

I generally agree, interactive txs are not a big issue in most cases, but I see two cases where interactive transactions cannot be used in a secure way (both previously discussed in the forum), which means that they cannot be used at all under some circumstances:

  1. Checkout for ecommerce. These systems need to automatically provide an invoice to the customer. Grin can create invoices, but they need to be signed with a hot key, which means an online shop would be required to keep its hot wallet online, which is not secure.

  2. Donations. This is a similar case, but the sender would initiate the transaction. In order to automatically countersign an incoming transaction, the receiver, again, needs to keep its hot wallet online.

These are not UX issues, but things that can only be solved at protocol level as far as I can tell.

2 Likes

b - I tried to send or withdraw from and exchange and it failed, or there are to few exchanges that support Grin!

So far Grin bad in b and Grin bad for payment/store. Thats all for now. Bad in b forgiveable. Bad for payment/store? Still No usecase. Still need demand for being a money.

This is something I think we can tackle on the short term using community projects. E.g. a web-plugin @markhollis is already working a bit on a PHP library for Grin.

1 Like

Firewalls, intranets, and port forwarding made direct connections a pain. Slatepacks help a lot.

2 Likes

/rant on

“Dear all I would like to rant about the (non-)existing problem with interactive transactions.”

This is so frustrating. The real problem is I won’t use interactive transactions and apparently many others feel the same way. Calling it a (non-)existing problem tells me you want us to go away.

This is so frustrating because many simple solutions have been offered that give us the benefits of both interactive and non-interactive solutions. They have all been ignored behind a veil of “I don’t understand why you have a problem with interactive transactions.”.

/rant off

Please continue to play in your sandbox…

1 Like

I’m aware of ideas from Gary, David and Tevador. All of them seem to come with its own tradeoffs that are not small one of which I described here An open discussion on Non-interactive transactions - #80 by oryhp

It’s unfair to say they’ve been ignored. I and a few others have spent a lot of time thinking about them and discussing them publicly. The only complete solution I’ve seen is MingleJingle - though that’s an entirely different thing imo.

2 Likes

Why would people switch to grin if it had nitx? I’ve been asking this question for a long time and never got an answer that i would agree with. Currently grin has those advantages over btc:

  • scalability
  • privacy
  • simplicity (no scripting language)
  • fair emission
  • interactive txs (you could commit to the item being traded directly on your chain, admittedly has its own flaws eg. Cold storage, donations)

Scalability won’t make people switch (it’s an important thing but people don’t care and will use SPV wallets). Privacy is good enough in mw imo (that tx graph problem is way overblown imo) but people will probably see monero and the others as a better alternative. While simplicity influences security and ease of future upgrades i think less than 1% care about it. Many people whine that grin’s price is low, so my guess is that they don’t understand inflation so i don’t think this will bring masses. Interactive txs could have its own market, people who need to commit to tx content directly onchain without using some 3rd party stuff + it’s the only way to be able to reject incoming tx afaik. Would love to hear what the community thinks about those points

In other words, noninteractive payment means that the other party has no say in a transaction, even if they are a participant in it. Why not make both parties agree on a transaction like when dealing with cash and have a proof they agree and what they agreed on.
You’ll need to agree that transaction T pays for a car anyway, so why not make a cryptographically safe agreement instead of resolving these issues in a court and convincing people you’re the honest party.

1 Like

The first 4 bullet points are the answer to your question. We’ve already answered this before, but of course, we’ll never “get an answer you agree with” if you’ve made up your mind that interactive txs are the reason people would want to switch to grin (despite plenty of evidence suggesting interactive txs are one of the main reasons people stopped using grin)

1 Like

So you think the combination of those 4 points would bring people in? Could be, i just don’t think it’s good enough to make people change for the reasons i’ve mentioned above. I’m not saying ITX would bring them over though, just that they offer something unique, so if the market would need this, then their only option would be grin. But it’s possible that the market won’t care about this, who knows. I’ve mentioned why each of those 4 bullet points wouldn’t bring people in, where and why do you think i’m wrong there?

1 Like

Based on your arguments, you seem to think Grin will never offer enough to bring people over, so the best we can do is capture a small audience by filling the ITX niche. While you may be correct, most of us were never interested in having Grin fill a tiny niche. If you feel its only usefulness is for a few very specific needs (which are still possible even if we offer NITX as an option), and that it will never meet its goal:

  • Electronic transactions for all. Without censorship or restrictions.

then you should first focus on changing our mission statement to see if others agree.

However, if our mission statement remains “electronic transactions for all”, then it’s undeniable that ITX hurts that, since it makes electronic transactions more difficult to perform.

P.S. I hate having this stupid argument so f*cking much. Can’t you just agree ITX sucks for most cases, but we’re stuck with them? Please stop pretending like ITX are actually great for Grin, so I don’t have to keep calling out that obvious bullshit.

1 Like

For anyone new (or any future Grinners, hello!), there’s also a thread that tries to describe the differences between these transaction creation methods Transaction Interactivity Levels.

3 Likes

From your various postings it seems like you believe the primary factor in Grin having few users(low price) is, because, of it’s high inflation rate and that you can’t understand why anyone would hold Grin and that people who hold Grin must be silly crazy risk takers who obviously don’t understand inflation. Tbh I find this to be a narrow minded perspective.

I’d argue that Grin’s high inflation rate is factor, however, it’s not the primary factor in Grin’s current price or in preventing adoption.

High inflation rate ≠ price must go down.
High inflation rate = more demand is required for price to go up vs low a inflation rate

People = Avg crypto hodler

People care about scalability(TPS) but not tx/ chain size/ IBD. People like knowing that their coin has the ability to support mass adoption in the future( Ability to spend in the future) So with no Grin lighting network in production we’re already at a disadvantage vs BTC. This hurts demand.

In terms of privacy, it doesn’t matter what you personally think, it’s what the market aka the people think and at the moment people are convinced that Grin’s privacy is broken. Which it is vs Zcash/ Beam/ Monero, because, of no meaningful tx graph obfuscation. So until this is improved then privacy is never going to be good enough for people, which hurts Grin’s use case(demand) as an alternative currency.

ITX might not be enough to bring people over, however, it would become easier to onboard new users and improves Grin’s UX/UI, making it more spendable as a currency. Exchanges/ mining pool would appreciate it as well.

At present, why should new users bother to learn a new/ less convenient tx method vs other competing coins, when Grin currently offers them less value vs other competing coins? Less scalability( TPS), less privacy, less liquidity, less use cases. There’s no incentive for ITX.

If Grin already had a lighting network then the argument for ITX would be much stronger imo.

2 Likes

It would be cool to have some trustless p2p cache that could store encrypted slatepacks for certain number of hours until recipient gets online and picks them up. Some sort of special type set of nodes that would get paid in ツ for providing such service.

4 Likes

I understand why people hold grin, i don’t understand why people are surprised about its price in 2021. So no, grin holding doesn’t seem stupid to me, it just seems to me like high risk high reward but people expect reward too soon

The way i see it is that high inflation rate = more demand is required for price to not go down since miners will probably be selling a lot when inflation rate is high (you can always find holders ofc). So my expectations are that it can have huge spikes in price, but it should come back down until inflation rate is lower

Probably meant to say NITX, i agree it makes onboarding easier for users and exchanges. Although to be fair I’ve never come across an itx explanation for regular users. But nitx will always be simpler, i don’t deny that

I don’t think having nitx would fix those things, rather i think itx give us some new use cases (hard to say whether the market needs that or not)

If grin’s goal is electronic pay system then we definitely need L2 for that since grin’s L1 scaling requires less space to run a fully verifying node but its finalization is 1min which is way too slow for that. So i hope grin gets lightning one day

That’s a nice idea, i think they should get fees for storing each slatepack

2 Likes

Hi Elwailly, can you please explain to me why you do not use or want to use interactive transaction? E.g. what is the use-case scenario(s) that causes problems for you, what wallet software do you use?
E.g.
a) you want to transfer to a friend but he is ofline,
b) you want to transfer, but you have to do all that extra work with copying slatepacks?
c) …

I am asking because I think to improve the user experience for Grin we need to get to the root cause of user problems. We have to think in use-cases instead of technology.
E.g. I for do not really care about my Grin transactions being interactive or not since if I send to another wallet that is online, it is one click in Grin++. In other words, for my specific use case it is completely irrelevant what magic happens under the hood since it just works. I know that others might have uses-cases where interactivity might be more of an obstacle, hence I want to know/collect these use cases so we can discuss these problems as well as solutions from a technologically agnostic point of view.

Use Case 1: Venmo/Cash App experience

statement: As a friend, I want to fulfil an IOU of my other friend at their and my convenience.

Have you used Venmo or Cash app before?

There certainly are scenarios in which payments are made in an “interactive” manner. Like one friend scans the other’s QR code.

But in most cases, payments are sent after the fact. After dinner, the next day, etc. And this is simply impossible to coordinate in an interactive manner. One person is hungover, one’s phone is dead, etc lol.

Use Case 2: Patreon / Tipping experience

statement: As a fan, I want to tip a creator at a payment address that they’ve listed on one of their profiles.

This has become a major part of online life especially. The need for what is essentially a mailbox that people can send money to.

Many peoples’ jobs are in this internet industry now. Artists, Youtubers, Twitch streamers, etc. They often have things like linktree with links to their stuff too.

In order for them to make money, they need the ability to have an “offline” address for people to send money to. The Patreon reference is different, because that is recurring payments. The main point here is that people are very comfortable with the concept of “addresses” now.

Solution: Are both of these solved with something like a third-party, always-on wallet? Perhaps. But does that defeat the purpose of Grin technology? Also perhaps xD

I think the best short-term use cases for grin are:

  • p2p transactions on surface/deep web
  • donation listeners on social media sites
  • invoices for surface web stores (e.g. mine used to run knockturn allee by @hashmap )

Third party always-on wallets with payout requests seem perfectly fine in the short term and add on to grin’s ecosystem in a positive way.

@trab
Thank you, these are the kind of use case I think we should be collecting. Lets brainstorm a bit about these use cases.

Use Case 1: Venmo/Cash App experience
I also was thinking about the IOU kind of situations. As long as the creditor is online, this should not be a problem. Meaning that mobile phone wallets are key for these kind of use cases. Also I would love it, if you could for example let your buddies pay you their share of drinking money in Grin - not by owning it, but by them buying it for you.
The App CoinCollect offer(ed) such a feature.
Actually I think it is not an issue of interactivity if implemented correctly, as long as the magic happens under the hood, use does not need to know it is interactive. E.g. if we would develop a plugin for Telegram/Signal that allows you to send invoice request as slate-packs to your friends if their phone wallet is of-line. These slatepack messages are picked up by the wallet APP, this would very much feel like and work like CoinCollect, Venmo or Cash App. Added bonus, you do not need to be online when the transaction was send, as soon as your phone goes online (if it is not always online like most phones), it will pick up the transaction and proceed with handling them. Since these are your friends, they are in your contact lists, the wallet can simply auto-accept them.

Use Case 2: Patreon / Tipping experience
Indeed, the easiest solution, which would defeat partly the purpose of Grin, would be to use online/centralized wallets.
What I would prefer here is that we simply allow this pragmatic solution as well as more decentralized ones. Some possible solutions that would not defeat the purpose of Grin:

  • A good mobile wallet that is always online (IronBelly and Grin++ mobile) solves this issue.
  • Grin raspberry Pi’s, as council and especially @mcm-mike is working on plug and play Grin Raspberry Pi nodes. These are cheap, always online and could serve as always online wallets.
  • Many shops and charities that accept crypto already have a Bitcoin payment processor like Umbrel:
    https://getumbrel.com/
    What would be more simple than having Grin wallets that are loaded in their App store and can be readily loaded on these existing nodes/payment processors!

In any case thank you for these use cases, this is exactly how we need to think about Grin from a technologically agnostic perspective. We have to think in use cases first and then match the most simple solutions to them. There is a lot of space here to grow and improve the ecosystem, and I think it is safe to say that at least 80% of the use cases that people can think of can be solved without any consensus change such as implement non-interactive transactions, which we should not forget, have their issues of their own.

2 Likes