Coding without code
Suppose a certain Internet service has the following functionality: a user can 1) create an object, 2) determine the type of object, 3) create a connection between two objects, 4) determine the type of connection, 5) determine the powers of other users to perform these operations.
What will this functionality allow users to do?
- to communicate. Communication is a chain of objects, roughly speaking, of a text type, connected by a source-response relationship (relationship).
- To structure content - to establish links between various objects and sets. Including to build ontologies of various subject areas.
- Create your own services and projects. About it below on examples.
Example 1Suppose a certain realtor wants to make a real estate project in the city of N. He creates an object of the "Many" type with the additional "Service" type. Or "Author's project." Or to call something else, it doesn’t matter now. It is important that within this set this user will determine the authority of other users to perform operations. So, inside this set, the author of the project creates several more sets with the types “Commercial Real Estate”, “Apartments”, “Plots”, etc. Inside the “Commercial Real Estate” sets will be created with the types “Offices”, “Shops”, “Warehouses” ", Etc." Apartments "will be divided into sets according to the number of rooms, by district, by the sign of an old house or a new building, etc. Note at the same time - the same objects can be combined into different sets at the same time. Those. the author will not suffer on what basis to build a common hierarchy, and build all hierarchies according to all the signs he knows. I don’t know whether this can be called an ontology of the subject area, but this structure will definitely reflect the real relationships in the area where the author of the project is competent. (True, the problem will still remain in what exactly users will see on the screen, but this is a separate issue). The author creates this structure himself, but for other users, let's say, he will allow you to create objects of the "Comment" type and associate them with any of the above objects and with each other. All comments related to a specific object can be combined into a set with the type "Discussion". Further, the author creates a set with the type "Apartments for sale". Other users can create objects with the type "Apartment" inside it, but for money (ad placement fee). In turn, the “root” service takes a certain percentage of the income of the author of our hypothetical real estate service. (There are considerations against this monetization model, so it still needs to be applied correctly. This wasmy other post ).
Example 2. Yaroslav Greshilov made the Bible project. But he does not have enough money to develop this service, to increase functionality. And he turned to users with a proposal to chip in on the project if they want to see some things finalized in it. I don’t know what kind of things; in my opinion there is not enough opportunity to comment and discuss books. Let's see what has actually been done: inside a set called “Biblus”, users can create sets with the (conditionally) “User Pages” type, which in turn consist of four types of sets that combine objects with the “Book” type - “Read”, “ I want to read ”,“ Now I am reading ”,“ I have ”, as well as a lot of type“ Neighbors ”, consisting of objects of type“ User ”. Books in some sets are associated with objects of the “Short Review” or “Explanation” type. If Yaroslav did his project in our hypothetical service, to add the ability to comment on books or reviews, it would not be necessary to change the program code and pay the programmer. It would simply allow users to create objects of type “Comment” and associate them with objects of “Book” or “Review”. Suppose Bibla makes money from bookstore advertising. A certain percentage of these revenues, again, would be withdrawn in favor of the “root” service.
The Bible is connected with the creative association 13:37 (apparently, at this very time they came up with the idea to unite), which brings together several people and projects. In particular, travel and film projects. I would not want to go into details, I just note that the structure can be similar to the Bible - the films can be divided into “Looked”, “I want to see”, “Now I'm watching”, “I have” and also make up a lot of “Neighbors”. The same with travel, i.e. with geographical places - “Visited”, “I want to visit”, “Now I am” and the traditional “Neighbors”. Of course, this is partly a joke, since different areas have different specifics.
There are a couple more examples that I wanted to paint in more detail, because they contain specific advantages of the described “objects + communications” model. I will do this in the following posts.
Remarks and explanations.
Here, not everything is intentionally said and simplified in order to focus on the essence. In addition, it is clear that any standardization and unification in the production of projects has both pros and cons. A project made in the traditional way may be better from the point of view of design and other things, and also be better sharpened for high loads. In addition, if you provide a service for business projects, this imposes high requirements on the stability and reliability of this service.
As you can see, the type of "set" is found constantly and everywhere, so its creation can even be distinguished in a separate, sixth operation. But I didn’t turn it on, because I wanted expressive minimalism. As a matter of fact, a type (class) in itself is a set uniting “typical” elements from any field.
Minimalism leads to the fact that the creation of projects becomes available to ordinary users. They are not required to be programmers, or even required to learn Drupal or WordPress. They are only required to use competencies in their own professional fields. Hence the name of the post - Encoding without a code. You could also call programming without programming. This is programming, although not in the traditional sense, because the relationships between various network resources — information, intellectual, and other — are programmed, and social interactions of people are programmed. There is no code, since it comes down to a certain user interface. I understand that the devil is in the details and maybe not so simple. I plan to think about this interface when I finish a certain coherent series of posts.
As we see in the example of the Bible, not only the creation of projects is simplified, but also their change and development is simplified. And this is important not only for ordinary users.
Note that the types defined as “User” and “Comment” are common to two completely different projects - real estate and books. Those. a common environment is the basis for standardization and unification of types. Which will simplify the search and structuring. For example, it is obvious that another real estate project in another city will contain the same types of “Apartment” and so on. And it will be possible to easily connect in one set all the objects of the type “Apartment” in all cities of the country, if we need it for anything. In addition, a comic example with the union of 13:37 shows that to some extent it is possible to unify not only types, but also typical structures, sets and relations between them. It seems that when from a variety of world literature there are only a few typical plots.
As said at the beginning, the “objects + communications” model allows not only to create their own projects, but also to do what users are used to doing on the Internet, and even more to structure materials. The prospects associated with this are interesting, and there are a lot of interesting things to say, especially considering that all this happens together in a common environment. But as the experience of my past posts shows, talking about everything immediately confuses the audience. Therefore, in this text, I decided to focus only on the aspect related to the production of projects.
Although in fact it would be appropriate here to continue the analogy with some programming concepts, such as encapsulation and data hiding in the interaction of user sets with the general environment. Concealment, because there is a thought among the user-set permissions to include the operation “determine the visibility of objects for other users”. In this approach, the external interacts with the internal only through some interface. The user determines who can create and / or see objects and relationships in his space, specify exactly what objects / relationships, their specific sets or types. And also to divide your space into subspaces and define rules separately for them; delegate authority to establish rules to other users, etc. But for the full development of this topic, I lack competencies.
What else can I add? For example, it is easy to clone projects in such an environment. This also opens up a topic of conversation.
What will this functionality allow users to do?
- to communicate. Communication is a chain of objects, roughly speaking, of a text type, connected by a source-response relationship (relationship).
- To structure content - to establish links between various objects and sets. Including to build ontologies of various subject areas.
- Create your own services and projects. About it below on examples.
Example 1Suppose a certain realtor wants to make a real estate project in the city of N. He creates an object of the "Many" type with the additional "Service" type. Or "Author's project." Or to call something else, it doesn’t matter now. It is important that within this set this user will determine the authority of other users to perform operations. So, inside this set, the author of the project creates several more sets with the types “Commercial Real Estate”, “Apartments”, “Plots”, etc. Inside the “Commercial Real Estate” sets will be created with the types “Offices”, “Shops”, “Warehouses” ", Etc." Apartments "will be divided into sets according to the number of rooms, by district, by the sign of an old house or a new building, etc. Note at the same time - the same objects can be combined into different sets at the same time. Those. the author will not suffer on what basis to build a common hierarchy, and build all hierarchies according to all the signs he knows. I don’t know whether this can be called an ontology of the subject area, but this structure will definitely reflect the real relationships in the area where the author of the project is competent. (True, the problem will still remain in what exactly users will see on the screen, but this is a separate issue). The author creates this structure himself, but for other users, let's say, he will allow you to create objects of the "Comment" type and associate them with any of the above objects and with each other. All comments related to a specific object can be combined into a set with the type "Discussion". Further, the author creates a set with the type "Apartments for sale". Other users can create objects with the type "Apartment" inside it, but for money (ad placement fee). In turn, the “root” service takes a certain percentage of the income of the author of our hypothetical real estate service. (There are considerations against this monetization model, so it still needs to be applied correctly. This wasmy other post ).
Example 2. Yaroslav Greshilov made the Bible project. But he does not have enough money to develop this service, to increase functionality. And he turned to users with a proposal to chip in on the project if they want to see some things finalized in it. I don’t know what kind of things; in my opinion there is not enough opportunity to comment and discuss books. Let's see what has actually been done: inside a set called “Biblus”, users can create sets with the (conditionally) “User Pages” type, which in turn consist of four types of sets that combine objects with the “Book” type - “Read”, “ I want to read ”,“ Now I am reading ”,“ I have ”, as well as a lot of type“ Neighbors ”, consisting of objects of type“ User ”. Books in some sets are associated with objects of the “Short Review” or “Explanation” type. If Yaroslav did his project in our hypothetical service, to add the ability to comment on books or reviews, it would not be necessary to change the program code and pay the programmer. It would simply allow users to create objects of type “Comment” and associate them with objects of “Book” or “Review”. Suppose Bibla makes money from bookstore advertising. A certain percentage of these revenues, again, would be withdrawn in favor of the “root” service.
The Bible is connected with the creative association 13:37 (apparently, at this very time they came up with the idea to unite), which brings together several people and projects. In particular, travel and film projects. I would not want to go into details, I just note that the structure can be similar to the Bible - the films can be divided into “Looked”, “I want to see”, “Now I'm watching”, “I have” and also make up a lot of “Neighbors”. The same with travel, i.e. with geographical places - “Visited”, “I want to visit”, “Now I am” and the traditional “Neighbors”. Of course, this is partly a joke, since different areas have different specifics.
There are a couple more examples that I wanted to paint in more detail, because they contain specific advantages of the described “objects + communications” model. I will do this in the following posts.
Remarks and explanations.
Here, not everything is intentionally said and simplified in order to focus on the essence. In addition, it is clear that any standardization and unification in the production of projects has both pros and cons. A project made in the traditional way may be better from the point of view of design and other things, and also be better sharpened for high loads. In addition, if you provide a service for business projects, this imposes high requirements on the stability and reliability of this service.
As you can see, the type of "set" is found constantly and everywhere, so its creation can even be distinguished in a separate, sixth operation. But I didn’t turn it on, because I wanted expressive minimalism. As a matter of fact, a type (class) in itself is a set uniting “typical” elements from any field.
Minimalism leads to the fact that the creation of projects becomes available to ordinary users. They are not required to be programmers, or even required to learn Drupal or WordPress. They are only required to use competencies in their own professional fields. Hence the name of the post - Encoding without a code. You could also call programming without programming. This is programming, although not in the traditional sense, because the relationships between various network resources — information, intellectual, and other — are programmed, and social interactions of people are programmed. There is no code, since it comes down to a certain user interface. I understand that the devil is in the details and maybe not so simple. I plan to think about this interface when I finish a certain coherent series of posts.
As we see in the example of the Bible, not only the creation of projects is simplified, but also their change and development is simplified. And this is important not only for ordinary users.
Note that the types defined as “User” and “Comment” are common to two completely different projects - real estate and books. Those. a common environment is the basis for standardization and unification of types. Which will simplify the search and structuring. For example, it is obvious that another real estate project in another city will contain the same types of “Apartment” and so on. And it will be possible to easily connect in one set all the objects of the type “Apartment” in all cities of the country, if we need it for anything. In addition, a comic example with the union of 13:37 shows that to some extent it is possible to unify not only types, but also typical structures, sets and relations between them. It seems that when from a variety of world literature there are only a few typical plots.
As said at the beginning, the “objects + communications” model allows not only to create their own projects, but also to do what users are used to doing on the Internet, and even more to structure materials. The prospects associated with this are interesting, and there are a lot of interesting things to say, especially considering that all this happens together in a common environment. But as the experience of my past posts shows, talking about everything immediately confuses the audience. Therefore, in this text, I decided to focus only on the aspect related to the production of projects.
Although in fact it would be appropriate here to continue the analogy with some programming concepts, such as encapsulation and data hiding in the interaction of user sets with the general environment. Concealment, because there is a thought among the user-set permissions to include the operation “determine the visibility of objects for other users”. In this approach, the external interacts with the internal only through some interface. The user determines who can create and / or see objects and relationships in his space, specify exactly what objects / relationships, their specific sets or types. And also to divide your space into subspaces and define rules separately for them; delegate authority to establish rules to other users, etc. But for the full development of this topic, I lack competencies.
What else can I add? For example, it is easy to clone projects in such an environment. This also opens up a topic of conversation.