[GENERAL] Name and surname of main applicant
Ken Stanton
[GENERAL] Email address of main applicant
this.tent@gmail.com
Additional applicants
No other applicants.
[GENERAL] Please specify how many months you expect your project to last (from 2-12 months)
12
[GENERAL] Please indicate if your proposal has been auto-translated into English from another language.
No
[GENERAL] Does your project have any dependencies on other organizations, technical or otherwise?
No
[GENERAL] If YES, please describe what the dependency is and why you believe it is essential for your project’s delivery. If NO, please write “No dependencies.” .
No dependencies.
[GENERAL] Will your project’s output/s be fully open source?
Yes
[GENERAL] If NO, please describe which outputs are not going to be open source. If YES, please write “Project will be fully open source.”
Project will be fully open source.
[METADATA] Category of proposal
Dev Ecosystem Collaboration
[IMPACT] Please describe your proposed solution.
The Problem:
Ideation and development solutions currently don't compose as well as they could. This limits the capacity of projects to share work in an easy way.
My Approach:
Using typed multi-dimensional algebraic graphs, it should be fairly easy to document connections between projects and share code between projects in a very fine-grained way (if the languages/practice being used for development adhere to the right functional properties). This will allow both technical and non-technical innovators to work together in a unified environment.
Target Audience:
Anyone who wants to build a knowledge graph and/or understand how projects might fit together.
Demonstrating Impact:
- Producing useful documentation of this system and why it's design is useful for optimizing collaboration.
- Development of an open-source Minimum Viable Product that a number of teams can use to coordinate efforts across different projects... Probably a terminal application and a web-based interface.
- A roadmap and community engagement towards further collaborative refinement of this idea.
- Ideally---and possibly beyond the scope of this proposal---Dims should be self-hosted in a public knowledge graph with very user-friendly documentation so that it's easy for any team to tailor its use to their own purposes.
[IMPACT] How does your proposed solution address the challenge and what benefits will this bring to the Cardano ecosystem?
Some of the Potential Directions listed in the Developer Ecosystem challenge are directly related to this project:
Developer productivity: IDEs, scripts to automate processes:
- Dims should work as a simple IDE itself (MVP)
- It could possibly integrate with existing IDEs by allowing you to checkout code like git branches (probably future work, not simple because file-based management is too coarse-grained for optimizing code reuse and pursuing the best strategies for documentation)
Knowledge base & Documentation:
- Dims will work in a similar way to knowledge graphing systems such as Obsidian or LogSeq, but with the capacity to enforce some structure on how the graph is constructed through a type system.
Deployment, testing, and monitoring frameworks:
- Some of the principles of Dims' design will be lifted from nix and git, that should deal with deployment.
- Testing and monitoring may be saved for future work.
Samples, recipes and templates:
- It should be possible to produce these as nodes in your graph connected with any relevant code in your projects.
Hackathons:
- The process of collaboration in Dims could be structured so that it's like a hackathon that never ends!
- People would see what others are working on, form teams, and pursue goals documented by others with money to compensate progress in their areas of interest.
- Work in an individual's knowledge graph will probably end up being tied to a Cardano wallet, or (optionally) an Ada Handle, making it easy to donate to someone's work.
Dashboards:
- Ways of visualizing and having a high level overview of your graph will be explored.
[IMPACT] How do you intend to measure the success of your project?
- Documentation will be produced that describes this system in detail: People using ideas from the docs in their own work could be a source of beneficial impact.
- An MVP will be developed: There is impact in how many people use it, and how much it improves the quality of their work.
- Giving people in our ecosystem better ways to merging work and knowledge, both individually and collectively, could give everyone a better understanding of the knowledge space we're working in, and more insight into where they fit in.
[IMPACT] Please describe your plans to share the outputs and results of your project?
What are your plans to spread the project’s outputs over a reasonable timescale?
- I've already put a lot of effort into the ideas for this project.
- Documenting those ideas in a presentable way will start even before funding is approved because I believe they are too important to wait for compensation.
- If funding is approved for this, or at least two of my other smaller proposals (if you don't want to vote for this one), then I will finish the initial documentation with the proof of concept for the web interface and start working on the terminal app.
- Especially after the first six months (when my priorities will be focused on my smaller proposals), I will host community discussions after Catalyst townhalls and get people's ideas and feedback about the experience of using whatever I have ready for testing.
- Within the final six months of this project I should be able to get Dims to a place where it's usable for real work, and those who have shown interest along the way are in a place to collaborate on future refinement on this innovation management tool.
How and with whom will you share the outputs/impact and opportunities that will arise as a result of your completed project?
- Everything will be made available on the linked GitHub page.
- Everything related to this project will be open source under either the Apache-2.0 or CC-BY-SA-4.0 license depending on whether it's code or documentation.
- I plan to make myself available for further discussion and collaboration after completion.
How do you expect to use the results generated from the project in further research and development activities?
- Part of the reason I need this tool personally is for my research in programming language design and how the developer experience can be optimized through the careful choosing of language semantics.
- My (currently conceptual) programming language called Poplar will build on-top of Plutus Core semantics, and take inspiration from other languages and tools such as Nix, Git, Elm, Pony, Haskell, Ocaml, Elixir/Erlang, TLA+/μKanren, Common Lisp, Pie, and the K Framework.
[CAPABILITY/ FEASIBILITY] What is your capability to deliver your project with high levels of trust and accountability?
I've been a member of the Cardano community since the end of 2017, and I've been participating in Project Catalyst since the first public round (Fund2). I'm pretty much a generalist when it comes to anything dealing with science, logic, culture, behavior, communication, and the comparative analysis of complex systems. Universities aren't a very adequate option for people interested in pursuing deep and practical cross-disciplinary studies, so I simply spent 8 years taking every class I found interesting at a community college (where professors tend to care more about teaching), and I've been pursuing knowledge independently ever since... As someone who was home-schooled for most of my childhood, I tend to learn better on my own anyway.
I've been programming since I was 12. The properties of scalable distributed systems have been a focus of my studies for more than a decade now. I've also had opportunities over the years to witness and take note of how perverse incentive mechanisms almost universally degrade the efficiency of governing bodies, and also note when various approaches create a more optimized situation. I've been living in Malawi (southeast Africa) for over 2 years now, partly because of Cardano's focus on Africa. I'm also in the Cardano community partly because of Cardano's focus on Africa.
Dims, and my other projects, are independent. Funds are mostly required only for personal expenses so that I can devote my full time to Cardano related research and development. All my progress will be freely available online. All I can say about steps and process is that if I have enough money to hire a motorcycle taxi and order something at a coffee shop at least two or three times a week to get work done, my productivity will increase. Being able to pay my bills is also a good motivator.
[CAPABILITY/ FEASIBILITY] What are the main goals for the project and how will you validate if your approach is feasible?
Feasibility:
- I've already put a lot of thought-work into design goals of this project.
- The research and documentation objectives of this project are meant to make the benefits and relative simplicity of this approach clear.
- Please follow my progress here!
Goals:
- Have I made my ideas clear to the Cardano community?
- Have I generated interesting and useful group discussions?
- Has feedback from discussions helped to shape my software design?
- Have I produced an MVP of a tool that is useful to people and easy to iterate on?
[CAPABILITY/ FEASIBILITY] Please provide a detailed breakdown of your project’s milestones and each of the main tasks or activities to reach the milestone plus the expected timeline for the delivery.
Milestones:
- (Prior to voting) There will be enough documentation and functional examples posted here to give people a general idea of where this project is headed and some of the thought process as to why this is a beneficial approach to the problem of mapping out our collective idea space.
- (Within 6 months) People should have enough documentation to gain a detailed understanding of the thought-process behind my design goals, all hosted in the first iteration of the web-based interface for this project, although the documents will probably be served from a manually edited folder of text files.
- (Around the 6 month mark) Community meetings will be held to discuss this project and what people think about priorities for its future.
- (Within 12 months) People should be able to use the main application (probably terminal-based) to manage a knowledge base with some basic abilities to apply type constraints to enforce a bit of structure on their thoughts.
- (At 12 months, and beyond) Close-out presentation and some discussion about the future of this project, because the concept has a lot of potential to improve things beyond simple knowledge management. I will continue to iterate on this project for my uses, and others can feel free to do the same.
Note: This will be an ongoing project and the exact details of each milestone are subject to change based on what will most benefit the community in the MVP at the completion of this scope of funding.
[CAPABILITY/ FEASIBILITY] Please describe the deliverables, outputs and intended outcomes of each milestone.
Outputs of Milestones:
- Documentation and an interactive proof of concepts.
- A web-based presentation layer of text-based documents.
- Presentations and community discussion.
- A usable terminal application.
- A terminal environment that also serves a web-based interface.
Measurements will be:
- How useful is the documentation produced?
- Do people find the software to improve their knowledge management capabilities?
Probably Saved for Future Work:
- Making Dims work as well for code and software projects as it will for documentation.
[RESOURCES & VALUE FOR MONEY] Please provide a detailed budget breakdown of the proposed work and resources.
This project doesn't require any costs besides compensation for my own time spent.
₳45,000 for 12 months of work currently comes out to a little more than $1000USD per month which is plenty to cover my personal expenses here in Malawi.
[RESOURCES & VALUE FOR MONEY] How does the cost of the project represent value for money for the Cardano ecosystem?
- This project could help revolutionized the process of ideation in Cardano.
- People could develop and share their own processes as part of their knowledge graphs and allow others to adopt what works best... convergence on optimal practices.
- ₳45,000 is currently (at the time of writing this) only a little more than $1000 per month... not a lot of money for a year's work on such a project, but plenty to cover my family's basic needs in this part of Africa.
[IMPORTANT NOTE] The Applicant agreed to Fund10 rules and also that data in the Submission Form and other data provided by the project team during the course of the project will be publicly available.
I Accept