completed
RootsWallet - iPhone version
Current Project Status
Complete
Amount
Received
$24,000
Amount
Requested
$24,000
Percentage
Received
100.00%
Solution

RootsID will integrate the new Atala Prism Javascript SDK and build an iPhone version of RootsWallet.

Problem

RootsWallet, the open source identity wallet for ATALA Prism is available for Android due to limitations on Prism SDK. A new Javascript Prism SDK that is coming soon will allow an iPhone version.

Impact / Alignment
Feasibility
Auditability

RootsID

2 members

RootsWallet - iPhone version

Please describe your proposed solution.

We decided to build RootsWallet on React Native because it allows us to create native Android and iPhone versions. However, due to limitations on the Prism SDK, we can only build it for Android.

A new Prism SDK based on JavaScript, that will be released soon, will allow us to build Android and iPhone versions of the RootsWallet app.

This project is about producing the necessary changes in the application to deliver the iPhone version with the same functionalities as the current Android version.

What are the changes needed:

  • import new Prism SDK
  • replace wal-lib functionalities with new SDK in JavaScript
  • build DIDComm and PeerDID rust libraries and produce Swift wrappers
  • add an interface to switch to Swift and Kotlin depending on build
  • include other libraries needed by iOS:
  • Swift libraries
  • Xcode configuration profiles
  • iOS Keychain management
  • iOS specific images
  • iOS specific tests
  • Test and correct artifacts.. Validate Android as well.
  • Build and run on TestFlight for internal testing

Image FileImage FileImage File

Please describe how your proposed solution will address the Challenge that you have submitted it in.

It is well known that besides cryptocurrency, the Decentralized Identity is one of the most important applications of a blockchain that has ATALA Prism as the leading solution in Cardano. This project is part of that application, providing one of the most important building block to construct full products and applications.

Therefore, we believe this project is contributing with the challenge goal by:

  • delivering an open source identity wallet based on ATALA Prism that now will work for both Android and iPhone
  • promoting the adoption and growth of Self Sovereign Identity technology on Cardano
  • developing Open Source code, and deploying for free-use of other products
  • enabling integrations with interoperable components based on well adopted standards

What are the main risks that could prevent you from delivering the project successfully and please explain how you will mitigate each risk?

Our main risk is the dependency on the Atala Prism JavaScript SDK delivery date. We won’t be able to start the project until the SDK is delivered. In order to mitigate that risk, we started conversations with the Atala Prism Team to keep track of the progress of the SDK development, and in case needed, receive an unofficial pre-release version of the SDK that can allow us to start the development without delay.

Please provide a detailed plan, including timeline and key milestones for delivering your proposal.

The Project plan consists of the following activities with its duration:

  • Integrate new SDK into code: 1 week
  • Replace wal-lib functions: 4 weeks
  • Integrate didcomm and didpeer libraries: 3 weeks
  • Develop iOS required adaptations: 3 weeks
  • Testing and documentation: 1 weeks

<u>TOTAL DURATION</u>: 3 months

The high-level scope of each activity is described below:

  • Integrate new SDK into code: this activity will define the best architecture to replace the Kotlin SDK with the JS SDK
  • Replace wal-lib functions: since RootsWallet has a dependency on wal-library, it is needed to replace the functionalities or build a JS version of wal-library
  • Integrate didcomm and didpeer libraries: current libraries are based on Kotlin. This activity will build the Rust versions and create Swift wrappers. It will be needed to create and Interface to switch between Kotlin and Swift builds.
  • Develop iOS required adaptations: this activity will cope with all details required to build and run the iOS version
  • Testing and documentation: this activity is composed of testing both Android and iOS versions, deploying for testing and providing documentation on how to build them.

<u>Deliverables</u>:

  • Apple App Store alpha version release
  • Open Source code on Github repo
  • Documentation on how to deploy on iOS

Please provide a detailed budget breakdown.

Budget is mostly composed of development hours at a ratio of $100/hr. Based on the activities defined above the requested breakdown budget is:

  • Integrate new SDK into code: 20 hours = $2.000
  • Replace wal-lib functions: 80 hours = $8.000
  • Integrate didcomm and didpeer libraries: 60 hours = $6.000
  • Develop iOS required adaptations: 60 hours = $6000
  • Testing and documentation: 20 hours = $2.000

<u>TOTAL BUDGET</u>: $24.000

Please provide details of the people who will work on the project.

RootsID team has been delivering Open Source building blocks for the Self-Sovereign Identity ecosystem in Cardano. They have been funded in several Catalyst projects since Fund 6. All of them were delivered successfully on time or still in development in the planned timeline. Our funded projects are:

The team is constantly engaged in all Self Sovereign Identity Cardano activities such as Atala Prism Astros, Atala Prism Pioneer Program, Prism+SSI After Town Hall break rooms, and meeting periodically with partners or related Catalyst projects with the aim of collaboration and help adoption and growth of Cardano in the Identity world.

Additionally, the team participates actively in the worldwide SSI community by attending and collaborating to several working groups in the Decentralized Identity Foundation, the Hyperledger foundation, and the Trust over IP foundation.

This project in particular will be developed by Rodolfo Miranda and Lance Byrd:

<u>Rodolfo Miranda</u>: https://www.linkedin.com/in/rodolfomiranda/

His background includes a MS EE degree at Stanford University and more than 25 years of successful work experience in both large multinational companies and owned startup projects. His main activities involve architecting, developing, and implementing large scale software solutions for the Telecommunication Industry. Lately, he was engaged in blockchain technologies and joined Cardano community where he:

  • Participate as Community Advisor (from F6) and vCA (from F7), and is involved in many improvement working groups and discussions
  • Is part of the Challenge Team for Fund 7 challenge "Grow Latinamerica, Grow Cardano"
  • Is part of the Challenge Team for Fun 8 challenge “Self-Sovereign Identity”
  • Was part of the first cohort of the Atala Prism Pioneer Program
  • Is part of the team that created the LATAM Cardano Community and host a weekly LATAM TownHall

<u>Lance Byrd</u>: <https://www.linkedin.com/in/2byrds/>

His background includes a BS in Computer Science (UMBC) and MS in Information Assurance (Capitol College) and more than 22 years of software development as a consultant. He has developed massive scale data analytics and visualizations, machine learning analysis pipelines, and worked with University researchers to bring their work to market. He has also built and taught technical certification courses for several different topics in data analysis, big data, and compliance.

He is an expert Cardano/Catalyst/Atala Prism SSI mobile developer. He is one of the founders of RootsID which has been building a Cardano-based open source identity ecosystem including a mobile identity wallet called RootsWallet. He is advised by expert UX designers from IOG, identity experts like Darrell O'Donnel and Tony Rose and is a regular at Trust Over IP, Decentralized Identity Foundation, and Hyperledger foundation meetings.

For this Fund 9, RootsId is presenting the following proposals:

Since we are participating in 10 proposals, we carefully planned time allocation for each of us. We defined our individual commitment per week as if all of the proposals are funded including extra activities. Based on that, we defined the allocation per proposal for each of us needed to deliver the proposal in time. Take in account that we design our proposals to have a duration no longer than 12-14 weeks in order to match funding rounds, that means that our pending F8 proposals will be concluded before the F9 execution phase starts. For your reference we add a link to the time allocation spreadsheet that can help you validate that our commitments are feasible.

If you are funded, will you return to Catalyst in a later round for further funding? Please explain why / why not.

If funded, this project as defined will conclude in this round. It does not depend on further funding to be used and adopted in production. However, since interoperability is an ongoing process we may present future projects in future fund round with the same spirit of defining standardized ways to adopt other parts of the SSI technology.

Please describe what you will measure to track your project's progress, and how will you measure these?

This project is basically a software development project with four clear deliverables that will work as proofs of completion:

  • the Apple App Store app
  • the open source code of RootsWallet
  • the documentation explaining iOS specific RootsWallet functionality

Additionally, this team adopts Agile methodology based on the tools provided by Github. Besides progress reports, the advancement will be tracked by public Github issues, project views (like Kanban board) and commits. Intermediate progress will be reported as Sprint Burndown, a KPI metric that shows the progress in percentage of each development sprint.

RootsWallet is a project within the RootsID Github for tracking issues, code, pull requests, releases, wiki, etc.

All of RootsID's work for this effort will be planned and tracked as issues on Github.

This is also where users can request enhancements, bug fixes, etc.

What does success for this project look like?

Our short term vision of success is to have RootsWallet application available for both Android and iPhone devices with similar, if not identical functionalities and UI/UX.

Our long term vision for RootsWallet is to be adopted in the ecosystem and implemented in many projects, providing value in different use cases and scenarios. Real implementation will help us to define future improvements and functionalities in order to create a friendly application that helps grow the Self Sovereign Identity industry and Cardano as well.

Please provide information on whether this proposal is a continuation of a previously funded project in Catalyst or an entirely new one.

This proposal is to enhance RootsWallet based on user and UX expert feedback from our mobile app completed in Fund 7 and work being done in Fund 8. The project is built on components that were developed in previous funded projects from RootsID. So, in a broad sense, the strategy of RootsId is to deliver more and more open source SSI components to the Catalyst community as a continuous process. We started with the basic building blocks, some as alpha releases, and from there we grew with more advanced and rich components that allow us to build complex solutions.

Specifically this is a continuation of these previously funded (Catalyst Fund 7 and 8) proposals which produced the Android version of RootsWallet:

Open Source Credential Wallet (Fund 7)

RootsWallet - Backup/Recovery (Fund 8)

close

Playlist

  • EP2: epoch_length

    Authored by: Darlington Kofa

    3m 24s
    Darlington Kofa
  • EP1: 'd' parameter

    Authored by: Darlington Kofa

    4m 3s
    Darlington Kofa
  • EP3: key_deposit

    Authored by: Darlington Kofa

    3m 48s
    Darlington Kofa
  • EP4: epoch_no

    Authored by: Darlington Kofa

    2m 16s
    Darlington Kofa
  • EP5: max_block_size

    Authored by: Darlington Kofa

    3m 14s
    Darlington Kofa
  • EP6: pool_deposit

    Authored by: Darlington Kofa

    3m 19s
    Darlington Kofa
  • EP7: max_tx_size

    Authored by: Darlington Kofa

    4m 59s
    Darlington Kofa
0:00
/
~0:00