Day Two (ish)
Hello to you, my fellow toads and toad-lovers!
I am very happy with the response to Gram so far. I have received not only thanks, comments, pull requests and words of support, I have also been getting drawings of toads from friends and strangers. I love all of it. Thank you all! One of them (by @bjoreman) is adorning the Gram website now.
Liam Proven wrote an article about Gram on The Register, and Wolf Hosbach wrote one for Heise in German. And for at least a day, Gram was on the top of the lobste.rs news site for developers. All that is enough to make me feel like I'm not the only one who wanted something like this to exist in the world.
I also have to note that Zed completely revamped their Terms of Use later on the same day as I published Gram (and my reasons for not accepting the previous terms). I would not accept the new terms either, lets just make that clear. I am also not suggesting that I know that they changed the terms in direct response to Gram. I have no insight into what they do or why. In fact, I would go so far as to say that a fundamental reason for Grams existence is the vast difference in world view and thinking between me and the people who founded or work at that company. I don't understand them, and they don't understand me.
So, what's next for Gram?
There are a few big issues that I want to do my best to resolve, but as promised I am not rushing, I am taking it slow and trying to get things right.
A lot of people have been asking for Windows binaries. I am not a Windows user and I was under the impression that you had to sign your binaries to distribute them for Windows these days (on Mac this really is a requirement now). A good friend who happens to be an excellent .NET developer assures me that this is not necessary, and has promised to help me produce Windows binaries. So it's coming soon, I hope.
Installing extensions is confusing, I get it. I think I can make this better simply by adding a little bit of text to the Extension UI and the popup that appears when you open a file in an unsupported language that has a known extension available: To install language extensions, you need to have rustup installed. That's really it. Themes and icon themes should install just fine without rustup, but to compile the extension into Wasm we do need the rust toolchain available. Note too that just installing rust and cargo is not enough: The build needs a compiler toolchain for Wasm specifically.
Language server installation is confusing to people. I think maybe a lot of people are coming from Zed, and are accustomed to things "just working". Well, the price you pay for that smooth user experience is a reliance on the editor automatically downloading things like Node and language servers for you without even asking. I want friction here! So Gram is never going to be as seamless as Zed in this regard. That said, the current user experience can definitely be improved.
The other thing I want to say is that I am getting some feature requests and ideas for improvement. I welcome them, of course, but be patient and understand that unless someone else steps in and does the hard work of building it, it is unlikely to happen. I have neglected other aspects of my life to put this first release together, and things will move very slowly for a while from my side.