Skip to content

Communication Selection and Application Types #9

Description

@formula1

Its important to note that we are at very early stages so implementing all of this may not be beneficial in the long run. If we stick to play as we go, we may be better off. This may be a red herring

Concept

to be able to have events/requests/streams with a selector definition to choose where the event will go.

This may make it easier to code or may just be a lost cause.

Pub Sub NameSpaces and priority.

Currently we have a pub/sub system up. Where applications listen to events and do the processing from there. This is excellent for the simple fact that some events are only for some applications.
However, in some cases multiple applications will both listen to the same event (like file opening). We can leave this up to the application to decide whether or not it can handle it or we can open it in all or only the first. As a result, there also needs to be a priority mechanism to allow certian application to override others

Applications

For Example: If all applications fall under a few catagories, we already can limit our search.

  • File creator - Can create new files
  • File Reader - Reads and renders files specified
  • File Update - Can update an existing file
  • File Creator/Deleter - Can Create Empty files or remove files
  • File Indexer - Can scan directories
  • File Encoder - Takes a file and changes them. These processes may have no gui, its possible to automate one by seeing a file and seeing all the avenues it can go down such as html->text, json->html, json->html->text. Greek->spanish, Spanish->chinese, Greek->spanish->chinese. etc.
  • Process to Process Communication - Allows the serverside to start up a process and read and write to its stdout. This can also result to allowing the process to deliver the results to the user.
  • Process to Remote Communication - Opens up a direct port to a remote location, able to deliver results to the user.
  • User to User Communication - Can Give or Recieve a WebRTC stream to the user or to a process
  • App Store - Retrieves lists of apps, displays them, calls the server installation
  • App Manager - Displays apps available. Can close and Open. Also can make them headless (server only), minimize (not shown but still active) or active mode. Also displays notifications for permission requests as well as ability to delete installed apps.
  • Auxillary - May or May not run a process and always delivers an output

Files

Files can be anything however they generally have some sort of metadata that we can gather allowing us to know what to do with them.

  • MimeType
  • Character Set
  • Encoding
  • Human Language - If applicable
  • Size Limits
  • Delivery Mechanism - A Gigantic File sent in one message is rediculous, however it may be the only way possible

As such, an application can also define what it can accept similar to the W3C Standard.

External Communications

When it comes to communication, they may want to recieve objects from multiple locations and etc. However, those locations either should have compatible applications or have arbitrary files that we can gather data about. This can result in chat systems, games or pretty much anything.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions