thunderbiscuit / padawan-wallet

The bitcoin wallet trainer on Android.
https://padawanwallet.com/
Apache License 2.0
111 stars 49 forks source link

Database and backend discussion #304

Closed shagil77 closed 1 year ago

shagil77 commented 1 year ago

The app uses Room DB to store the self-learning tutorials, it's progress and transactions. However, there should be a proper backend and a remote database that manages it. There should also be user authentication apart from the recovery phrase for giving the application a more real-life feel.

thunderbiscuit commented 1 year ago

Why do you think we should we add a whole backend setup? Happy to hear what you think it would add, but from where I stand this sounds like added complexity that doesn't bring much benefit. What would we gain from it?

About user authentication; what authentication do we need? Authenticate what? Bitcoin is this super cool protocol that is permissionless, and leveraging that is one of the best features of this app. No accounts needed, no login, nothing. Just... download and learn! I don't know what accounts would bring us. Feel free to elaborate!

shagil77 commented 1 year ago

Thanks for your reply. Let me explain the necessity of my proposed feature.

Right now, where the app stands, it has hardly a handful of basic self-learning tutorials. For the users of the application to actually start using and learning about the intricacies of the noble Bitcoin Technology and Wallets, we need to include a lot more tutorials than is presently there. Let us say there are 100 self-learning tutorials all grouped under various topics, and each tutorial having on average 10 chapters. Suppose a user started learning and completed 40 tutorials, but due to some reason he/she uninstalled the app, or deleted the app cache, or maybe he wants to access the tutorial from a different Android Device. What will be his/her first reaction? "All my hardwork and progress goes to vain!". The sole reason being that the application uses just the unreliable local app storage (Room DB to be precise) which easily gets deleted by any one of the above mentioned actions. For the very same, the learning progress of each user should be stored on a reliable remote server for easy and fast access, even across multiple devices. Also, how will we know which self-learning tutorials are actually good, which tutorials are bad and need rectification, if there is no feedback/rating system? So in order to increase the user learning experience of the Bitcoin Technology and Wallets (one of the use cases of the app), this feature should be included to improve user experience. And this can be made possible if each user has an account (even though anonymous) with the esteemed organization.

This was my elaborate thinking behind the proposed feature. I hope I was able to convey my thoughts precisely and clearly. Would be happy to hear from you soon.

On Thu, Apr 27, 2023 at 7:37 PM thunderbiscuit @.***> wrote:

Why do you think we should we add a whole backend setup? Happy to hear what you think it would add, but from where I stand this sounds like added complexity that doesn't bring much benefit. What would we gain from it?

About user authentication; what authentication do we need? Authenticate what? Bitcoin is this super cool protocol that is permissionless, and leveraging that is one of the best features of this app. No accounts needed, no login, nothing. Just... download and learn! I don't know what accounts would bring us. Feel free to elaborate!

— Reply to this email directly, view it on GitHub https://github.com/thunderbiscuit/padawan-wallet/issues/304#issuecomment-1525764263, or unsubscribe https://github.com/notifications/unsubscribe-auth/AR5PIVO5R5UJOSZYUKCWPWTXDJ4TJANCNFSM6AAAAAAW7MCUEM . You are receiving this because you authored the thread.Message ID: @.***>

thunderbiscuit commented 1 year ago

The app as currently designed takes advantage of the fact that users don't need accounts. It's one of the things I like most about it! Will close this for now, but thank you for opening the discussion on this.