A lot of CS research really does not lend itself well to being implemented as a web-based service. A new disk scheduling policy would have all of its performance advantage blown away by network latency. A new load speculation technique would be an even worse for that format. A new static analysis is likely to be far too compute-intensive to be offered to the public on hardware the research group has the time/money to operate. It would also have to be reimplemented for whatever languages the users care about analyzing, which research funding agencies would not be thrilled about paying for (it's not research). A new complexity proof probably doesn't even have exportable functionality.
Could you point to some particular work that you would like to see APIzed?
>> A new static analysis is likely to be far too compute-intensive to be offered to the public on hardware the research group has the time/money to operate.
Let's describe the division between Academics and users:
Academics get a cloud based service platform, where academics install the software which is usable by API/library[1] calls , automatically(or manually by users) scalable , with automatic billing where X percent goes to academics.
If you're a user you can also use the platform to build your own software , you can easily call the academic's API/library , and you both can share databases and file-systems.
I can even see possibility to require that academic and user code reside on the same machine on a different VM's when disk access speed is critical.
I can imagine this working in the static analysis example, and plenty other examples, just enter "python library" into google scholar, half the stuff there look usable in this form on first look.
The trick would be of course to make it so easy for a academic to share his code in this form , so that this would be the default way of working. Than we'll get some interesting stuff, some of it production systems and some of it just prototypes.
But even if we are talking about tons of amazing prototypes , i see plenty of value.
Does it all make sense?
[1]There are some ways of doing RPC , that are really easy to use, almost library like.
Could you point to some particular work that you would like to see APIzed?