Matt Stein’s Blog and Microsoft’s Mojave Marketing

Thanks to Shaan Hurley for revealing to the wider world the existence of Ribbon Man Matt Stein’s blog. I’m not sure it’s appropriate for a blogging n00b like myself to welcome somebody with a blog four years older than his own, but I’m going to do it anyway. Welcome, Matt (no pun intended).

Some of Matt’s blog posts (particularly the early ones) make for, er, interesting reading, so don’t click if you’re easily offended. Please bear in mind that this is a personal blog, not an Autodesk one.

Matt and I generally get on fine, but we have had some frank exchanges of view and often agree to disagree. One subject where we are unlikely to share the same views is the Microsoft Vista marketing exercise The Mojave Experiment. This is something I planned to post about some weeks ago but then something more important came up and I didn’t bother. Here’s what Matt thinks, and here’s what I think:

While this is a cute marketing ploy and might convince the terminally naive, it pretty obviously qualifies as propaganda rather than any kind of meaningful study. Here’s how it’s done:

Find a selection of people with no experience of a product but with ignorance-based negative feelings about it. Make sure the hardware and software you’re going to show them all works well. Fix up the settings for minimal annoyance. Present an expensively prepared, well-choreographed demo that presents all the best features and none of the worst. Result: oh wow, what a surprise, it’s better than they thought.

A marketing company could reproduce the same results with practically anything if they set it up right. I bet I could do it with Linux, OS X, Windows Me, whatever. Give me Microsoft’s resources and open slather to present things as fairly or unfairly as I like and I will hand you whatever results you request.

For the record, I don’t hate Vista. I have Vista and XP available, dual boot, on hardware that can easily cope with the demands. In my tests on that hardware, Vista runs AutoCAD significantly faster than XP. Vista has been reliable and it looks nice, but I use XP about 95% of the time. Why? A few minor annoyances, but mostly it’s because Vista doesn’t support my mouse fully. Is that Microsoft’s fault or Logitech’s? Who cares? It’s something I have to put up with when I use Vista, therefore I generally avoid using Vista. As Matt rightly points out, Vista has a lot of minor “nice to have” touches, but all of them added together don’t make it worth putting up with a partially functional mouse. Neither do they make it worth buying a new mouse.

Back to the marketing campaign, it reminds me of a productivity “study” paid for by Autodesk an age ago to show how much more productive Release 13 was than Release 12. It was released, accompanied by a poorly worded and deceptive press release (unintentionally deceptive, supposedly), to hoots of derision from a cynical AutoCAD user community. It convinced almost nobody and angered many, and was, all in all, a spectacularly bad idea.

Autodesk marketing people, if by any chance you’re thinking of repeating that old mistake, or even “doing a Mojave” with AutoCAD 2009, please don’t. Just don’t.

What is loaded at AutoCAD startup, and when?

Warning, CAD nerd stuff ahead. This is a long and technical post and if you’re using AutoCAD in a largely out-of-the-box state you probably won’t care about any of it.

If your modification of AutoCAD extends beyond the trivial, you may find it useful to know what AutoCAD loads, and in what order things are loaded. It is possible for LISP files in particular to tread on each other’s toes, so knowing what gets loaded when can be useful information for diagnosing such clashes. This post aims to provide that information. It uses AutoCAD 2009 as an example, but the same principles apply to all releases from AutoCAD 2006 onwards.

On startup, the first things AutoCAD loads are its CUI files. It first loads the Enterprise CUI file, then the Main CUI file, then any partial CUI files attached to the Main, then any partial CUI files attached to the Enterprise. I have no idea of the reasoning behind this slightly strange order, but there it is. The order of the partial CUIs loaded in each case is determined by the order in which they appear in the parent CUI files, which is determined by the order in which you attached them. If you don’t like this order, you can attach and reattach them in the CUI interface, or you can do the same thing much quicker with a text editor if you feel confident enough. If there are LISP files associated with these CUI files, they are not loaded yet. You’ll need to wait a few paragraphs for that.

Next, if you have created a file called acad.rx in AutoCAD’s search path, any ARX files listed in that file will be loaded. There are other ways in which developers can load their ARX files at startup, but I won’t go into that here.

Following that, the acad*.lsp files are loaded. First, Autodesk’s acad2009.lsp file is loaded. Next, if you have created a file called acad.lsp, that is loaded. These two files are only loaded at first startup, unless the ACADLSPASDOC system variable is set to 1, in which case the acad.lsp file is reloaded with each new drawing. Next comes Autodesk’s acad2009doc.lsp and any acaddoc.lsp file you may have created, in that order. These two files are loaded at startup and with every new drawing session.

It’s worth pointing out here that the acad200x.lsp and acaddoc200x.lsp files are Autodesk’s and are not intended to be modified by users. You can modify them, and adding things in there works fine, but updates and hotfixes can overwrite these files, leaving you to patch things up again afterwards. The acad.lsp and acaddoc.lsp files are yours, and that is where you are best advised to put your additions.

I hesitate to mention VBA because I have long avoided that development environment and my knowledge in that area is very limited, but if you’re a VBA developer and have created an acad.dvb file in AutoCAD’s search path, it gets loaded at this point.

Once the acad*.* files are loaded, then come any LISP files associated with the CUI files that were loaded at the beginning. For each CUI file, if there is a *.mnl file of the same name, that will be loaded first (*.mnl files are just *.lsp files renamed). After that, any LISP files that are specified in the CUI file will be loaded, in the order in which they appear in the CUI file itself. This order can be modified in the same ways that the partial CUI loading sequence can be modified; “delete” and “load” (detach and attach, really) the files within the CUI interface, or hack the CUI file with a text editor.

The CUI-associated LISP files are loaded as described in the above paragraph for each CUI file in turn, in the same order as the CUI files themselves: Enterprise, then Main, then partials to Main, then partials to Enterprise.

The Appload command provides a Startup Suite facility, where you can specify any number of files to load (*.arx, *.lsp, *.dvb, *.dbx, *.vlx or *.fas). If you have done so, those files are loaded at this point, in the order in which they appear in the Startup Suite list.

That’s all the actual loading done, but we’re not finished yet. At this point AutoCAD’s environment should be all ready to do pretty much anything, including things that modify the drawing database, including invoking commands. This was not true earlier on, so if you want to do things like change the drawing or run commands, this should be done using a startup routine rather than called directly at load time from any of the files loaded above.

If you’ve defined a VBA sub called AcadStartup(), it will be called now. If starting a new drawing, any sub called AcadDocument_Activate() will be called instead. The caveat about my VBA ignorance still applies here.

If a LISP function called (S::STARTUP) has been defined, it will be called next. Where could that be defined? Anywhere in any of the LISP files mentioned above, or in any LISP or other files that are loaded by any of those files, or by any files that are loaded by any of those files, and so on ad infinitum. It could even be defined in one of the ARX files loaded at any point. This would be unusual, but is quite possible.

If there are multiple (S::STARTUP) functions defined in various places, which one wins? Whichever one loaded last. That’s why the load order can be important, but it’s also why you should never have an unconditional (defun S::STARTUP …) definition in your LISP code. Instead, you should append your startup code to any existing (S::STARTUP) function. That way, your startup can cooperate with any others in your environment rather than walking all over it. If there is some interest in that subject, I can cover it in more detail in a future post.

In summary, here is the AutoCAD startup sequence:

A. CUI files loaded:
1. Enterprise
2. Main
3. Partials to Main
4. Partials to Enterprise

B. acad*.* files loaded:
1. Files listed in acad.rx
2. acad2009.lsp
3. acad.lsp
4. acad2009doc.lsp
5. acaddoc.lsp
6. acad.dvb

C. CUI-associated MNL and LSP files loaded:
1. Enterprise named MNL
2. Enterprise loaded LSP and MNL
3. Main named MNL
4. Main loaded LSP and MNL
5. Partials to Main named MNLs
6. Partials to Main loaded LSPs and MNLs
7. Partials to Enterprise named MNLs
8. Partials to Enterprise loaded LSPs and MNLs

D. Startup suite files loaded

E. Startup routines run:
1. AcadStartup() called (AutoCAD startup)
2. AcadDocument_Activate() called (Drawing startup)
3. (S::STARTUP) called

Has AutoCAD 2009 eaten your registry lately?

I’ve had a one-off report from a user of AutoCAD 2009 (actually, it was MDT as part of the Inventor suite pretending to be AutoCAD 2009, which isn’t exactly the same thing) and I’d like to know if anyone else has seen the same thing. His AutoCAD self-destructed and a little investigation showed that the section of the Registry that contains all the settings for that particular release had vanished without trace. This happened again later, but this time he had a backup of the Registry section handy and was able to avoid a second reinstall.  No Registry cleaners were involved.

Have any of you seen this kind of thing happen?

Faster, Stronger, Higher, Bluer, Blooper

I always find it amusing when extensively rehearsed and expensive presentations go wrong, except of course when they are my own. Anyway, presentations don’t get any more extensively rehearsed or expensive than the opening ceremony of the Olympics. So when a technical glitch occurs like Cathy Freeman having to stand around waiting for recalcitrant machinery to start moving, this amuses my sad little mind. It’s funnier for me when the glitch has a computing feel to it, as described in this story of the Olympic BSoD. When XP does this to you, perhaps you could try Li Ning on the Ctrl, Alt and Del keys.

Look out for Update 1 for AutoCAD 2009-based verticals

If you have Communications Center disabled (this is quite common, it seems) or you’re not currently using your 2009-based vertical product, you may be unaware that Autodesk has released versions of Update 1 (formerly known as SP1) for the architectural and civil variants of AutoCAD 2009. Expect the other verticals to follow soon. A visit to the Autodesk site and search for “Update 1” currently returns 18 results. As usual, read the Readme first and exercise caution (or even paranoia) before installing.

Two “new” Autodesk products

Autodesk has announced two “new” products, Stitcher Unlimited 2009 and ImageModeler 2009. Stitcher Unlimited (US$350, Windows and Mac) is for patching photographs to generate panoramic images that can be used in rendering and other virtual-world applications. ImageModeler ($US995, Windows only) generates 3D models from 2D images. Both products are carry-overs from Autodesk’s purchase of REALVIZ.

Neither product is released yet; both are scheduled for October. Autodesk claims a wide range of enhancements for the 2009 releases, but if you’re desperate there’s nothing to stop you ordering the current releases on-line from the REALVIZ site right now. I have seen neither product in the flesh. These are first-release Autodesk products, so the usual caveats apply. The products may or may not be stable, may or may not play nicely with other Autodesk products and they may or may not even have a future beyond a release or two. However, they were established products before Autodesk bought them, Autodesk obviously thinks they were worth investing in, and they do look interesting.

How long should the AutoCAD release cycle be?

I’ve just added a poll asking this question. Actually, the poll question is rather longer than that, because I want to make it as unambiguous as possible. Other polls I’ve seen on this subject, including ones by Autodesk and Cadalyst, have always left room for speculation about what a given answer would actually mean. Sometimes, the question has been so ambiguous that the results have been completely meaningless. I’ve tried hard to avoid that, and if that means the question is rather long, so be it.

In my poll, you’re being asked to consider a scenario where over a long period of time (10 years, say) the total charge from Autodesk for upgrades or Subscription would be the same, no matter what the release cycle. You would also get the same number of major new features, minor new features and other improvements. Your ability to choose to pay either upgrade fees or annual Subscription payments would also be unaffected. If you feel that you would like to answer “however long it takes to get each release finished” rather than a fixed time between releases, please choose a release cycle period that you think would be a reasonable average. The AutoCAD release cycle would also affect the AutoCAD-based verticals, so please take that into consideration.

I will refrain from giving my own opinions on this subject until the poll is closed, but feel free to make your own comments about the pros and cons of different lengths of release cycle.

What you like best about AutoCAD 2009

I’ve closed the poll asking you to choose the top three things you like about AutoCAD 2009. For some reason it wasn’t getting many votes. Only 37 people participated, rather less than many other polls here, and I’ve now put it out of its misery. The small sample size makes the results of dubious value, but here are AutoCAD 2009’s “best things”, as voted by at least five of you.

  • Spell checking in text editor (30%, 11 Votes)
  • ViewCube (22%, 8 Votes)
  • Action Recorder (19%, 7 Votes)
  • Modeless layer interface (19%, 7 Votes)
  • Improvements available only in vertical products (16%, 6 Votes)
  • Rollover tooltips for objects (14%, 5 Votes)
  • LISP bug fixes (14%, 5 Votes)

It came as no surprise to see that there was no love at all for the enlarged tooltips or pale model space, but I would have thought that ShowMotion would have been a useful addition for somebody.

CAD history book

In case you missed it on WorldCAD Access, Dave Weisberg has released a history of CAD as a free book on-line. It is called The Engineering Design Revolution and subtitled The People, Companies and Computer Systems That Changed Forever the Practice of Engineering.

I don’t like regurgitating things from other blogs, but this is an exception for two reasons. First, I find it very interesting. Second, it’s in a good cause and deserves all the publicity it can get. Access to the book in PDF form is free, but Dave is asking for voluntary contributions to the Cancer League of Colorado Foundation.

I’ve skimmed through the Autodesk and AutoCAD chapter of the book, and while I was already familiar with much of the content that particular section and could pedantically quibble with its accuracy in a few places, I still found it highly informative and interesting.

You can find the book at

How much do you exchange data with non-Windows users?

A discussion I’ve been having elsewhere has prompted me to add two new polls (see right). I know that most of you, being AutoCAD users, are also Windows users. I’m interested to know how often you exchange data (e.g. DWG, DXF, DWF, PDF, etc) with users of other operating systems, specifically Linux and Mac users. If you don’t exchange data with anyone then please leave the polls alone, but if you do exchange data but never with non-Windows users, please join in and say so!

When is a Service Pack not a Service Pack?

When it’s an Update. This year, Service Packs are called Updates, and the first one for AutoCAD is out now. The 32-bit version is here and the 64-bit version is here. The Update includes LT, but there is no news yet about Updates for any of the vertical AutoCAD variants.

As usual, read the Readme first. Also, as this Update has had a considerably shorter gestation period than the traditional six-month wait for the first AutoCAD Service Pack, you may be wise to exercise more paranoia than normal. Save and export your AutoCAD profiles, save your workspaces, make backups of your CUI files and put them somewhere safe where AutoCAD and the Update can’t find them.

Does the shortened time before the first Update indicate that there will be more Updates in store? Probably. Although Update 1 (U1) fixes a lot of stuff, there’s still plenty more stuff left to fix in 2009. Oh, and just because it says in the Readme that something is fixed, don’t take it for granted that your particular variant of that problem is fixed. Try it out for yourself.

I know that many of you don’t put an AutoCAD release into production until SP1 is released, so should you go now with U1 or wait for U2? (No, not the band). Or U3, even, if there ever is one? It’s up to you, of course, but in my own CAD management role I won’t be distributing AutoCAD 2009 with U1 to my users. I just don’t think it’s ready yet.

Autodesk and Bentley – kiss, kiss!

OK, so I’m a long way from being the first to comment on this, but maybe I’ll be the last? Don’t count on it. In the unlikely event that this is the only CAD blog you ever read, you may be unaware that Autodesk and Bentley have decided to swap code so their respective products can make a better job of writing each other’s drawing formats.

The MicroStation DWG interface has traditionally been imperfect. (I remember raising the ire of one of the Bentley brothers in person many years ago on the CompuServe ACAD forum when I described Bentley’s DWG/DXF interface developers as incompetent (accurately, I may add). The brother in question was one of the said developers…) The AutoCAD DGN interface (which was available in Map for many years before making it into AutoCAD) has been rather less perfect than that, so this move should lead to benefits for customers of both products in future releases. Whether or not it actually will improve matters remains to be seen. That relies on the future competence of both parties in using ‘foreign’ code. The first versions could be, er, interesting. Or maybe they’ll be great.

Assuming the best, who should we thank for this development? Autodesk? Bentley? Maybe not. I think we should thank the Open Design Alliance (ODA). If Autodesk hadn’t been so keen to do damage to the ODA in its belated but increasingly urgent battle to win complete control over DWG, do you think this would have ever happened? I don’t think so. It hadn’t happened in the preceding couple of decades.

Thank you, ODA, for making this happen. May you live long and prosper, and continue to apply pressure to improve interoperability for all. But in the interests of fairness, don’t you think you should at least mention this development in your newsroom?

Video – Deciphered lyrics

Here’s another video I have done to the music of Swedish metal band Opeth (the first one is here). This band’s latest album, Watershed, does not come with conventional lyrics in the booklet, but rather a page full of rune-type characters. There are actually two different pages in different editions of the album, and in order to work out the lyrics you need to rotate the pages, work out a substitution cipher and combine the two sources.

To save you the trouble of doing all that, here are the lyrics of Heir Apparent. This is the only song on the album that contains only angry Cookie Monster vocals (beware!), so without my expert deciphering efforts (ahem!) it would be rather difficult for the uninitiated to know what the song was all about. If you can put up with the vocals, I think you’ll enjoy this!

YouTube link.

You don’t think much of AutoCAD 2009’s buttons

I’ve closed the poll about the button images. It’s a general thumbs-down from you on that particular change, albeit not a spectacularly vehement one.

I agree with most of you. The images themselves don’t offend me greatly, but their role in making things harder to find means that Autodesk erected another unnecessary barrier to Ribbon acceptance. The images themselves have crisper edges, but are sadly devoid of colour, making them harder to tell apart. One exception is with the object snap buttons, which I consider an improvement over their predecessors.

More important than that is the fact that there were many, many things Autodesk could (and should) have done instead of putting development resources into this area. I know from personal experience that creating button images can be a very time-consuming job. I have some sympathy for the poor Autodesk people who put the effort into producing these images, only to have customers wishing they had never bothered. Nobody likes wasting their time.

This sort of thing (there are many other examples), makes it obvious that Autodesk needs to obtain customer feedback on design decisions much earlier in the development cycle, while there is still time to throw out the dumb ideas. Doing so would offer Autodesk a lot of potential for more efficiently targeting its resources, to the benefit of both Autodesk and its customers.

What’s the best thing about AutoCAD 2009?

It’s starting to look a bit negative around here, and it is only going to get more negative when I start describing the details of my still-unresolved Autodesk customer service debacle. So here’s something to provide a bit of balance.

What do you like best about AutoCAD 2009? What is better, faster, easier, more cool or just plain fixed when compared with the release you were using previously? I have a few ideas of my own, and will run a poll when I get a few suggestions from you.

Autodesk’s 12-month release cycle – Is it harmful?

I’ve opened a poll asking for your opinion about whether the 12-month release cycle of AutoCAD and its variants is harmful to the quality of the software that Autodesk is providing. I won’t express my own opinion on this subject here yet, but will do so later, once the poll is closed. In the meantime, I’d love to hear your opinions on the subject.

AutoCAD 2009 – Top reasons to be Ribbonless

I’ve closed the poll for those of you who are using 2009 with the Ribbon turned off to show us the reasons why. The top 10 choices were:

  1. Tab concept means extra clicks (65%)
  2. Uses up too much screen space (64%)
  3. No advantage over existing methods (64%)
  4. Dislike concept of hiding tools – want buttons to stay visible (60%)
  5. Too hard to find things (51%)
  6. Using it minimised requires an extra click/hover (47%)
  7. Doesn’t make good use of my screen size/shape (45%)
  8. Tab switching is too slow (45%)
  9. Customising it is too difficult (44%)
  10. Ribbon content doesn’t match my needs (44%)

I was hoping that the poll would help Autodesk in deciding how best to improve the Ribbon in future releases, but it’s pretty hard to do much about the top 7 choices here. Except number 2, perhaps; the Ribbon could be considerably tightened to remove waste space, in the same way as the excellent AutoCAD 2009 floating toolbars.

The new poll is slightly related to item 5 above. Autodesk combined the Ribbon with a change to the button images. Personally, I don’t think this was a good idea. If you move people’s stuff around, changing the appearance of that stuff is only going to make it harder to find things and reduce people’s acceptance of the changed interface. Enough of my opinion, what do you think?