Based on feedback from users in the What Does The Software Need thread asking for an easy to use Decred wallet GUI, the first RFP covers enhancements to the Decred port of Paymetheus: RFP0001 - Windows wallet UI/UX overhaul Note: This RFP is open to you. You are asked to submit proposals if you are competent in this area and the money will go to you if your application is successful upon completion of the work proposed. I develop Paymetheus and will work with you. Please send all proposals to: rfp2016 <at> decred.org Closing Date All proposals must be submitted by 06:00 PM UTC March 1st, 2016. Description The Paymetheus project, a graphical Bitcoin wallet for Windows implemented with WPF, is being ported to Decred. The UI/UX for Paymetheus is currently very basic and is in need of a visual overhaul for consistency and usability. Several user interface changes will also need to be made to the application to support features specific to Decred. This overhaul requires 2 separate deliverable sets that may be supplied by separate individuals or groups: (1) a new visual design, possibly including changes to the application task flow to streamline the UX, and (2) additions and modifications to support the staking features of Decred. Proposals may be submitted for deliverable sets (1), (2) or both (1) and (2). Requirements UI design - Experience with references to prior work UI coding - Familiarity with C#, Windows Presentation Foundation (WPF) and XAML. Experience with references to prior work Scope Paymetheus currently includes UI elements for: creating new or opening existing wallets, creating new or renaming existing accounts, displaying an account's balance and transaction history, creating new receiving addresses, creating and sending transactions, unlocking the wallet, and importing private keys. Screenshots of the current port can be found in this RFP directory. Existing screens and prompts must be modified to follow a modern design. Examples of good design include Microsoft's design language for Windows 8 and Universal Windows Platform (UWP) apps and Google's Material Design. Icons must be added for common tasks and to help visually distinguish between different kinds of transactions. Colors should be used to make the application more visually appealing. Functionality must be modified to support Decred changes and staking features. A new view must be added for purchasing tickets from a stake pool (this can be integrated into the existing transaction creation view, or added as a new task). The confirmation indicator must be modified to properly represent Decred's stakeholder block validation. Changes to the Paymetheus layout and task flow are acceptable, but must be accompanied with sound reasoning and be proactively addressed as part of the UI design. The application must remain compatible with Windows 7. Estimated Work 1 week FTE or greater (1 FTE = 40 hrs/week). Proposal Proposals should include: Description of proposed visual design Mockups showcasing proposed changes to the application layout and task flow References to prior work on WPF projects (preferably open source) Estimated completion time Milestones Partial payments shall be made at the following milestones: Visual design The proposed design style is integrated into a single view (e.g. the Account Summary view) The proposed design style is integrated into the entire application The design has been successfully integrated into the Paymetheus master branch Decred integration XAML interface created for stake ticket purchases Integration with wallet code for purchasing stake tickets (requires demonstration) Confirmation indicator redesigned for stakeholder validation Decred-specific changes have been successfully integrated into the Paymetheus master branch Modification of these proposed milestones is acceptable, and must be accompanied by sound reasoning in a proposal. Under no circumstances shall payments be made in advance of work being completed.
Looks nice... But as a Linux user I have a hard time getting behind a project that is not at least cross platform. Any reason why it is Windows only?
We're focusing on doing native GUIs for each platform. It is extremely difficult to write a high quality graphical application that is cross platform without sacrificing on the user experience. Windows was simply the first priority for us (and I happen to run it on a few machines as well). Next up is OS X, followed by either Qt or GTK for Unix. GUIs for those other platforms may be developed as RFPs as well, so we'll see what the community wants. Also, on the topic of being cross platform, all of the Paymetheus code that doesn't deal with the graphical layer should be cross platform (but I have not tested this). If you have any trouble running any of the code in the Paymetheus.Decred or Paymetheus.Rpc namespaces under either Mono or .Net Core on OS X or Linux, please let me know. I consider that a bug.
I see @jrick has responded to your message, but I wanted to explain this RFP is open to anyone. @jrick will work with the person or people who are successful in their submitted proposals if they are competent in this area. Simply, that means the money goes to the successful applicant on completion of the work they proposed and performed (funded through the development subsidy in DCR). If anyone has any questions about the process, please don't hesitate to ask. I'll send a general message to forum members as well to try and explain the process and get parties involved - please forgive me for doing that! It's only to explain the process and help guide those who may not know to this spot (since this is a new process).
Hmmm... I know some cool things, I'm pretty good in WPF, but I'm more the GDI+ guy. I dont have any WPF styles to show but GDI, is that also acceptable?
I have a general question concerning the RFP process: Are interested applicants supposed to apply in private or do you want them to apply publicly? How are applicants selected?
One advise: make it as simple as possible, this to make an advantage to any other cryptocurrency since there is always a hassle to use the wallet for newcomers. It would be a big advantage for Decred if a toddler could work with the wallet (Of course I'm exaggerating) If I can find some spare time I will try to make a GUI
Per my explanation in a recent announcement about RFPs in general, this process is documented in the Constitution: DHG shall make public requests for proposals ("RFPs") for projects that are to be completed by parties on a contractual basis. RFPs shall include a scope and an explanation of how the work shall benefit the project. Parties that submit proposals shall be required to include: (1) a detailed description of the work to be performed, (2) a series of milestones that can be verified as work is completed, and (3) a quote for the work, itemized by milestone, in U.S. Dollars ("USD"). All proposals, both submitted and accepted, shall be made public one week after a proposal has been selected. Once the selection occurs, the associated RFP shall be removed. Contracted parties shall be paid exclusively in decred ("DCR") at the current effective DCR/USD rate at the time of payment, unless specifically noted otherwise. This means that proposals are private until one is selected, then, after 1 week from the selection, all the submitted proposals are made public. The goal here is to keep things as transparent as possible - if DHG makes a bad call on which proposal to accept, the community can see it and voice their opinion. Give the linked announcement a read if you want to know more about the RFP process.
I'm a WPF developer and willing to participate. I cant work full time, but I could work 4hr/day if thats ok. I'll clone ur repo and take a look at the existing code. Actually I'm working right now so I'll do that in a few hours... see ya guys!
@jy-p: Thank you for the clarifications! It sounds like a reasonable process, I'm curious how this will pan out.
Since it would be a little silly to open this RFP without having the current Paymetheus port available, you can now find the port on github: https://github.com/decred/Paymetheus At the moment, the README is still written for Bitcoin. If you want to begin using the port, you should build my sync branches of dcrd and dcrwallet which adds the new RPC features that Paymetheus requires to dcrwallet.
I see manual input selection in the screenshot for "Create Transaction", is this similar to coin control? can i specify a custom change address or i just have specify an output that is my custom change address. Thanks.
It is like coin control, but it's not implemented yet. However, i wanted to add the checkbox there anyways for when it is. The idea is that when checked, additional widgets will be shown under the checkbox that allow you to select the inputs manually. Custom change address is different from input selection and I don't see a good way of supporting it with the current interface. Ideas are welcome though.