-
Notifications
You must be signed in to change notification settings - Fork 635
Dynamo Public Roadmap
Hello everyone - For the first time in a long time, the Dynamo team is releasing a Public Roadmap to talk about the awesome new features and developments on Dynamo we're working on right now and into the near future! In this Roadmap you'll find out what we are working on for the next quarter, where Dynamo is headed and why we chose this path.
But first, a quick caveat...
Terms and Conditions: This Roadmap will make statements regarding our planned development efforts. These statements are not intended to be a promise or guarantee of future delivery of fixes, focus or features but merely reflect our current plans, which are subject to change. The Dynamo team intends, but assumes no obligation to, update this forward-looking roadmap to reflect events that occur or circumstances that exist or change after the date on which they were made.
Which simply means we will do our best to adhere to this roadmap but make no promises to do so.
A roadmap is a statement of where we, the Dynamo team, see Dynamo evolving into the future and a public roadmap details to you, the Dynamo community, where we are headed.
It will contain some targeted goals we are making in the short term (Over the next three months) and a more aspirational north star of what we want Dynamo to become.
We’ve heard from many of you that 2018 seemed like a quiet period without many visible improvements to Dynamo. Publishing this roadmap is restating our commitment to transparency and openness to the passionate and dedicated Dynamo community and user base. We want you to understand where Dynamo is going and the reasons why, so this roadmap outlines both our short-term and long-term plans. As Dynamo grows deeper into its Revit roots and broader across the new host applications, we hope you see this as a turning point and can't wait to hear feedback and ideas from the Dynamo community.
Dynamo Core is a collection of bundled components that consist of the graphical interface, the compute engine, the scripting language DesignScript and the out-of-the-box nodes that are not specific to another program like Revit: It is the core technology that is consistent across all of the flavours of Dynamo.
Dynamo Core is made available to host integrators to incorporate into their own products and will become available on the release of these host products or their updates. You can also access Dynamo’s Core technology through Dynamo Sandbox, a simplified development environment for package developers and other people working with Dynamo code who want to stay up to date with the latest and greatest stuff coming out.
Current list of host integrators:
-
Revit
-
Civil 3D
-
FormIt
-
Alias
-
Advance Steel
-
... and more to come!
Over the last several months, we have had a strong focus on 3 areas: performance of Dynamo execution, stability of the system, and sharing packages more effectively.
Our goal in this next few months is two-fold:
-
Make our sharing and performance enhancements more usable with specific graphical interfaces
-
Use stability improvements as a basis for teaching and sharing with peers.
In addition to this work on Dynamo’s core functionality, we are actively supporting and developing Dynamo integrations across and beyond the Autodesk Collections with Civil 3D, FormIt, Advance Steel, and Alias releases (with more in the works!). While we continue making Dynamo’s computation capabilities a shared interface across multiple applications, we have also been establishing a firm foundation for Dynamo in the regular Revit release and feature development process.
We want you to be able to share you graphs with ease - where a graph you receive of send out comes equipped with all the information it needs to be successful. Currently Dynamo doesn't tell you where to find missing package information when you receive a graph from a colleague, friend, forum and the like. Historically it has been up to you to figure out where those missing packages came from, either through trial and error or a little digging on the forums.
We want to get rid of this ambiguity and inefficient time spend of the days of old! So, we are adding a Package Dependency Viewer that will tell you what packages are missing from your graph, allow you to resolve package conflicts and also allow you to install missing packages directly from a sidebar panel. This will mean you can share your graph and help your peers learn more about packages they may not have discovered yet!
We're also working on discoverability inside the Package Manager by adding a Filter that showcases what packages depend upon other software outside of Dynamo (Such as Revit, Civil 3D or Photoshop). With Dynamo already being included in Civil 3D, FormIt, Alias, Advance Steel, this will become increasingly important as more dependencies are added and more host applications come online.
We want to improve the overall stability of Dynamo and are actively looking at how to create a more consistent and stable experience for Dynamo graph authors and consumers as Dynamo functions relatively well in many situations and not so well in others, and we are targeting the biggest offenders first.
DesignScript currently has a few nuanced crashes that impede user exploration and dilute the first-time experience with scripting in Dynamo. We are working on bringing up the languages overall stability by fixing several prominent DesignScript crashes such as when Dynamo crashes after you edit a custom definition.
We are also investigating memory leak issues that specifically target progressive slowdown that becomes apparent the longer you are working inside Dynamo. The workaround at present is to restart Dynamo, its host (Such as Revit) or in really bad cases - your entire machine. This is far from an ideal workflow, so we are looking to both discover and implement improvements.
We want to normalize the performance of Dynamo to have a more linear resource cost as the scale and complexity of a graph increases.
We're going to automate our performance checks using the Profiling API we build in the second quarter of this year to benchmark each new build of Dynamo against the previous stable build. This gives us clear information on when and where performance takes a hit - and the ability to fix the problem!
We also see Dynamo performing very well in our tests and small use cases - but struggling at scale. We are collecting and profiling workflows we’ve collected from the community to understand where scale is a problem in Dynamo and target fixes that improve the performance of large graphs and large datasets.
To further empower you to understand how your graph is performing, we are building the TuneUp Extension that showcases individual node execution times. This extension will showcase where you can optimize your graph, what node operations are resource heavy and also allow you to compare workflow approaches to learn how to build leaner, faster graphs. TuneUp will initially be released as a view extension as this allows us to ship it outside of a particular release cycle. Follow the extension progress in the https://github.com/DynamoDS/TuneUp repository on Github.
We will continue to engage with the Dynamo Community and cultivate the close-knit relationship that has been the foundation for such a welcoming, diverse and knowledgeable user base because we want Dynamo to be as accessible and valuable as possible.
So, we are working on documentation that helps those who want to integrate Dynamo into another product on their journey. You should be seeing more Dynamo in more places in the not too distant future!
To better support the Dynamo community, we will be actively responding to and pulling into our task backlog all PR's and triaging GitHub issues - targeting a 2-business-day response time. We are also releasing this public roadmap as we double down on the Open Source nature of Dynamo and are committed to being transparent in our actions and communication around Dynamo and its future.
Our mission is to provide an inclusive, simple, coherent and capable visual programming environment for you – the people who make things. We are highly passionate about fostering a collaborative ecosystem for automation and computational design in which you can thrive. We want you to be able to learn from the broader community, to share your workflows within teams and across disciplines and to enable users of any level to find success.
To balance the need to both grow Dynamo into the future (Feature additions and Modernization!) with foundational amendments (Stability, performance, reliability etc.) we are exploring using a Tick Tock strategy for Dynamo releases.
In this strategy we will have a tick release focused on the Future of Dynamo; Where it can go, how we can evolve the product, how people use visual scripting and so on, followed by a tock release focused on Improving what we have; Making Dynamo more stable, performant, fixing major bugs and the like. The release following this will come full circle back to the tick of the future.
Customer feedback matters a lot to us - in fact, almost everything we do is focused around you! However, we are also anticipating user needs above and beyond what is currently being asked for today as we aspire to DYNAMO ALL THE THINGS. For this promotion of Dynamo as a common compute language across multiple applications and domains we need much better performance, a componentized delivery for multiple host integrations and a cleaner, and a more robust and streamlined foundational Dynamo as we move forward into the future.
The Dynamo team spent a bunch of time this year going around the world collecting customer feedback through Europe, Southeast Asia, Oceania and North America in order to better get a pulse on the needs and wants of the community.
We saw 130 customers, representing 44 firms in 5 countries, and across 4 continents – each having their own challenges and using Dynamo in both consistent and very unique ways! We ran through thousands of post-it-notes enquiring around the challenges that firms face when using Dynamo, what were their barriers to success for both beginners and experts, their thoughts on sharing and their ideal future state of Dynamo.
Using this feedback, we have prioritized work this quarter (And the last) on changing Dynamo from being a great 1:1 tool into being a great 1:Many tool. We want Dynamo to work seamlessly within your organization and within the multiple applications that you work with. We see a Dynamo in a world where sharing content with peers is effortless and everyone is empowered to fix any issues that arise.
Simply put, we are focusing upon making Dynamo more useful for everyone in your business and business partnerships.
This public roadmap is driving us towards a future where Dynamo provides a simple, coherent and capable platform for you to collaboratively design and build a better world. We want to empower you to encode knowledge, make better decisions and automate manual processes, and explore new ideas in the collaborative and inviting computational design ecosystem of Dynamo. We hope sharing this public roadmap with you gives some insight into what the team is working on and we welcome all of you to provide feedback on the Dynamo Forums.
The Dynamo Team
Looking for help with using the Dynamo application? Try dynamobim.org.
- Dynamo 2.0 Language Changes Explained
- How Replication and Replication Guide work: Part 1
- How Replication and Replication Guide work: Part 2
- How Replication and Replication Guide work: Part 3