November 10, 2013
After a 4 week stint in Seattle at Robert McNeel & Associates headquarters I’m finally back home. A lot of things were decided regarding the future of Grasshopper 1.0 and 2.0, however since I haven’t even started writing 2.0 I don’t want to list a bunch of features that may or may not make it in lest it be misunderstood for a list of promises. Instead allow me to list all the areas in Grasshopper where everyone is agreed problems exist that we need to attempt to solve for GH2. As a result of this reformulation I cannot mention any totally new features we are planning. I guess they will remain a secret for the time being…
- Documentation is woefully inadequate
- VB/C#/Python scripting tools are woefully inadequate
- Canvas UI doesn’t scale well to large files
- Grasshopper is probably only using a small part of your computer’s processing prowess
- It is too difficult to find out which plugins exist for Grasshopper
- It is too difficult to find out which plugins you need to open a GH file
- It is too difficult to use Grasshopper
- Grasshopper SDK is cumbersome to use in many places
- Grasshopper doesn’t scale well to high resolution displays
- Grasshopper UI doesn’t scale well to many custom tabs
- It is difficult to work with multiple users on the same project
- It is difficult to debug a GH file, especially if it was made by someone else
- It takes too long to start Grasshopper, especially if many plugins are installed
- It is often too difficult to edit data quickly
- It is difficult to associate custom information with Grasshopper data items
- It is difficult to maintain version control over large Grasshopper projects (i.e. who made what changes when, which plugins were used and do all the features today work in the same way as they did when this file was last edited?)
- Grasshopper has badly suffered from feature-creep and bloat and is in need of a thorough spring cleaning
- It has also been decided that Grasshopper will become part of the standard Rhino toolset, meaning that Grasshopper 1.0 will be available in Rhino 6.0
Once the Remote Control Panel is available again, development for GH1 will stop (apart from bug fixes) and I can start typing on GH2. I’m very much looking forward to this as there is some really exciting stuff that might not even take that long to code up. Running on Rhino6 means that I can switch to .NET 4.0 or even 4.5 and those have some really cool async and threading features. But most of all I want to be able to rewrite a lot of core classes because GH1 is a total mess under the hood.
All in all it’s pretty good news me thinks. I was a bit surprised that we ended up deciding to merge GH and Rhino and that I shall be developing GH2 beta as part of Rhino6/7 beta. It does mean I no longer have to worry about installers but it also means I’m tied to the Rhino release cycle. Luckily our new updating system means we actually tend to push out beta’s every week now so it will hopefully not be a big problem.
If you have specific wishes (especially regarding the SDK if you’re a GHA developer!) feel free to post them on our forums or send them to me directly.
ps. Simon Singh was on my SeaTac → Heathrow flight, 10 rows in front. It was an overnight flight so I didn’t want to disturb him but I managed to make a fool out of myself in a record 3 seconds by thanking him for Big Bang while deboarding. In case you haven’t read it yet, do so now. Seriously. Now. Shared first place with The Selfish Gene and Chaos in the category popular science.