[FR] Sketchup URI - The solution to the internal 3DWarehouse & Extension Warehouse UX limitations



The built in 3DWarehouse and Extension Warehouse browsers have a number of annoying little limitations that add up to a mediocre user experience. You can’t browse with tabs so you can’t compare multiple components or extensions at once. You can’t bookmark what you like. You can’t send direct links either. It also takes up a lot of space inside SketchUp so you constantly need to close and re-open these windows.

All these problems really stem from these interfaces being internal windows in SketchUp and not running separately in the web browser of the user’s choice. Of course you can visit these sites in your external browser but then you can’t directly install extensions or download components directly into your model.

Spotify has its own URI scheme for links to tracks, artists, albums and playlist. The link format, starting with “spotify:”, is associated with Spotify and directly takes you to that specific content inside the application.

I suggest adding a similar link scheme to Sketchup. It can start a small standalone program that identifies what SketcUp windows was last shown, in case multiple instances are open, and then direct the link information into that SketchUp instance which installs the extension (of course after prompting the user for permission) or downloads, component or in other ways use the linked asset.

This could be implemented to both Extension Warehouse and 3DWarehouse as a separate download/install button. If a model ID is sent into SketchUp SketchUp could even automatically request the model in the format of the version currently running. Regarding extensions the standalone program could also tell all running SU instances to load the extension once it has been installed.

3D Warehouse Navigation

You are speaking of a custom protocol like that used for [UI::WebDialog](file:///C:/Users/Dan/Downloads/INSTALL/SketchUp/2017/doc_C1/UI/WebDialog.html) <–> SketchUp Ruby communication ? (ie, skp:// protocol)


I’m speaking of a protocol that is on an OS level associated with SketchUp, just as http, ftp etc works.


That should be doable, but the application installer needs to register protocol handlers.