What about (imposing) plugin compatibility to grasshopper plugin developers ?!

Dear Mac users, dear McNeel developers,

I thought I read it somewhere on this forum but seems I can not find the thread anymore. Basically it was written that from now on, McNeel makes it mandatory for newly to be published grasshopper plugins to be working cross platform (windows and Mac). While this was a year ago I believe, not much changed.

Is there a way to implement this effectively in order to make this software a bit more Mac users inclusive ?or is it way a too radical measure ? Until now, we unfortunately lack great tools such as Dendro, tOpos and many others !

I was also wondering if other people would be interested in cloning the GitHub source codes in order to work on them for Mac compatibility ? Other great plugins in mind would be Millipede for example, developed in 2014, but no news from its authors so far…

@dan any feedback on this would be much much appreciated.

Regards,
Ghali,

I don’t recall us requiring new plug-ins be cross-platform. But here is a tool that developers can use to get an idea of how much work there potentially still is to be done

https://compat.mcneel.com/

(note the caveats section).

Hi Nathan, yes I saw the caveats section. It says it will be checked against Rhino 6 Windows. Is there a way to implement checking it against rhino 6 MAC ? Just to give feedback to developers and bring at least their attention to it ?

That is something @will can say more about.

Hi Ghali-

No, we don’t make it mandatory. If you can find a post where it implies this, please send it my way: I’d love to correct the record.

We do, however, do our best to help make Grasshopper plugins cross-platform if we can. As you know, this is up to the plugin developer.

Here is the latest state-of-affairs, to the best of my knowledge:

Grasshopper on Mac Component Compatibility testing

It is not a complete picture, I’m sure.

Until now, we unfortunately lack great tools such as Dendro, tOpos and many others !

Plugins natively work for Mac when they stick to Rhinocommon. Those plugins you mention use outside libraries (Dendro for example uses Open VDB which is written in C++ by Dreamworks, or tOpos which requires a certain type of Nvidia card which Mac doesn’t typically use since they seem to stick to AMD these days) which may not be easy to translate to Mac or may require the developer to completely rewrite another version for Mac which can be a lot of work for an individual making a free plug-in on their own.

2 Likes

quite a few very useful plugins do not work on mac, and the creator have as much affection to rewriting this for a minor platform which they might have not ever used even, as a fish trying to walk its way from the sea to a nearby pool… (no pun intended i know pufferfish works for mac)

You know not what you ask. There are very good technical reasons not to do this:

  • Forcing Mac compatibility would prevent the use of a lot of 3rd party code and libraries, including some key parts of the .NET Framework. (For example; to get Salamander 3 running on Mac, I would need to completely rewrite all of the custom UI, as the WPF libraries it is based on are Windows-only).
  • It would require all plugin developers to own a Mac to be able to compile and debug for that platform.

McNeel has gone to considerable efforts to cultivate a strong community of plugin developers, many of whom release their work for free and/or open source for the good of everybody. Putting extra restrictions and barriers to entry in the way of that community in order to serve a tiny subset of the user base would be in nobody’s best interest, not even - in the long run - those Mac users!

If there are particular plugins that you would like to see on Mac but aren’t, consider this your golden opportunity to learn to code and get involved in plugin development.

4 Likes

If you want to harm the plugin ecosystem, this would be one good way to do it. Like anyone, devs have limited time & resources, and they have to make decisions about what to support, and how, and when.

Say a developer is only currently capable of writing a plugin for Mac (to flip your scenario) – in this case, your requirement just netted you one fewer plugins than you’d otherwise have had. Or, in the more common case of Windows-only support – how is it advantageous to anyone, that a Windows-only plugin would be prevented from existing, just because of this sort of “if I can’t have it, nobody can” attitude?

And that is not all; such a capricious and draconian policy on the part of McNeel would definitely drive development from the platform in general. Because – if they thought this was a good idea today, then I could only wonder what shenanigans they might try to pull next week, or the week after that. No thanks, I’d go write for some other platform, where I don’t face the uncertainty of such artificial and pointless risks.

@Michael_Pryor thanks for the details. I didn’t have knowledge about how Dendro was written. However fro t0pos I was suspecting it was related to the hardware thing and the fact that apple relies on AMD…

@PNJeffries thanks for the technical explanation ! And yes what we love about rhino is the community behind and the independent development ! Regarding the opportunity to code, I’m learning python and c#, that why I suggested in my initial message if people are up to it we could work together on Mac compatibility…

@jdhill well understood, and apologies if my suggestion is bringing hard feelings to this. It was not with the intention of “if I can’t have it, nobody can” but more with the optic of “if someone has it, everyone should”… However, I guess as non developer I am disconnected from the reality of how a plugin can be time and effort consuming. Also, as @dan and @nathanletwory said above they never put said such a tread. So again, my bad, not Mcneel’s.

2 Likes

No worries or hard feelings here, just read your post and wanted to mention some of the unintended consequences such a move might entail, and why. Good luck on your c# & python adventure … just be careful, because it’s addictive, and comes with no warning label. :slight_smile:

3 Likes