yanglee;10926 wrote:
I think it worth funding a Kickstarter project if it could reduce the time we have to wait by 1 or 2 years.
Sorry, I know this is a disappointment for you.
The problem has less to do with resources and more to do with feasibility. If it were just a case of throwing a year of development into such a feature and there being no further cost involved, this would look much more appealing.
Unfortunately, because Rider is written in Java, the entire UI of NCrunch would need to be reconstructed, along with the layer that connects this UI into the engine. Because of extremely tight performance constraints, the UI for NCrunch is deceptively complex and is built almost entirely on custom controls. All of this would need to be duplicated into a Java based equivalent with an intricate communication system that would touch almost all areas of the engine. Every time a feature is added to NCrunch, it would need to be implemented twice; once in .NET, and once in Java. Every time Jetbrains release a new version of Rider, NCrunch would need to be adapted to simultaneously support the new version alongside all prior versions. The maintenance burden of this feature would be tremendous, it would almost double the cost of keeping the project running.
When you consider that at least 70% of the time spent on NCrunch is spent maintaining integration with the tool stack and software developed by other parties, it's easy to see how a significant increase in maintenance would strangle further development. It's possible to get more capacity (i.e. by increasing team size, changing business structure, etc), but there are other costs attached to this, especially in the areas of quality control and the potential complexity of future features. Integration with Rider has the potential to be highly detrimental to NCrunch.
A feature of this size would need to have a really strong business case behind it, or it would need to be in the strategic path for the development of the product. In regards to the former, I am not presently convinced that the potential size of user base on Rider would be big enough to warrant the costs involved in integration. In regards to the latter, it's never been the goal of NCrunch to integrate with everything under the sun. I founded the project to push boundaries and discover new ways of working. It's very hard to do this when you're tied down in a web of integration points floating in a sea of moving parts.