nnovation comes from funny places. In 2005 Apple introduced the Dashboard; a largely impractical application that overlaid the desktop with little Widgets reminding you of the time, weather, and stock-market prices. The most redeeming feature of the Dashboard was that when you added a new Widget to the Dashboard it made the screen ripple like it was made from water and, since not all computers at the time were powerful enough to do this, the Dashboard’s rippling became an unofficial performance benchmark. Despite the frivolous nature of Dashboard, the Widgets have an important legacy (other than being a precursor of the iPhone apps).
What is WebGL?
Why WebGL is important to CAD
It is inevitable that in the near future CAD models will be able to be viewed in a browser using WebGL. There are already some early examples of this happening with PythonOCC/WebGL which exports 3d models to WebGl; the Surface Explorer, which draws doubly curved surfaces from equations; and most beautifully in the Google Body Explorer, which allows you to interact with a rather complex 3d model of the body. And I have it on good authority that at least one major CAD manufacturer is making a ‘dropbox for CAD files and project data.’
With 3d models now viewable on the internet, the critical question becomes how much interaction will be enabled. Will you be able to view associated model data? Will you be able to modify a model? Will you be able to generate a model? Will the browser become your preferred way of designing? Some early applications like CloudSCAD, 3dTin, Shapesmith (shown above) and TinkerCAD, would say ‘yes’ to all of the above. There are some advantages to this approach:
- Users don’t have to download software and updates can be made instantly.
- Theoretically the application is cross platform and cross device.
- Users can use less powerful computers to do more complex tasks by offloading the work onto the server. The server might be able to do the rendering or object population, the server could also load a really large model while giving the user a simplified version of the area they are working on. It is also a better use of resources to have one server constantly working hard rather than every user intermittently working their computer hard.
- Live connections to other databases. A few years ago I helped start ProductSpec, and it has always been on the roadmap to have the Productspec database linked to CAD models so that as manufactures change product data, this is reflected, in realtime, within the model.
- All of the associated advantages of cloud computing: less piracy, more payment granularity, online storage/backup ect.
It is interesting to see that the next iteration of architectural representation isn’t emerging from the past 20 years of discourse flowing out of architectural theorists and philosophers, but it comes from a technology Apple developed to add a bit of bling to the desktop.
Woke up the morning of my thesis defense to this wonderful gift- in a few short hours I’m going to be attempting to get a small group of people to take this future seriously. I’d like to add that along with Canvas and WebGL, Websockets are another great addition to HTML5 that allow a dedicated duplex client to server connection, and enable sophisticated new collaboration method (check out rumpetroll.com for a demo). Also, in a web app the heavy lifting of the software could theoretically be done server side, which might make the creation of more complex software easier to bear.
I hope your defense went well. The final project over at http://work.permanentriot.com/ looks pretty amazing, would love to see a video of it in action.
I think Websockets looks like it will be a big deal as well. One of my renovations about the WebGL/OCC video is that the server location is never explained, and obviously the responsiveness of the application will depend a lot on whether the server is in the same room, or whether it is in a different country. Hopefully Websockets and binary data will make this less of an issue.
Anyway, enjoy the completion of your degree,
Actually I take that back, it turns out the WebGL/OCC project is online at http://www.shapesmith.net/ Definitely has some latency issues, but it works!
Thanks Daniel! The full scope of my thesis (Games as Design Environments) is not up on the blog yet, I’ll try to get a post up in the next few days.
Thanks for uploading your thesis. Hopefully I will be able to read it today, looks really interesting.
Glad you like my project (shapesmith). I’m working on the latency issues, I believe I have a solution for that. It’s also running on a single micro amazon instance, so don’t expect it to perform too well at present 🙂
I think Shapesmith is years before its time, so thank you for allowing us to have a little look at the future. I can see ShapeSmith potentially becoming are really important part of WebGL (the MySQL of online geometry?). And I also just recently came across the source on GIT hub (https://github.com/bjnortier/shapesmith), so hopefully some other people will join you in making this happen.
I am curious if you agree with my assessment in the blog that Online CAD packages would not be replacing desktop versions (despite the advantages of could based CAD), as someone who has worked with the technology, how far do you think it will go?