This week I’d like to talk a bit about the 10x vision. Many people might be wondering why the world needs yet another IDE/Editor when there are so many good editors available, and many for free. Writing an IDE is an ambitious project, especially for one person, and I’ve been asked how I hope to compete with the likes of Visual Studio and VS Code. There are a number of areas in which I can complete, but the reality is that I don’t need to complete. Because I’m such a small player, and because I’m a solo developer my overheads are extremely low. This means that I only need a few hundred paying customers to make it a success.
On the new 10x website front page I make a big deal of 10x being targeted at professional developers and I want to explain a bit more about what I mean by this. The kind of professional developer I’m talking about will probably fall into one of two categories, a: someone who works on massive codebases, b: someone who writes a lot of code. There are many programmers who don’t fall into these categories, although obviously, they may still be professional developers. Something I’ve realised in my career is that many professional developers don’t actually write very much code at all. In many of the jobs I’ve taken on, which are mainly optimisation and bug fixing, I wrote very little code, or even removed more code than I wrote. If you’re a developer in a large company with a big existing codebase you probably spend most of your time making small surgical changes. In my own projects over the years (professional and hobby) I’ve written millions of lines of code, thousands of times more than I’ve written in my professional career at large companies. It wasn’t until I spent a good few years programming full time on my own projects, writing massive amounts of code, that I realised how important a streamlined and robust editor can be. When you’re writing that much code the small niggles really add up to major productivity drains.
The other category of developers that I want to target is developers who, while may not be writing massive amounts of code, are working on very large codebases. When you’re working on a large codebase, and especially an unfamiliar one, you need to be able to navigate around the project with ease. On one project, where I was working on a very large and unfamiliar codebase, I found I was doing hundreds of searches a day. Each search only took a few seconds, but these all added up, and broke my flow. Having an instant search is a real game-changer. Also, waiting a few seconds for the auto-complete or goto-definition to catch up, or finding that it just fails is a big time waste. Many editors and IDE’s start to strain under the load of massive projects with thousands of files. Being able to instantly find anything in a codebase and being able to rely on the parser is absolutely vital for the professional developer. 10x will cope with any project size with ease and you shouldn’t notice any slowdown based on how big the project is or how many files you have open. This is simply a result of 10x being written from the ground up in C++ and not relying on complex and bloated third-party libraries or UI systems.
The third way 10x can compete with the big players is by offering the custom hand-crafted approach. We all have slightly different needs and different ways of working. Imagine if you had direct access to the developer and could request features that would make your life so much easier. How many times have you thought "if only the editor could do X, it would save me so much time". But often with large companies or open-source projects, it’s hard to find where to request the feature. If you had an editor that was perfectly suited to you, and had the confidence to know that if there was anything you needed you could ask the developer directly, would you pay for that? 10x will be subscription-based which will allow me to support customers in this way.
With 10x, I’m specifically not trying to create yet another general-purpose editor that will suit everyone. There are plenty of editors out there that are perfectly adequate for 99% of developers. I am targeting the small % of developers with very specific needs. The last area where I can compete is quality. You may not need instant project loading, or instant project search, autocomplete and symbol navigation, you may not need to type at a solid 120fps refresh rate, but it just feels good to use a tool that is streamlined and optimised. As programmers, we spend so much of our time in an IDE/Editor that it makes sense to have a tool that feels good to use. I believe there is a small percentage of developers that will pay for this quality. It’s something that you have to try for yourself to fully appreciate, try out the 10x Beta to see what I mean.
Most general-purpose IDE\Editors are trying to cater to many different developers, and this has a downside. I don’t want my editor to keep updating and breaking because some feature or plugin that I never use has updated. I don’t want to find that a new refactoring feature targeted at novice programmers has broken my project navigation. I don’t want pop-ups telling me how to code, or annotations and markers cluttering my code and distracting me. So much of modern IDE’s seems aimed at new programmers to help them to create their first project. I’ve been programming for over 30 years, what I want is an editor that doesn’t get in my way. The first rule of 10x is that it should first and foremost "do no harm". It should not annoy the experienced developer and it should not make the simple act of typing code harder. Often a new tool or productivity feature in an IDE may really help 10% of the users, but annoy the other 90%. With 10x, the first rule is that nothing should annoy the user. 10x aims to be a powerful but stripped down editor, built for speed and streamlined work. Nothing superfluous is added and each feature is carefully weighed up to make sure that it doesn’t impede the flow of the user.
If you spend a lot of time in an IDE/Editor, and if you are working on large complex codebases and/or writing large amounts of code then 10x may be for you. You get a dedicated developer writing an IDE/Editor targeted specifically to you. 10x won’t be for everyone, but I believe there are enough people out there like me who would pay for the perfect editor and make this project viable.
If you believe in the 10x vision please consider supporting 10x and join the effort to reimagine the modern IDE/Editor.