Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

A series of Questions #5

Open
cblgh opened this issue Nov 25, 2016 · 2 comments
Open

A series of Questions #5

cblgh opened this issue Nov 25, 2016 · 2 comments
Labels

Comments

@cblgh
Copy link
Contributor

cblgh commented Nov 25, 2016

below is a list of questions of which require two answers:

  1. one from a conceptual point of view,
    how should it work?
  2. the other from the point of view of a technical solution, the mechanism by which the difficulty is solved,
    how does it work?

the technical answer should underpin and build upon the answer from the conceptual point of view.


the aim of the list is to explore and clarify what rotonde is, pinpoint the difficulties that need to be surmounted, and to guide everyone to a similar place in order to solve them

  1. can people run rotonde without an instance?
    • can people run rotonde without a dedicated server?
      will every person wanting to run rotonde be able to run an instance?
  2. will there be rotonde visitors without instances?
  3. what is the lifetime of a rotonde instance?
  4. how will people connect to instances?
  5. how are new instances found?
  6. how will bots be handled?
  7. how do you script your instance?
  8. how will chatlogs of instances be handled?
    • will a visiting user be able to view logs from when they weren't there, as is possible with slack?
  9. how does an instance tell all of its spectators it is now alive?
  10. how does an instance notify all of its spectators of notifications?
  11. how are messages sent between instances?
  12. how are files exchanged within an instance?
  13. how are an instance's modules accessed?
  14. what is an example of an instance's module?
  15. can you send notifications to an instance without a client?
  16. how easy is it to deploy an instance?
    • if you haven't programmed before?
    • if you don't know any javascript?
    • if you can't configure your webserver?
  17. is rotonde simple?
  18. is rotonde accessible?
  19. what is rotonde?

is each instance simply a hosted rotonde core (and plugins)?
when an instance is saved by a visitor, what is actually saved?

@cblgh cblgh added the Thoughts label Nov 25, 2016
@neauoire
Copy link
Member

neauoire commented Nov 25, 2016

can people run rotonde without an instance?

No

will there be rotonde visitors without instances?

No

what is the lifetime of a rotonde instance?

As long as the connection is active

how will people connect to instances?

/visit neauoire, Join a pair
/visit The-Lobby,

how are new instances found?

word of mouth, direct links

how will bots be handled?

plugins

how do you script your instance?

plugins, connecting to different APIs of your instances and client

how will chatlogs of instances be handled?

plugins

will a visiting user be able to view logs from when they weren't there, as is possible with slack?

possible through asking the logging bot for a backlog, auto sending a notification with the history.

how does an instance tell all of its spectators it is now alive?

Your instance constantly pings your spectated instances for activity.

how does an instance notify all of its spectators of notifications?

what?

how are messages sent between instances?

sockets

how are files exchanged within an instance?

No idea

how are an instance's modules accessed?

APIs, possibly metaprograming like Faun's Open Sky

what is an example of an instance's module?

A bot

can you send notifications to an instance without a client?

yes, instances open a website that could have APIs themselves

how easy is it to deploy an instance?

rotonde connect

if you haven't programmed before?

rotonde connect

if you don't know any javascript?

This is not for you.

if you can't configure your webserver?

It should be handled by Rotonde. Similar to Python's SimpleHTTPServer -8000

is rotonde simple?

No, it's an engine.

is rotonde accessible?

No, it's an engine for Merveilles-like people.

what is rotonde?

An engine to communicate, create utilities, share, build identity and a personal space online.

@maxdeviant
Copy link
Member

maxdeviant commented Nov 25, 2016

  1. can people run rotonde without an instance?
    • can people run rotonde without a dedicated server?

I know @neauoire says that we do not need a server, but currently, having a server of some sorts is a requirement. If we can figure out a way to do it in the future, then the system will support adding a deployment method that supports local systems.

  1. will there be rotonde visitors without instances?

Currently, it is possible for clients to connect to Rotonde without having an instance of their own.

  1. what is the lifetime of a rotonde instance?

Since right now a Rotonde instance runs on a server, the lifetime would be as long as it is running on the server.

  1. how will people connect to instances?

People will connect to instances using one of the Rotonde clients, either first-party or third-party.

  1. how are new instances found?

New instances will be found by sharing the URL to the instance over traditional lines of communication.

  1. how will bots be handled?

Bots will be handled via plugins.

  1. how do you script your instance?

You script your instance by creating plugins.

  1. how will chatlogs of instances be handled?
    • will a visiting user be able to view logs from when they weren't there, as is possible with slack?

Any sort of logging/persistence would be handled by a plugin. But if you had a plugin saving all messages, then I would think it would show all messages to clients when they reconnect.

  1. how does an instance tell all of its spectators it is now alive?

Since an instance is a websocket server, if it goes offline all of its clients will have their sockets disconnected. Now, if the client maintains a list of instances that it has connected to, we could potentially poll them and attempt to reconnect once they come online.

  1. how does an instance notify all of its spectators of notifications?

The instance notifies spectators by broadcasting a message over websockets.

  1. how are messages sent between instances?

Messages are sent between instances over websockets.

  1. how are files exchanged within an instance?

This would be delegated to a plugin, and could be done via websockets/HTTP.

  1. how are an instance's modules accessed?

Are you referring to accessing the plugins from within one of the Rotonde clients? There would be some sort of API for accessing the plugins.

  1. what is an example of an instance's module?

Perhaps you could expound on this more? A Rotonde plugin could be anything. For example, the chat functionality is a plugin.

  1. can you send notifications to an instance without a client?

No, you need a Rotonde client to communicate with a Rotonde instance.

  1. how easy is it to deploy an instance?
    • if you haven't programmed before?
    • if you don't know any javascript?
    • if you can't configure your webserver?

Each deployment method will have varying levels of complexity, which is tied entirely to the complexity of the environment you are deploying too.

But the way it works from the CLI client is you type create, and it will prompt you with one of the supported deployment targets. Once you select an option, it would then walk you through additional configuration and then deploy to the environment.

  1. is rotonde simple?

Depends on what you mean by simple. It's core will definitely not be simple, by nature. But plugin development will be simple. Creating and consuming plugins should be dead-simple.

  1. is rotonde accessible?

I think Rotonde will be accessible to anyone who knows how to navigate a command line.

  1. what is rotonde?

I'm stealing @neauoire's answer for this:

An engine to communicate, create utilities, share, build identity and a personal space online.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants