If you didn’t get a direct answer (re: free dev licenses,) then likely the answer is no, not for new unknown developers. (I would suggest you install SketchUp Make 2017 and use it to learn Ruby and the SketchUp API.)
And then also you need to understand you are wanting to develop a product that competes directly with Trimble Connect. (SketchUp ships with a native extension that facilitates Trimble Connect use.)
You are not the first to contemplate this idea. There have been forum discussions here and probably also at SketchUcation on this subject.
Yes I think so. SketchUp uses Ruby. Ruby has a standard library:
… and also extensions called Ruby gems:
The SketchUp API has recently added some asynchronous HTTP request and response classes:
FYI, some devs use AJAX.
I think the main issue is that “live collaboration” would need to be transaction based.
The API was not designed this way, except for the ability to start and commit edit operations.
This might mean you’d have to develop a DSL wrapper around SketchUp’s API.
Simon brings up a good point. SketchUp is a single threaded application. Really only one user could be making changes at a time. So somehow all “watchers” would need to be informed of which one of them “had the pencil”.
There would need to be a mechanism for a “watcher” to request the pencil (edit control) and a means to hand off control from the editor to another of the “watchers”.
Another challenge is that SketchUp has had some problems in the past with latency when model files are opened from network locations. It has been standard advice to encourage users to work on local files and afterward sync to network locations.
The API does have a method to load a component from a URL …
… basically a model .skp
file is a component definition and any internal component definition can be saved out as a model .skp
file.
This might be a way to update the “watchers” local models. (There might be some update challenges, ie, open API issues. See the API Issue Tracker.)