mirdaki / ping Goto Github PK
View Code? Open in Web Editor NEWA cross-platform and blazingly fast Matrix client focused on group and gaming chat.
License: MIT License
A cross-platform and blazingly fast Matrix client focused on group and gaming chat.
License: MIT License
Testing is of course important, but sort of difficult for UI. We need a good and useful pattern.
Pull requests should build, lint, and test the code. GitHub actions seem like the easiest way to do that. Consider adding a badge to the README for the action status.
I suggested the overlay feature which I do understand is not easy, an alternative would be to be able to manage calls on your desktop Ping app from your mobile Ping app.
This way you can use your gaming headset on your computer and have the call on the computer but be able to control it in-game using your mobile device as a remote control.
I do think this wireless remote control feature from your phone to the desktop should be done P2P (Phone to computer). Even if this is done over the local network and is encrypted for additional privacy.
I'll be taking a incremental "slice" approach to working on this. That should make it easier to see progress and help prevent burn out. I want to first focus on getting the chat view functional, since that's the core of any messaging app.
For this first step to be done, the chat view should have the following
Only basic formatting is needed. The style of the UI can be decided once more functionality is done. Sending messages, messages with images, gifs, video, etc aren't required for this issue to be marked done.
Though I like the name Ping (short, makes me think of short quick responses, some people already use ping as a verb to mean message someone), there are several non-Matrix chat apps that use that and I'd like to avoid name conflicts (especially if it means there is a better one out there).
To better explain the goal of this project (to others and myself) the README and CONTRIBUTING files should be filled out to give people an idea of what the goals are, expectations, and how to help.
Right now the container fails to spin up properly and servers 403s. Before that, I saw 401, which probably means the config.json
has something that doesn't work for a localhost use case.
We need a logo (or I at least want one haha). It should be quick and dirty, just enough of something to help it stand out when sharing. Depending on how #5 ends up, it should be reminiscent of "Ping". Should be an SVG so things can easily scale.
Similar to the branding conversation going on with #6 and #5, getting a couple of Fonts that are readable, but also convey the type of thing Ping is aiming for. Functional, lightweight, and a little fun.
Aiming for two fonts, one for headers and the other for regular content. They should be open source and allow for some flexibility in styling and usage.
We should also consider allowing users to specify their own fonts or use the OS default ones for accessibility reasons.
Some good resources to get started:
Emoji choice is also related, but that might need to be a separate conversion.
Please have a setting in the client to enable/disable video in all calls.
I'm jumping into the deep end a little, so I'd like to take a piecemeal approach to understanding what a Ruma client needs. To start off with, just create some basic CLI commands to
Maybe consider adding support for XMPP messaging and Jingle audio calls. XMPP is simular to matrix and is more lightweight.
If possible, please have no IP leaks when using a VPN. Since on Mumble, those not using a VPN can get DDos and have their internet taken down by someone they met on Mumble. Not sure if this is a security threat on Matrix or for Matrix clients in general but this is something to keep in mind for messaging, audio chats and videos chats for a gaming client since there are gaming chat apps like Mumble were this is a common occurrence.
Need to investigate Rust support for either the MVU or MVVM pattern, pariticually how it would work across Crates and being called by other languages. Ideally we have as much non-UI specific code in a shared Crate that each platform can then pull in and add their UI and other specific features. Both the MVU and MVVM patterns support this and their may be other ones Rust supports.
To test the client connections, we will need a Matrix server and a known working client. I think creating a Docker Compose file that can spin up a Synapse and Element instance would be ideal for this.
Why not create a matrix group chat on Ping to spread the word. There are rooms dedicated to other clients like element.
Please make the Android app fully open source and have it on F-Droid for degoogled Android users to be able to download it. F-Droid is an alternative to the Google Play Store.
Most other open source projects are available in a pre-built form. Many potential users may be turned away by the necessity of having Rust installed. I suggest that pre-built downloads be added to the release section of this github repo.
Please have the desktop apps on Windows and Linux allow for it to work in full screen games using an overlay, just like the Steam overlay.
Windows
MacOS
Linux (native games)
Linux (wine/proton games)
Should pull in the ruma-client dependency as well as a basic CLI one.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.