Practice What You Preach

I just love it when my friend from down under, Steve Johnson, gets pissed. Because that usually results in posts like “Studying Autodesk’s productivity study” and “More Autodesk deception over LT productivity study“. In recent times Autodesk has been spending money getting “independent” analysts and consultants to say something or the other about their software. Things like SolidWorks sucks when compared to Inventor or that users will actually save money by ditching their old versions of AutoCAD and upgrading to 2011. Edwin Prakoso from Indonesia sent me a tweet this morning saying :

Autodesk does have good products. But don’t like these marketing materials. Read it once, never read it again.

The keyword here is “marketing material”. Once you realize that these “independent” studies are just that – marketing material, you may begin to see the logic in Autodesk doing this.

But me being me, I’d like to play along a little here and offer my two cents on the studies showing 44% productivity increase from AutoCAD 2008 to 2011. As a software developer myself, I must admit that we would like our customers to upgrade to the latest versions of our products. Why? Because we get paid. But also because we constantly update our software with new features, tweak existing functionality, fix bugs, improve performance, etc. Moreover, a lot of these additions are not things that we pull out of our own asses. They are actually things that customers have requested and fixes to bugs that customers have reported. And the whole point of updating our code is for existing customers to use the new stuff by upgrading. So just like marketing a new version of a product you also need to market upgrades, which is precisely what these Autodesk productivity enhancement studies are all about.

I have no doubt that there is an increase in productivity from AutoCAD 2008 to 2011. If there isn’t then it means that Autodesk has not worked on the productivity enhancement requests of its customers for the past three years or that their customers have been stupid enough not to request for meaningful productivity enhancements, both of which are highly unlikely. So basically the gist of all these studies is that latest software is always the best and everyone interested in increasing their productivity and saving money should upgrade.

If that is indeed the case then why did Autodesk develop AutoCAD 2006 using Visual Studio 2002, a compiler that was 3 years old at that time. When AutoCAD 2006 came out in March 2005, Microsoft had already released Visual Studio 2003, which I’m pretty sure had significant productivity enhancements over 2002. Why did Autodesk develop AutoCAD 2009 using Visual Studio 2005? Especially when Microsoft had already released Visual Studio 2008 in 2007 itself. And why is Autodesk developing AutoCAD 2012 using Visual Studio 2008 (I presume) when Microsoft has already released Visual Studio 2010 this April?

From the dates above you may get the idea that Autodesk does not use the latest compiler to develop AutoCAD and yet is asking its customers to stay current. Basically Autodesk is not practicing what they are preaching. But in reality, that may not be the whole story. Yes, they do not always use the latest compiler from Microsoft. One reason for that is they have a self imposed three year cycle for DWG and object code compatibility. Which means that plug-ins developed for one version will need to work with the next two versions as well. So they are free to upgrade their compiler only at the end of a three year cycle. That’s why I believe they are still using Visual Studio 2009 to develop AutoCAD 2012 when there already is a newer compiler currently available from Microsoft. When a new three year cycle starts for AutoCAD 2013, I assume they will be using the latest compiler available from Microsoft at that time.

My point here is that it is not always easy or desirable to keep on upgrading to new versions as and when they come out. Just like Autodesk has its own self imposed restrictions, its customers may have their own restrictions and requirements before upgrading their software. And that is perfectly all right and quite understandable. Even if a software developer pays the Lord Almighty enough money to conduct a study and publish a report that shows a million percent productivity enhancement, a user who knows what he is doing will upgrade only if he (1) feels the need to; and (2) is allowed to by internal and external factors. Period.

As software vendors we may want our customers to upgrade the day we update our products. But then when we ourselves don’t practice what we preach, it can be quite difficult to pontificate from a pulpit. A glowing example of this is SolidWorks, a company that has this absolutely ridiculous policy of not giving paying customers access to bug fixes unless they are on subscription (see “Proud SolidWorks Customers“). If they can stoop down to that level then I guess they must absolutely believe that staying current is the best way forward. So someone please tell me why the hell did they not use Visual Studio 2005 to develop SolidWorks 2006 and 2007. Why am I required to build SolidWorks 2007 MFC add-ins using Visual Studio 6.0, a compiler which was released in the previous century. 1998 to be precise. I am not allowed to talk about SolidWorks 2011 Beta. But SolidWorks add-in developers like myself, know exactly which Visual Studio version SolidWorks programmers are using to develop it. SolidWorks has absolutely no moral right to withhold bug fixes from paying customers. They do not even have a self imposed compatibility cycle like Autodesk. They are free to use the latest compiler from Microsoft but they choose to wait for years before getting current.

Bottom line, practice what you preach.

  • I didn't know any of these, thanks for the information. OK, now I'm off to download and apply another Service Pack 🙂

    Devon Sowell

  • I'm not sure I follow the logic. SW is being criticized for asking that in order to receive bug fixes, you have to be on subscription? Is that the issue? Perhaps I am not seeing or understanding it all?

  • I'm not sure I follow the logic. SW is being criticized for asking that in order to receive bug fixes, you have to be on subscription? Is that the issue? Perhaps I am not seeing or understanding it all?
    What exactly is subscription? I always thought it was a payment for entitlement to support, new releases as well as updates? So, are we saying that updates (whether new enhancements or bug fixes) should be separate?
    Not trying to ope this can of worms or maybe I am.
    Many software products come with a 30day (sometimes more) return policy for defects or whatever.
    Seems to me companies should have the right to purchase software, decline subscription if they choose and then get…what? unlimited access to bug fixes?

  • Jason

    Most all software companies provide bug fixes (Patches or Service Packs) free of charge. Upgrades are typically new versions of the software with enhancements and new features. Companies typically charge an upgrade fee or subscription for those. SolidWorks charges for both……if you aren't on subscription, no service packs for you. Even Autodesk doesn't follow this practice and they notorious for being the big bad wolf..

  • John

    Amen, brother. Amen!!

  • ok.. so a service pack shouldn't include enhancements, just fixes? Software companies could provide one group of service packs that includes bug fixes and enhancements and another set that was just bug fixes? I am not trying to sell one way or the other, just trying to understand.
    If you purchased software on jan 1st- no subscription and let's say 4 bug patches went out over the next year or so. and fixed a total of 10 bugs, you wouldn't expect to get any enhancements at all?

  • Brad Holtz

    I wrote an article back in 1999 that talks about the upgrade cycle. It's brief, but explains the eventual necessity of upgrading. It also explains how this upgrade cycle drives the world economy. Take a look:

  • Bug fixes and enhancements are two very separate things and they can be easily separated (see Subscription is all about continuously receiving new versions of a product. It has absolutely nothing to do with getting bug fixes.

    Everybody should pay for enhancements. Nobody should pay for bug fixes. At least for the first year, like all physical products. Or till the product is not retired. Some software vendors offer bug fixes for free life long because software is something that gets affected by other software throughout its lifetime, unlike other physical products. For example, Windows may update a few DLL's which may cause a 2 or 3 year old software to crash. This is really not a bug on the part of the software developer. Nevertheless, the developer will need to create a service pack or update patch to prevent this crash. Usually this service pack or update patch is given free because it does nothing new. It simply let the software run properly, that's all.

    In the case of software, 30 days really does not make sense because stuff can happen any time. That's not the case with physical products. And BTW, is it even legal to sell a product that does not come with a full year's warranty?

  • Shyamalroy

    So why is the user community taking it in the _ _ _ but not doing anything about this?

  • murray

    A bug fix isn't support, it's the software publisher meeting the obligation that is explicitly part of the purchase agreement. If the program doesn't work as described, it's a fraudulent sale. In Australia, if the user comes across a fault that hasn't been remedied even up to three years after purchase, the vendor will be obliged to refund the purchase price. That's a statutory obligation. Publishers can state “30 days” or “12 months” or whatever, but those ambitions don't override the statutory warranty.

  • Laziness!

  • Vinay Marje

    how do you find out which visual studio to be used for building against specific SolidWorks version. I am building for SW2010 with Visual Studio 2008 and was told that SW2011 will need Visual Studio 2009/2010

    • I use VC 6.0 for SolidWorks 2007 and earlier, VC 8.0 for SolidWorks 2008 and later