We are a group of complete strangers that came together for the UK Dynamo and Generative Design Hackathon and created a view extension for Dynamo that collects data from users and gives Design Practices greater business insight into the use of their computational workflows.
We are the team from Binoculars (Deyan, Caoimhe, Laurence and Wayne), and we want to tell you about our recent experience at the UK Dynamo and Generative Design Hackathon. But first a few Hackathon tips:
If you are thinking of participating in a Hackathon we would recommend following the tips below, based on those presented during the Hackathon by Keith Alfaro from the Dynamo Team. Following these played a big part in our success:
- Focus on a prototype – don’t worry about creating a finished product, your idea can continue to develop over time, but do enough to show how it will work.
- Attack a specific problem – keep it simple, don’t try to tackle everything in your first attempt, focus on one thing and do it well.
- Start your presentation early – apparently, this is often something that gets forgotten about; don’t forget this is how your work will be judged! Make sure that this gets started in plenty of time. (We started the Binoculars presentation the first hour of the hackathon!).
- Make your project open source and share it on GitHub – this is a great way to track your progress and get feedback from the community, just make sure you don’t include any sensitive information!
- Everyone can contribute, there are lots of things to be done to create a successful product, coders and non-coders can make themselves very useful by taking care or some or any of the following tasks, don’t underestimate the power of these to produce a polished product.
- Presentation/documentation (undervalued)
- Designers/Engineers need to ensure realistic workflow
- Have fun and learn something new!
Our concept came from a fascinating tips’n’tricks session at the February 2019 UKDynUG meeting from Oliver Green at AHMM. Oliver wrote 19 lines of elegant Python code that when loaded into a node in a dynamo script exported a line of information to a .CSV file when that script was run. Oliver also demonstrated how he collated this information to get an insight into who was using .dyn files in the office.
Image Credits: Radu Gidei
Image Credits: Oliver Green
Both Caoimhe and Wayne took this strategy and applied it in our firms. Wayne expanded it to grab even more data, with a little extra help from the super talented Brendan Cassidy.
Have a look at the python code on Wayne’s Github here.
Image Credits: Wayne Patrick Dalton
The node Oliver had demonstrated was extraordinarily useful, yet it relied on users including this node in their script, and management making sure it stayed there! We wanted to make the concept more resilient as an ‘extension’ to dynamo itself; which when loaded records a line of information including script name, computer name, date etc, any time Dynamo was run, at all.
We pictured three levels of use that would benefit from knowing more about how and when Dynamo is used in their office:
- Strategic Management: to help others understand where and how Dynamo is used, and what the financial benefit is, and to calculate bottlenecks, and strategic risk allocation.
- Tactical Management: Communicating most commonly used scripts and who are the local dynamo champions – breaking down knowledge silos.
- Operational Management: to monitor who is using an outdated version of software and scripts, to see which are the most popular scripts and what dynamo is most commonly used for.
So, we had a problem, we needed to write this thing in C#, but only two of the group had ever used C#, so we decided to divide and conquer.
Wayne and Deyan started working out how we could create this extension using C# on the backend to both replicate Oliver Green’s python script and create the extension. Laurence began to generate a sample data set using a clever dynamo script to randomise the data – you can see this script here. Caoimhe created a dashboard using Google Data Studio to visualise the output on the frontend.
We decided on the following technology stack as the most intuitive for someone who could not code or had little understanding databases etc.
Some aspects left us scratching our heads, for example, we had to learn about using OAuth 2.0 to access Google APIs on the fly, you can learn about it too here.
Overall, we created a working proof of concept that we are continuing to develop:
We are continuing to develop the extension; you can contribute too here on our team Github.
We are looking to develop the extension further to look at the following areas:
- Discern the purpose of the script – by taking stock of the nodes and packages uses and assess these with Machine Learning.
- Integration of API Security and more flexibility for general usage.
- Further UI development, both in the Extension and on the frontend data visualisation.
- Extending the fields of data we are currently capturing on Run.
Having spent the evening before the event in the pub to bond as a group and discuss our ideas, little did we know that in less than 48 hours we’d have a live demo to present, but like all good projects, it didn’t end there. In the weeks since we’ve shared the Binoculars on GitHub and Twitter, got invaluable feedback from the community and refined it further. We think the extension we’ve produced is something that people will find very useful and will live on after the event.
In summary choosing the right idea, setting achievable goals, writing functioning code and creating a great presentation were all important parts of our Hackathon experience but working together as a team was our real success.
To all future Dynamo Hackers, we wish you – good luck, and have fun!
We’re told the UKDUG Hackathon might not compare to other Hackathons, mostly because of the amazing job the UK Dynamo User Group did organising the event. They thought of everything from giving us lots of branded swag, having lots of supplies on hand to keep the energy up and they were always there to help when we needed it along the way. Even before the event, there were group slack channels set up to facilitate discussion and introductions and training was provided by Radu Gidei and Alvaro O. Pickmans from Ensota on zero-touch nodes and extensions. They really thought of everything.
So, a huge thank you to Martin, Michael, Mike, Radu and Aaron.
Deyan Nenov – Founder & Director of Archilizer
Deyan is a self-confessed ‘Old-School Architect’; “I started coding five years ago and have steered my career toward it in every possible way”.
Having published a couple of Revit Add-ins on the Autodesk App Store, Deyan has amassed an incredible amount of experience with the Revit API. He was also fortunate enough to be exposed to the development of the Dynamo API from training organized by the Dynamo team last year, so all in all, he had a degree of confidence and mostly positive vibes coming to the event. He knew it was going to be fun!
Caoimhe Loftus – Associate at CallisonRTKL
Caoimhe is an Architect and an Associate at CallisonRTKL, she is a champion for Dynamo use in her practice but she nearly didn’t apply to the UKDUG Hackathon; “As much as I wanted to participate, the application form was intimidating for someone like me who describes themselves as a non-coder, but I’m glad I did is was an amazing experience!”
Laurence Elsdon – Consultant at Arcadis
In his role as a Part II Architectural Assistant/Consultant at Arcadis, Laurence applies his experience in both architecture and computing to explore computational and parametric methods to improve the efficiency and productivity of design workflows using Dynamo and Grasshopper within a 100% BIM environment.
Wayne Patrick Dalton – BIM Manager at Lewis & Hickey Architects
Wayne is the Firmwide BIM Manager at Lewis & Hickey Architects. He’s the group chatterbox. Wayne likes Piña Coladas and getting caught in the rain; he’s not into yoga.