Such Project, Much GUIs #6

Closed
opened 6 years ago by pazos · 18 comments
pazos commented 6 years ago (Migrated from github.com)
Owner

Can you please explain me why two gui's for wownero? Is the sumokoin gui intended to replace the other one or each one is for a different purpose?

Remember than the sumokoin gui is just a wrapper to monero-wallet-rpc, and its basically a html page with some controls embedded. Not sure if its secure or not but pyside seems old and I can't find a proper event filter (e.g: to prevent click hijacking).

On the other side the monero gui is full of features that wownero may not need (support for ios/android, support for bootstrapping, remote nodes, support for detached daemon manager, etc).

Can you please explain me why two gui's for wownero? Is the sumokoin gui intended to replace the other one or each one is for a different purpose? Remember than the sumokoin gui is just a wrapper to monero-wallet-rpc, and its basically a html page with some controls embedded. Not sure if its secure or not but pyside seems old and I can't find a proper event filter (e.g: to prevent click hijacking). On the other side the monero gui is full of features that wownero may not need (support for ios/android, support for bootstrapping, remote nodes, support for detached daemon manager, etc).
bomb-on commented 6 years ago (Migrated from github.com)
Owner

Can you please explain me why two gui's for wownero?

Yes. I am comparing which of two is more maintainable, at least for me, since I am the one (of two) trying to make something out of it. I have 0 experience with QML, C, C++ and related but a lot of experience with Python.

Is the sumokoin gui intended to replace the other one or each one is for a different purpose?

Both should serve the same purpose, but I think that at this point no one can say for sure which one will do that in the end.
The Monero GUI fork was never properly compiled because of lack of operating systems (Windows mostly on my side) and because of lack of time to dedicate to compile static versions which would make everyone super happy. I personally don't have a lot of experience with mentioned C and therefore with compiling process and it's tricks either. On the other side, Sumokoin version was very easy to handle (on my side) but I still miss that Windows machine and some free time to figure out how to even compile something there. It also needs proper testing on Linux machines, so that brings us to 2 never-finished GUI versions at the moment.

Remember than the sumokoin gui is just a wrapper to monero-wallet-rpc, and its basically a html page with some controls embedded.

I am personally very aware of that and I think rest of devs are too.

Not sure if its secure or not but pyside seems old and I can't find a proper event filter (e.g: to prevent click hijacking).

God bless the one who wants to click-hijack Wownero GUI wallet for any purpose in this world. I assume that would mean that Wownero actually has some value. :)
But yes, you might have the point there and that might not be the only "feature" it lacks...

On the other side the monero gui is full of features that wownero may not need (support for ios/android, support for bootstrapping, remote nodes, support for detached daemon manager, etc).

All stated is 100% correct and I personally 100% agree :)
However, I probably don't have enough knowledge, instruments and (the most important) time to handle all that by myself. I tried, really did, but i probably spent 10x more time than someone else would and yet I delivered half-finished product. I personally would really like to see more people involved in something they will eventually use themselves (especially because I almost always use cli anyways) but that's probably a topic for some other discussion.

All that said, Wownero GUI wallet is definitely not finished yet and I think that there is no definite decision which of two versions (or maybe even some third?) will be developed in the future.

> Can you please explain me why two gui's for wownero? Yes. I am comparing which of two is more maintainable, at least for me, since I am the one (of two) trying to make something out of it. I have 0 experience with QML, C, C++ and related but a lot of experience with Python. > Is the sumokoin gui intended to replace the other one or each one is for a different purpose? Both should serve the same purpose, but I think that at this point no one can say for sure which one will do that in the end. The Monero GUI fork was never properly compiled because of lack of operating systems (Windows mostly on my side) and because of lack of time to dedicate to compile static versions which would make everyone super happy. I personally don't have a lot of experience with mentioned C and therefore with compiling process and it's tricks either. On the other side, Sumokoin version was very easy to handle (on my side) but I still miss that Windows machine and some free time to figure out how to even compile something there. It also needs proper testing on Linux machines, so that brings us to 2 never-finished GUI versions at the moment. > Remember than the sumokoin gui is just a wrapper to monero-wallet-rpc, and its basically a html page with some controls embedded. I am personally very aware of that and I think rest of devs are too. > Not sure if its secure or not but pyside seems old and I can't find a proper event filter (e.g: to prevent click hijacking). God bless the one who wants to click-hijack Wownero GUI wallet for any purpose in this world. I assume that would mean that Wownero actually has some value. :) But yes, you might have the point there and that might not be the only "feature" it lacks... > On the other side the monero gui is full of features that wownero may not need (support for ios/android, support for bootstrapping, remote nodes, support for detached daemon manager, etc). All stated is 100% correct and I personally 100% agree :) However, I probably don't have enough knowledge, instruments and (the most important) time to handle all that by myself. I tried, really did, but i probably spent 10x more time than someone else would and yet I delivered half-finished product. I personally would really like to see more people involved in something they will eventually use themselves (especially because I almost always use cli anyways) but that's probably a topic for some other discussion. All that said, Wownero GUI wallet is definitely not finished yet and I think that there is no definite decision which of two versions (or maybe even some third?) will be developed in the future.
pazos commented 6 years ago (Migrated from github.com)
Owner

@bomb-on thanks for the feedback.

God bless the one who wants to click-hijack Wownero GUI wallet for any purpose in this world. I assume that would mean that Wownero actually has some value. :)

Good to know, please send me some wownero when you have time :p

All that said, Wownero GUI wallet is definitely not finished yet and I think that there is no definite decision which of two versions (or maybe even some third?) will be developed in the future.

Being so WOW, I think wownero deserves its own frontend. Maybe sumokoin idea isn't bad (i mean the wrapper around rpc wallet) but I would ditch pyside and go for qt instead (for the frontend) and lua to encode/decode json queries. This way the gui can be easily extendable (based on current rpc methods) without much C++ understanding.

@bomb-on thanks for the feedback. > God bless the one who wants to click-hijack Wownero GUI wallet for any purpose in this world. I assume that would mean that Wownero actually has some value. :) Good to know, please send me some wownero when you have time :p > All that said, Wownero GUI wallet is definitely not finished yet and I think that there is no definite decision which of two versions (or maybe even some third?) will be developed in the future. Being so WOW, I think wownero deserves its own frontend. Maybe sumokoin idea isn't bad (i mean the wrapper around rpc wallet) but I would ditch pyside and go for qt instead (for the frontend) and lua to encode/decode json queries. This way the gui can be easily extendable (based on current rpc methods) without much C++ understanding.
bomb-on commented 6 years ago (Migrated from github.com)
Owner

@bomb-on thanks for the feedback.

You are more than welcome!

Good to know, please send me some wownero when you have time :p

All my wow is safely locked on various exchanges in forms of 5000+ satoshi sell orders, so this might be a bit difficult :)

Being so WOW, I think wownero deserves its own frontend.

Agree.

Maybe sumokoin idea isn't bad (i mean the wrapper around rpc wallet) but I would ditch pyside and go for qt instead (for the frontend) and lua to encode/decode json queries. This way the gui can be easily extendable (based on current rpc methods) without much C++ understanding.

Tbh, I am open for any "solution" but because of lack of experience with cross-platform GUI apps in general is at this moment I am unable to decide which of mentioned paths would be "the best", while "the easiest to maintain" in the same moment :) I like the idea of making a wrapper around existing binaries very much and I will definitely try to google a bit about your suggestions! If you feel like you can share some hints and tips feel free to do so, or even better, join us in #wownero on IRC and let's have a quick chat about it sometimes...

> @bomb-on thanks for the feedback. You are more than welcome! > Good to know, please send me some wownero when you have time :p All my wow is safely locked on various exchanges in forms of 5000+ satoshi sell orders, so this might be a bit difficult :) > Being so WOW, I think wownero deserves its own frontend. Agree. > Maybe sumokoin idea isn't bad (i mean the wrapper around rpc wallet) but I would ditch pyside and go for qt instead (for the frontend) and lua to encode/decode json queries. This way the gui can be easily extendable (based on current rpc methods) without much C++ understanding. Tbh, I am open for any "solution" but because of lack of experience with cross-platform GUI apps in general is at this moment I am unable to decide which of mentioned paths would be "the best", while "the easiest to maintain" in the same moment :) I like the idea of making a wrapper around existing binaries very much and I will definitely try to google a bit about your suggestions! If you feel like you can share some hints and tips feel free to do so, or even better, join us in #wownero on IRC and let's have a quick chat about it sometimes...
pazos commented 6 years ago (Migrated from github.com)
Owner

I did some work today on a new gui. It is just a showcase, showing a dashboard tab. Was tested on linux against monerod, not wownerod, but should work on both.

My idea is implement other components as closable tabs, leaving the dashboard always opened. I'm not sure what is the best idea, maybe a tab per wallet? maybe one tab per view (transfer,receive,history)?. Feedback would be WOW!

error:

isrunning

wizard:

wizard
read-only
needmorespace

dashboard:

starting
loading
dashboard

I did some work today on a new gui. It is just a showcase, showing a dashboard tab. Was tested on linux against monerod, not wownerod, but should work on both. My idea is implement other components as closable tabs, leaving the dashboard always opened. I'm not sure what is the best idea, maybe a tab per wallet? maybe one tab per view (transfer,receive,history)?. Feedback would be WOW! ### error: ![isrunning](https://user-images.githubusercontent.com/975883/41886112-438310a2-78fb-11e8-952f-0f57df4fea55.png) ### wizard: ![wizard](https://user-images.githubusercontent.com/975883/41886012-c3488b10-78fa-11e8-812b-5a9919577912.png) ![read-only](https://user-images.githubusercontent.com/975883/41886050-f02997d2-78fa-11e8-98ef-140efdad7c95.png) ![needmorespace](https://user-images.githubusercontent.com/975883/41886045-eb961aec-78fa-11e8-9673-ad2b5f8ca6d2.png) ### dashboard: ![starting](https://user-images.githubusercontent.com/975883/41886022-d062057e-78fa-11e8-9561-0d0299bf8206.png) ![loading](https://user-images.githubusercontent.com/975883/41886029-d8834830-78fa-11e8-8ebb-4b9e72f2e84b.png) ![dashboard](https://user-images.githubusercontent.com/975883/41886174-98e913fc-78fb-11e8-834f-d83c9ea5fe5b.png)
xmrdsc commented 6 years ago (Migrated from github.com)
Owner

My feedback: wow. Do you have a branch where we can follow your progress?

Keep it up!

My feedback: wow. Do you have a branch where we can follow your progress? Keep it up!
pazos commented 6 years ago (Migrated from github.com)
Owner

And now supports quotes & lua scripting 😄

quotes
quotes2

@skftn: thanks. Don't have a branch because the code still sucks, but when I have something that works for somebody I will push it.

And now supports quotes & lua scripting :smile: ![quotes](https://user-images.githubusercontent.com/975883/41937253-2102e990-7990-11e8-85e4-7f97c38b9003.png) ![quotes2](https://user-images.githubusercontent.com/975883/41937306-448a1dd4-7990-11e8-901d-d1b25ab70680.png) @skftn: thanks. Don't have a branch because the code still sucks, but when I have something that works for *somebody* I will push it.
bomb-on commented 6 years ago (Migrated from github.com)
Owner

@pazos I am speechless! :) This work is stellar!!

About your UI dilemma, I would go with using tabs for wallet functions (transfer, receive, history, etc.) and I wouldn't allow using multiple wallets in the same time.

And OMG, are those quotes for IRC?? :D

@pazos I am speechless! :) This work is stellar!! About your UI dilemma, I would go with using tabs for wallet functions (transfer, receive, history, etc.) and I wouldn't allow using multiple wallets in the same time. And OMG, are those quotes for IRC?? :D
pazos commented 6 years ago (Migrated from github.com)
Owner

About your UI dilemma, I would go with using tabs for wallet functions (transfer, receive, history, etc.) and I wouldn't allow using multiple wallets in the same time.

This is way easier so I'm going to do that. Not sure about the workflow. Bitcoin-qt is tied to a specific wallet.dat and allow us to import/generate all new adresses we want. Monero-gui remembers last open wallet and ask for a password at start.

I like the decred way. Recover/create a new wallet on start and use that unless the user closes it. Then wizard again.

I think suchwallet needs to be KIWS (keep it Wow & stupid) and skip all the open/close wallet nonsense.

And OMG, are those quotes for IRC?? :D

I copied those from IRC. They are stored in a lua table.

> About your UI dilemma, I would go with using tabs for wallet functions (transfer, receive, history, etc.) and I wouldn't allow using multiple wallets in the same time. This is way easier so I'm going to do that. Not sure about the workflow. Bitcoin-qt is tied to a specific wallet.dat and allow us to import/generate all new adresses we want. Monero-gui remembers last open wallet and ask for a password at start. I like the decred way. Recover/create a new wallet on start and use that unless the user closes it. Then wizard again. I think suchwallet needs to be KIWS (keep it Wow & stupid) and skip all the open/close wallet nonsense. > And OMG, are those quotes for IRC?? :D I copied those from IRC. They are stored in a lua table.
xmrdsc commented 6 years ago (Migrated from github.com)
Owner

a lua table

wow

> a lua table wow
pazos commented 6 years ago (Migrated from github.com)
Owner

Here suchwallet running on wownero network 👍

Such fast sync 📦

wow

Here suchwallet running on wownero network :+1: Such fast sync :package: ![wow](https://user-images.githubusercontent.com/975883/41995359-b869364c-7a51-11e8-8091-98c4c1d02ba1.png)
pazos commented 6 years ago (Migrated from github.com)
Owner

implemented interactive console for daemon (instead of using rpc to communicate, which is slower).
Need to add completion to the lineEdit and history capabilities, and maybe filter function address/types from the output

console-log
console-help

implemented interactive console for daemon (instead of using rpc to communicate, which is slower). Need to add completion to the lineEdit and history capabilities, and maybe filter function address/types from the output ![console-log](https://user-images.githubusercontent.com/975883/42003358-5edc4d8e-7a6b-11e8-9adc-4272d0b3519a.png) ![console-help](https://user-images.githubusercontent.com/975883/42003359-5fd56004-7a6b-11e8-91fc-dc277e30b75d.png)
pazos commented 6 years ago (Migrated from github.com)
Owner

I'm going full bitcoin-core in behaviour/visuals. So I implemented a "Debug Window" and moved consoles there.
debug
main debug

I'm going full bitcoin-core in behaviour/visuals. So I implemented a "Debug Window" and moved consoles there. ![debug](https://user-images.githubusercontent.com/975883/42047845-c4bc2c28-7b01-11e8-9e9f-1b99c58e8665.png) ![main debug](https://user-images.githubusercontent.com/975883/42047846-c62d7a26-7b01-11e8-990a-94826449edd1.png)
pazos commented 6 years ago (Migrated from github.com)
Owner

@wowario @bomb-on @skftn @jwinterm

At the end I'm going to integrate all the widgets in the mainwindow, a la Electrum and use monero wallet api instead of the wallet_rpc 💃

Logic:

Dashboard tab always visible
Transfer, receive & history tabs visible when wallet is opened.
Rest of tabs can be invoked from view menubar and closed from tab close icon.

Here is a sneak peak:

closable views (need to make addressbook visible only when wallet is opened)

1

one tab was invoked from the view menubar.

2

this tab can't be invoked again until that tab is closed.

3

basic support for completion (for daemon console)

4

@wowario @bomb-on @skftn @jwinterm At the end I'm going to integrate all the widgets in the mainwindow, a la Electrum and use monero wallet api instead of the wallet_rpc :dancer: ### Logic: Dashboard tab always visible Transfer, receive & history tabs visible when wallet is opened. Rest of tabs can be invoked from view menubar and closed from tab close icon. Here is a sneak peak: ### closable views (need to make addressbook visible *only* when wallet is opened) ![1](https://user-images.githubusercontent.com/975883/42128158-53091cee-7ca5-11e8-9282-f9102aae33f2.png) ### one tab was invoked from the view menubar. ![2](https://user-images.githubusercontent.com/975883/42128164-6f5bc572-7ca5-11e8-93b1-ca31b408c31e.png) ### this tab can't be invoked again until that tab is closed. ![3](https://user-images.githubusercontent.com/975883/42128167-856165b6-7ca5-11e8-8b17-b54f09865119.png) ### basic support for completion (for daemon console) ![4](https://user-images.githubusercontent.com/975883/42128189-ec361548-7ca5-11e8-9711-2bb070c3b97d.png)
xmrdsc commented 6 years ago (Migrated from github.com)
Owner

@pazos

Would love to see your code. I could expand on it (not sure if you're still working on it :D). Would be nice to get it working.

@pazos Would love to see your code. I could expand on it (not sure if you're still working on it :D). Would be nice to get it working.
pazos commented 6 years ago (Migrated from github.com)
Owner

@skftn: I didn't touch it since Juny. So it is not a wallet yet, just some basic frontend for monero/wownero daemons. I have no plans to do more work on this on the short term.

@skftn: I didn't touch it since Juny. So it is not a wallet yet, just some basic frontend for monero/wownero daemons. I have no plans to do more work on this on the short term.
xmrdsc commented 6 years ago (Migrated from github.com)
Owner

@pazos Share source? ^^

@pazos Share source? ^^
pazos commented 6 years ago (Migrated from github.com)
Owner

ofc, Will clean the messy parts and push to github next week.

I think I'm going to remove the lua/plugin system and other jokes

ofc, Will clean the messy parts and push to github next week. I think I'm going to remove the lua/plugin system and other jokes
wowario commented 6 years ago (Migrated from github.com)
Owner

Wownero-Light-Wallet GUI is out now.

[Wownero-Light-Wallet](https://github.com/wownero/Wownero-Light-Wallet) GUI is out now.
Sign in to join this conversation.
No Milestone
No Assignees
1 Participants
Notifications
Due Date

No due date set.

Dependencies

No dependencies set.

Reference: wownero/meta#6
Loading…
There is no content yet.