Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save leonardpauli/7118235a88221aa57ad8fb70923dabd6 to your computer and use it in GitHub Desktop.
Save leonardpauli/7118235a88221aa57ad8fb70923dabd6 to your computer and use it in GitHub Desktop.
own.rimstart.plan.milestones.as-message-to-markus.14oct2019.rim
# plan.milestones
' rimstart
created by Leonard Pauli, 14 oct 2019
' as-message-to-markus.14oct2019
Hi Markus!
I'm been spending most of my time on the course + studying math. Started listening the the futureofcoding podcast, thanks for the recommendation! (I suppose you've seen their slack as well? :) A bunch of people there!)
This last weekend, I decided to go full in with the project again; restarted from a new angle, with the declarative graph data structure to website exporter first, then later joining up with the language part.
I might have found a way to summarise the vision: "a new data/logic medium to be as ubiquitous as electricity, used by everyone, trivial to accomplish everyday tasks - 100x faster to accomplish complex goals as any existing method/programming language"
Doesn't say anything about the implementation (eg. executable + normalised graph of all knowlege and processes), nor the interface (multiple isomorphic in functionality, but better suited for different tasts, eg. textual (code or natural language), or visual (mindmapping/excel/notetaking/outlining/node 'n noodles/structural editor/etc)).
You can find my new revised plan here: (here)
# milestones (as goals)
goal 1: "online visual editor of data structure build with declarative data structure"
- static
- extract dynamic parts (allowing for ssr)
- simple expressions + external logic
- simple database interface locally
- database remote sync
- simple permissions
- make graph editor using data structure format
- beta publish editor online
- use editor to edit editor
- (use git to version exported json of editor for now, (even though history is stored in db?))
goal 2: "isomorphic textual interface / programming language in and outside online editor"
- use editor to create textual representation
- create parser of textual representation
- create diffing algo + language server allowing isomorphic text/visual interface
- create vscode extension
- tmp integrate ms monaco into online editor, allowing switching between textual/visual on the fly
- (store exported textual representation instead of json data structure in git)
goal 3: "get it good enough for creating most apps by improving it while building own projects in it"
- declarative resolve
- types
- structural editor
- type views in editor
- logic to allow infinitely large projects
- custom version control logic (possibly with possibility to sync with git)
// got to replan around here, might want to get involved with the community more around here
goal 4: "performance / making it native"
- migrate dom/website exporter to editor
- wasm logic exporter
- export editor server part (mostly db logic) with wasm
- use wasm exporter for dom/website logic (if actually beneficial?) + create wasm-js-dom glue package
- (look into making exporter for iOS through either swift or llvm directly?)
- (if so, export editor as iOS app + possibly native mac app)
goal 5: "get backend beta-prime-time ready"
- ensure db scalability (across cores, across ram, across volumes, across cpu nodes)
- ensure authentication/authorisation model
- declarative logic uploading + safe execution (with reactive cached views)
// got to replan around here, the following steps are just an initial thought
extra: "compatibility, ease of integration"
- simple (redis, postgres) connect node type
- simple (rest, graphql) (connect, export) node type
- simple (react, vue, swift) (component, + app) exporter/importer (semi-isomorphic?)
goal 6: "getting public, phase 1, prepare scaling of people involvement"
- publish own apps made with editor (many being subsets of the full editor, eg. mindmapping, dev-tools like simple vue -> react exporter, graphql api generator, application architecture tool, etc)
- prepare editor for open-source contributions
- open up for private beta access
- (possibly do consultant work using editor, while improving editor)
goal 7: "getting public, phase 2, scale inside people involvement"
- open up for private open-source contributions
- (possibly try growing a consultant company (or company for a custom project), that is people + resource positive, allowing more people to work on the editor)
- (possibly try vc found custom companies that's using the editor, while improving editor)
- ...
goal 8: "getting public, phase 3, scale external people involvement"
- slowly open up public private beta access
- turn (networking, spread the word) to high
goal 9: "getting public, phase 4, public online editor + public (non-commercial?) open-source compiler"
// before this, managed cloud hosting, integrations etc?
- ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment