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.