Alright I guess I'll make my entrance now (finally)! I've been hard at work on this app (I estimate around 40 hours, but I haven't been keeping track - I work full-time during the week, so this is all my free time recently). There was quite a bit of discussion and work that went into this between Warren, BlueMatt and myself, and I want to take this opportunity to thank both of them for their efforts to make this app so much better than the previous one.
I know many of you have tried my old forked app (Joint Security Area is my Google Play publisher). I'd like to apologize for any trouble anyone has had with it. It had some serious problems from the get-go, mainly since it was the result of a race-to-the-finish-style bounty. The original author of litecoinj made the necessary changes rather quickly, and I picked those up and converted Andreas Schildbach's Bitcoin Wallet app in a couple days. Ever since, there have been various known bugs such as:
* Being unable to empty your wallet (I now think this is a bitcoinj issue where it assigns a zero fee to wallet empties)
* Stuck transactions (probably because transaction fees weren't being calculated correctly)
* Inability to properly handle large numbers of inputs
The real nail in the coffin was an official Litecoin update that tweaked the protocol a bit, which rendered all the android clients unable to sync with the official clients late last year. Many of you contacted me letting me know that the app wasn't syncing. After a lot of effort, I managed to get the old app syncing again, but I knew this conversion was coming. Necessary changes were made in bitcoinj to allow easier Litecoin network parameter specification, meaning less conflicts when pulling from upstream. This has made development of this app MUCH easier, and I thank those who spent their time on it.
Andreas completely recoded his Bitcoin wallet a while back, creating version 3. We forked version 3.29 of his app (very recent) to create the new Litecoin Wallet, which is the subject of this thread. This new wallet has so many new features and fixes.
* We brought back the Disconnect feature, which lets you TURN OFF the blockchain service and exit the app (normally, it continues eating battery).
* We stopped the blockchain service from starting when the screen turns on or when the device is plugged in
* We re-added the Transaction Details dialog, so you can see the details of any transaction in your wallet
* Block explorer links work (explorer.litecoin.net)
* All translations .. translated to say Litecoin/LTC instead of Bitcoin/BTC (please file a ticket if any of them are bad/wrong)
* Icons all changed over
* Brand new send confirmation dialog (shown in previous screenshots) - lets you make sure you're doing what you think you're doing. Also shows what's going on with the fee.
* Improved QR scanning (see below for recent changes)
* URIs are handled in a less strict way. This means scanning liteaddress.org addresses works (just a raw address QR code) as well as other QR codes with the "litecoin:" prefix, as well as parameters like amount, description, etc.
Tonight, I fixed all the reported bugs in the bug tracker, including:
* a Stack Overflow bug in the address view (caused by some menu issues, reported by NoGreedy)
* a Google Drive import bug (caused by the wrong MIME type on wallet export, reported by Warren)
I also implemented currency calculation for TONS of currencies:
AUD BGN BRL CAD CHF CNY CZK DKK EUR GBP HKD HRK HUF IDR ILS INR ISK
JPY KRW LTL LVL MXN MYR NOK NZD PHP PLN RON RUB SEK SGD THB TRY ZAR
This will get the LTCUSD rate from BTC-E or Cryptsy (whichever one works, in that order), then convert to these other currencies using rates from Yahoo!'s JQL API.
I also implemented a setting to allow you to pick which QR scanner you want to use (QR Droid, Barcode Scanner, Barcode Scanner+, or Barcode Scanner+ Simple).
If you don't have a barcode scanner installed, it directs you to the Barcode Scanner in Play.
If you only have one installed, it will be used, regardless of which one of the 4 it is.
If you have more than one, it looks up what you have selected in the preferences, and uses that one (default: Barcode Scanner)
I tested this with liteaddress scanning addresses with QR Droid and Barcode Scanner and they both work great.
I'm looking forward to continuing development, with hopes to add some neat new features such as:
* Hierarchical Deterministic (HD) wallets (also known as "seeded" wallets) - this way, we can give you a seed when the app is first started, you can save it, and if you ever lose your phone, you can regenerate your entire wallet no matter how many addresses you created. Try Armory if you want to see this sort of wallet in action.
* Ephemeral wallets - scan a private key into volatile memory on the phone, sync it with the blockchain, send from it, hit panic button to blow it away. This would be ideal for paper wallets. The main problem with this is the blockchain sync takes longer and longer the older the paper wallet gets. We're going to discuss solutions to this, and feel free to throw out ideas!
* QR code private key import. Would allow both vanity import via QR code and liteaddress/paper wallet import. This address would become a permanent member of your wallet, as opposed to the ephemeral wallet idea above. This would be much easier to implement, and I may do it sooner rather than later.
* Some ability to export/import your address book
* Password/PIN protection (thanks for reminding me CryptoDude!)
* Anything else you (the users) consider useful. As a user of the wallet myself, I may just add some useful features here and there without much formal process. Feel free to submit requests here: https://github.com/Litecoin-Java/bitcoin-wallet/issues?state=open
Thank you all for your generous donations - they will be used for lots of continuing development on this app. I look forward to becoming more of a part of the community now, and I'm excited about the possibilities.UPDATE:
It has come to my attention that people would like some transparency about who I am since there are obviously security issues when using any financial software received as a compiled binary. My name is Erik Gregg, and I've been involved in bitcoin/litecoin for some time (a couple years). I live in the US in the state of Maryland. I'm a software engineer by trade, and I've been hacking on Android since attending a training hosted at my company last year.