Monday, January 25, 2016

Thoughts About OnShape As a Tool For Makers, Artists and Educators

OnShape Parts Studio

I’ve heard so many educators talking about OnShape that I recently (January, 2016) spent a week working with the product to perform a detailed assessment for myself.

Just to name it, I’m an active participant in the Tinkercad community. Though wrapped in a cartoonish veneer, I view Tinkercad features to be sufficiently productive and complete to be well suited for teaching entry level 3D modeling and yet powerful and productive enough to use in the designing commercial products. That said, the site is occasionally frustratingly unresponsive. It also still lacks features that users desperately need -- like parametric capabilities, versioning and so forth. As such, I find myself in a continual search for a scalable, production quality, parametric, 3D design tool.

I should say up front that I experienced the OnShape team to be helpful, knowledgable and friendly. Though I really wanted OnShape to meet my needs, instead I found the tool to be quirky, slow to the point of unusable, lacking a number of minimally basic features, and presenting a very dated UX (User Experience) inherited from antiquity (i.e. Autocad and Solidworks).

Let me fill in some rather techie details about my evaluation on which the above conclusions are derived. 
  • Taken together, the help system, the video tutorials, the community forums and the support staff are all fantastic.
  • I liked the versioning features of the app. I found them to be well-thought out, easy to use, and complete enough to address all my requirements.
  • Though I didn’t use the collaboration features during my evaluation, I did read through the documentation to the point that I was left with the impression that they were, again, well-thought out, easy to use, and complete.
  • Flatly: OnShape is using the wrong geometry kernel to address the current and long-term needs to makers, artists, educators and even the mechanical engineers that are the products primary target. Those who know a bit about CAD may scoff at this statement. It’s based on the fact that OnShape’s geometry engine won’t allow it to easily accept and manipulate scanned volumes, imported meshes (like STL and OBJ files), nor scale to meet the real-world requirements of users today, and certainly not those that are coming. OnShape was founded by the same team that founded Solidworks, a well-respected commercial engineering 3D solid modeling tool. I believe that the choice of a BREP graphics engine will ultimately relegate the app to forever remain a niche product — even if the niche is large enough to survive. All I’m saying that their product didn’t meet my requirements as an educator, maker and artist. 
  • OnShape is billed as a professional grade mechanical engineer tool. Yet it couldn’t handle the same real-world design that I’d brought over from Tinkercad -- a tool seemingly designed for kids. 
  • Simply moving the mouse across a OnShape Part Studio canvas with only a few objects in place causes the mouse to jump around to the point that even the simplest UX tasks like changing focus in a textedit box of a dialog box becomes almost impossible. I believe this is due to background javascript code running whenever the mouse happens to fly over an object. These background processes seem to be causing the app to temporarily stop tracking mouse movements.
  • The UX calls upon users to interact far too often with dialog boxes rather than direct manipulation controls.
  • Though parametric capabilities have recently been added to OnShape -- the feature I was most interested in exploring in OnShape -- I experienced the UX for these capabilities to be quirky and rudimentary. 
  • The system appears to not include basic data management of parametric values beyond individual single-value variables. Support for multi-value variables is missing, as is the ability to import data values, create spreadsheet-like data libraries, or the ability to create data value reference lookups.
  • The system lacks refactoring support to address even basic use cases — such as renaming a variable.
  • Requiring that all 3D solids and surfaces be derived from 2D sketches, while still common in many traditional MCAD systems that evolved from 2D ancestors, creates a huge drag on user productivity and results in a level of complexity that would likely limit OnShape's use to high school and college level engineer students. That a “new” “out of the box” application like OnShape would bring that UX forward is a significant statement about the mindset of the founders. I get the thinking that resulted in that UX being chosen given all the other, lower-level decisions that have been made. But it results in a massive loss of productivity.
  • I found system availability of the application to be flawless during my week of use. Yet during my evaluation a number of real-world boolean operations (sort of like a Tinkercad group operation) ate up so many CPU cycles on the server that the graphics engine eventually gave up without notice after I’d wasted 15 minutes waiting for the operation to complete. I fear that OnShape will ultimately face many of the same challenges that other calorie-rich, latency-intolerant applications have struggled to overcome. I would love to see whether the OnShape team is able to create a service that keeps their users productive under heavy user loads.
  • The current system lacks a grouping feature. The union boolean doesn’t support unification of spatially disjoint part bodies.

1 comment:

  1. Hi, I’m Mehul, the author of this blog. For me, learning is a life long adventure. Moreover, learning anything in this era is not impossible: if you will it, you can learn and do anything.

    This is how my interest in programming and electronics materialized…