Nxt Forum

Please login or register.

Login with username, password and session length
Advanced search  

News:

Update to the latest Nxt Client 1.5.9 before block 445,000 !!

Pages: [1] 2 3 4  All

Author Topic: Project fundraising: NXT wallet for Android  (Read 3953 times)

marcus03

  • Board Moderator
  • Sr. Member
  • ****
  • Offline Offline
  • Posts: 389
  • Karma: +24/-1

Hi!

Status: After just 5 days, the project is well funded and will be implemented! :-)

Funds raised as of June 18th: 60.897 NXT + 75.000 NXT from the community fund: 135.897

I'll keep the asset sell order open at least until the project roadmap is done - just in case someone doesn't want to miss being part of this. :-)


Background:
As explained here I've pulled the plug for at least 6 months, maybe longer, for my NXTSolaris client. While it is open-source and anyone else can go on with it, I'm missing the motivation to do so, since I believe that it's wesley's client that NXT needs right now.

I wrote NXT Solaris in a way to be able to use parts of the code for mobile devices and after the recent discussion about the need for an Android client, I want to offer the following project to the NXT community:



Objective

A fully functional, open-source Android NXT wallet for Gingerbread (Android 2.3.3–2.3.7), Ice Cream Sandwich (4.0.3-4.0.4), Jelly Bean (4.1.x, 4.2.x, 4.3.x) and KitKat (4.4.x) on ARMv7 devices with NEON support (see here for an incomplete list of supported devices). Transaction signing done client-side with the Android app connecting to "well-known" public NRS server without sending account secrets over the network.

Function wise, I imagine a mix between Mycelium (for Bitcoin) and wesleys excellent desktop client. Ease-of-use vs. feature overload.

The following features are planned:
 * Adding/creating multiple accounts with the option to store the account secrets in an encrypted password protected wallet on the device. Wallet backup available.
 * Support for Reed-Solomon address format.
 * Showing balances for registered accounts in NXT.
 * Showing transactions for registered accounts.
 * Contact list (account numbers with names)
 * Sending NXT
 + Support for QR codes (scan a QR address, display a QR code for an address or a receive request (address plus an amount and a description))
 + NXT corporate design
 

The following features are NOT planned:
 - Block explorer like functionality
 - Aliases (showing them, registering them, etc.)
 - Asset exchange support
 - Voting and whatever comes up next out of the core. ;-)
 - No explicit tablet support (Nexus 7/8, etc.)
 - No support for forging on the Android device

 
The following features would be nice, but it's not clear yet if they can be implemented:
 O Showing balances for registered accounts in NXT, BTC, USD and EUR. Also showing exchange rates.
 O Listing in the Google Play Store as a free app (not sure about their rules yet, but this is of course vital for mainstream adoption of NXT)
 


Development Roadmap

0.) Check if I can technically compile for android (openssl libs requirements met, etc.) [DONE]
    If anyone wants to try my proof-of-concept app: https://dl.dropboxusercontent.com/u/23825856/NXTWallet/NXTWallet_v0.0.apk (this is really just a mockup for the navigation and a quick test on the "Debug" page to check if the openssl requirements are met on Android - only tested on one device and an emulator yet)

I would be starting with closed source versions running against the testnet.

1.) GUI design (what is where and can it be accessed - look and styles to be done later)
2.) Implementation of items above marked with *. (releases in-between)
3.) Implementation of items above marked with +. (releases in-between)
4.) Switching to open source.
5.) Testing, bug fixes, code review (releases in-between) - the wallet setup (encryption/decryption/adding of secrets etc.) is obviously extremely important... 
5.) Switching to mainnet.
6.) Implementation of items above marked with + (QR code support and corporate design).
7.) Implementation of items above marked with O.


ETA

This is software development - don't ask. It's ready when it's ready. A rough, pessimistic estimate would be 3 to 4 months after the start.


Fund raising

I issued the asset "AndroidCli" (Asset Id:  12414770996347165541 Account: NXT-X5EB-VSL5-Z7DU-3GWTJ ) for project fund raising and put up sell orders at 1 NXT. If you want to fund this projects please buy as many assets as you want to fund in NXT. As long as the fund raising is running you can step back from funding by transfering the assets back to the issuer account NXT-X5EB-VSL5-Z7DU-3GWTJ. I will then send the NXT back to the sender account (done at least once a day, but you might want to pm me).

The fund raising will run for a maximum of one month (June 13th to July 13th 2014), but I might decide to close it earlier if I feel the project is well funded.

If I decide the project is well funded (might happen any time I see fit or after one month latest) I will no longer redeem NXT for assets transfered back to issuer account.

If I decide the project is not well funded after one month, I will cancel my sell order and put up a buy order at 1 1XT so that everyone is free to sell the asset against my buy order with minimal loss (2 NXT in transaction fees).

Change from the asset description: The asset decription states that I would put up a sell and a slightly higher buy order during the funding phase. I had missed that fractional prices are not allowed, so if you want to step back from your funding during the funding phase, please transfer your assets to the issuer account as explained above.

Thanks for considering funding my project! :-)

Cheers,
Marcus

Update 2014-06-16:
In the light of the the recent scam, here is a token on the asset issuer account NXT-X5EB-VSL5-Z7DU-3GWTJ (1758531264253431177). This is the same account that I've been using for NXT Solaris donations since around January.

The generated token for Android Client for NXT is:
ralpi984m6h5rjh4arh0qkedgc730e14aa59ijfuopu60evb1jivgk7rpqobod01eojsqvu4gvt8731j7tfia8thdeogufgm6tvc6qa49o3g0lmnkoe1ksghgco2n5u66sd58jjdke0fg807msc6ccknhtsn62e8

« Last Edit: June 18, 2014, 05:53:04 am by marcus03 »
My Android NXT wallet project!
Raspberry Pi NXT node/Two VPS NRS nodes
NXT tips and donations: NXT-X5EB-VSL5-Z7DU-3GWTJ

marcus03

  • Board Moderator
  • Sr. Member
  • ****
  • Offline Offline
  • Posts: 389
  • Karma: +24/-1

Yep, thanks. I had seen that.
My Android NXT wallet project!
Raspberry Pi NXT node/Two VPS NRS nodes
NXT tips and donations: NXT-X5EB-VSL5-Z7DU-3GWTJ

apenzl

  • Hero Member
  • *****
  • Offline Offline
  • Posts: 1685
  • [Tip Me]
    • Nxter.org
  • Karma: +103/-8

IMO this is exactly it. Client side signing, QR-codes, multipole acc's, and looking good - yes!

You've seen the 100K bounty. You think of an IPO, and potentially sending the NXT back and bail if you don't get enough support. I understand this to the fullest! Just be honest, what do your think is the fair amount to receive for your work?
NXT-UWJU-XXST-3MPQ-2JWG7 | NXTER.ORGGet paid | TwitterFacebookSuperNET Newsletters

marcus03

  • Board Moderator
  • Sr. Member
  • ****
  • Offline Offline
  • Posts: 389
  • Karma: +24/-1

You've seen the 100K bounty. You think of an IPO, and potentially sending the NXT back and bail if you don't get enough support. I understand this to the fullest! Just be honest, what do your think is the fair amount to receive for your work?

There is no bounty (yet), just a request to set up a bounty.

Some of my experiences with bounties were a a bit frustrating, since the rules kept changing (when the bounty is due, what is needed to even be able to qualify for the bounty, etc. - carrot dangled in front of a donkey). I guess I am not alone feeling like this and one could wonder why e.g. btc2nxt dropped his client and switched to CIYAMs task list with payouts after each task done.

IMHO, these kind of bounties are not a very attractive way to get developers into the boat, while at the same time the community does in fact have enough funds to pay excellent for excellent work done (generally speaking here - not bragging about my work...). I've found no quick way to check, but e.g. how much in percentage of the total available funds have the three commitees spent until today?

Back to your question: I have not made up my mind about how much would be enough for me personally and my plan was to let the community decide how much it would be worth and I would not want to influence the community decision by naming a sum.

One part of me kind of expects that only a tiny amount would come together. I also see it as a kind of social experiment and it's possible that the only outcome is that we have better information on where we stand or more specific why there is no Android wallet for NXT.

Cheers,
Marcus

My Android NXT wallet project!
Raspberry Pi NXT node/Two VPS NRS nodes
NXT tips and donations: NXT-X5EB-VSL5-Z7DU-3GWTJ

qbd1313

  • Sr. Member
  • ****
  • Offline Offline
  • Posts: 373
  • Karma: +10/-8

I think NXTSolaris is awesome
we can give marcus03 a bounty.

bitcoinpaul

  • Hero Member
  • *****
  • Offline Offline
  • Posts: 3031
  • Karmageddon
  • Karma: +541/-541

nxt needs a smartphone client.
Like my Avatar? Reply now! NXT-M5JR-2L5Z-CFBP-8X7P3

marcus03

  • Board Moderator
  • Sr. Member
  • ****
  • Offline Offline
  • Posts: 389
  • Karma: +24/-1

nxt needs a smartphone client.

Are you specifically refering to phone functionality or do you mean android/iphone app in general?
« Last Edit: June 12, 2014, 07:12:58 am by marcus03 »
My Android NXT wallet project!
Raspberry Pi NXT node/Two VPS NRS nodes
NXT tips and donations: NXT-X5EB-VSL5-Z7DU-3GWTJ

marcus03

  • Board Moderator
  • Sr. Member
  • ****
  • Offline Offline
  • Posts: 389
  • Karma: +24/-1

Updated the fund raising procedure through an asset in the OP.
My Android NXT wallet project!
Raspberry Pi NXT node/Two VPS NRS nodes
NXT tips and donations: NXT-X5EB-VSL5-Z7DU-3GWTJ

bitcoinpaul

  • Hero Member
  • *****
  • Offline Offline
  • Posts: 3031
  • Karmageddon
  • Karma: +541/-541

nxt needs a smartphone client.

Are you specifically refering to phone functionality or do you mean android/iphone app in general?

?
Like my Avatar? Reply now! NXT-M5JR-2L5Z-CFBP-8X7P3

marcus03

  • Board Moderator
  • Sr. Member
  • ****
  • Offline Offline
  • Posts: 389
  • Karma: +24/-1

nxt needs a smartphone client.

Are you specifically refering to phone functionality or do you mean android/iphone app in general?

?

That explains it... :-) Wanted to know if you saw a need to utilize phone/sms functionality of the Android phone from the NXT wallet app.
My Android NXT wallet project!
Raspberry Pi NXT node/Two VPS NRS nodes
NXT tips and donations: NXT-X5EB-VSL5-Z7DU-3GWTJ

bitcoinpaul

  • Hero Member
  • *****
  • Offline Offline
  • Posts: 3031
  • Karmageddon
  • Karma: +541/-541

Yeah. No ;)
Like my Avatar? Reply now! NXT-M5JR-2L5Z-CFBP-8X7P3

apenzl

  • Hero Member
  • *****
  • Offline Offline
  • Posts: 1685
  • [Tip Me]
    • Nxter.org
  • Karma: +103/-8

Thanks for your proposal and thanks for speaking up. It's stressful to work without a contract, for nothing but the hope for donations. Noone can keep doing that.

No funding campaign has been successful based on small stakeholders' donations alone, afaik, and it can feel frustrating donating 10% of your stake to a project, knowing very well that it's a laughable drop in the ocean, and like 0.0001% of someone else's stake, who does nothing but hodl. So you have to pay. Every amount warms the heart, but …

I don't think this is a very good social experiment. The experiment will rather show if every Nxter has NXT to spend, and if you will consider that enough. If the community had to cast a vote to decide how to spend our unclaimed coins / community fund, I'm pretty sure you would get the funding.

[edit] This does not necessarily solve the overall problem of payment for Nxt dev / work.
« Last Edit: June 12, 2014, 01:54:50 pm by apenzl »
NXT-UWJU-XXST-3MPQ-2JWG7 | NXTER.ORGGet paid | TwitterFacebookSuperNET Newsletters

ShadowBroker

  • Jr. Member
  • **
  • Offline Offline
  • Posts: 52
  • Karma: +4/-0

Sidenote here:

whoever is developing this, dont trust the android random number generator, its fault in older android versions and if you use it to sign transactions
using ecc an attacker would only need two transactions to extract the private key, i am posting this because this is exactly what happend to the bitcoin android wallet,
dont make the same mistake twice, the last thing we need is a "nxt got hacked" article published by some incompetent news site

farl4bit

  • Global Moderator
  • Hero Member
  • *****
  • Offline Offline
  • Posts: 2118
  • [Tip Me]
  • Go Nxt!
    • Nxt Startpagina
  • Karma: +87/-8

Thanks for your proposal and thanks for speaking up. It's stressful to work without a contract, for nothing but the hope for donations. Noone can keep doing that.

No funding campaign has been successful based on small stakeholders' donations alone, afaik, and it can feel frustrating donating 10% of your stake to a project, knowing very well that it's a laughable drop in the ocean, and like 0.0001% of someone else's stake, who does nothing but hodl. So you have to pay. Every amount warms the heart, but …

I don't think this is a very good social experiment. The experiment will rather show if every Nxter has NXT to spend, and if you will consider that enough. If the community had to cast a vote to decide how to spend our unclaimed coins / community fund, I'm pretty sure you would get the funding.

[edit] This does not necessarily solve the overall problem of payment for Nxt dev / work.
I totally understand you. I hope we will get this project done (although I'm an iPhone guy)!  :)

marcus03

  • Board Moderator
  • Sr. Member
  • ****
  • Offline Offline
  • Posts: 389
  • Karma: +24/-1

whoever is developing this, dont trust the android random number generator, its fault in older android versions and if you use it to sign transactions

The code I used for NXTSolaris and hope to be able to use for an Android wallet, too, uses the RAND function from the openssl libraries. I didn't trust the Windows rand generator either. :-)
My Android NXT wallet project!
Raspberry Pi NXT node/Two VPS NRS nodes
NXT tips and donations: NXT-X5EB-VSL5-Z7DU-3GWTJ

marcus03

  • Board Moderator
  • Sr. Member
  • ****
  • Offline Offline
  • Posts: 389
  • Karma: +24/-1

Thanks for your proposal and thanks for speaking up. It's stressful to work without a contract, for nothing but the hope for donations. Noone can keep doing that.

No funding campaign has been successful based on small stakeholders' donations alone, afaik, and it can feel frustrating donating 10% of your stake to a project, knowing very well that it's a laughable drop in the ocean, and like 0.0001% of someone else's stake, who does nothing but hodl. So you have to pay. Every amount warms the heart, but …

I don't think this is a very good social experiment. The experiment will rather show if every Nxter has NXT to spend, and if you will consider that enough. If the community had to cast a vote to decide how to spend our unclaimed coins / community fund, I'm pretty sure you would get the funding.

[edit] This does not necessarily solve the overall problem of payment for Nxt dev / work.
I totally understand you. I hope we will get this project done (although I'm an iPhone guy)!  :)

Thanks!

Regarding iOS: My development environment supports it, but I have no idea if it's feasable in reality. One step after another - this project is for Android only. :-)
My Android NXT wallet project!
Raspberry Pi NXT node/Two VPS NRS nodes
NXT tips and donations: NXT-X5EB-VSL5-Z7DU-3GWTJ

ShadowBroker

  • Jr. Member
  • **
  • Offline Offline
  • Posts: 52
  • Karma: +4/-0

I didn't trust the Windows rand generator either. :-)

Sounds like we can trust you.

marcus03

  • Board Moderator
  • Sr. Member
  • ****
  • Offline Offline
  • Posts: 389
  • Karma: +24/-1

Thanks for your proposal and thanks for speaking up. It's stressful to work without a contract, for nothing but the hope for donations. Noone can keep doing that.

No funding campaign has been successful based on small stakeholders' donations alone, afaik, and it can feel frustrating donating 10% of your stake to a project, knowing very well that it's a laughable drop in the ocean, and like 0.0001% of someone else's stake, who does nothing but hodl. So you have to pay. Every amount warms the heart, but …

I don't think this is a very good social experiment. The experiment will rather show if every Nxter has NXT to spend, and if you will consider that enough. If the community had to cast a vote to decide how to spend our unclaimed coins / community fund, I'm pretty sure you would get the funding.

Good points. :-)

Just one comment: Another way of supporting a project for people who don't want or can't donate themselves, would be to stand up and kindly ask for funding from people who they think do have the power to do so.
My Android NXT wallet project!
Raspberry Pi NXT node/Two VPS NRS nodes
NXT tips and donations: NXT-X5EB-VSL5-Z7DU-3GWTJ

marcus03

  • Board Moderator
  • Sr. Member
  • ****
  • Offline Offline
  • Posts: 389
  • Karma: +24/-1

Updated the OP with an image and specification for the supported hardware devices.
My Android NXT wallet project!
Raspberry Pi NXT node/Two VPS NRS nodes
NXT tips and donations: NXT-X5EB-VSL5-Z7DU-3GWTJ
Pages: [1] 2 3 4  All