NuBits Android App roadmap and funding

After the successful delivery of the official NuBits Android App ( Click here for info and download ) it is time to plot the next steps. However there is a cost for development and testing. Instead of just raising one or more custodial grant proposals I like to gauge interest first by raising funds Kickstarter style. I ended up with the following:

When we have raised NBT 250, I will raise a custodial grant proposal for the remaining cost to execute item 1 on the roadmap asap (see proposed roadmap below)

When we have raised another NBT 2,250, I will raise a custodial grant proposal for the remaining cost to execute item 2 on the roadmap asap

For another NBT 1,000, I will raise a custodial proposal for the remaining cost to execute of item 3 on the roadmap asap.

Adding another NBT 1,500 and we will get to item 4.

When the total of NBT 5,000 is raised within 2 weeks (before 8 Feb 23:59 GMT) I will raise a custodial grant for all the work at once and will try to contract the developer for it. Otherwise I will only add the roadmap items according to the amount of donations as above.
Haven’t added item 5 and 6 yet as that probably depends on open sourcing and given the other work is more than 6 months away. Other functionality might be required before we get to that.

The good news is that when we contacted the people behind Shapeshift ( https://shapeshift.io/ ) to discuss our proposal with them they promised us to donate NBT 1,000 towards our development. Thanks again Shapeshift. I will count that only against the NBT 2,250 for item 2, so only NBT 1,250 is still required to have this moved forward to a proposal for a custodial grant. Item 1 still requires NBT 250.

The remaining costs for each proposal are not clear and need additional estimating and design work, except for item 1 which is estimated at around NBT 1,000 and can be done in a relatively short time. Rough estimates for item 2 vary between NBT 3,000 and NBT 10,000 depending on the levels of fault tolerance and error handling required. More work on this proposal is still required.

Ok, so if you are already an Android NuBits user who like to see more or you like to support further enhancements as a shareholder please donate here:

All donations will go towards NuBits Android development and will be deduced from the cost of custodial grant proposals as defined above. I hope this approach stimulates the usage of NuBits, ensures we are doing the things the community and Android users value and to reduce the increase of the money supply as a result of a custodial grant.

So I hope many get behind this and we will have a leading and unique NuBits Android App which might even be of use within other cryptocoin communities with volatile coins.

** Disclaimer, in the event the developer is not available and no one else can be found to deliver this work the community will be asked what to do with the raised funds and if undecided they will go towards general development.

Proposed Roadmap

Below is the proposed roadmap with some indicative timelines. The timelines are subject to the availability of the developer, the triggers on donation levels being reached in time and the passing of the custodial grant proposals. Feedback from the community might also swap or skip some releases or add new releases with functionality not listed here. It is not set in stone until a custodial grant to deliver each step have been approved by the Shareholders

Adding NuShares and support for other coins to be launched on NuNet (e.g. NuEuro, NuCNY etc.)

More details on each step of the roadmap follow below:

1. Feb/March 2015 Update repo with the latest updates from peercoin repo (including passwords etc.)
This work is already underway for the Peercoin App, but still needs to be add to the NuBits App code. New features include:

Deterministic wallets (BIP0032)

Encrypt wallet with PIN code, required to send coins.

Displaying local currency in app widget

UI improvements

Any bug fixes and performance enhancements

2. April/May 2015 Build API and GUI for Shapeshift support in the App

Usage of Shapehift APIs to support the following functionality:

Pay to addresses in foreign cryptocoins and receive coins from foreign cryptocoin addresses from within the Android wallet using Shapeshift API. The Android wallet will only hold NuBits and therefore be always stable in value. Some further detailing of functionality:

Have the App recognise foreign coin addresses (e.g. in QR codes) for payments

Option to add email address to get receipt of transaction (from Shapeshift) by email.

Provide a return address for each coin in case the transaction couldn’t complete

Dealing with following error conditions:

Verify whether coin type is available (fixed list of coins Shapeshift currently provides or use API to verify whether available. The latter if more future proof in case coins are added or deleted).

Verify whether adequate funds to exchange are available (test max limit in API)

Verify whether adequate funds are available in user’s wallet based on the quoted rates

Verify time-out for quoted amount (e.g. invalidate after 1 minute, new quote required first before transactions can be completed) e.g. with countdown presented to user

Verify availability of Shapeshift API

Excluded functionality in this release:

Support foreign coin addresses in address book

Support foreign coin transaction history

Ability to display foreign QR codes to receive payments

The above functionality is excluded for now as it would likely add significantly to the cost. This can possibly be added in another release when there is broad support for this. The objective is to get the basic and most wanted functionality in the field in the short term.

Here is an use scenario to illustrate the functionality supported:
Alice want to pay merchant Bob. Bob only accepts Bitcoin. Alice scans the Bitcoin QR code and the App recognises a foreign coin. The App queries the latest Shapeshift rate and maximum allowed coins. Based on the rate the number of NBT required to pay is presented to Alice. Alice approves the amount and the rate and sends the NBT. The App shapeshifts the NBT into BTC and sends the coins to the designated BTC address of the merchant.
Before the transaction Alice has completed the field email address in Settings. When that is true the App sends Alice a confirmation of the payment (using Shapeshift API). This details the amount in BTC and NBT and the rate she paid which can be handy for bookkeeping. The value of the NBT transaction will be visible in her App. The merchant will get the usual confirmation(s) in his Bitcoin wallet and won’t even know Alice paid from a non-Bitcoin wallet.

3. June/July 2015 Add capability to configure a secondary server or your own server in the App and adding feature to disconnect/connect app manually when in the background.

Ability to configure a list of servers for centralised block validation.
The app would download hashes from either a random server or from the top of a priority list (configurable option) and if the server is unresponsive it would download from the next in the list until all servers have been tried. This would enhance availability in cases where a centralised server may go down and will allow users to choose whatever server they would like. There’s nothing stopping someone running their own server, in which case I would like to create…

An easy installation script for the server software.
Ideally new server software should be created without the use of Abe. Abe was mainly used due to familiarity and ease of development. New software can interface directly with the NuBits daemon.

Ability to switch between the production network and test network within the same application

4. Adding multi-sig and GUI support
This would likely require updating the repositories from upstream to the latest.

Adding multi-sig support to the Android interface
This is still a complicated process which requires a relatively complex user interface. This covers spending from a multi-sig address, receiving funds on a multi-sig address and creating a multi-sig address.

Wish-lists
Please feel free to ask for other functionality. Simple requests should be easily added to one of the first four proposed releases. The definition of simple is strongly related to the cost to develop it.

Being able to send BTC in a specific amount to a specific address using Shapeshift is a very useful feature. People can have the stability of NuBits but the merchant acceptance of Bitcoin in a convenient, easy to use package. I love it. I’d really like to see that implemented. It seems quite practical to implement on a technical level.

I am uncertain why crowdfunding is used here when a custodial grant would distribute the cost to all shareholders. Perhaps some people like to contribute directly in a way that custodial grants don’t allow.

What about compensation for our very capable project manager?

I’m pleased to see the custodial grant being used as a way to build network infrastructure and services in a decentralized manner. I hope others will consider doing so as well.

I am uncertain why crowdfunding is used here when a custodial grant would distribute the cost to all shareholders. Perhaps some people like to contribute directly in a way that custodial grants don’t allow.

It provides people to have the ability to have a personal stake in it if they wish before I’m asking the Shareholders for a grant. It also stimulates the use of NuBits in circulation as opposite to creating new ones with a grant.

JordanLee:

What about compensation for our very capable project manager?

The amounts mentioned are just indicative costs. And it is not intended to raise all funds through donations. Once it becomes clear there is interest in one or more items of the roadmap, I will work with the developer to calculate the final costs including a contribution towards my own time and add that minus the donations into the custodial grant for voting.

What @Cybnate is doing is very important for the community, both from a technical point of view that from a community building angle.

I just made a donation by sending BTC to 1McvW8cYNBJ8AG4VzhjYXhMepdWKZzK9xU, which is now mapped to the NBT donation address via shapeshift.

You can also donate with BTC @ 1McvW8cYNBJ8AG4VzhjYXhMepdWKZzK9xU

It is important the community gets involved and put some personal stake in the project. Starring at CMC won’t make the value of your NSR grow, but making NuBits payments available where BTC are accepted is a huge step. It looks to me that most shareholders here are not donating .

Can I ask to @all of you that didn’t donated, not even a dollar, why ? Is the custodian grant perspective that stopped you? Or is it because you do not like this proposal? Is this thread too long and you need a TL;DR?

Donations are dropping in slowly, now over 70 NBT. Hope we will see a bit more over this weekend! First target is 250 NBT

Tip: Buy a few NuBits to get into your Android wallet to test it properly. When you have done that you transfer a good bunch of them to the donation address and complete the testing and post a review on Google Apps site.

Here is a quick update: just over 130 NBT. Thanks for the recent donations.

I’m currently working with the developer to price the first 3 items of the roadmap. The Shapeshift item (item 2) takes a bit more time to work through but I hope to post a proposal for a custodial grant in the next 7-10 days.

In the mean time I do hope to get some more indication in the form of donations that there is support to invest in this significant piece of work.

I’d also like to see a custodial grant. Getting the Android wallet pimped out is a worthy cause.

Same. I don’t quite understand the “donations” approach rationale provided; I would expect that a custodial grant would pass quite easily, and spread the cost equally among all shareholders. I think this is an excellent project to undertake to increase our mobile capabilities and I like the proposed roadmap @Cybnate has provided.

Thanks for the latest donations, the counter stands at over 195 NBT right now.
I have asked Matthew to find a place in the App to show the aliases of all the people who donated openly in this thread. So hopefully you will be electronically engraved as supporting an App which will make history as probably the first stable coin (NBT) wallet able to seamlessly transfer funds to merchants only accepting foreign cryptocoins (e.g. Bitcoins, Peercoins or Litecoins). Who doesn’t want to be part of that?

Update: with about 24 hours to go for the Kickstarter and only about 195 NBT donated, I strongly suspect that we won’t hit the target for release 2 (2,250 NBT). The question is whether people think the value-add of release 2 and 3 is inadequate or the functionality is not desired. Or that this community really expects to have funds raised solely by custodial grant.

Have to admit that many have told me off-line that the latter is likely the case. In that case it is great that we have still raised almost 200 NBT counting as a vote of confidence. Thanks again for that.

To add to this I noticed that the number of downloads on Google-Play jumped from the 20-50 bracket to the 50-100 bracket somewhere in the last few days. That is encouraging as it shows more people are interested in using this.

Based on all of this, I decided to continue preparing a custodial grant covering the items in release 1 and 2 and the first bullet of release 3. I decided to drop the other bullets given the costs and duration of the entire proposal after further estimates were done. The work for release 2 is significant as there are many variables and potential error conditions which need to be dealt with. I still think it is worth to invest in what is effectively a stable value NuBits wallet which you can use to pay at merchants only accepting Bitcoins.

I hope to finish the negotiations with the Developer and present you with a draft custodial grant proposal in the next few days or week.