Difference between revisions of "Main Page"
Jump to navigation
Jump to search
Line 34: | Line 34: | ||
See [[Roadmap]]. | See [[Roadmap]]. | ||
+ | |||
+ | == Notes == | ||
+ | |||
+ | === Similar projects / inspiration === | ||
+ | |||
+ | * https://github.com/thedjpetersen/subway |
Revision as of 13:11, 27 November 2014
Contents
Codename 67P
Codename 67P a.k.a. Nice Cave a.k.a Subspace is a team communication application based exclusively on open protocols, standards, and APIs. All of its components are free software, published under open-source licenses. User-facing programs will be built upon the Web Platform, communicating with server components via HTTP and WebSockets.
Building blocks
67P consists of several components, all of which can be configured separately, and thus be either hosted by a provider or self-hosted by the user/organization. These are:
- Sockethub server for facilitating client/server communication between the Web client and the multiple protocols/backends/APIs it needs to talk to (e.g. IRC, SMTP, OStatus, Twitter, GitHub, SMS gateways, TURN etc.), as well handling incoming notifications like e.g. WebHooks from services that want to publish messages to 67P-handled IRC channels
- RemoteStorage server for storing all user data in a user-defined/controlled storage backend
- IRC server for private communication servers (not needed for personal usage on public servers)
- TURN server for WebRTC networking enhancements/fallback for audio and audio/video calls (optional)
- Web client, written in Ember.js, using sockethub.js and remotestorage.js, and making heavy use of Ember/Web components for implementing its functionality
Goals
- Provide users/organizations/businesses with a modern, full-featured team communication solution, which is easy to set up and use
- Eventually provide a fully hosted, one-click-setup solution for private team communication (keeping the possibility to exchange any component at will, e.g. storing all data on a user-controller remoteStorage server instead of the 67P company's own remoteStorage servers
- Use common, open, documented data formats for storing all data, thus making it possible to use/manage/input stored data from other apps (no matter if new or existing). This is where the remoteStorage protocol is different than all other personal data storage protocols made for the Web.
- Always keep the whole application in a state that can be deployed by anyone (with the necessary skills) who wishes to self-host the whole system. That explicitly includes excellent documentation for doing so.
- Reversing the trend of declining IRC users on public servers by giving everyone a great Web IRC client, most importantly making it easy to connect, register nicks, auto-log and replay messages while away — all the nitty-gritty details that even software developers struggle with these days
- Always be backwards-compatible to plain IRC. This will be achieved through smart client components, enhancing the rendering/fetching of messages on the client side, while messages transferred via servers are always plain-text and readable in IRC without spammy extra characters/lines
- Have an excellent mobile client (or multiple)
- Make use of the latest Web Platform standards, not caring about backwards-compatibility in Web runtimes (much). 67P is a modern Web application, and people not running modern Web runtimes can use plain IRC clients.
Features
Development Roadmap
See Roadmap.