Speckle 2.0: Vision & FAQ
Speckle Team
June 22nd 2020 community2.0

vision

Speckle 2.0 Vision and FAQ

After announcing setting up a company that would focus entirely on developing Speckle, and the development of Speckle 2.0, we've received a multitude of questions from our community members about what it would look like and requests for more information. This post describes our vision around Speckle going forward, and includes a small FAQ at the bottom.

We want Speckle to become the de-facto data platform that liberates AEC from proprietary file formats & closed source software.

Speckle is, in part, the product of the frustration caused by all the friction in the industry. As architects / engineers / software developers in the space ourselves, we have experienced the pains of transferring data from a software to another or the struggles to query a model's data.

The only way to overcome these hurdles, we believe, is by creating a digital infrastructure layer for the industry. We share the belief that, if you're building digital infrastructure, it has to be open source.

We want Speckle to become the open infrastructural base on which we, as a community of AEC hackers and doers, can shape the digital future of the built environment.

We started writing Speckle 2.0 with these values in mind and with the hope to give our community and the wider industry an even better product.

Step 1: DX

We're adding a lot of focus to the developer experience of working with Speckle. We've seen great examples of developers, computational designers, hackers bending Speckle beyond what we thought was possible. We want to improve this and turn Speckle into a great developer platform with a great developer experience. That's why we launched the Insider Program, to have a better line of communication with core contributors and developers at an early stage.

Step 2: UX

Another huge priority for us will be the ease of access and use of the platform itself by users who are not coders or who don't like to wire things around. Speckle shouldn't be complicated to use or have a steep learning curve.

Another focus will be on expanding the connectors: we're looking at having an AutoCAD plugin, Civil3D, and others.

Step 3: Ecosystem

Finally, we want to build an eco-systems of applications that leverage Speckle data and consume it in innovative ways enabling automation and next-gen pipelines. We've seen some great examples here in the past already! If you don't know what we're talking about, check the recording from the speckle meet-up last November!

Timing

Development of 2.0 has just recently started and we expect the source code for the first alpha versions to be available in the next few months (we have a very rough roadmap doc here). During this time we will also ramp up the insider programme and start getting in touch with applicants.

If you want to have a say on core features and functionalities from as early as possible, join the Speckle Insider program. Otherwise, to just stay up to date with our progress and new announcements, follow us on twitter or join our newsletter!

And finally, if you have pressing concerns, feel free to reach out to Matteo or Dimitrie directly.

FAQ

1. Will Speckle 2.0 still be open source? Of course yes! ❤️

2. Will 2.0 data be backwards compatible? No 💔 2.0 is a major release and it will have breaking changes. We are optimising our schemas and API to be more performant and the cost to pay is that previous data will not be compatible with 2.0. We will work with the community to identify and create the appropriate migration paths.

3. What happens to the 1.0 Speckle clients/connectors? Speckle 2.0 will still use connectors in the same way 1.0 does, these will in turn need to reference new SDKs (Speckle Core 2.0 and auth) but changes here will be kept to a minimum. If a connector is a community contribution we would expect their maintainers to update them, otherwise we'll try to do so.

4. How different will the 2.0 server be? We'll cover that more in detail soon - ultimately it's still a nodejs application. We are switching to postgres, but this is even easier (& cheaper) to handle in AWS/Azure/${Major Cloud Provider}! We're also cleaning up the server and switching to a more sustainable architecture for authN & authZ. The user provisioning part (AD integrations, etc) are not going to change.

5. Are Speckle Kits and custom schemas staying? Yes! That doesn't change, it actually becomes better! We've revamped the base object class to be much more developer friendly and allow for more flexibility as well as much more control on how things get serialised. We've simplified the process of creating kits and custom object models. Another nice aspect is that we've eliminated the difference between sending one object containing a million sub-objects and sending one million separate sub-objects, so conceptually we have many more options to explore on how data is structured (streams, layers, etc.).

6. Will the web API change? Yes, we're migrating to a GraphQL api. Why? It's self-documenting - schema and operations - and much nicer to work with (especially in frontend apps)! And - get this - we hopefully will actually be able to automate the client (&models) generation there. Tooling in .NET is not perfect, but we're working on this. Some high throughput routes will stay on the RESTful path though.

7. I'm writing a new Speckle connector, should I wait until 2.0 is out? Not really! The heavy duty part of writing a connector is the conversion logic and integration with the host application. These should be easy to port over.

8. I'm extending the Speckle server for some custom workflows, should I wait until 2.0 is out? We'd suggests joining the insider program to keep up to date and receive access to WIP releases (once we have working code!).

9. I'm an AEC enterprise, how can I support Speckle? In many ways! Below are what we see the most useful ways to support the project, from your point of view:

  • building on top of speckle - this will accumulate in-house skills that will be useful in the long term (both in regards to Speckle, as well as other digital development needs),
  • contributing feedback & case studies to the project,
  • contributing code to the project,
  • organising a workshop, sponsoring an event (post-pandemic obviously!)

10. Bills still need to be paid. What is your business model? We've carefully thought about this, as we did not want to compromise any aspects of the open source mission of Speckle when we created a company around it. Not surprisingly, there's plenty of examples of successful COSS (commercial open source software) enterprises: Gitlab, Wordpress, MongoDB, etc. We're taking a page from their book here and are planning to offer services that are built on top of Speckle (a SaaS product, consulting services, custom product development etc.). Long story short: we will not close source Speckle.