alt tex
Web

Vision for an Open Source Web-Based CAD Application

Today the market for architectural CAD (Computer Aided Design) software is mostly closed-source and has a monopolistic structure. A few big companies dominate the market. In this article I want to lay out a vision for an alternative future of an open source ecosystem.

Architecture CAD Market

Today, the market for architectural CAD software is dominated by closed-source companies like Autodesk or Nemetschek. They are expensive, difficult to use and often only run on Windows. Besides a hefty licensing subscription fees, users need to be trained extensively. This leaves professional CAD software out of reach for many poorer architects, especially in developing countries.

Enabling Web Technologies

In recent years browsers were enhanced with more and more technologies that are critical for delivering a good user experience in a web CAD application. These enabling technologies are:

  • WebGL: WebGL (Web Graphics Library) is a JavaScript API for rendering high-performance 3D and 2D graphics. This is critical for delivering a usable experience in the browser. Especially, when the user has supporting GPU cards installed, the performance of rendering graphics in the browser can be good with the help of WebGL.

  • WebAssembly: WebAssembly is a low-level assembly-like language for the browser. This can enable the programming of performance-critical parts of the CAD program in a lower-level language, for example C++ or Rust. This will help speed up the performance of the CAD application.

  • Websockets: Websockets make it possible to open a two-way interactive communication between the client and the server. This will enable the creation of collaborative features where multiple users can work together in a design at the same time.

  • Web Workers: Web Workers can run scripts in background threads. This could be used for complex calculations where the user interface stays responsive.

  • SVG: SVGs (Scalable Vector Graphics) is a markup language for describing two-dimensional vector graphics. This standard could be used to import and export drawings.

Vision for the Future

I envision an open source web-based CAD product that becomes the basis for an ecosystem of addons. These addons could follow the Linux philosophy of doing only one thing and do it well. My reference point here is the great Blender application, an open source 3D desktop application. Users can adapt and create addons which led to an large marketplace for extensions.

Similarily, a browser-based CAD application could easily enable this extensibility. Furthermore, there could be a marketplace like Google Play for addons to the CAD program.

Open Source CAD software is especially suited for users in developing markets that cannot afford the high-prices of proprietary software.

Conclusion

I hope with this article it has become clear that the time is ripe for change in the architectural CAD market. If you agree, leave me a message.

References

Blender: https://www.blender.org

WebGL: https://developer.mozilla.org/en-US/docs/Web/API/WebGL_API

WebAssembly: https://developer.mozilla.org/en-US/docs/WebAssembly

Websocket API: https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API

Web Workers: https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Using_web_workers

SVG: https://developer.mozilla.org/en-US/docs/Web/SVG

Cover photo: Photo by Scott Webb on https://unsplash.com/photos/-udZnjsCzsE

Published 25 Oct 2022
Thomas Derflinger

Written by Thomas Derflinger

I am a visionary entrepreneur and software developer. In this blog I mainly write about web programming and related topics like IoT.