Hi folks,
I have an idea and I'm not sure if it's crazy so I would appreciate some feedback on it. It's not set in stone, just something I'm thinking about at this stage. As the famous philosopher Mike Tyson opined "Everyone has a plan until they get punched in the face."
The idea is to set up a distributed hosted terminal service for a Vim F# IDE so anyone can SSH / Mosh into the terminal server and experience a low latency and highly responsive terminal IDE - working name DavIDE. The reason I'm building this is that I'm building a 3D MMORPG based IDE and I need a platform for testing and bootstrapping a globally distributed IDE. Some of you may remember Tsunami. The intent of Tsunami was test users capability and to see if there was a market for embedded IDEs. While the results were mixed the feedback from that endeavor was very useful.
I'm aware that the idea of using a terminal IDE that's hosted on a shared 'mainframe' sounds like the opposite of the future. I consider this a non-convex optimization; some things are harder, others are easier. Not having to rebuild unix in the browser is definitely easier. The intent is to get it to the point that there is no additional learning curve for someone who already knows how to program F# and can use Vim in the terminal. The main unique parts that I'll add to the mix include reduced code completion times for Vim (pre-jitted pool of hot compiler services servers) as well as simplified project and dependencies management system (e.g. cargo toml files for rust). The idea is to get everything that is not writing your code out of your way.
The intent of this project is to be free for everyone forever. If there is demand for a private on-premise version, that would be a paid, mainly because it would be extra work and I'd like to discourage it. Computers are pretty cheap these days and I'm pretty sure I can get the incremental memory usage way down so it'll be very efficient. Once it's going it will be easy to maintain. If people are using it I'd be happy to cover the hosting costs.
So let me know if this is something that you would be interested in using. And, or if you think I've gone off the deep end, please let me know that as well.
Cheers,
Matt
Addendum:
*) No emacs, at least initially, as memory usage is too high
*) User settings will be maintained in a git repo that is synchronized between servers
*) Servers will be geographically distributed to reduce latency
*) Secure isolation via Jails (FreeBSD)
*) Expensive processing and tests are defered to AppVeyor
*) Anyone abusing the service or doing anything illegal will be banned