Git Product home page Git Product logo

ping's People

Contributors

mirdaki avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

Forkers

100phlecs

ping's Issues

Add Unit Test

Testing is of course important, but sort of difficult for UI. We need a good and useful pattern.

Setup CI

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.

Mobile: Answer & Manage Calls on Desktop Devices

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.

  • Answer calls on the mobile app but set the answer device to be the desktop computer
  • End calls on the desktop from your mobile device
  • Mute, unmute, invite, etc from your mobile device to the current ongoing call on your desktop.
  • Remote connection between mobile device and desktop device is E2EE
  • Remote connection between mobile device and desktop device is P2P

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.

#16

Basic Readable Chat View

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

  • Scrollable list of chat messages for a single room
  • Message displays sender, time sent, and text content
  • User and room selected via configuration file
  • Good loading speed. Probably will require a "dumb" incremental loading strategy for large rooms
  • See new messages as they are sent

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.

"What's in a name?"

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).

Fill out README and CONTRIBUTING

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.

Setup GitHub Policies

  • Set merge restrictions for the main branch
  • Pull template
  • Issue template
  • Anything else that strikes my fancy while looking through things

"A picture is worth a thousand words"

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.

Font Choice

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.

Understand the Matrix SDK

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

  • Create a user
  • Send a message to another user
  • Edit a message to another user
  • Delete a message to another user

XMPP?

Maybe consider adding support for XMPP messaging and Jingle audio calls. XMPP is simular to matrix and is more lightweight.

IP Address Protection when using VPN

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.

MVU vs MVVM vs ?

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.

Create testing Docker Compose

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.

Create Ping Matrix Group Chat

Why not create a matrix group chat on Ping to spread the word. There are rooms dedicated to other clients like element.

F-Droid

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.

Add pre-built downloads

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.

Desktop App Overlay In-Game

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.