I don’t know if I missed this in the video or if it’s not yet possible, but that’s a lot of manual work, so instead of connecting the nodes, give a simple bot to run in the repo folder to automate the visualization.
It’s super cool and I’m adding to my watch list.
If I were you, i’d target enterprise organizations or local municipalities IT groups who are going through or planning their digital transformations. They have a need for way-finding and sense making across legacy and new work.
If you play your cards right, Salesforce will come knocking in under a year. I see a lot of compatibility with their vision and product offerings.
Potential feature request - take the visualization beyond 2D. Really complex systems are usually an intricate graph (polite way of saying ball of yarn) and just visualizing in the 2D plane doesn't seem to cut it in my experience.
I would love to have something like concentric spheres of visualization - boundary services on the outer layer, core/domain services in the inner layer.
https://www.youtube.com/watch?v=Ox5P7QyL774
More interesting search features were added after this video was made.
Following this line of thought, I think allowing user to define tab border color or even to add different noise for each tab worth considering (noise fades with zoom level and distance to the view port center).
You can access cocalc.com via your web browser to use the Whiteboard. It's an infinite canvas where you can write using a pen and tablet (like an iPad), make sticky notes using LaTeX/Markdown (or Rich Text), and run Jupyter cells.
The platform supports many kernels without the hassle of installation, including Python, R, Julia, Octave, SageMath, and more. You can also use custom kernel environments...
I'll keep my code in a left pane in vim, <C-w v> to duplicate the buffer in a new pane and then use tags to goto a definition and if needed to go deeper, do it again. I don't usually kill this unless no longer needed and If i need to go down some other branch, will just <C-w v> then <C-w T> to start that pane in a new tab and do it again. Easily keeping the different contexts in different panes and tabs inside of vim. all managed by <C-w |> and <C-w => to make it easier to read... Tmux panes and sessions for entire project contexts so on and so forth.
Having it graphical looks really really nice and I'd love to have something like this for presentations/debugging over zoom sessions.
You may want to take some inspiration from prezi.com. One could write prezi-like HS workspaces to document some particular workflows. You would want the possibility to add text to the canvas (outside of the code editors), and allow zooming in/out from editors. This could be a premium feature that large companies want to pay for.
https://www.youtube.com/watch?v=RTsnSxyO6MY
It will be great if you are able to run tests on the codebase and watch the entire graph light-up in different colors. This is much cooler way to depict test coverage and also identify the most heavily used part of the codebase.
Meanwhile, an alias is easily created for macOS: `alias needle="/Applications/Haystack\ Editor.app/Contents/MacOS/Electron"`
Has there been any studies that prove that this infinite canvas mode is more productive than using a traditional IDE with heavy use of keyboard shortcuts, etc.
If you take a look at https://obsidian.md/canvas you will see that they have things like colored groups and different element-types. And their community-extensions have many more improvements for the canvas. Just focusing on navigation seems wasted. A good focus on mixing code, documentation and notes might be a more worthy goal, I think.
Anyway, as this is forked from VS Code, does this also support normal vscode-extensions and other features like workspaces? And does it receive updates from the original, or is it fixed to the initial forked VS Code-version?
for my project, I use virtualization/windowing to only draw what's visible. but mine doesn't draw complex widgets like a code editor.
I will dig the code to find out.
I want this for C# and Python! Are their any technical challenges there? I would love to use this with Unity.
Ok, what's that , you want AI sir, guess what b:tch, you can :split out a :terminal window and run a llama-cli conversation right inside vim too. Ctrl + w N and you even get line numbers from whatever contraption of code you got out of that 7b coder model.
On the licensing side, though:
> We’ve made the decision to make the editor source-available so that folks can make contributions and so that they can examine the code to make sure they can trust it.
This is a very reasonable intent, and it absolutely makes sense to preserve your options to monetize, but Polyform Strict https://polyformproject.org/licenses/strict/1.0.0/ , which you link to from your readme, seems to be far stronger than this intent.
The way I read that license, I cannot "make changes" even if I do not distribute those changes, not even changing a line of code on a version I'm running on my own computer, whether I'm using it for a commercial project or not. So contributors, it seems, would be limited to raising issues but not PRs? And it's unclear what applies as commercial use - if I'm using Haystack on a commercial codebase, and I encounter a bug that triggers on that codebase, and want to use the Haystack source code to understand what's going on to further my commercial purpose, would that be an unlicensed use of the source code?
Now, make no mistake - this is in no ways worse than the prior status quo of Haystack being closed-source. And I think you as a company should focus on building, with the certainty and comfort that this license, if anything, does err on the side of being restrictive. But some users, given this license, will be uncomfortable referring to the repository at all. I'll be one of those, but will still be excited to experiment with Haystack as a binary distribution nonetheless!
(Not a lawyer, this is not legal advice!)
Tedious, yes, but confusing? Yikes!
My job as a coder is to resolve ambiguity favorably. Every day, I strive to leave the world less confusing than I found it. I would no more rely on an IDE to "take care" of confusion than I would outsource my firm's core competencies.
But the main conceit is cool, and I'm sure the dependency graph is helpful. I'm just picking nits with marketing copy. Can't wait to check it out! (Although my first instinct is to check for a canvas plugin for VScode).
Edit: I should say that I think this UI paradigm will fundamentally improve coder understanding by exploiting our visual cortex and "sixth sense" of proprioception, at least as far as I understand it via Supersizing the Mind (Andy Clark, 2008).
How do you plan on monetizing?
btw you should add a (small) gif or video in the github readme cuz that makes it really clear of what exactly its about.
Don’t know wether or not it would be productive, that remains to be seen, but it certainly would be fun.
LSP + keyboard-driven interface is miles ahead in terms of efficiency and speed.
I respect the effort of breaking into less researched lands though. Congrats on the launch, I'm sure some will find this tool useful.
Or is there a deeper experience/knowledge that gets unlocked coding in this paradigm?
It's a very active project and it's confusing to have two projects with the same name. Besides, I don't understand why you'd give a "2D digital whiteboard that automatically draws connections between code as you navigate and edit files" the name haystack.
Wow.
Thank you for sharing your work.
Please don't go down the GenAI bullshit bingo VC route.
Btw I've always thought that this is even more powerful when the screen estate is more infinite than a 2D screen (like in a VR headset).