Onshape browser-based mechanical CAD system (exciting use of WebGL)

Back in 1993 I established a reputation for insanity by asserting that desktop applications, such as Microsoft Office, were dead. “Everything will run inside a browser and be backed by a web server,” I argued. People around me (EECS department at MIT) pushed back hard against this statement. I had to admit that not everything could run in a browser, even if the browser were augmented with the ability to interpret small computer programs downloaded from the server (browsers would get Java and Javascript capabilities about 1.5 years later). The application that I was most willing to give up on was computer-aided design (CAD). Plainly the performance could never be acceptable without running compiled software directly on the user’s personal computer (desktop Unix workstation, actually, at the time).

With Microsoft Office alive and well and iOS and Android apps being released every few seconds it seems that I was dead wrong about native applications being supplanted. And recently I learned that I was dead wrong about CAD being restricted to running in a native application. Onshape has released a collaborative server-based full-blown mechanical CAD system that runs in a browser. A lead engineer in Shanghai can design a widget and watch in real time as a junior engineer in Indiana tweaks the design. Either of them can spin a 3D model of the design around at any time. As with Google Docs, changes are saved back to the server automatically. The version control system is much more elaborate, however, and it is possible to name versions of a design.

What’s behind the wrongness of my prediction? Three things:

  1. anything related to 3D graphics or display in a modern computer or smartphone is done by the graphics processor (GPU), not the CPU
  2. companies such as Google have put tremendous resources into making Javascript execute fast within browsers
  3. there is a 2011 standard that lets a Javascript program running inside a browser tell the GPU what to do: WebGL

The client side of Onshape is essentially the mother-of-all-Javascript systems telling the graphics card what to do. It turns out to be more than sufficiently responsive. Other than a thin shell of an iOS or Android app, the company offers no software to download and install.

Onshape has an interesting way of pricing their system. It is free if you don’t mind the rest of the world looking over your shoulder. I.e., you don’t have to pay if your design can be looked at by others. They charge for keeping a design private.

I’ll be interested to hear from Mech. E. readers what they think about this. Current distributed work in mechanical CAD seems to be done using standard programs that write big files and then sharing those files with Dropbox or a private equivalent. This has all of the same problems as using Microsoft Office in a distributed collaborative fashion, e.g., files named “20151007-widget-design-FINAL-v2-edits-philg-FINAL”. Looking at the US News list of the best global engineering universities I note that they don’t seem to be clustered. Among the top 20, 9 are in China, Hong Kong, and Singapore, 5 are in Europe, and the remaining 6 are in the U.S. I would think a company could realize a significant competitive advantage by facilitating collaboration across those continents.

Separately, what games are making heavy use of WebGL? This seems like a useful substrate for online multiplayer video games.

[Disclosure: I have a little personal history with CAD. I was co-author of the ICAD system. This enabled the specification of a family of designs such that it was possible to go from specifications to a 3D model automatically. It was the most popular application program on the Symbolics Lisp Machine. Given that it required typing specs in a machine-readable language, my standard retrospective description became “the world’s best mechanical CAD system for people with PhDs in computer science.”]

10 thoughts on “Onshape browser-based mechanical CAD system (exciting use of WebGL)

  1. Thanks Philip!

    It was a pleasure to meet again and talk Onshape. And I want to thank you. I audited your Software Engineering for Internet Applications class many years ago and it was a profound step for me in learning about and ultimately visualizing how a cloud CAD system like Onshape could in fact be built.

  2. Philip, I’ve been using OnShape for awhile now to do some design work on the concept I mentioned to you in email a couple of days ago. It’s fairly nice, reasonably responsive, and looks remarkably wonderful running on my Note 4 (I run it under Ubuntu/Chrome). Perhaps it’s just the beta version I’m using, but I don’t have the same restrictions you mention above – my free plan allows me to have 10 private design collections (they call them documents), above which I have to pay. The company has been very responsive to me so far – my only outstanding request is to allow OpenID login – everything else missing seems to be in their hopper already.

    They have an API that plugin developers can request access to – a friend that I passed a signup invitation to is developing a Bill Of Materials plugin that will facilitate rapid prototyping using his machining equipment.

    I’m also using it as the front end to another of their parnters, SimScale, which will take the OnShape files (and others) and run CFD against it. They appear to be using OpenFoam on their back end, but the GUI to define areas of computation is nice, and you can select how fast you want to burn money (i.e. number of CPUs) – it’s a lot like aviation in how fast you want to go. Check it out too.

  3. “They charge for keeping a design private.”

    If there’s anyone I trust to keep my designs private, it’s Chinese software developers. Their name is synonymous with trust and respect for IP.

  4. Most 3D web games are using Unity for the ability to deploy onto iOS/Android easily (WebGL and JavaScript are lagging behind on mobile devices), or Flash for legacy reasons. There’s a neat proof-of-concept demo of the Unreal engine ported to JavaScript/WebGL, but I’m not aware of any published titles using it.

    We’ve been looking at WebGL for our games but browser/driver support is pretty bad among our audience (many of whom are still running IE9!). We once deployed a simple probe in one game to gauge the level of WebGL support out there, just a single function call to test if it works, and it actually crashed a bunch of browsers.

  5. A quick control question: is the [iTunes link] Onshape iOS/ iPad app (latest version 16 Oct 2015) REALLY USABLE on an iPad (also Mini), perhaps even iPhone – for basic rotational viewing, and adjustments, if not for composing from scratch? Usable without a stylus?

    BTW. how steep is the learning curve on a touch screen, I presume harder than with a mouse. Thanks.

  6. My daughter is MechE at MIT right now and it seems to be Solidworks all the way. I don’t know how Onshape compares to Solidworks in terms of benchmarks. I know that Solidworks is fairly demanding of resources and I had to get her a computer with “workstation” graphics to handle the demands (apparently the “workstation” GPUs nowadays are just gaming graphics chips with a different set of drivers, but those drivers are optimized for modeling instead of gaming, or at least they are marketed that way). I’ll bet the same is true in games – you can play Angry Birds inside a browser but the really heaving hitting games don’t run inside a browser.

    Solidworks has its own version control / collaboration features. From the Solidworks website:

    “Share your designs, manage design files, and work closely with your team and other stakeholders WHILE PROTECTING PROPRIETARY DATA with the multiple tools and applications in SOLIDWORKS 3D CAD software, saving time and development costs, increasing productivity, and accelerating time-to-market.” (emphasis added). As I said before, there’s NO WAY I would put valuable IP on a Chinese website.

    In my field (law) theoretically there are all sorts of versioning features and collaborative tools available, but everyone I know just emails MS Word files back and forth with redlines to show changes between versions and awkward names just as Phil describes. When I started, back in the quill pen era (OK, the typewriter), you literally drew red lines with a ruler and pencil, but at least that part is automated now.

  7. I spoke to my daughter about this. She professed total ignorance of OnShape and no desire to learn any cad program other than Solidworks. I’m just the messenger here – I’m not saying that her attitude is the right one.

    She said that Solidworks was not giving out free academic licenses of their collaborative platform (PDM) but for her school projects that required collaboration they were using something called Grabcad Workbench, which is a free product. Grabcad appears to have some browser based functionality and appears to overlap somewhat with OnShape, though it is mainly a collaborative product rather than something you would use to design on from scratch.

Comments are closed.