Outside The Box

Random thoughts about AutoCAD, ObjectARX, and the meaning of life.
All Original Content Copyright 2006 - 2008 Owen Wengerd, All Rights Reserved

2008-04-30
Hotel Autodesk
Steve Johnson asks "where have all the developers gone?", and Deelip Menezes wonders in a comment whether Autodesk's annual release cycle for AutoCAD is part of the problem. I've always said that an annual release cycle is untenable. The annual release cycle is motivated by Autodesk's desire to make the subscription program look attractive. Has it worked?

Based on what I've read and heard through the grapevine, it has definitely worked. More customers than ever are choosing the subscription model. In many cases, the annual subscription business model actually works well for software like AutoCAD, providing benefits for both Autodesk and their customers. But subscription is not for everyone.

In typical greedy big corporate fashion, Autodesk have overplayed their hand. Instead of concentrating on those customers for whom subscription makes sense and leaving the others to choose a different model, the "more is always better" marketing machine kicked in. Ergo, the annual release cycle carrot and the AutoCAD retirement program stick were invented. [Oh sorry, it's called the Autodesk Loyalty Program.]

I am already seeing the beginnings of a movement of discontent among Autodesk customers, and I expect the annual release cycle to collapse under its own weight within another year or two. In the meantime, tremendous damage is being done. Customers, third party developers, authors, and consultants all suffer under the strain of the annual release cycle, but that's only the tip of the iceberg.

To pull off annual releases, Autodesk have to be working on multiple versions of AutoCAD in parallel. While AutoCAD 2006 was being beta tested, AutoCAD 2007 and 2008 were already under development, and AutoCAD 2009 was already in the planning stages. When CUI was first introduced to the public, the new ribbon UI was likely already in the planning stages. Is it any wonder that the angry feedback about CUI was ignored?

When you have an annual release cycle with 3 or 4 future releases on parallel tracks, you can't just stop and fix a fundamental design flaw. All you can do is increase your public relations budget. The harm done to third party developers is substantial, but the inability to shift gears and correct fundamental design flaws is the real travesty of the annual release cycle.

Labels: ,

2008-04-16
ManuSoft Software Updated for AutoCAD 2009
QuikPik and Periscope are now available for AutoCAD 2009, and SuperPurge will be available later this week. QuikPik users, note that the quick buttons feature does not work with buttons on the new ribbon UI.

Labels: , , , ,

2007-12-10
Digital Signatures: Practical Guidelines
We use digital signatures every time we visit a secure web site. Visiting a secure web site involves an authentication process that includes verifying the identity of the server by ensuring that its digital certificate, or "server certificate", is signed by a trusted certificate authority. This verification process might involve verifying an entire chain of certificates from the actual server certificate up through one or more intermediate certificate authorities and ending with a trusted root certificate authority. This all takes place quickly and automatically before the web page is displayed in your web browser because the web browser includes built in logic to do this work without any user interaction. More importantly, the web browser warns us when the server certificate is expired or invalid.

The biggest obstacle when using digital certificates in a CAD environment today is not creating them, but easily and automatically verifying them at the receiving end. Even in a completely digital distribution system where everybody works from the CAD model, the various software tools we use to view and work with the model do not handle digital signature verification automatically in a standardized way. As long as downstream consumers of CAD data cannot easily and automatically ensure the trustworthiness of digital data, they will continue to rely on handwritten signatures on paper.

A second obstacle to the use of digital signatures is the difficulty in accepting that digitally signed data is only trustworthy while it remains in digital format, and therefore the digital file is the "record" document. There is substantial social inertia that must be overcome before a digital document can gain the same amount of trust as a paper document. Engineers and architects must deal with the specter of previously hidden meta data in their CAD models becoming part of their signed document, thereby exposing them to new liabilities that don't exist with paper drawings. Construction supervisors must learn to refer to the CAD model instead of relying on hardcopy blueprints when resolving disputes or establishing responsibility for errors. Here I think it should be noted that the use of a digitally signed model does not preclude the creation of hardcopy blueprints. Those can be created and "wet stamped" separately at the same time the CAD model is signed digitally; or they can be created in the field for reference without any signature at all.

AutoCAD has supported digital signatures for several years, but using the built in functionality is limited to only individual DWG files, lacks support for co-signing (more than one person signing), and forces the signed document to remain in the proprietary DWG format or lose its signature. These problems can be worked around by using third party tools, but doing so requires recipients to use the same tools.

Over the past few years, many government plan review bodies have amended laws and administrative rules to accommodate digital signatures as part of the plan review process. Without standardization, however, organizations still struggle to effect the necessary changes in their workflow. A lack of uniformity in terminology from one set of regulations to another adds to the confusion. If you are involved in amending or creating rules or regulations that enable the use of digital signatures, you should use generic and well defined terms of art in the regulations, but supplement these with practical guidelines that mention specific technologies, software tools, and file formats that will meet the legal requirements and that you are capable of working with.

If you are an architect, engineer, or CAD manager working to implement digital signatures into your firm's workflow, there are some concrete steps you can take to make the task easier. Start by segregating your distribution network into "digital-only" and "hardcopy" classes of downstream users. Begin the transition with the digital-only part of the network (perhaps only the plan reviewing authority, for example). Next, decide which file format to use for your digital "documents". Rather than signing CAD files, many companies start by signing 2D output files such as PDF, DWFx, or XPS. These files are essentially digital versions of the hardcopy documents, so they are more familiar to a wider audience and avoid some of the liability issues of exposing formerly hidden metadata that lives within the CAD model files.

You'll need to obtain a digital ID and establish internal policies for storing and accessing the digital ID so that only the owner of the digital ID ever has access to the private key. Windows includes a built in certificate manager that you can use to view and manage your digital IDs. To start the certificate manager, run the certmgr.msc management console by entering its name in the Start -> Run command window. Your digital certificate will be installed in your personal certificates folder along with a link to the private key stored in the Windows secure key repository. Make a backup of the digital ID by exporting it to a password protected PFX file. Once a backup is made, the private key should be marked as not exportable to further secure it.

If you want to create digitally signed AutoCAD DWG files, you can use the digital signature feature of AutoCAD to sign a drawing file either while saving it or after it is saved. You should also consider subscribing to a commercial time service (see What time is it?) to ensure that your signatures are accompanied by a reliable time stamp in case your digital ID becomes compromised at some point in the future. Third party tools like CADVault for AutoCAD even make it possible for different people to sign different parts of the CAD model, but such advanced functionality is not needed in most cases.

If you use different CAD software that does not support digital signatures natively, or if you choose to sign only the secondary files produced by exporting your CAD model to a different format, then you will need to use either tools specific to that format or third party tools that work with files of any format. Adobe Acrobat (PDF) and Microsoft's free XPS Viewer both provide integrated digital signature tools that use the same digital IDs that you would use in AutoCAD, Internet Explorer, or Outlook/Windows Mail, and both applications are easy for recipients to obtain and use.

Another popular tool for managing digital IDs and signing files is an open source tool called GnuPG. GnuPG utilizes encryption and key storage standards called OpenPGP. OpenPGP is not compatible with the X.509 standard used by Windows and many other encryption tools, however it is an attractive alternative when cost or closed source tools are a prohibitive barrier. There are many other digital signature resources available on the internet for those wanting more information, or needing specialized tools.

Unfortunately, no matter what software tools or file formats you use, today's CAD software and document viewers still do not provide the user experience that web browsers do when it comes to digital signatures. These problems can be overcome by end users, but ultimately they need to be addressed by the makers of the software tools we use. Software for handling digital data will need better user interfaces that allow users to easily specify which digital signatures should be trusted for which purposes, and provide requisite warnings when a document should not be trusted. I am confident that these improvements will come in the future, especially as more companies begin to use digital signatures in their workflow and demand for better digital signature support rises.

If you already use digital signatures with your CAD related documents, I would like to hear about it. Please leave a comment about your experiences, whether good or bad!

Labels: , , , , , ,

2007-09-06
AutoCAD 2008 Slow Startup Fix
I've noticed more frequent posts in the Autodesk discussion groups about slow startup problems since AutoCAD 2008 was released, and I have the same problem on my development system. Part of the problem is .NET loading, due to the new .NET gadgets like the dashboard palette. Another long running startup hassle is the communication center (WSCommCntr1.exe if you check running processes in task manager) that Autodesk products use to call home.

In addition to the time the communication center process takes to start up, it can also get "stuck" (either due to network or connection problems, or because of AutoCAD crashing) and cause interminable startup delays. If AutoCAD is trying to start while the communication center is "stuck", it will wait in a completely frozen state for about 2 minutes before it times out and loading continues.

In addition, AutoCAD 2008 service pack 1 introduced a new "pure virtual function call" C runtime error that shows up when the communication center closes after an AutoCAD crash.

All these problems can be easily fixed by disabling the AutoCAD InfoCenter, which is the culprit that loads the communication center background process. I disabled it by changing the demand load registry key for the InfoCenter. That key can be found in the registry at:
HKLM\Software\Autodesk\R17.1\[ACAD-XXXX:XXX]\Applications\InfoCenterAcConn

Change the LOADCTRLS value to 0 (zero) to disable it from demand loading.

If you disable your InfoCenter from demand loading, you can still load it manually by using the NETLOAD command to load AcInfoCenterConn.dll from the AutoCAD 2008 folder.

Labels: ,

2007-08-01
OpenDCL 4.0 Debuts
OpenDCL 4.0 has finally been released. If you're not familiar with OpenDCL, check it out at www.opendcl.com, or on SourceForge at sourceforge.net/projects/opendcl.

OpenDCL, based on the original commercial ObjectDCL software by Chad Wanless, is a modern replacement for the old DCL dialog control language in AutoCAD. The current OpenDCL Runtime supports AutoCAD 2002 through 2008 (except AutoCAD 2008 x64). It is designed to give AutoCAD end users and AutoLISP application developers a simple yet powerful way to design and use rich user interfaces in their applications.

The goal for version 4.0 was to get it stable and fix all the bugs, with minimal new feature development. OpenDCL 4.1 will add support for AutoCAD 2008 x64. After that we will start working on localized language versions, and adding new features.

OpenDCL is licensed under the GNU General Public License (GNU GPL) open source license, completely free to use, and source code is available on SourceForge.

Labels: , , , ,

2007-06-21
What time is it?
AutoCAD 2004 introduced the ability to digitally sign drawing files when they are saved, but very few people use this feature. Even fewer use the time stamp feature that goes along with it. Time stamping a digital signature is important when it's not only important to know *who* signed it, but also *when* they signed it.

For time stamping to be reliable and trustworthy, you need an independent (and trustworthy) third party to provide the time stamp, along with a verifiable receipt so that anyone can verify the authenticity of a claimed time stamp in the event of a future dispute.

Since the inception of the digital signature feature, AutoCAD has included three default time servers for this purpose. Unfortunately, none of the three are accessible any more. If you need to digitally sign drawing files with a time stamp, you'll have to modify this list of time servers.

The list of time servers is maintained in a file named timesrvr.txt in the AutoCAD installation folder. You can edit the file with notepad, and the format is obvious and straightforward when you view the file.

If you just want to play around with time stamps, try adding the following to the end of the file (you do not need to restart AutoCAD to see the new servers):
NIST A [Maryland] (time-a.nist.gov)
NIST B [Maryland] (time-b.nist.gov)

As of this writing, both of these NIST servers are available and working, but you get what you pay for. For officially incorporating time stamped digital signatures into your workflow, I recommend subscribing to a commercial time service with guaranteed uptime and a web based time stamp verification console. I can't recommend one, because I have never used a commercial time service myself, but a good place to start is the list of public time servers maintained by NTP.org at http://support.ntp.org/bin/view/Servers/.

Labels: , ,

2007-01-31
Introducing OpenDCL for AutoCAD
AutoLISP programmers may remember a product named ObjectDCL, by 3rd Day Software. ObjectDCL was released as open source in the summer of 2006 by developer Chad Wanless due to his inability to continue supporting the software because of "health reasons". At the time, many users of ObjectDCL hoped that someone would update the code to work in AutoCAD 2007. Programmer David Robison did some work to get AutoCAD 2007 supported, but the project has beeen languishing, almost to the point of extinction.

After being asked by several ObjectDCL users whether I could help, I decided a few weeks ago to contribute to the community by getting the original C++ code updated to support AutoCAD 2007. As I am wont to do, I've ended up re-architecting much of the code in the process.

The results of my work are available now at the new OpenDCL project on SourceForge. The new 4.0 release is still in the alpha testing phase. If you program in AutoLISP and want to create rich user interfaces for your applications, check it out!

Labels: , , , , ,

2007-01-14
AutoCAD drawing files: possession is 9/10 of the law?
The title sums up the puzzling conclusion in a recent 6th Circuit Court of Appeals ruling (CA6 Grusenmeyer Decision.pdf) in a decision about a copyright infringement claim filed by Cleveland architect Jeffrey Grusenmeyer.

Grusenmeyer had contracted to provide a "master plan" for Magnificat High School. The master plan was provided to Magnificat in hardcopy format, Magnificat paid the architect $15,000 as agreed in the contract, and the project was apparently concluded. Some time later, a Magnificat facility manager requested DWG files for "personal use". Grusenmeyer asserted at the time that he retained all rights to the DWG files but agreed to provide them on the condition they only be used internally and not be further distributed.

Fast forward to the eventual "request for proposal" for an anticipated new building at the school. Upon request, Magnificat provided the Grusenmeyer files to the defendants (a competing architectural firm), who then used portions of the files in their winning proposal. The defendants were aware that Grusenmeyer claimed copyrights to the files, but they used the files anyway. The appeals court notes that "[a]ccording to the individual DSC architects, such reliance on drawings of existing conditions is routine in the industry."

In affirming the district court's summary judgement in favor of the defendants, the appeals court noted that the contract between Grusenmeyer and his client (Magificat High School) provided that Grusenmeyer would "provide a master plan for the implementation of the capital improvements program, including plans, renderings, and perspectives suitable for use in presentation and future reference during master plan implementation." They concluded that this "plain language" gave Magnificat permission to send the AutoCAD DWG files to Grusenmeyer's competitor.

The district court had previously ruled that Grusenmeyer's drawings were not sufficiently original to warrant copyright protection, but the appeals court did not address the copyrightability issue at all, dismissing the infringement claim out of hand with their opinion that Grusenmeyer had already given Magnificat carte blanche copyrights to the files vis a vis the quoted clause in their contract -- even though the files were never provided as part of the contract!

I think the court erred in determining that the DWG files were subject to the terms of the master plan contract (its incorrect interpretation of the contract notwithstanding), but what I find really surprising in the ruling is the appellate court's complete disregard of the plaintiff's claimed and federally registered copyrights.

The moral of the story
If you are providing electronic files, don't rely on copyright law alone to protect your intellectual property. This case reinforces the 3 C's for protecting AutoCAD DWG files: copyright, contract, and CADLock.

Update
William Patry (Senior Copyright Counsel, Google Inc.) writes about this case at The Patry Copyright Blog: Make Sure the Contract is Signed.

Labels: , , ,

2007-01-06
AutoCAD LT Upgrade Windfall
Did you know that Autodesk is offering a promotional upgrade price to AutoCAD LT users until January 19th? Check out http://www.adskhost.net/43404/solution.php. According to that web page, you can upgrade an AutoCAD LT 2004/2005/2006 license to any one of several AutoCAD 2007 based software offerings from AutoCAD 2007 to Inventor Series -- for $1995. If you have an LT license, now might be a good time to upgrade it.

Labels: , ,

2006-12-04
Teaching and learning at AU
This year I taught an ObjectARX class at AU. As usual, there wasn't nearly enough time to cover all the things I wanted to cover. I'm still contemplating what I want to do differently next year in order to be able to spend more time on the subject without boring everybody to death.

By the way, fellow programmers, do you agree that we need a Programming campus at AU 2007? I hate being lumped into a generic category like General Design. I suggest a new campus just for programmers, with our own industry reception (I'm thinking pizza, beer, and a Pink Floyd tribute band -- and Lynn Allen of course).

If any of you went to the Programming Gurus Go Head To Head panel discussion on Thursday afternoon and were wondering why I wasn't present... well, er, next time, could you please call me on my mobile phone a few minutes before the class to jog my aging memory? Sheesh. I always enjoy the quasi-chaotic gurus panel, and I can't believe it completely slipped my mind.

Speaking of chaos, I like chaos -- but more on that subject later. I like unscripted discussions where the topics are limited only by the imaginations of the participants. I usually sit in on a few classes at AU, but with a few rare exceptions, the only time I learn something new at AU is outside the structured classrooms.

This year I did learn something new in a class, though. I sat in on Josh Johnson's Demystifying Installers class, and I learned how to create a new registry key that AutoCAD's secondary install uses to trigger a third party secondary installer (this would occur when a new user logs in for the first time). Thanks, Josh! I did not know that! [An interesting sidenote: Josh taught the class with his father in the audience. How cool is that? Er, not cool at all, especially in Vegas! Seriously, I thought it was cool, and it was a pleasure to meet both of the Johnsons. Good thing I brought... never mind.]

Labels: , ,