This proposal appears to have significant community support as evidenced by this thread and at reddit.
I am in favor of moving this so that it can begin getting funded.
Monero mobile wallet for Android and iOS platforms is going to be implemented. It will be an open source project, and will utilize security and privacy of the Monero technology in full inside user’s mobile phone.
We are going to use React Native cutting-edge technology that allows to reuse up to 80% of the code when building both Android and iOS platforms and thus reducing development costs drastically. The whole project will be published as an open source, reviewed and approved by the core developers.
As stated above, we will use React Native to power UI and C++ for core the functionality, handling transactions, cryptography, networking, etc. Our code will be based on Monero core components which will ensure reliability and security of the wallet software, speed up development process and make the whole Monero ecosystem stronger.
We are going to use best UI\UX practices established by the popular mobile apps, that will make users feel comfortable and natural when using Monero mobile wallet. Our plan is to work with Gustaf (personal website, reddit discussion, Monero Idea proposal) as a team to deliver a neat and smooth looking app. XMR tech has some known technical restrictions for lightweight wallets, so we will support different options that will cover end-user needs, keeping balance between privacy and transaction handling, speed and storage. We are going to stick to core developers’ recommendations in all these questions. Who will work on this task?
We are the team of two developers and a designer who are going to work on the project. Developers are skilled software engineers with 7+ years of experience in many web and mobile projects. And the designer is a public person, some of his work can be found on his website.
We are going to work for community based on trustless agreement, which means, it doesn’t matter who the devs are and what are they working on right now unless they deliver what was promised and both core developers and the community are happy with. If devs fail, that’s pretty clear - community shares no funding with them.
Currently we’ve built a proof of concept app for Android with the basic bridge implementation between Monero’s official simple wallet C++ codebase and our mobile UI, that gives us access to simple wallet features. Having said that, we are ready to continue our work as soon as the community gives this project a go. The plan is to provide weekly updates on our progress as well as publishing code on the github.
Monero opensource mobile wallet is a community’s long-awaited project. There is no any mobile wallet available today and this is exactly what stands in the way of the cryptocurrency wide adoption. We are crypto enthusiasts and big fans of an XMR tech and we are willing to contribute in the best way possible.
This is a pretty huge project that requires a lot of time and developer efforts to be contributed. To make this project happen as soon as possible and in order for the whole team to focus on it full time, funding is required. That is why we are here.
These are the functional mockups of the application. They should give an idea of what a user can do within an application. (MoneroMobileMockups.pdf)
This initial version will have all the necessary functionality to login to the wallet application, create or restore a wallet from a mnemonic seed, effectively managing mobile storage and paths. The wallet will encapsulate simple_wallet functionality, wrapping low level cryptographic and encryption functions and providing an interface to core functionality from the client application.
At this stage there will be implemented receive and transaction history screens, as well as unconfirmed balances received in the incoming transactions.
At this stage, the application for android will be implemented in full. It will operate through the remote node (the same approach as used in the official simple wallet). The public remote nodes will be hardcoded and will be sufficient for most users. Those who want to use their own nodes, will be able to specify remote node url in settings. The bottom line is: the wallet application with all monero privacy features operating through the remote public or private node will be implemented.
At this stage Android wallet will be ported to iOS platform in full. Thanks to React Native technology this step will be implemented a lot faster than producing v1.0 of the Android wallet.
We have estimated milestones 1-3 to require about 200 hours of work each and the final milestone (full-featured IOS version) to require 300 hours. At the 3.3 XMR\hour rate funding target is 3000 XMR
It requires 60 hours to finalize GUI designs and to provide UIX expertise during the whole development process At the 3.3 XMR\hour rate funding target is 200 XMR which is 50 XMR per milestone
What did you guys decide for the backend? Is a full node going to run on the phone or is the user expected to connect to a remote node?
Currently we have researched and estimated a version designed to work with the remote node, wrapping the functionality around monero simple wallet. If the project goes smoothly we can setup extra milestones and focus on porting full node on mobile device.
Couldn't our current GUI be adapted to iOS and Android since our Compact Mode (icon in the top left) is basically the same aspect ratio as a phone display? I'm not a dev, so tell me if this wouldn't work.
This is a good question for GUI devs and I guess they can give you more information regarding this option. From our perspective the thing you are talking about - the adaptive\responsive\optimized UI for various phone\screen sizes, is just one development aspect. What is the most important and also the difficult for mobile app is to provide the proper level of privacy. Unfortunately, for the mobile environment current GUI wallet doesn't solve this problem, even assuming it can be ported there as-is.
Hi there. I like Gustaf's Monero wallet. I also like the colour Orange but I guess that's not the overall consensus.
I'm a little bit concerned about this Pin though. Is that Pin all that's needed to log into the wallet on my Phone and see my transactions balance and make payments?
Has funding already started? If so - how much has been raised so far? As this is the first project I will support what happens now? When is it officially adopted and live update of the amount raised is displayed?
(Sorry my instant gratification thing again....)
I would support this. But, I think monero in Jan-Mar of next year will be 300 million market cap or higher. Obviously producing a wallet of this quality would also draw more users and confidence in the currency. Funding it right now at this price seems not such a good bang for the monero. However I do want to see this developed!! It looks beautiful.
I would support this as well - but I'm not sure that the community can afford another large proposal. Hopefully I'm wrong.
Maybe it would be easier to port the existing monero-core codebase to ios / android with some UI polish than re-building it in React Native? This would also allow you guys to lower the funding target as it wouldn't be a complete re-write.
I still see the value in a separate react-native based mobile wallet (especially with the great design work), so I hope this proposal is accepted.
We've discussed and researched the possibility of porting an existing GUI project to mobile platforms. We have dismissed this idea for a number of reasons: first of all we are not QT experts and especially when talking about mobile development, second there is a bigger problem with app core itself (please see this post). React Native is our strong point and our area of expertise, and also a rapidly developing tech used by top companies like FB for a reason: it gives an opportunity to build modern looking mobile apps faster, especially when talking about cross-platform solutions. If the community, for some reason decides to use QT GUI as a base for mobile development instead of React Native, unfortunately we won't be helpful here since we don't have an appropriate skillset.