• tracyhenry an hour ago

    This has been a great idea for decades. I want Haystack to be successful just like many other attempts. The early execution seems promising. And I suspect there will be many challenges (e.g. when it's hard to figure out caller/callee,, inconsistent UX preferences across developers, etc). Kudos for taking this on!

    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).

    • akshaysg 29 minutes ago

      I love the idea of a Haystack VR world! It's a shame that VR software is in a tenuous state due to the biological factors, but I believe it's the future "one day".

    • faramarz an hour ago

      Very cool. I imagined my organizations entire codebase being mapped like this and across different frameworks and languages.

      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.

      • akshaysg an hour ago

        It automatically adds connections as you traverse through files/symbols. Not super sure if this is what you mean, but we intend to serve the users "flows" based on queries in the natural language e.g. "what happens when you click the subscribe button from the mouse down all the way to the backend".

        • faramarz an hour ago

          That’s awesome! Generally when I find tools that can improve our work culture and output velocity and quality, I try and get it on front of teams ahead of a an internal hackathon where the cost of on-boarding and prototyping is already factored in. This feels like a good candidate.

        • hansonkd 20 minutes ago

          that would be interesting if you could "link" across API calls to different services.

          • akshaysg 9 minutes ago

            Most likely we would either have to get the user to do this (we plan to add this as a feature) or use AI to understand when disconnected code (from the LSP standpoint) is indeed connected.

            This is a top user request though!

        • hyggetrold 29 minutes ago

          Does this project take any inspiration from Light Table?

          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.

          • akshaysg 5 minutes ago

            A lot of people mentioned Light Table (I think the story is they did a Kickstarter but never followed through? not sure), but I didn't know about it until post-launch!

            It's interesting that you mention a more 3D view. We were ideating on this, but it's really hard to get right in a way that the user can understand. This is definitely part of our vision for the future though!

          • 999900000999 28 minutes ago

            Very awesome!

            I want this for C# and Python! Are their any technical challenges there? I would love to use this with Unity.

            • akshaysg 7 minutes ago

              For C# unfortunately we're missing a lot of features because the VS Code ecosystem itself lacks them (I think this is due to them being unique to Visual Studio). In most cases, except grabbing incoming/outgoing calls, Haystack should just work.

              For Python, it should work just fine!

              • 999900000999 a minute ago

                Can I still do the cool visualization ?

                I'll experiment with this over the weekend and I might share it with my game dev friends!

            • ocean_moist 2 hours ago

              This feels helpful as I have to hold less stuff in my mind, but the UI is way too mouse dependent right now. You guys should make some shortcuts and somehow make it “tiling” like a window manager (dwm), so you don’t have to manually resize windows.

              • akshaysg 2 hours ago

                We actually do try to make the canvas as keyboard navigable as possible. There are a list of keyboard bindings in the "Keybindings and Help" button on the bottom right.

                In terms of manually resizing, we actually do try to tile in the viewport. May I know what's causing you to resize it so I can fix it?

                • graerg 23 minutes ago

                  In this vein, do you know what the experience has been like for users that use the vim vscode plugin? I see that it's trivial to carry over extensions and whatnot, but is the experience still "good" trying to use both?

                  • akshaysg 10 minutes ago

                    I use the Vim VS Code plugin! It mostly works, but I'm not going to lie: there are a couple of bugs e.g. when you go to definition the Vim selection gets confused because in most cases you get placed into a symbol editor.

                    I am happy to fix any bugs here. I am the only person I know who uses the Vim plugin in Haystack, so I haven't prioritized fixing the bugs I encounter.

              • valianter 2 hours ago

                I get that this is a completely new idea so adoption is going to be slow but I'm curious to see how your user interviews and user research is going. I'm a young dev but I'm not even sure if I would use this because the way I've learned to code is already so ingrained into the traditional IDE. Nevertheless, congrats on the launch!

                • yatvij an hour ago

                  Jake from Haystack here! Thanks for the interest. We've been doing a lot of user interviews with folks on our discord (and folks we know in real life) to understand issues in the onboarding process, find problems that make people churn off, etc with the long-term goal of increasing retention. A lot of our time lately has been spent on fixing these bugs and improving the new-user experience. As a result of this we found that retention on later launches got much better!

                  • akshaysg an hour ago

                    Yeah just to add onto what Jake said -- in our user interviews we found that folks, even those who are pretty used to old IDEs, do get the hang of Haystack pretty fast. However, developers are very idiosyncratic, so we frequently get pain points that are real problems but are also highly unique to each developer, which is interesting!

                    • necovek 24 minutes ago

                      Totally: I couldn't stop thinking about actually generalizing this to a workspace/desktop so I could apply similar principles with multi-windowed Emacs — a window manager that also connects windows ;)

                      Looks really intriguing, but Emacs is really hard to leave behind.

                      But I do believe this pattern applies to more things than just IDEs, and might even replace multi-workspace setup. Keep at it and hopefully you are successful and this pattern keeps evolving!

                  • xixixao 2 hours ago

                    Congrats on the launch. It is an “obvious” idea, in a good way. Agree that minimizing the effort in constructing the workspace will be key. I’d also love to try a sort-of 3D stack for caller/callee relationship, zooming in and out. The code really is a graph (not acyclic though), and I think visualizing it that way can be helpful.

                    • akshaysg an hour ago

                      I'd love to learn more about what you're envisioning for the caller/callee relationship here! Do you mean recursively show callers/callees as you zoom out?

                    • btown 2 hours ago

                      This is really, really cool!

                      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!)

                      • akshaysg an hour ago

                        Hmm I'll take a look at other licenses to see if there's one that expresses our intent in clearer language.

                        The intent is that you should be able to make PRs, examine the source code, but not distribute Haystack for commercial reasons.

                        I believe the license should allow you make PRs and examine code (even in commercial settings), but I'll take a more in-depth look.

                        Thank you for raising this to my attention!

                      • ivanjermakov 2 hours ago

                        Interesting, for me this is exactly the opposite of efficient code navigation.

                        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.

                        • necovek 15 minutes ago

                          I actually like keyboard-driven interface + spatial layout, I just don't have a large enough monitor (I've been hoping for 40"+ 8k monitors for years). But having multiple files open that smartly refocus and rearrange as you ESC-. (Emacs shortcut to jump to implementation of a thing under cursor) would be wonderful: if smart "arrows" are drawn between file boxes, that'd be sweet as well.

                          The hard bit is making that to be "smart" and not annoying with things moving that you still need.

                          • scrozier 2 hours ago

                            To give you (Haystack authors) another datapoint, I'm a +1 to this comment. I can't think of a time when a canvas UI solved a problem I had. Usually it made navigation more difficult.

                            But also agree that it's great that you're innovating in this space! Good luck!

                            • akshaysg 2 hours ago

                              This is fair! Not sure if you're a VS Code user, but our goal is to maintain a parity between the keyboard experience in VS Code and the keyboard experience in Haystack. All the keyboard shortcuts in VS Code still live in Haystack.

                              If you're a Vim user then this is an entirely different story haha.

                            • williamstein an hour ago

                              Is most development of Haystack done using Haystack?

                              • yatvij an hour ago

                                Yes! Both of us prefer Haystack to other IDEs; for me it feels a lot less "restricting" than VSCode. Developing in Haystack also helps us find issues early.

                              • sohzm 2 hours ago

                                hey love the concept (though Im not sure if its for me).

                                btw you should add a (small) gif or video in the github readme cuz that makes it really clear of what exactly its about.

                                • akshaysg 2 hours ago

                                  Good idea. Will add!

                                • aappleby an hour ago

                                  What happens when I have 10,000 or so editors open at once?

                                  • aappleby an hour ago

                                    Proof of concept of mine from years ago - every file from the Linux kernel open in a browser window at once

                                    https://github.com/aappleby/wideboard

                                    • randomcatuser 37 minutes ago

                                      wow that's pretty next level

                                    • akshaysg an hour ago

                                      I've actually never tried this (it'll probably take awhile to get to this point). Feel free to try it out and report back the results -- I'm curious as well!

                                    • bhy 2 hours ago

                                      This looks quite useful! However could Haystack be made an VSCode extension instead of a fork? So I could use this in Cursor, which is also a VSCode fork.

                                      • candiddevmike 2 hours ago

                                        So many YC folks are forking VSCode for various reasons that mostly revolve around "can't monetize extensions, want to own the platform".

                                        I don't think any of them will be successful, IMO. You want to be an extension because getting software approved is _hard_ at bigcos, it's much easier to trojan horse on an existing tool.

                                        • akshaysg 2 hours ago

                                          I could be wrong but I don't believe it's difficult to monetize an extension.

                                          The reason I think there has been an explosion of VS Code forks (e.g. Supermaven, a very successful extension) is that being an extension in VS Code is limiting insofar as what you're able to change in terms of the UI and UX.

                                          You are right about the difficulty of getting into big companies. However, we developed a standalone editor because it's easier to build on top of, and we eventually want to build a very portable browser-based editor that utilizes the canvas view for pull requests, arbitrary code, etc.

                                          • jitl 2 hours ago

                                            I think Cursor is already looking successful. Most VS Code people I know (including myself) have switched over. I love the idea of Haystack (I was a fan of Light Table back in the day) but if I have to pick between a better UI and an assistant who perform most simple code transforms by English language request, saving hour(s) per day, I’m picking the assistant.

                                            • akshaysg 2 hours ago

                                              Yeah the productivity optimization here makes sense. We intend to add generative AI features unique to the canvas UI as well to ensure our users don't lose productivity.

                                              I am curious what features you like about Cursor the most? For me it's the CMD/CTRL+K -- I've had mixed experiences with the chat window and Composer.

                                            • williamcotton 2 hours ago

                                              I could be wrong but one of the main reasons to fork VS Code is because extensions have a limited UI.

                                              This was at least the motivation for Positron, AFAIK.

                                            • akshaysg 2 hours ago

                                              We're going to make a "Haystack-lite" extension in the future! I understand the pain here. We chose to go with a VS-code fork so we could maximize the canvas features. I am curious if you would find the "canvas" view distracting when it's on a sidebar as opposed to the main editor?

                                              • bhy 2 hours ago

                                                Thinking about it, a sidebar "canvas" could be more useful comparing to the main editor to me:

                                                * when reading code, I found I jump back and forth the call stack quite often, a visualization of this could help with this navigation, especially with some properly designed shortcut keys.

                                                * I mostly code on MacBook so screen real estate is precious. The canvas as main editor looks like waste a lot of screen space. But the canvas in a sidebar do not have this issue.

                                                • akshaysg 2 hours ago

                                                  1. You can hop back and forth using the "backward/forward" buttons in the top bar, similar to VS Code. Not sure if I misunderstood here. 2. That's fair. You can "pin" editors on the canvas, which allows you to fullscreen editors.

                                                  • fragmede 13 minutes ago

                                                    I think part of what makes this work is that ultrawidescreen monitors aren't as impossibly expensive as they once were, so screen real estate can be spent and your spacial reasoning can take over. It might just not work well on a laptop screen.

                                              • chirau 2 hours ago

                                                Is this a YC backed company?

                                                • akshaysg 2 hours ago

                                                  Yes (all launch HNs are YC-backed)