 Hello, my name is Artem Barmin, and I want to tell you a story about how we decided to do something useful for closure community, how we changed our mindset of finding the ideas, how we took a lot of marketing and product management instruments and deployed it to the closure popularity problem. But now I want to tell you a bit about myself. I started my journey as a developer and I was a Java developer for three years. Then I moved to the closure production development and made several projects in closure. And then we together with my friends decided to create a startup and ended up in a company that doing service and augmenting teams for the external companies. So I like a lot also marketing and product management and basically already for five years I am not a software developer already. That's why I decided to use my newly acquired skills for doing something useful for closure community and not to go from a technical side but to go more from a business side and watch on the problems from other perspective. Also one of my biggest happiness in life is supplying different mental models in a different domain so try to transfer them from one domain to the other domain and see how it performs. I want to mention our team without these people. It wouldn't be possible to do everything that we've done already. So I'm work as just a presenter and maybe one of the guys that manage the vision and ideas but most of the job is done by Inna, Vladimir, Irishat and Gleb. Vladimir is a closure developer, one of our projects. Irishat is also Gleb is responsible for creating the platform that I will show you a bit later. And Inna, she's a product manager and project manager of this whole process. So let me tell you about the idea and how we found what useful can be done for the closure community. Initially we started with the idea about the library or some open source solution that can be used in a closure project or not closure projects and to go in this area. But then we recalled that the better to ask people what do they need. That's why we use techniques from the product management, applied it to the community conversation and extract some pain points and friction points that community have with closure itself. So everything was done by Inna and Vladimir. They do this marketing and product management job. And let me tell you a bit more about the process. So initially we conducted a survey among the closure community. We gathered 52 responses that highlighted that one of the main reasons of closure unpopularity. The people answered this, they shared the ideas is that too many libraries and too many tooling is existing for the closure. And that make onboarding process for the newcomers much more harder than other languages that have usually one or two solutions that are used common in the whole industry. And also it had a lot of other consequences a bit later about them. The second step was in-depth interview with the closure developers. So we formulated a hypothesis about the problem of choosing libraries and making decisions and searching and benchmarking. That's why we came with this hypothesis to the people and made a set of 14 interviews each one hour long about the process, how they actually do this job, how they actually perform in the library selection, how they navigate in the ecosystem. And 10 of 14 of these interviews have actually proved that this idea and this problem exists in the community. The very important part of this problem is that to became closure more popular to start and improve the external marketing for the people that are not familiar with closure. We initially need to do something in some internal improvements. So when they get to know the closure, when they try to start the project, they need to be able to start it without any friction points as much as possible. So all tooling libraries ecosystem should be perfect. And that's one of the first steps to make a closure more popular. Okay, so let me tell about the found idea and that's actually marketing for closure and removing all friction points on the way of a developer inside the language. If you would just spread the word about the closure on different conferences, creating content and try to make it, try to make people aware of it without paying attention to internal friction points, other people can try closure, but they would break on the later stages and they will lost for us. And in the worst scenario, they will became negative referral and it make negative viral effect for the closure. So people that are not satisfied, they will go out and they will tell that closure is have rather bad library support or it's hard to navigate in the language itself. That's why we decided to go with a customer journey for developer inside the language and find some friction points. So let me apply a first mental model from product management is 3A3R funnel and I want to apply it to the language adoption and language choosing as a developer and basically it consists of six steps. The first one is awareness. When someone is get to know the closure, hear about it on some conference and we need hear the very wide spreading of information about the closure. Second step is acquisition. So how many people will hear about closure and will go to closure org or will try to find some tutorials or courses that can help them. Third one is an activation. So activation is when someone spend some time on course and get to know the syntax and try to do something in closure, maybe pet project or small production task. And this part from my point of view and what we've discussed is one of the most important parts in a closure because newcomers have a lot of troubles when they meet the closure ecosystem, they meet the list course and they understand that too many libraries exist for each problem. And that make language on-boarding and language activation is much harder for newcomers. The fourth one is a revenue when how many people will start production project and their jobs retention, how many people will do the second production project or serious pet project and referral when developer became a closure advocate. That's the latest step of a closure. And with last three steps, I think there is no big problems. And from my point of view and from what we've discovered during the polls and surveys and interviews is an acquisition and activation steps. So goal of our talk is to put attention on the activation and help newcomers to figure out the ecosystem much faster. Interestingly, that found problem even have its own name in a Lisp and it's called a Lisp Curse. It was described in a famous article about 10 years ago and it's a very good description of a state for almost any Lisp implementation. And it has very bad consequences for the closure because it makes much harder to do marketing among the decision makers and to force them to use this language for the new project, for the startups because of very strange state of the ecosystem. So let me tell you a bit more about the Lisp Curse. It's initially caused by technical excellence of a Lisp language itself and the closure as one of the Lisp implementation. And there is no requirements for this social collaboration to do some hard tasks because almost every developer can do some hard technical tasks by its own and no need to collaboration. And that creates a lot of concurrent implementations for the same problem and that makes it harder to navigate an ecosystem and onboard the newcomers. So to figure out what languages, what approaches is the best practices, how they're used and that makes developers harder to replace and a lot of closure projects have their own libraries set and their own stacks and that makes managers and decision makers harder to choose the closure for starting the project. That's the problem. So we see this solution that we can gently encourage in collaboration and we can gently building up the habits of scoping out the existing libraries and work before starting the new work. You probably want to say that creating a new standard of closure observability or closure ecosystem will not solve the issue. And I agree with you here and we understand that creating a new standard among existing one will just increase number of standards and it will not solve everything. But the goal of the talk is to analyze this problem in details to start a discussion inside the community and to suggest some social-based solutions like marketing and product management. Okay, so let's move to the jobs to be done that should be covered by the system. And here we found out the two segments of the people that will be first users of a system. The first one is newcomers that wants to find out what libraries, what trends, what approaches in a closure exists. And the other one, the experienced people that work on a closure project they're not following the ecosystem, they're not following the old news or libraries or mailing lists, but they still want to get to know more than trends in the ecosystem because they're changing a lot in such dynamic language as a closure. So the big job for these guys is to find out the best practices and libraries in a trend. Actually, there is a set of small jobs. That's a required task that should be done to solve the big job, to find out the libraries. So right now this is Slack, reading, this is asking, advises in the chats, reading the Twitter, following a lot of influencers, researching the GitHub, following the mailing lists and asking the guys, the experienced guys, what did they use in their projects and there is a huge amount of activity to be done to just keep the ecosystem in the mind. There is no such place that covers the whole ecosystem. So let's move to the point A. To move somewhere, we first need to understand where we are now and we described how this problem is solved right now by developers in closure and I already mentioned it because that's reading the Slack, reading a lot of social information, reading discussion, following discussions and following the large threads and finding out the mentions of a library, following the GitHub. So that's the point A. And I want to emphasize on similarities among the listed sources of information and all of them are stream-based. So the information came in from experienced guys in the discussions and it quickly became not accessible because stream is just moving. There is no structure in the streams. It's rather hard to navigate currently in this information. The good side that this information exists, the bad side that it's not quickly accessible by newcomers and if you want to find something in Slack discussions, you need to know precisely what do you want to find. So it's harder to just ask the question to the system. Please show me the libraries that was discussed a lot and that supported a lot in a community and the idea actually is to move from the stream-based information to some knowledge gathering in some place that should be accessible at any time by a novice guy and it should be well-structured, much less well-structured than current feeds of information from Twitter, Slack, GitHub, Reddit, anything. Okay, so we discussed the point A and now we can discuss the point B. This is the probable idea of what should be done and where we want to go in the system that will be helpful for the closure ecosystem navigation. I will tell in general about the points and I will tell any details about each point separately. So first one is social citation index. It's taken from the academic papers and academic research. The second one is a focal point. This is an idea from the game theory. That's the point where everyone goes without any pre-information. The third one is accumulation and transparency. So the knowledge should be gathering in some database that should be accessible by everyone and it should be structured. And probably there is a lot of unknown components of the system that should be created and extracted from the community minds using the product management techniques like deep interviews and polls and anything else. So let me tell a bit more details about each part of the system. Accumulation should work as some place that gather all information about closure ecosystem from a GitHub, Twitter, Reddit, project CLGs from the real production projects and maybe some other sources. Interesting to mention that modern B2C marketing systems have this integration with Twitter and social signals and it's quite easy for them to analyze the mentions of the brand in the whole network and we want to introduce something similar to the closure because it looks like it's a very important way of library decision making. And it should be accessible and it should gather and not disappear after some time so it should not be a streaming based approach but rather a structured database approach. The second one is a citation index and I already mentioned it and we figured out during the interviews that developers use a lot of social signals to make a decision on libraries and just to look at it and we want to automate this job and we want to create some linked database to make it easier to find out the social signals about each library. For example, was it used in a production project or was it mentioned in a Slack in some discussion in one context was it mentioned and in general in the UDL world we should get something like page rank algorithm for Google but for library. The third part of a solution is not a technical one but a social one. It's focal point. It's the concept from the game theory and that means that everybody will go to the system to this place without any prior information and unconditionally. And this is more a marketing task how to promote this platform and how to promote this way of searching and navigating the ecosystem and here we have several instruments from a marketing and product management that can be used. Another important part of a system is a transparency. Ecosystems should became much more transparent than now so every library, every announcement, everything should be gathered in one place and should be easily navigable and observable. And the interesting consequence of this transparency is that we can add some metrics to the system and there is an interesting psychological effect when we introduce some KPI or metric and we start watching it. This metric became to change and usually it became to improve. I've seen this many times in my business work and transparency and observability of ecosystem allow us to add some interesting metrics like I can suggest closure ecosystem entropy score. It's some integral metric that describe the relation between problem and amount of solutions for this problem and in general this should be much less than current situation. That's about the point A and point B and the third part of a talk is what instruments do we have and what can be used to go from point A to point B. One of the useful instruments is a systematic marketing. It's interesting to emphasize that in closure world most of marketing is viral. So if someone is creating library for library to became popular it need to be so well done and so greatly fits the problem so everyone will talk about it and will refer it and will became advocate of this library and in this case it became very popular and spread among the whole ecosystem. But another ability is to do a systematic marketing. It doesn't mean that the idea is not very useful. It only mean that we have much more control about saying and about educating people about the existing solution and I like a lot the example of vaccination against Covid because it's not a very popular thing but it's clearly very useful and in some countries government even use marketing platforms to encourage people to do vaccination. So useful doesn't mean that it's go viral. Another instrument is a product management that can help us to build a new habit because solution for the least course is actually building a new habit for developers. So not to create something but to have a habit to go someplace to look for the things that already created look for the problems maybe make adjustments in the library maybe improve the documentation for the library but try not to create something really new that solve the same problem just maybe in a bit different way over different API that's usual thing in closure. Another instrument that can help us is the CGM. It's an instrument from the product management and it's a customer journey map. So if we treat our developers as a customer or newcomers as a customer and we treat closure as a product not just in only language but the whole ecosystem, tooling and everything and we can systematically improve and remove friction points in a language adoption way. So that's also not about the luck it's more about the system and continuous improvements. And here we can use a lot of things like deep interviews like measuring metrics like analyzing the flow how people is proceeding their studying in closure and we can systematically improve it. What we have now we've started with a technical platform just to make something valuable that can be promoted and then can be a starting point for the discussion and right now it's a closure-based system located on a GitHub it's an open source and we're going to transfer ownership to the community and right now it's a GitHub data extractor automatic updates all data is stored in a Postgres database system and Metabase is used as a user interface as an MVP for user interface it's already deployed on a closure garden URL you can see the link on the slide so what we are going to do next first of all we of course have a roadmap for developing the system further and the next big chunk and next big milestone is a gathering of the social context and social signals and first attempts to build a live rank ranking system based on the social mentions and discussion the second one we are going to make a public roadmap for the system and we encourage you as a part of the community to give us ideas and to make a contribution into this project from the vision side from the understanding how it should be or from the code side every help would be great and we're waiting for your feedbacks regarding the talk, the system and everything on the email that you can see on the slide great, great, great part that we want to spend our budgets time and all our forces is a marketing of this solution inside the closure community it's going to be the collaboration with different courses, influencers and we will try to find the points of collaboration and how we can make it popular and make it the focal point for the search in the library the summary of this talk is that only by removing friction points in a developer CGM we can make closure more popular and that's the first step and many steps to come thank you