Here is the full text of the talk I gave at the Graebert Annual Meeting 2015 in Berlin earlier this week:
MobileCAD is Reaching Maturity
by Ralph Grabowski
One of the things I do is watch how CAD vendors react to new technology. I am particularly interested in how CAD vendors react when big shifts occur, like mobile apps.
Some have plunged right in, and are figuring out how to tackle this new type of miniature computer that's taking over the world. Others are standing back, waiting for the first group to figure it out. A third group is just hoping this phase will pass by soon.
What is happening today is a repeat from earlier eras. In the mid-1990s, Windows was finally was good enough for CAD, and vendors struggled how to adapted their single-tasking programs to the new multi-tasking environment. And then it happened again 15 years ago, when they had to figure out how to adapt their CAD software to the Internet. This was a much harder nut to crack, which is why today CAD vendors are still working on solving the Internet problem.
At the same time today, they're needing to figure out how to get a handle on this tsunami of mobile devices, now amounting to two billion devices worldwide.
If adapting to the Internet was tough, adapting to mobile devices is probably tougher. Those CAD vendors who are taking the plunge are finding the waters icy cold. Let me explain.
We enjoy the convenience of phones and tablets. Their users interfaces are effortless to use. We easily take and share photos, talk to each other by texting. But these apps that we so love are back-ended by programmers who are suffering brain-freeze headaches. Every mobile platform has major drawbacks.
Let me outline them for you.
Android: Android has three-quarters of the mobile market. But developing for Android is painful, because every device is freaking different. Vendors have to release multiple versions, targeting the peculiarities of different hardware.
iOS: iOS benefits from uniform devices, but developing for iOS is still painful. That's because Apple keeps crucial technical details hidden under its kimono, like how much RAM is available to apps and the capabilities of its GPU -- knowing this is critical for CAD apps. Also, Apple does not allow free trials in its App Store, which makes it hard to attract the curious.
Windows Mobile and Blackberry: developing for these two operating system is painful, because their market shares are too small to ensure sufficient customers.
Web apps: Web apps have the benefit of running on any platform, but they have their pain points, because Web apps are not as fast, or elegant, or feature-rich as native apps. Take, for example, the difference between running Twitter in a Web browser or as a native app.
So, no mobile operating system is ideal. And so the first brain-freeze that programmers get is from deciding which operating sytem to support. When I interview them, I ask,
"Why'd you pick Android?"
"Why'd you pick iOS?"
I can usually predict the answer they will give:
"Android has the largest market share."
"iOS is the easiest to develop for."
And then they admit the problems. Android devices are so varied. iOS market isn't that large, or Apple is difficult to work with.
- - -
OK. So the CAD vendor has taken the plunge. They have written their app. Their marketing department is excited about the ap, excitedly tweeting and facebooking and telling media people how excited they are about the new app -- that is exciting.
But not the accounting department. That's because CAD vendors make no profit from making mobile apps -- let alone selling any. Users expect mobile apps to be free, or close to free.
Not only free, but it has to work perfectly.
As a result, some CAD vendors have now frozen further app development or else pressing ahead more slowly.
Last week I searched the Google app store and recorded statistics for 51 CAD apps. I think I found all of them. I've got here a list of apps from some of the big-name CAD vendors that have not been updated in more than a year.
App Vendor Last Updated
Buzzsaw Autodesk Mar 2012
Inventor Publisher Viewer Autodesk July 2014
GrabCAD Viewer GrabCAD May 2014
Solid Edge Mobile Viewer Siemens PLM Software Sept 2013
Three had over a million downloads
- CAD Touch Free
- Home Design 3D FREEMIUM
- Floor Plan Creator
One app has over 10 million downloads
- AutoCAD 360
Four had fewer than a thousand downloads.
One-third of them had not been updated this year.
So, it's a tough market. The good news is that some -- a very few -- CAD vendors have broken out of the pack. Three of them are making amazing progress in different areas.
- Autodesk with AutoCAD 360. It has the broadest range of platforms of any CAD vendor. Autodesk has versions for Android, iOS, Windows, and for running inside Web browsers, but not OS X, curiously enough.
AutoCAD 360 also wins in the largest number of downloads with its more than ten million downloads on Google Play store. Apple does not provide download statistics, unfortunately.
- IMSI/Design with TurboSite. It boasts the most impressive range of data collection. It makes use of just about every sensor found on an iPad. This means it runs only on iPads.
- Graebert with ARES Touch. This is the only mobile CAD program that endeavors to pack in the most complete set of drawing and editing functions on a tablet. Not only is it command-rich, but it hosts third-party customization, something not even Autodesk has attempted.
- - -
So what does it take to port a desktop CAD program onto a mobile device, the way that Graebert is doing? Now remember: other mobile apps don't even try to provide all the functions of a desktop CAD program. One the one hand, this is kind of convenient, because it means they can avoid the commands that are difficult to implement through a touch-only interface.
But not ARES Touch. When you commit to implementing all commands, you can't take convenient shortcuts. For instance, Graebert doesn't simply give us a list of layer names; Touch includes most layer tools, like isolating layers or changing the layer to which an entity is assigned.
Let me turn to some of the challenges of making a full CAD program run on a tablet:
Desktop CAD software relies on the keyboard and mouse -- neither is normally available on a tablet. Tablets offer only touch, and when do we call up the software keyboard, it ends up covering half the screen. On-screen keyboards don't let us hold down Ctrl or Shift keys to modify the behavior of commands. This means that some commands cannot operate as they do on the desktop.
Desktop CAD software is fond of using modifier keys like Esc, Ctrl, and Shift, but they aren't available on tablets. There's a few ways to deal with this:
- Don't use the keys on the tablet version. But then commands that rely on them can't be used. Here's one example: On the desktop computer, the PowerTrim command in ARE Commander trims entities as we drag the cursor around. When we hold down the Shift key, the command switches to extend mode. On a tablet, the command performs only trimming.
- Another strategy is to have a new way to access those buttons. ARES Touch uses icons labeled X and Finish to exit or end commands.
- Or, a CAD vendor could require use of an external Bluetooth keyboard
Desktop CAD has hundreds of commands, and making them all available on a mobile devices is not convenient. After all, we users have been trained to expect minimalism on tablets. Graebert solved this problem by allowing ARES Touch to show or hide commands.
So, all of ARES Touch's commands are available through the Command Bar, a user interface element that is usually hidden. When we open the Command Bar, there is a filter that lets us get to a specific command just by starting to type its name.
Third-party developers can customize the Application Menu by editing an XML file. This shows fewer commands, or exposes custom commands. That XML file allows ARES Touch to work in multiple modes, such as a non-editing mode for only viewing and marking up drawings.
Not every aspect of the user interface gets worse when moving to a tablet. Tablets have user interface elements that typically aren't available on desktop computers:
- To execute a command, we can tap a button directly on the tablet screen; we don't need to first move the mouse cursor to that location
- We can drag a finger on the screen to pan the drawing or spread two fingers to zoom in and out
- On ARES Touch, we can double-tap to zoom to the drawing's extents -- that's much easier than typing zoom extents!
- When we hold our finger down on the screen, tablets usually display a context menu; this replaces right-clicking on the desktop. In ARES Touch, however, Graebert defined the long press differently, depending on the context:
- When no command is active, Touch goes into windowed selection mode
- When a command is active, Touch displays the loupe
The loupe shows a magnified view of the entities that are under the finger, kind of like a reverse bird's-eye view that was popular with CAD program in the 1990s.
Graebert have told me that they are looking at implementing other multi-touch combinations, such as using three fingers. Problem is, I find it impossible to remember what more than two fingers do, never mind four or five.
CAD drawings can be stored on tablets, but even a 32GB memory card might not be enough. Then there are the files stored on Dropbox. Graebert needed to figure out how to coordinate them. The solution is to store files in two types of folders.
- The local folder lets us access drawings and support files anytime, even when the tablet is disconnected from the Internet. Later, when the tablet is back on the Internet, we can optionally synchronize files.
- A separate cloud folder stores files from services like Dropbox and Google Drive. Graebert's implementation allows us to use files offline after they've been synchronized once. When the tablet is online, the files are synchronized automatically.
So two types of folders: one for files we might not want synchronized, and one for those we always need to have synchronized.
One thing CAD users rely on is printouts of their drawings. Back in Canada, a big grocery store near my house is being renovated, and I've been itching to take a photo of the fat roll of drawings that the contractors refer to. Viewing drawings over the Internet has been around for 15 years, but these guys still aren't using tablets or phones for drawings.
So we want to print drawings, but mobile devices are not well suited to printing. Partly because we can't attach printers to them. Printing has to be done over the air, through a WiFi connection or an e-print service from HP or Google.
For CAD drawings, this is not so easy, because we expect drawings to be printed precisely. Even something as trivial -- to us -- as printing a windowed area of a drawing is tough for the typical printer driver to handle, because it requires accurate clipping of entities along the edges of the window.
It turns out that the solution is to use PDFs. There are pretty good libraries available that export documents accurately to PDF format, including for CAD programs. The Open Design Alliance has one. Graebert already can export drawings to PDF, and the next step is printing them -- complete with control over which layers get printed, plot styles, and so on.
In fact, this is similar to the approach Google takes. When you use its cloud print service, it converts the document to a PDF file, sends the PDF over the Internet, and then has the printer print the PDF.
ARES Touch uses almost the same API as ARES Commander on the desktop. The folks at Greabert tell me that almost any desktop CAD function can be ported easily to Android. I haven't tested this, so I have no experience of how well it works. I do agree with them that this is a key advantage to their tablet software.
The stuff that can be ported include those written in...
- Tx, which is similar to ARx
- and DCL for dialog boxes
It turns out that the primary limitation to porting a third-party add-on is the size of dialog boxes. They need to be resized and redesigned to be more suitable for a tablet's screen. To solve this, Graebert has written its APIs so that it tries to change the layout automatically.
Porting doesn't have to be only one-way. It can also go from mobile to desktop. Graebert has found that some of the user interface it developed for ARES Touch is useful on the desktop.
One example is the picture note function on ARES Touch, which Greabert is thinking of adding to desktop ARES Commander. This new function adds photos to drawings using the tablet's camera, or taken from a file. Now, this isn't new to mobile CAD, but in Graebert's version of the command, only a P icon is displayed in the drawing, not the actual image. This helps drawings display more quickly and keeps drawings from becoming cluttered, because the raster images are not loaded automatically.
The pictures are placed on a layer named "Collaboration." To hide the pictures, freeze the layer.
The final challenge I want to talk about is licensing. This isn't something we users care about, but is a big problem for software developers. I mentioned earlier that Apple's app store does not allow free demos that users can pay for later.
The big flaw in Google's Play store is that does not provide enterprise sales. This is where a company can purchase an app for all employees, like 100 copies at once. Right now, the only way Google's store works is for each employee to pay for a copy, and then be reimbursed. Apparently, some very large corporations have their own private Play store, but this is not available to small and medium size businesses.
On the other hand, Apple is working with IBM on enterprise sales, so this drawback may change in the future.
For the past year, the beta of Touch relied on Microsoft' HockeyApp. First we install HockeyApp, and then use it to install ARES Touch. This bypasses the Google Store.
Another problem for vendors is that mobile apps are mostly sold with free upgrades for life. Even Apple's online store for desktop programs running on Macs demands free upgrades.
To solve the problem of pricing, Graebert links the Touch license to the ARES license: buy one, you get the other free.
So, I am very interested to hear today the progress Graebert has made on Touch since I last updated the beta a month or two ago.