Mobile applications are a core part of Onshape’s vision – they are instrumental in fulfilling our promise of helping CAD users do their best design work from anywhere, anytime. We made an early commitment and investment to make mobile apps a big part of our portfolio. And the effort has paid off handsomely.
Hirebotics COO Matthew Bush credits Onshape mobile for speeding up their design of cloud-connected “robots for hire.”
“If we’re sitting in the factory trying to figure out how a robot goes together, we can pull up the model on our phone and solve the problem right there,” he says.
“Being able to use Onshape in the field is very unique and very new and it’s really helped us leverage our time and make us faster,” Bush adds. “We don’t have to put big drawings books together and take them with us anymore. We can make changes on the fly to whatever we need without having to go back to a CAD station.”
As we continue to hear from customers about how much they value being able to model on their tablets and phones, it’s worth pausing to remember that this idea was viewed as crazy not so long ago.
Do People Really Want to CAD on Mobile?
Longtime CAD users typically ask a lot of questions about the usefulness and viability of CAD on mobile. Why would anyone want to CAD on mobile? Isn't the screen too small for a CAD application – even if I don’t have fat fingers? How can I give up my mouse and keyboard? I understand the value of viewing CAD models on my phone, but does it really make sense to edit them there?
With the right interface and user experience, CAD modeling on a phone or tablet can be just as fun and productive. From the very beginning, Onshape set out to build full-featured, modern parametric CAD for both iOS and Android. The customer reviews on iTunes and Google Play confirm that our hunches were correct: There’s a huge demand for the convenience and flexibility of mobile CAD.
Let’s take a closer look at the Onshape development team’s journey to build modern CAD on mobile.
Foundation for Building Native Applications
CAD on a Pad: Onshape offers mobile apps for both Android and iOS.
A typical question that comes in mobile development is whether to build a full native app or build a hybrid app to leverage work done on a web client. We decided to build native apps based on the poor WebGL support on mobile browsers, the interactive experience, and performance characteristics we wanted for CAD apps.
Our graphics team went ahead and built a reusable C++ library that works for both iOS and Android. We linked this graphics library with our Objective C code for iOS. On Android, we used SWIG to generate a JNI layer to talk to our graphics library. We tried to move more client logic to C++ libraries and reuse it on both platforms like DropBox Djinni, but decided against it for various reasons.
Thanks to our core CAD team, we have a cloud-based messaging architecture to support many different clients. Since our client server communication happens on a messaging protocol over WebSockets, we needed WebSocket libraries for mobile. For iOS, we used the websocket client implementation SocketRocket via Cocoapods and for Android, we went with okhttp3 library.
Are You Serious: CAD Without Mouse and Keyboard?
Once we figured out the infrastructure and technology, we were able to display and view 3D CAD models on mobile. We implemented pan, zoom, and rotate operations with standard pinch, pan, and multi-finger gestures. The touch interactions felt way better than the mouse-based browser version. This was really fun and it encouraged us to move forward.
We then moved on to the difficult task of designing a high-velocity touch interface for CAD modeling that works for different size screens. We needed to deal with selections, dimensioning, quick zoom in and zoom out, and 3D rotation vs. zoom issues.
After exploring the idea of zooming the selection area on long press, we finally decided to go with a precision selector (crosshair with offset) with force touch-based zoom in and out.
Long press brings up the selection cursor, highlights faces, edges and lines precisely and selects them as you move your finger. This mechanism, combined with 3D touch to zoom the area under focus, works beautifully. As soon as the user gets out of 3D touch mode, we restore the view back to the original zoom level so the user can move on to the next operation.
Our innovation is not limited to our touch-based CAD interface. We continue to optimize the application to take advantage of new platform features such as the Apple Pencil (Onshape is the First 3D CAD System for iPad Pro & Apple Pencil), split screens, and native notifications.
What About Design Data Collaboration?
In a world where executives are running their whole companies on mobile, we needed our mobile apps to support all users, not just CAD designers. So we extended our mobile app to support data management and Enterprise features.
Our data management allows users to collaborate and manage their release process in real time from their mobile devices. The whole team can work in real time by receiving notifications on the release changes, and changes can be approved from mobile devices.
Our Enterprise real-time activity feed and analytics offer unprecedented visibility into the engineering design process and data.
As always, the Onshape Mobile team is looking for your feedback and suggestions. If you are already using our mobile app, please let us know what you think in the Onshape Forums. If you’re new to Onshape, you can download the apps for free from the Apple App Store or Google Play. You can also try Onshape Professional for free!