Closed utkucy closed 1 year ago
Hi @utkucy, thank you for your proposal! This grant has been approved. Look out for an email to discuss next steps.
Hi @ErinOCon,
Do you have any updates for the first milestone status that we discussed earlier? I could not reach you with email.
Open Grant Proposal: Video Chat App - Web3RTC
Name of Project: Video Chat App - Web3RTC
Proposal Category:
app-dev
Proposer: @utkucy
(Optional) Technical Sponsor:
No
Do you agree to open source all work you do on behalf of this RFP and dual-license under MIT, APACHE2, or GPL licenses?:
Yes
GPLv3
Project Description
It has been observed that people with different needs (work, social, school, etc.) seek different solutions to meet the increasing need for online meetings. Web3RTC is a video chat application built on completely decentralized technologies. It aims to establish connections between users without the need for any central server to store data or transmit media resources.
Web3RTC uses peer connections for both storing and transmitting operations:
Store Operations
Authentication processes (register - login), creating and retrieving room data (participant list, chat messages, etc.), storing and retrieving past meetings information, storing past meeting records, allowing to make changes for user preferences.
Transmitting Media Source Operations
Establishing connections between peers in the rooms with both voice (source: microphone) and video (source: camera, screen share) sources.
Since Web3RTC will use OrbitDB for database operations, Web3Storage for storing meeting records, and finally WebRTC for the media transmitting operations, it guarantees that every action that users can take on the apps would be established by peer-to-peer connections. Although there is just a web app that exists at the moment, my goal is to develop this app for 5 different platforms if the proposal would be approved. A web app, an IOS app, an android app, a macOS app, and finally a Windows app.
App Dashboard 1
App Room with Connected Peers
Demo app can be found on: https://jade-sunburst-1968ce.netlify.app/
Value
Web3RTC is a smooth way of the transaction from web2 to web3 ecosystems. The main purpose of these apps is to be cost-efficient and accessible from anywhere to anyone at any time. Since all the applications will use the same P2P logic for every action, it will lower the cost of the programs. With the applications planned for 5 different platforms, Web3RTC would have a wide usage case.
Last but not least, I believe that it would have a great impact on the Filecoin community for educational purposes about how to use these technologies since it will be published as open source projects.
However, there may be constraints on the app usage because of the used technologies. WebRTC constraints can affect the streaming quality, total peer connection number (since WebRTC uses local computer resources, restricting connections may be a must), or being able to connect with other peers (NAT traversal problem for WebRTC). Also please note that OrbitDB is alpha-stage software. It means OrbitDB hasn't been security audited and programming APIs and data formats can still change.
Deliverables
There will be 5 apps as final products: IOS app, android app, Desktop Apps (macOS, windows), Web App)
Common features:
IPFS will be used for all data management process
Authentication process will be added as Login and Register cases with OrbitDB.
Ability to Create a room
Ability to Join a room
Ability to Chat with others in the room
Ability to Share voice and camera source
Ability to Change media sources
Ability to Add other users to the contact list
Ability to List Past Meetings
Ability to List Contact List
Ability to Manage App Settings, are common dashboard usages for all apps.
However, Screen Sharing and Recording Screen features will be available for only Desktop and Web app.
Recording Screen will be downloaded to the local computer as a first step. After a milestone, Web3Storage will be another option for storing the recorded file.
Sign-in with Metamask will be added to the web app as an authentication option.
Web app will be published in its domain
Mobile apps will be published in their stores
For more information please check the development roadmap.
Development Roadmap
Milestone 1
Budget: $20,000 Estimated Time: 2 weeks
If the proposal would be approved, I will focus on creating a product team to continue the development process at the end of this milestone.
Milestone 2
Budget: $20,000 Estimated Time: 3-4 weeks
Additionally, mobile app developments and new UI/UX design processes for all of the apps would be started at this milestone.
Milestone 3
Budget: $20,000 Estimated Time: 3-4 weeks
Total Budget Requested
$60,000
Maintenance and Upgrade Plans
I am committed to maintaining the development of the project. I will continue to maintain and upgrade all of the products.
Team
Team Members
Utkucan Yıldırım
Relevant Experience
Team code repositories
https://github.com/utkucy/ipfs-webrtc
Additional Information
I learned the Open Grants Program while researching about the Filecoin ecosystem.
Email: yil.utkucan@gmail.com