Welcome to the Dash Forum!

Please sign up to discuss the most innovative cryptocurrency!

Pre-proposal: Dash Wallet for Android - Maintenance and Support

Discussion in 'Pre + Budget Proposal Discussions' started by HashEngineering, Mar 30, 2017.

  1. HashEngineering

    HashEngineering Active Member

    Joined:
    May 3, 2014
    Messages:
    249
    Likes Received:
    344
    Trophy Points:
    123
    Executive Summary:
    This proposal will be for bug fixes and support of the Dash Wallet for Android for 6 months. This will be submitted after the next super block.

    Fee: 11 DASH per month for 6 months. 10 DASH/month for the actual work, 1 DASH/month to pay for Proposal Submission Fee.

    Feedback is appreciated.

    Longer Text Below (PDF is attached).:
    ---------------------------
    1. Project Name:


    Dash Wallet for Android – Support and
    Maintenance


    Description and Goal Statement:

    In a narrative, describe project context and background. What is the business need that gave rise to this project? Describe the business drivers that created the problem, opportunity or business requirement. Examples: regulatory issues, outdated technology or technological advance, community request.

    The Dash Wallet for android is a popular mobile wallet for the DASH cryptocurrency. Like any software it requires maintenance (bug fixes) and support for the users when they report issues or ask questions via email, slack or other social media sites.

    Email Address / Website:

    [email protected]
    http://www.hashengineeringsolutions.com/dashwallet-maintenence/

    Vendor:

    Hash Engineering Solutions

    4. Project Scope Statement

    Project Purpose / Business Justification

    Describe the business need this project addresses

    The DASH community has a need for mobile wallets and Dash Wallet for Android (https://play.google.com/store/apps/details?id=hashengineering.darkcoin.wallet) is one such wallet. Without well maintained mobile wallet apps, the DASH ecosystem will lack critical components in seeking adoption. With respect to this proposal, the Dash Wallet for Android has increased its usage by 50% since February based on Installs on active devices reported by Google Play (from 4000 to 6000).

    Hash Engineering Solutions created the Dash Wallet for Android in 2014 and has been maintaining it since.

    Objectives (in business terms)

    Describe the measurable outcomes of the project (e.g., reduce cost by xxxx or increase quality to yyyy). Describe what will be achieved and what will be delivered. What are the benefits that the project provides Dash? What value will this project deliver to Dash? What is the vision - what will business be like after the project is done?

    The vision of this project is to improve the user experience of the Dash Wallet for Android app which is one of the few mobile apps used by the Dash Community and one of the very few that supports InstantSend for sending and receiving Dash. This will be achieved through maintenance of the app (mainly bug fixes) and technical support to the users.

    This app and its continued availability on the Google Play Store will allow for greater acceptance of Dash and help increase the number of transactions on the network.

    Key Deliverables

    List the high-level “products” to be created (e.g., application to do aaaa, improved xxxx process, manual on yyyy)

    Maintenance of the Dash Wallet for Android

    Tech Support of the Dash Wallet for Android

    Manual for the Dash Wallet for Android

    · How to use the app

    · How to address problems/bugs until the next update fixes them

    Scope

    Describe the boundaries of the project. What is in scope and what is not in scope (e.g. This project addresses Dash to fiat exchange process in the Internet. Direct exchanges (hand to hand) are not included in scope)?

    Maintenance of the Dash Wallet includes bug fixes and importing any changes from Bitcoin Wallet for android (upstream). Changes from Bitcoin Wallet can include bug fixes, new features and optimizations. This proposal does not include adding any other new features to the Dash Wallet. Bug Fixes and Updates will be submitted to the following channels:



    Support includes answering emails from users, responding to crash reports (via email also) and helping users who use other forms of communication (slack, reddit, Dash Forum, etc). Some feedback is useful and helps with fixing bugs. Additionally a manual will be written to aid with tech support. The manual will include work arounds for known issues. The avenues of providing support to users includes:



    Project Milestones and Schedule

    Propose exact start and end dates for Project Phases (e.g., Analysis, Planning, Construction, Delivery). What date will the actual project work start? What is the anticipated date that the project will be delivered and project team disbanded? Are there any dates that will drive the project schedule? (Examples: regulatory, vacation…). Include known milestones and/or phases.

    This proposal is for a six month time period starting on 1 May 2017 and ending on 30 December 2017. Before 30 June 2017, updates will be taken from Bitcoin Wallet and integrated into Dash Wallet after thorough testing.


    Success Criteria

    How will we know when the project is done? How will the Dash team decide if the final deliverable is satisfactory? What measure will be used?

    The measurements used will be the number of bug reports and crashes from Google Play and via email, the number of installs as counted by Google Play and the app ratings from Google Play. These measurements will be compared to previous months. For the planned major update, the Google Play and GitHub will show the versions numbers with dates. Any bug fix updates can be accessed the same way.

    Major Known Risks (including significant Assumptions) Identify obstacles that may cause the project to fail.

    Risk - Risk Rating (Hi, Med, Lo)

    Hash Engineering Solutions is a single person. If there is illness or accident or other obligations related to personal issues or regular employment, support will be limited or delayed. Mitigation: documentation, good information about the wallet shared with the community, open source code - Medium

    Disconnection from the Core Team. Mitigation: maintenance of contact with core team to synchronize technology, branding... - Medium


    Constraints

    List any conditions that may limit the project team’s options with respect to resources, personnel, or schedule (e.g., predetermined budget or project end date, limit on number of staff that may be assigned to the project).

    The schedule of the planned upgrade to take changes Bitcoin Wallet may be impacted based on feedback from testers (if it’s limited). In the past some bugs took a long time to solve due to limited user feedback (not many crash reports sent or other descriptions from users was not sufficient to identify the issues).

    External Dependencies

    Will project success depend on coordination of efforts between the Dash core team, the project team and one or more other individuals or groups? Has everyone involved agreed to this interaction?

    This project does not depend on interaction with the Dash Core team unless there are significant changes in the Dash Network Protocol. The recent 12.1 upgrade was such an example because of its significant and breaking changes. That did require help from the Dash Core Team, but that type of event is not foreseen for this proposal. Members of the core team have been helpful in the past and are aware of this proposal.

    5. Communication Strategy (specify how the project manager will communicate to the Sponsor (Dash community) and Project Team members, e.g., frequency of status reports, frequency of Project Team meetings, etc.)

    Reports will be prepared at the end of each month and will include:

    · The number of and type of bugs reported by Google Play and by Email as compared with the previous month. Any actions taken (such as bug fixes) will be noted.

    · The number of installs from Google Play for the month, compared to previous months.

    · The overall rating and any changes from the previous month


    6. Reviews Planned (indicate what reviews this project plans. Monthly reviews are recommended.)

    End of Month reviews



    7. Notes

    Fee = 10 Dash / month for the proposal items, 1 Dash / month to cover the proposal submission cost; 6 month contract.

     

    Attached Files:

    • Like Like x 7
    • Winner Winner x 1
  2. GuerraDiValute

    Masternode Owner/Operator

    Joined:
    Mar 13, 2017
    Messages:
    69
    Likes Received:
    31
    Trophy Points:
    58
    I love the android wallet and will be supporting this. Cheers!
     
  3. TroyDASH

    TroyDASH Well-known Member
    Masternode Owner/Operator

    Joined:
    Jul 31, 2015
    Messages:
    830
    Likes Received:
    601
    Trophy Points:
    163
    Sounds good to me. By the way, you do raise a good point about the risk of HashEngineering being a single person. Are there any opportunities to mitigate this risk -- is there anybody else interested to volunteer (or get paid a small amount) to familiarize themselves with the android wallet and provide support or development?
     
    • Like Like x 2
  4. HashEngineering

    HashEngineering Active Member

    Joined:
    May 3, 2014
    Messages:
    249
    Likes Received:
    344
    Trophy Points:
    123
    You bring up a good point. I do currently get some support from a core developer, Tomasz Ludek, who does most of the user interface work. However I do get all the bug reports and many of the problems with the wallet have been with the dash protocol implementation in Java for whom there is no backup at this time. I will consider how to mitigate some of these concerns and add them to the proposal.
     
    • Like Like x 2
    • Informative Informative x 1
  5. fernando

    fernando Powered by Dash
    Dash Core Group Foundation Member Moderator

    Joined:
    May 9, 2014
    Messages:
    1,487
    Likes Received:
    1,915
    Trophy Points:
    283
    To me this is a no brainer YES. We need a reliable Android wallet and @HashEngineering has been providing one since long ago.
     
    • Like Like x 1
  6. HashEngineering

    HashEngineering Active Member

    Joined:
    May 3, 2014
    Messages:
    249
    Likes Received:
    344
    Trophy Points:
    123
    I am going to find a second person to help me (as a backup) on tech support issues.

    Since I plant to submit this proposal soon, I am wondering if the price is to high or low. What about the 6 month contract? Too long or too short?

    Thanks.
     
    • Like Like x 2
  7. Nick

    Nick New Member

    Joined:
    Mar 29, 2017
    Messages:
    36
    Likes Received:
    9
    Trophy Points:
    8
  8. lynx

    lynx Active Member

    Joined:
    Dec 11, 2015
    Messages:
    358
    Likes Received:
    245
    Trophy Points:
    113
    Sounds about right. Would even pay a little more since you are hiring some help.

    We need a reference mobile wallet that implements all of Dash's features and updates quickly.
     
    • Agree Agree x 4
    • Like Like x 1
  9. HashEngineering

    HashEngineering Active Member

    Joined:
    May 3, 2014
    Messages:
    249
    Likes Received:
    344
    Trophy Points:
    123
    Jaxx doesn't support InstantSend, a feature that was added to the app that this proposal will continue to fund over one year ago. In that sense, someone else is not already doing it for us. InstantSend support includes both Sending and Receiving and it does so at the protocol level with all the security that an SPV wallet can offer. The implementation closely mirrors Dash Core.

    While the Jaxx wallet has many features that this Dash Wallet app doesn't have, Jaxx also generates revenue for its owners and developers from one of its features as referenced in the reddit link above. Dash Wallet for Android, like Dash Core, is open source software and does not charge commissions on any transaction (except for the required network fees). As such a proposal will be submitted.
     
    • Like Like x 3
    • Agree Agree x 1
  10. Fount4inhead

    Fount4inhead Member

    Joined:
    Mar 21, 2017
    Messages:
    43
    Likes Received:
    10
    Trophy Points:
    48
    Will support this
     
  11. TroyDASH

    TroyDASH Well-known Member
    Masternode Owner/Operator

    Joined:
    Jul 31, 2015
    Messages:
    830
    Likes Received:
    601
    Trophy Points:
    163
    I would support this at your requested about of 10 dash plus submission fee

    6 months might be too long though, 3 months or even month-to-month seems to be more standard so that you can readjust price in case of major market moves one way or the other
     
    • Agree Agree x 3
  12. HashEngineering

    HashEngineering Active Member

    Joined:
    May 3, 2014
    Messages:
    249
    Likes Received:
    344
    Trophy Points:
    123
    I want to avoid month to month because it requires more "paperwork" and the proposal fee is 50% of what I am asking.

    I will consider 3 months. In such a case I could see how it goes with reporting of results, etc.
     
  13. joezippy

    joezippy Member
    Masternode Owner/Operator

    Joined:
    May 21, 2015
    Messages:
    106
    Likes Received:
    62
    Trophy Points:
    78
    I'll support the 3mo... I think it's critical @ this point to have a solid Android wallet... However, I also think it's important to bring in some multi-coin wallets like jaxx to the proposal table for supporting more of our network functionality like instant send... They can hire @HashEngineering to help them implement it... :) Cheers!
     
  14. xjones

    xjones Member

    Joined:
    May 22, 2016
    Messages:
    75
    Likes Received:
    38
    Trophy Points:
    58
    While it's OK for this wallet to be maintained for some time more, in the long run we should be phasing out non-deterministic wallets.

    Also, Dash-specific wallets are no longer a good idea. Let's face it, people are using multiple virtual currencies, and there's nothing wrong with that.

    Multicurrency wallets allow for easy conversion, e.g., between Bitcoins and Dash, and that is good for everybody.

    Future Dash budget funds would be better spent thus:

    - Contribute funds to Coinomi so they can add instant send and perhaps private send to their existing Dash-capable multicurrency wallet.
    - Contribute funds to Mycelium so they can add Dash to their Bitcoin wallet.
    - Contribute funds to Electrum so they can merge dash-electrum into standard electrum, making standard electrum into a Dash-capable dual-currency wallet.

    I haven't listed Jaxx above because it is too slow to be usable. if they ever get it to perform better, add it to the list above.
     
  15. HashEngineering

    HashEngineering Active Member

    Joined:
    May 3, 2014
    Messages:
    249
    Likes Received:
    344
    Trophy Points:
    123
    Thanks for the support.

    The Dash Wallet for android is an HD wallet. It doesn't currently support exporting/importing xprv or the 12 word seed to other wallets.

    The Dash Wallet for android probably will not support multiple coins. Unlike Coinomi, for instance, the amount of work to add another coin would be tremendous. Because it is a protocol level app, it would be syncing the blockchain of multiple coins, the app would be using a lot of battery and bandwidth.

    Coinomi uses electrum servers. Therefore, if coinomi was to support Dash specific features like InstantSend or PrivateSend, then the electrum server needs to support those features. Most of the work would be done by the servers, while the app would need less changes.

    I find it interesting that Dash has these selling points (InstantSend and PrivateSend), but much of the software that is out there doesn't support those features.
     
  16. GrandMasterDash

    GrandMasterDash Well-known Member
    Masternode Owner/Operator

    Joined:
    Jul 12, 2015
    Messages:
    1,463
    Likes Received:
    557
    Trophy Points:
    183
    Does your wallet support Private Send now? (obviously I haven't used it in a very long time)
     
  17. xjones

    xjones Member

    Joined:
    May 22, 2016
    Messages:
    75
    Likes Received:
    38
    Trophy Points:
    58
    Thanks, I appreciate the correction. I had (incorrectly) assumed that it was not deterministic since it gave me no option to import or export seed words.

    Though strictly speaking, It's a D wallet (i.e., deterministic wallet), not an HD wallet (i.e., hierarchical deterministic wallet), because it has no hierarchy. Usually HD means the initial seed is used to generate multiple accounts, each account containing its own set of deterministically-generated addresses. So for example in the bitcoin world, Coinomi and Copay are D while Mycelium with its multiple accounts is HD.

    The rest of what I posted remains unchanged even in view of your correction.
     
  18. HashEngineering

    HashEngineering Active Member

    Joined:
    May 3, 2014
    Messages:
    249
    Likes Received:
    344
    Trophy Points:
    123
    PrivateSend is not supported. If I were to implement this feature, the reliability would not be guaranteed due to the nature of mobile devices constantly changing IP addresses.
     
    • Like Like x 1
  19. HashEngineering

    HashEngineering Active Member

    Joined:
    May 3, 2014
    Messages:
    249
    Likes Received:
    344
    Trophy Points:
    123
    Because of this statement, I plan to add the functionality to view and restore the wallet from the seed words. It was rather easy to add the function to view the seed (recovery phrase). Once implimented this app will support BIP39 (https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki), but its recovery phrases won't necessarily be compatible with any other software.


    BIP32 (https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki) defines Hierarchical Deterministic Wallets and "[c]lients are not required to support more than one account." Hierarchy extends beyond accounts as each account has internal and external chains, which the Dash Wallet does support. The internal chain is used for change. Even if a software implementation only supported a single account and the external chain (no branching in the heirarchy except for the keys), it would still follow BIP32.

    Coinomi supports even more levels of hierarchy, even if it only supports one account per coin. Coinomi implements BIP44, which adds two more levels: purpose and cointype. Copay is listed under the "Compatible wallets" section of BIP44.

    Regarding Dash Wallet, it would be possible to add multiple accounts without breaking compatibility with previous versions. I will add that to my list of future feature additions that I will be making a post about soon to gauge interest in what improvements the community would want to see in this app.
     
  20. xjones

    xjones Member

    Joined:
    May 22, 2016
    Messages:
    75
    Likes Received:
    38
    Trophy Points:
    58
    OK I know there will be differences of opinion about this, but the BIPs are intended to help ensure software compatibility. They don't necessarily tell us what words to use in our daily lives.
     
  21. xjones

    xjones Member

    Joined:
    May 22, 2016
    Messages:
    75
    Likes Received:
    38
    Trophy Points:
    58
    There is an existing deterministic wallet Coinomi that supports dash.

    And I think Jaxx is also compatible with Coinomi, i.e., the same seed words in Jaxx and Coinomi will generate the same dash addresses.

    So it would be really good if you could remain compatible with both of these wallets. Less user confusion and better convenience restoring into any wallet with the same seed.
     
  22. HashEngineering

    HashEngineering Active Member

    Joined:
    May 3, 2014
    Messages:
    249
    Likes Received:
    344
    Trophy Points:
    123
    I agree. There are plans in Dash Core to be an HD wallet also (https://www.dash.org/forum/threads/...-another-wallet-e-g-mobile.14545/#post-123792), for which there are plans to have the same derivation path as Coinomi and Jaxx.

    I am giving thought to changing Dash Wallet for Android to use the same derivation path, but I need to retain backward compatibility with the current scheme.
     
  23. Dashmaximalist

    Masternode Owner/Operator

    Joined:
    Mar 16, 2017
    Messages:
    285
    Likes Received:
    43
    Trophy Points:
    88
    hi guys

    i have an idea that we believe can help us in scaling the user base dramatically

    we want to implement facial recognition in the app and give $5 for everyone who signs up and $5 ( or even less for certain countries) to those who refer others

    i have a team which is working on facial recognition and OTP verification bit in a normal app

    how easy / difficult is it to integrate with the dash wallet and release it to the play store
     
  24. HashEngineering

    HashEngineering Active Member

    Joined:
    May 3, 2014
    Messages:
    249
    Likes Received:
    344
    Trophy Points:
    123
    This proposal period is complete, though a few things remain.
    1. The release of v5.14 (which allows of for the use of recovery phrases) is underway at about 60%.
    2. The F-droid release didn't work yet. The main developer for F-droid left and there is currently no answer to our issue on publishing on that service.

    For the remaining weeks of this month, we will be submitting one or two updates to fix bugs that are reported by Google Play. Additionally work will begin on adding BIP44 support. This will allow full compatibility with dashwallet for iOS and some limited campatibility with other Dash wallets such as Jaxx and Exodus.
     
    • Like Like x 2

Share This Page