📜 ⬆️ ⬇️

Programming social interactions

In a previous publication, I raised the question of standardizing teams with which you can manage social interactions on the Internet. As far as I understand, the subject in such a statement has been little studied, so this text is rather a seed for reflection and discussion. If we take the most “material” (directly observable) aspect, the person in the network is a) a set of content created by him on various resources. In a somewhat less material form, a person is b) a “center of influence” - something that in many ways influences the appearance and disappearance of someone else’s content. Probably, the culmination of both theses is the assertion that the person in the network (and in society in general) is his name. The same can be said about communities and organizations. Therefore, the management of social interactions of people on the Internet comes down mainly to operations with content.

Production of content always takes place in a specific context, which is provided by various services - their functionality and positioning. They explicitly or implicitly define the types of created content objects, ranging from basic division into text, photo, video, and audio, to more detailed typing by genre . Typically, the basic types are clearly defined in the functional, and the positioning of the service defaults to genre typing. For example, a text can be a commentary, a novel, a thesis, a quotation, a verse, etc. Even if the question is about abstract operations, they can only be realized within a specific service. Therefore, rather, the positioning of such a service should be quite versatile (more on that below). But within this universalism, the usual role of context will not be fulfilled and all types will have to be explicitly declared. What are all? Genre diversity is large enough and can hardly be fully determined in advance. Therefore, the creation of a type in such a system becomes a separate operation. This is all the more relevant if it is not just about content objects. For example, a person is not a content object, but rather an aggregate of them, as mentioned above. In general, the totality is one of the most frequently encountered things in nature and society. The same communities, social networks, any kind of human organization. So it should be allocated in a separate type of “set”. The type itself is a set, it is the union of objects into one set for some common feature. The reverse is not always true; if a certain set is unique, it is by definition not typical. Those. set is a more general concept and its creation could be used as a basic operation instead of creating a type, and then assigning (linking) specific objects to specific sets, which in fact would mean typing these objects. But probably the word “type” (class, variety, genus, etc.) is more usual for perception, we are accustomed to think of well-known standard types, since it facilitates and speeds up communication and comprehension.

The context that services traditionally define includes not only the definition of object types. Positioning and functionality explicitly or implicitly also define relationships (relationships) between objects, for example, when a specific comment relates to a specific post, video, or other comment. In the midst of our hypothetical universal communication service (as well as the types of connections), we also have to explicitly specify.
')
A noticeable complication associated with the explicit declaration of object types and relationships, on the other hand, has an even more noticeable advantage due to the fact that the typing of objects ceases to be rigidly fixed, the same objects may belong to different sets. A text can be simultaneously a comment, a quotation and a verse, and also belong to the set of all objects (not just texts) created by one author. If this author belongs to a certain community, this text will be associated with this community. And also with the direction in art, if we take it broader. It will also belong to the set of all objects (also not only texts) created on a specific day (month, year, ..). In such a system, you can quickly select specific sets of objects for different common grounds. Or detect all the connections of a single object. Why do you need it? Probably for different purposes. For research, reflection, analysis, statistics, marketing. For contextual advertising and PR. For the formation of social ties in communities according to detailed interests. It is also possible that this is a convenient tool for describing very complex things such as the Large Hadron Collider with all its physical stuffing and infrastructure, the accompanying computing infrastructure and software, the accompanying development teams, not to mention the accompanying ideas. The strategic goal is the environment for the creation of copyright or collective projects. You create a set and set the rules for forming content in it. If among the elements of this set other sets are allowed, you can build very complex things. Which are the projects. Although, of course, what a project is is the topic of a separate article. Say, many projects boil down to this, but not all. For example, game items related to the visualization of images are not included here.

This leads us to point b), indicated at the beginning. A person influences content creation by others. Direct and formal means, if for example he is a moderator or creator of a project. As well as implicit and informal, if he possesses fame and / or authority, he can pose topics that many begin to discuss, influence the course of discussions. Variants of democracy also take place when the decision on punishment is taken collectively. But with the activity of the masses, methods of indirect encouragement or disapproval are now more associated with what we have in the systems of user polls. In the context of the discussion we are talking about the formalization of these things. From the previous review, four operations can be distinguished - the creation of objects and types of objects, relationships, and types of relationships. Creating implies the ability to delete, as well as change / edit, i.e. operations will be more than four. Accordingly, moderator / administrator authority refers to these operations. The only question is in which space these powers operate. The answer is inside the object. To do this, the object must be of a suitable type. Of course, this is the “set” type, but with additional specifying typing, for example, “community”. In complex systems, the need arises to delegate powers when a certain person or community within one’s own (author’s) space gives certain powers to other people (including to empower again) and determines the subspaces in which these powers operate. Such a scheme corresponds exactly to what we have in a traditional society in the hierarchies of relations a boss is a subordinate. The granting of rights to perform operations is an action independent of the operations themselves, it should be considered as a separate operation. In which are specified the object of delegation (endowed with the rights of a person or many people), the scope of the rights (objects), the rights themselves.

In the "real" situation is possible and often realizable, when communities of people (people) delegate to other people (rulers) or communities (for example, deputies) have much more powers than they themselves have. But there the powers are much more diverse than the operations listed here with content and access to such operations. The pyramid of relations between the boss and the subordinate in traditional society rests on competences, money and social connections, as well as on the fact that all this is involved in the framework of common projects. The money factor in social interactions plays an important role and must be taken into account if it is necessary to formalize the operations of social interactions in the network. How to formalize it in the framework of the described system objects - communication? You can associate with objects-people and communities (organizations) money-type objects - “wallet”, “fund”, “treasury” and so on. In which conditional monetary units will be contained. It seems that the following operations are necessary with them: 1) establishing (within a certain space - a multiple object) exchange rate in relation to real money, 2) replenishing an account within a money object, 3) cashing out from a money object, 4) transferring money to another money type object. Accordingly, these operations should be included in the delegation of authority. It is also possible another option, if in addition to objects and relationships, enter another entity - the attribute. For example, human objects will have money and rating attributes. But as a matter of fact, an attribute is an implicit form of communication, and it is not yet obvious to me how its introduction instead of explicit connections would be justified.

It seems that in terms of formalizing operations, the situation with ratings is similar to the situation with money. A certain object (not necessarily a person) is associated with an object or objects of type “rating”, “rank”, “karma”, etc., containing the numerical value of the rating. We need the opportunity to increase the rating by a certain amount and decrease it (that is, we need the corresponding operations, as well as the operation of delegating rights to such operations). Voting systems vary; Perhaps, someone in his copyright space wants to make different weights for different users for different users. Such things are calculated by mathematical formulas. It turns out that the considered operations of "socioprogramming" need to add the usual mathematical operations and functions. This is also necessary for handling money, for example, for withdrawing interest when transferring amounts from one monetary object to another.

Probably, without traditional software instructions and constructions of the type if, if - else is also necessary. Another apparent need is the operation of transferring content between content objects.

It would be interesting to come up with a specific example of program code in such a language that implements some simple project. Suppose it occurred to someone to create a project of a blog space in which blog posts would be published only after the approval of the editor. And editors assign bloggers with high ratings. But this is another time. So far it seems to me that the commands (instructions, operations) indicated here are enough to realize with their help a considerable variety of network projects. In conclusion, let me briefly recall these operations: several of them relate to operating with content (creating and deleting objects, links and their types), delegating authority, several operations with money type objects and ratings, sending content, and all this is complemented by some traditional operations programming. To this list, I would add another very advanced chip in my opinion, when the visibility of objects and connections can be manipulated. It is not necessary, for example, to ban someone (close access to content creation operations), instead, the content they produce can be made invisible to certain sets of people. In this “invisibility operation” you need to specify an object / set that will not see objects (and, possibly, links) produced by another specified human object (or multi-object). This feature with invisibility would be worth more detailed consideration, but there is no room left for it.

PS Actually, I initially planned to write only about the operations of social interactions, without in any way slipping into the domain of elements of traditional programming. However, for some reason, that's how it happened. I still did not have time to think about it all. Moreover, I am not an expert in different things, in programming too. So you can beat it painfully :) Unless of course someone will be able to finish reading to the end :)

Source: https://habr.com/ru/post/72368/


All Articles