Better Be Running
In a comment, a member of IntelliCAD.net let me know exactly how he felt about my post titled “The Value of Partners“. He started by saying:
So where was all this so called love between Autodesk and their “partners” when Autodesk phucked the third party marketplace in the late 90s by acquiring technology or simply taking product ideas and direct developing them for inclusion in AutoCAD, or going vertical, placing themselves right square in their beloved “partners” markets, driving thousands to hope they were the lucky one who could sell to Autodesk otherwise it was wallmart or starve?
The purpose of my post was to highlight how CAD vendors can grow by cultivating partners (not just plug-in developers) in order to carry out “viral marketing” and increase their “market share” by offering industry specific solutions and other special utilities. The post was about business and business alone and had absolutely nothing to do with ethics. However, this post will address the “ethics” issue, or rather, the lack thereof.
Back in 1998 when I had a regular job, I started doing contract development work on the side for a small US company. Pretty quick I started earning much more doing contract work than my regular salary. I decided to quit my job so that I could spend more time doing contract programming and hence earn more money. But my father stopped me. He said, “Son, what if the American company stopped giving you work tomorrow? You would then have neither this not that“. I tried arguing with him saying that there was a lot of work and that they would give it to me because they liked what I did and that we have developed a healthy relationship. But deep inside I knew that my father was right and I decided to stick with my job. That period was probably the worst part of my professional life. I remember sitting in front of a computer for 14 hours a day. I became a zombie. Ultimately, after nine months of working double time, I did quit my job and started my first company, but only after I had a Plan B in place.
This is by far one of the most important lessons that I have learned in business – do not put all your eggs in one basket. I started out by developing plug-ins for AutoCAD, but pretty soon started developing for SolidWorks as well. Today, at SYCODE, we develop plug-ins for AutoCAD, Inventor, Pro/ENGINEER, SolidWorks, Solid Edge, SpaceClaim, Alibre Design, Rhinoceros, IRONCAD, INOVATE, IntelliCAD, Bricscad, Acrobat and SketchUp, among others. In my opinion, plug-in developers who stick to one CAD vendor are naive to think that the vendor will “take care” of them till kingdom come.
Suppose I use the help of a CAD vendor A help to develop a kick ass plug-in for its CAD system and another CAD vendor B makes me an offer that I cannot refuse and that A cannot match, I will most probably sell out to B who will kill my plug-in for A’s CAD system, thereby affecting A’s business adversely. Conversely, when faced with a similar proposition, a CAD vendor will act in a similar fashion. That’s business. We live in a capitalist society. What do you expect? I am here to make money, not do good to mankind. If I want to do that I will do it in my parish.
Even McNeel, a company that I praise to no end on this blog, has adversely affected by business. Rhino 3.0 could not read Wavefront OBJ files and so we developed an OBJ import plug-in for it. In Rhino 4.0 McNeel added an OBJ import feature and we had to withdraw our product. Also in Rhino 4.0, McNeel added mesh editing capability which made MeshCAD for Rhino largely redundant. We responded by enhancing the MeshCAD plug-in to do advanced mesh modeling.
Before we developed SAT Import for Rhino, I asked Bob McNeel whether he had plans to add a SAT file import feature to Rhino. He told me that his customers were asking for it, but if I offered it for a reasonable price, he could spend his resources elsewhere. So we went ahead and developed a SAT import plug-in. But I know that if Bob one day determines that people are not purchasing Rhino because they do not want to spend an additional $195 for a SAT import plug-in, McNeel will add a SAT file import feature to Rhino. And why the hell shouldn’t he? Like me, he is here to do business.
In its early days SolidWorks could not read STL files and so we developed STL Import for SolidWorks. Later SolidWorks added a STL import feature. We responded by optimizing our add-in to handle larger STL files. People still buy MeshCAD for Rhino and STL Import for SolidWorks.
There is a reason why SYCODE has 200 odd products. There is a reason why the SYCODE partners page has so many logos. There is a reason why I do not sign any partner agreement with a CAD vendor that prevents me from working with any of its rivals. The reason is that I do not put all my eggs in one basket.
Coming back to Bricsys, there is a reason why we did not use their BRX SDK to effortlessly port our AutoCAD plug-ins to Bricscad. Instead we took the trouble of developing DRX plug-ins from ground up so that when the time comes, with a little modification, they will also work in the new IntelliCAD 7, or for that matter, in any DWGdirect hosted application. I firmly believe that before you start anything you need to plan ahead and have a plan B, or at least decide on one.
I would like to end by quoting something I read in a book written by Dr. Ron Hollis of QuickParts, titled “Better Be Running!”
Every morning in Africa, a gazelle wakes up. It knows it must run faster than the fastest lion or be killed. Every morning a lion wakes up. It knows it must outrun the slowest gazelle or starve to death. It does not matter whether you are a lion or a gazelle… When the sun comes up, you’d better be running.
The cynics will argue that the lion and the gazelle were never partners in the first place, but I think you get my point. We live in times where it is difficult for even a marriage between husband and wife, supposedly two equals, to last a lifetime. I find it stupid when people expect a partnership between a mammoth CAD vendor and a puny plug-in developer to last forever. I find it even more stupid when people bitch and moan about it later.