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:
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 add-ons. These add-ons 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 add-ons, which led to a large marketplace for extensions.
Similarly, a browser-based CAD application could easily enable this extensibility. Furthermore, there could be a marketplace like Google Play for add-ons 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.
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.
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
Cover photo: Photo by Scott Webb on https://unsplash.com/photos/-udZnjsCzsE
This work is licensed under a Creative Commons Attribution 4.0 International License.