CloakProject/codename-phoenix

Create front-end GUI for new codebase

Opened this issue · 0 comments

The new codebase will need a fully functional GUI to allow [novice/new] users to interact and utilise the product without interacting directly with the daemon.

There are two potential approaches to this:

1. Rework the existing Bitcoin QT GUI
Adding and extending GUI functionality where needed, so that all the Cloak specific components present in the existing [legacy] QT GUI are present. This should be fairly straightforward, if somewhat laborious. Potential sticking points for this route are likely to be related to events and messaging between the underlying code and the QT GUI side of things. There may be instances where the existing (legacy) implementation is somewhat tightly coupled in terms of underlying program code and GUI code, especially in terms of polling (for current connected Enigma peers etc). This may require some reworking during implementation, but that seems to be the order of the day in terms of updating the codebase as the BTC codebase has changed significantly since Cloak's initial 2014 release. There may also be some QT GUI elements in the BTC codebase that Cloak does not require, but this is unlikely and should be fairly trivial compared to adding new GUI functionality.

2. Create stand-alone GUI app to interact directly with a daemon instance
This solution would involve creating a dedicated front-end app that interacts with the daemon in much the same way as the monero-wallet-gui does. Such an application could be developed using something like Electron to provide a write-once cross-platform solution. Taking this approach would result in a more loosely coupled GUI as opposed to the QT route, but may well prove cleaner, clearer and easy to maintain.