Hi! I'm considering how to implement a new version of Netention ( http://github.com/automenta/netjs ) as a set of plugins for NodeBB. Netention is a Node.JS/HTML5 webapp that uses some technologies in common with NodeBB, such as websockets. Bringing the missing features into NodeBB's design would provide a much more solid foundation and larger developer and user community.
Here's the set of features which could be added as NodeBB plugins:
-
Geographic Mapping - displaying maps of geolocated objects (posts), and showing contextual embedded maps. I wasn't able to find any NodeBB mapping plugins. Netention started with using OpenStreetMaps but later switched to Leaflet.js which was more than equally capable and much lighter-weight. https://github.com/automenta/netjs/blob/master/client/view.map.js We also have a partial implementation of a 3D WebGL map using Cesium.js https://github.com/automenta/netjs/blob/master/client/view.map.cesium.js
-
Semantic Objects - viewing and editing of semantic metadata, using a common ontology, that can be used to describe quantities and qualties of real and imaginary things. I think this can be implemented as a filter for post editor and viewer that adds the extra widgets and parses the embedded metadata for processing on the server-side. The benefit of using semantic tags is matching and coordinating activities. https://github.com/automenta/netjs/blob/master/client/util.js#L797 https://github.com/automenta/netjs/blob/master/client/widget.object.js
-
Taggers - ways of selecting semantic tags. includes several kinds of ontology browser for quickly choosing tags. https://github.com/automenta/netjs/blob/master/client/widget.tag.js also includes a wikitagger for choosing any wikipedia page as a tag. https://github.com/automenta/netjs/blob/master/client/widget.wiki.js this was developed for the Curiosume project which is explained here http://www.ingenesist.com/general-info/curiosume-integrating-social-innovation.html
-
Graph view - for visualizing and editing relationships between objects. Uses D3 and can include many more features than what currently exists. https://github.com/automenta/netjs/blob/master/client/view.graph.js
-
Slides view - uses reveal.js https://github.com/automenta/netjs/blob/master/client/view.browse.js#L129
-
WebRTC for peer-to-peer chat, audio, and video. using peer.js, all client-side https://github.com/automenta/netjs/blob/master/client/webrtc.js we also use WebRTC in the code borrowed from Meatspac.es to capture a webcam clip, generate a .GIF, and upload to the server as a new object.
-
P2P inter-server network - This might be redundant if a Jabber network exists but this protocol may have some advantages. Needs experimenting. https://github.com/automenta/telepathine https://github.com/automenta/netjs/blob/master/plugin/p2p/netention.js
-
Contextual actions (client-side) https://github.com/automenta/netjs/blob/master/client/action.js determines which of a set of actions applies to a given object (post)
-
Trust & Value Network uses a graph to calculate flows of "Trust" and "Value" between objects (including users). the Trust level can be used to determine sharing access to data shared with the "trusted" visibility level. In addition there is 'private' (only myself), 'public' everyone on the server, 'anonymous' public without author information, and 'published' which is designated for broadcast push on the p2p network. https://github.com/automenta/netjs/blob/master/server/web.js#L1087
-
Ripple.com Plugin this connects to the ripple payment network using the node.js ripple-lib module. it gets public ledger data including balances and trust (credit) lines for accounts that have a ripple wallet associated. the trust lines can also be interpreted as trust between two users who both use ripple. a similar system can be implemented for bitcoin, ethereum, maidsafe, and other cryptocoin networks. https://github.com/automenta/netjs/blob/master/plugin/ripple.js
-
Other plugins - https://github.com/automenta/netjs/tree/master/plugin many of these are just empty except for some notes of how they should work.
Thanks! if i think of more features i'll reply. I'll be experimenting with NodeBB soon to see how feasible this is. If anyone would like to help, please feel free to go ahead and start translating any of the Netention code into NodeBB plugins. feedback from experienced NodeBB developers will be greatly appreciated.
Netention is SEMANTIC GROUPWARE that automatically organizes a community of peoples' realities.
It can then interlink them with automatically discovered opportunities that are mutually inter-satisfying - essentially suggesting to its participants how they could realize the desired futures they have described.
Netention is a tool for describing one's current reality (“is”), and potential future realities (“should be”) – as linked data objects. A semantic description of a life (human, animal, plant, or otherwise) can be considered to consist of a set of data declarations representing aspects about which one is concerned or interested. Now we can link the current and desired states of the real and imaginary concepts in our minds - including people, environments, objects, processes, knowledge, or time.
Netention realizes one’s goals based on their desires and translates them into tangible outcomes in one’s own growable network.
It can be used to organize a community, a business, a family, or a government in similar ways because it is designed to consider how the mind expresses thought (especially language) at a neural level.
Netention aims to solve, in general, all resource management and planning issues that occur among communities of participants. A complete system could conceivably eliminate the balkanization of various separate online services that presently serve relatively narrow subsets of the more general problem.
Netention is under development and is experimental. Use at your own risk