Issue #739
Numerous startups and some established CAD vendors are working hard to make CAD work in Web browsers. The impetuous is to create an environment like Google Docs, in which files can be (a) accessed "anywhere" without a CAD program, and (b) viewed by one or more people at the same time.
One of the technologies is a combination of HTML5 and WebGL to display 3D CAD models in supported browsers. How do they do this?
HTML5 (and JavaScript)
Every Web site uses HTML [hyper text markup language] as the basis for displaying pages, text, graphics, and so on. You can see this for yourself; in Chrome, for instance, right-click a Web page and then choose View Page Source to see the HTML code. HTML uses 'tags' to position elements and specify their formatting, such as locating images and boldfacing text.
Additional technology makes Web pages interactive, the most common being JavaScript. It is identified by the 'script' tag, and does things like edit spreadsheets online and allow advertisers to determine if you clicked on an ad. (JavaScript has nothing to do with the Java programming language; it shares only the name.)
HTML5 is version 5 of the HTML standard, and it aims to make Web pages more interactive. An early, spectacular example was Google's implementation of the Arcade Fire song, "The Wilderness Downtown." See it by opening http://thewildernessdowntown.com in Chrome.
The most important tag in HTML5 is 'canvas', which places dynamic, scriptable images of 2D shapes in Web pages. Together with JavaScript, it is key to companies like To3D and Sunglass being able to display 3D CAD models in Web browsers with which you can interact dynamically.
WebGL (and Graphics Boards)
While HTML5 displays the 3D model and lets you play with it, the actual rendering is done elsewhere on your computer through WebGL and by your computer's graphics board. There are two parts: (a) WebGL [graphics library] uses JavaScript to render 3D graphics interactively, using (b) shader code running on the computer's graphics board (a.k.a. GPU).
WebGL is almost identical to OpenGL, which is used by several MCAD packages to quickly display rendered 3D models on Linux, OS X, and Windows. (The competitor is Microsoft's DirectX 3D, which is limited to Windows.) This means CAD programmers familiar with OpenGL can switch easily to WebGL.
Professional-level graphics boards tend to fully support OpenGL (and so WebGL), which means that the board actually runs the WebGL code sent to it by the Web browser's JavaScript. Examples of these boards include AMD's FirePro and nVidia's Quadro series. Consumer-level graphics boards tend to only partially implement OpenGL, such as AMD's Radeon and nVidia's GeForce.
The whole browser -> HTML5 -> JavaScript -> WebGL -> graphics board route seems like a complicated hassle, but it is necessary if browserCAD is going to work without plug-ins. No plug-ins means that browserCAD works right away. (In the early days of the Internet, users had to download a plug-in for every non-standard file format they wanted to view in their Web browser. In addition to the problems of locating, downloading, and installing the correct plug-in, changes to browsers meant that plug-in went out of date. Best to do away with plug-ins, then.)
The WebGL specification is maintained by Khronos Group, a non-profit organization.
The Server (Does the Hard Work)
BrowserCAD is split into two parts:
(a) the Web browser, whose only tasks are to display the 3D CAD model and change the viewpoint (zoom, pan, rotate) interactively; it cannot edit any objects in the drawing. Sometimes, the browser is called the "client."
(b) the server, whose task is to determine how to best to edit the model, and then return the result to the Web browser, preferably in under half a second. Sometimes, the server is called the "cloud."
The server consists of hundreds of computers running programming code for manipulating 3D CAD models, such as extruding circles or performing Boolean unions of two solid objects. The programming code consists of three phases: (a) first, it reads the request from the Web browser, such as the user wants part of a 3D solid removed; (b) next, it determines how best to apply the editing change, and (c) lastly, it returns the result, which is rendered in the Web browser.
The magic comes in making it look like all this occurs on the user's computer, locally. If you have the interest and the time, then I recommend you watch the "TinkerCAD" Google Tech Talk on YouTube at http://www.youtube.com/watch?v=5aY4a9QnLhw . TinkerCAD's Kai Backman explains in detail the programming behind the client and server sides of browserCAD. See figure 2.
Figure 2: TinkerCAD running in Opera Mobile Web browser on a $150 Android 4.x tablet
The Splinters (in the Screen)
The primary flaw in this approach to browserCAD is that HTML5 and WebGL are not particularly supported by portable devices, such as Android and iOS tablets and smartphones, destroying the concept of "anywhere." So far, only Opera Mobile and FireFox Android* partially support WebGL; most mobile browsers support most of HTML5, including the crucial 'canvas' tag (see http://mobilehtml5.org). iOS devices, such as newer iPhones and iPads, have the necessary hardware, but Apple has not exposed WebGL, and so browserCAD cannot work on them.
Even on the desktop, the technology might not work for you. HTML5 is not fully implemented in all browsers, and WebGL is dependent on the browser and graphics board:
- only Chrome and Firefox support WebGL by default (58% marketshare)
- Safari turns it off by default (7%)
- Opera intends to support it in some future release (2%)
- Microsoft says Internet Explorer will never support it (32%)
So, only 2/3 of today's browsers can handle browserCAD. The following Web page summarizes desktop and portable browser support for WebGL: http://caniuse.com/webgl
Many recent graphics boards support WebGL, but not all do. In addition, I found that nVidia's driver for my computer's Quadra 2000 graphics board crashes every couple of weeks; while Windows 7 continues to operate normally after some black flashing screens, WebGL is disabled until I reboot the computer.
Due to differences in how HMTL5 and WebGL are implemented, browserCAD must be tweaked for each browser and sometimes even for specific operating systems. I see the effect every week as this HTML newsletter is rendered differently by email readers.
Technology goes through trends, just like fashion; two years ago, the fashionable technology was Flash, primarily because it was already installed on most computers; its primary problem was that it did not handle 3D.
What this means is that the current dahlings might not be around in two years.
*) TIP: To turn on WebGL in Firefox Android, enter "about:config", and then set "webgl.force-enabled" to "true".
paul.schuepbach of morecam.ch
Back in February I interviewed Paul Schüpbach of Switzerland about his software for viewing very large CAD models in Web browsers and mobile devices. See figure 1. At the time, his software ran on iPhones and in Web browsers. Last week, I interviewed him again to see what had happened in three months. (He heads up CAD Software Solutions of Switzerland at http://www.morecam.ch, http://www.sparepartsplace.com, and http://www.thinkcad.de.)
Figure 1: SPP (spare parts place) software displaying parts in assemblies
upFront.eZine: It's been three months since the last interview. What has happened in this time?
Mr Schuepbach: Well, lots happened in the weeks since then. First of all, we received had lots of reaction from companies all over. They had lots of ideas and questions, and a lot of them asked for a iPad app. This is now available in the App Store. (See http://www.sparepartsplace.com/mobile_devices.html. Note that the LT-version is the free demo version.)
We released a version for Android devices at https://play.google.com/store/apps/details?id=de.harrypaintner.sppv. We also added some new functions, made the UI more logical and intuitive.
upFront.eZine: You write custom versions of the viewer for clients, with some sample modules to test out. Is this working out for you, or do you plan a different direction ?
Mr Schuepbach: Yes and no. Demands from the customer side differ. Some appreciate our business model of being a 'full service', while others prefer to run a catalog on their own Web infrastructure, including the ability of generate content from CAD data in-house. Lots of companies have ask us to create sample catalogs made from their own data for testing and to show it to their customers. And others see different business areas for our technology.
upFront.eZine: And what you have learned from all this?
Mr Schuepbach: The first interview with upFront.eZine resulted in many reactions, and it came almost too early for us. But it showed us a very important thing: to be more flexible we must separate the application and the content (the 3D models).
In the past, we would compile each catalog for every OS, which was a lot of work and very inflexible. So we created our own binary file format for the content (created directly out of CAD), and we changed the app to be "empty"; now they read, understand, and interpreted the content. In other words, we have the different catalog app builds for the Web version, for Windows, for iOS, for iPad, and for Android. The content is now created only once using our new file format; all the different apps work with the same 3D models.
upFront.eZine: What about competition, like eDrawings for SolidWorks and Globius from Geometric Software?
Mr Schuepbach: Basically I believe that we're the only with the technology to visualize very large assemblies in very short time, on all common browsers and operating systems. Further, with the development of our own file format we have prepared the next important step: independence of one specific rendering engine. Right now we are performing tests with HTML5 for direct browser integration.
upFront.eZine: I think that your viewer currently works with models from Inventor only. Do you have plans to support other products?
Mr Schuepbach: Yes, this is correct. I'm a Inventor developer and all content comes from Inventor. We have potential customers with other CAD infrastructure and we are in contact with developers. At the moment we're checking the possibilities. Customers have giving us a lot of input. Some CAD vendors have realized that this technology can be a key feature for large assembly modeling -- and not just for cloud computing.
upFront.eZine: I am more interested in the reaction from CAD vendors than from customers. Tell me about it.
Mr Schuepbach: It has been very interesting. We are in contact with some, and not only from typical CAD vendors. Please understand that I cannot go into details, so I can say just this much: some contacts are set up and we are in the process of discussing the different ways to use our technology for CAD and web applications.
We believe that in the very near future Web and mobile-based applications will rule the market. Therefore, file size matters. Just look back at how the [10x compressed] MP3 format changed the music business, and opened a huge new marketplace on the Web.
I'd never heard of Vela Systems, but Autodesk assures us that it is "Positioned to Transform Construction Industry Through Vela Systems Acquisition." The Web-based software is meant for tracking construction progress in the field or on iPads or by sending emails from non-iOS devices. That last bit sounds a bit hokey, and so I expect to see an Android version tout de suite! http://www.velasystems.com
Of the two Chinese IntelliCAD-based CAD vendors, ZWSOFT pivoted to specialize in MCAD through its acquisition of VX. I wondered what Gstarsoft might do; now we know: AEC. GstarCAD2012 Architecture will be released in a few months with simultaneous 2D/3D parametric mode, collision detection, and generation of plans, section, and elevations. I wonder if they've acquired the technology, or are doing it all in-house. http://www.gstarcad.com
Start-up #4 for Mike Payne is Kenesto, which last week came out of stealth mode, and which Randall Newton is calling "the unPLM" in his GraphicSpeak e-newsletter. Manufaucturing firms would use cloud-based Kenesto to "create a business process workflow operation." I find Mr Newton's explanation clear, so read up on it at http://gfxspeak.com/2012/06/07/start-up-kenesto-releases-cloud-based-manufacturing-process-automation-with-3d-cad-viewing-feature/
At first it was only a rumor tweeted by Daniel Herzberg (@MegaHertz604), but now it is confirmed by Linked In: "According to my sources, [Jeff Ray] @jeffray is leaving Dassault to become the CEO of @Ventyx software co. owned by Zurich-based @ABBgroupnews."
Zuken renames its conference from Z-DAC to Zuken Innovation World. It takes place mid-October in California. http://www.zuken.com/en/campaigns/zuken-innovation-world-2012
It sounds pretty interesting but I can't take time off to attend: LMS Americas is holding their Vehicle Conference June 19-20 in Detroit. http://www.lmsintl.com/us-vehicle-conference
Some readers wondered if it would be possible to read my WorldCAD Access blog by email. Now they can. Here's how:
1. Go to http://worldcadaccess.typepad.com
2. On the right, right below comments, is the new sign-up form. Enter your email address.
3. Then you (unfortunately) go through two more steps: (a) enter the word written in funny font, and then (b) click the confirmation link you get in your email from FeedBurner Email Service.
After this, FeedBurner will send you one email message each day that WorldCAD Access posts new content.
Letters to the Editor
"This short mail just to let you know you had a misprint in your lines about Deelip and his Cube: the site is Cubify.com, not Cube.com."
- Alain Cordier
France
Re: TeamPlatform
"You provided a lot of coverage and details into TeamPlatform, but I'd like to send a few corrections for your consideration if your readers plan on examining the post in detail.
"TeamPlatform's deep zoom of images formats does not include vector image formats, although it does provide previews of vector image formats. TeamPlatform doesn't provide comments into Facebook; we provide a Facebook-like comments (an analogy for communication and discussion layer across teams and workspaces)."
- Scott Anderson
http://www.teamplatform.com
Notable Quotable
"Getting a tech company going is so cheap now that failure is an annoyance, not a disaster."
- George Anders, "Thrifty Does It," Forbes magazine, 21 May 2012
* 11221
Comments