
4 Reasons Developers Should Use Software Development Toolkits
With decades of experience providing software development kits (SDKs) to developers of engineering software, we have seen firsthand the massive advantage they offer. While every organization and market has its unique challenges, we’ve witnessed SDKs consistently impact developers' ability to get a vital leg-up on their competitors.
SOLIDWORKS staked out its competitive position in the world of CAD in part through its use of component technology.
The company serves as a poster child for the benefits of using component technology at the right time. We will examine their story and that of their competition to highlight four of the biggest reasons to consider using component technology. These include faster speed to market, better cost efficiency, not requiring specialized experts, and the ability to better focus on your product's differentiation in a competitive market.
Component Technology, Toolkits, Software Development Kits, SDKs – What’s the Difference?
These terms represent different names for the same thing - a collection of resources used to help developers streamline the development process of the application they are making. These toolkits are designed to add key functionality in a specific area, like visualization, data translation, simulation, and solid modeling.
Speed to Market
When developing any software, timing can make or break the product. For engineering software, this race to launch is even more relentless. With high development costs, competitive markets, and extremely complex industries, the first mover advantage will often determine who wins and who is left behind.
Leveraging industry-tested, ready-made SDKs offers companies a potentially game-changing advantage. By eschewing an “in-house development only” mindset, developers can get a more complete product to market significantly faster, while their competition fumbles with reinventing the wheel.
“If you’re not first, you’re last.”
Will Ferrell as Ricky Bobby, Talladega Nights
While we have dozens of examples of this, one of the most popular and poignant can be found in the early days of CAD software. SOLIDWORKS integrated a new (at the time) modeling kernel called Parasolid instead of replicating the functionality in-house, allowing it to launch quickly and carve out a commanding position in the industry. Meanwhile, Autodesk took advantage of the ACIS kernel to build Inventor. The resulting market domination from these companies means they hardly need an introduction, and being one of the first players on the market was instrumental in their long-term success.
Just as these powerhouses did before them, companies across a wide range of industries continue to get ahead with SDKs, allowing them to dominate their respective markets while the competition faded into obscurity.
Cost Efficiency
The ability to offer similar or better services while undercutting the competition's price will allow your organization to cement itself as a major player in your industry (and make your sales team very, very happy). This is exactly what happened when SOLIDWORKS and other component-based CAD Systems were released on Windows. They were able to offer their product for around USD 3,000 a seat, while their competition was priced anywhere from USD 10,000 to USD 30,000 per seat. What magic allowed them to smash their competitors on price without sacrificing quality? Software Development Toolkits.
Hiring good developers is expensive, and creating a fully-fledged, competitive CAD system from scratch would take a team of highly specialized experts several years. From there, the team would have to continue to maintain the core technology, from data translation and 3D graphics to simulation and modeling engines. This is simply impossible for the vast majority of software companies, yet they can create innovative software anyway. They do this by licensing software components, thus reducing their costs and the price they must charge their customers. Just as SOLIDWORKS did, passing these savings on allows companies to disrupt their markets with superior prices.
In our recent piece discussing why developers should consider switching modeling kernels to Parasolid, we highlighted how these benefits can create a self-sustaining cycle. More efficient development can lead to greater profits, allowing teams to hire more developers. More developers can create a better product, further enhance your market advantage, and create a cycle of dominance. Similarly, low efficiency can lead to tighter margins, smaller teams, more bugs, a worse final product, and a slow fade into irrelevance. SDKs are one key piece to ending up on the right side of this spiral.
Overall, component technology makes companies far more efficient with their development. This can translate to higher profits, more competitive pricing, and overall better results for the company.
Specialized Expertise
Organizations tend to turn to component technology when tackling highly specialized fields such as modeling, constraint management, advanced visualization, CAD data translation, surface and volume meshing, solving, mesh healing, and more. This is because developing in these areas requires teams with years or decades of hands-on experience. Simply put, there aren’t many people with that experience, and with that scarcity comes demand. It is impractical and prohibitively expensive to hire specialized individuals for every single core component your software needs.
For the vendor that is providing component technology (cough, like Tech Soft 3D), their whole business is built on providing those specialized services. They have decades of experience creating and maintaining market-hardened, performance-tuned components that are designed for the sole purpose of supporting your workflows.
SOLIDWORKS could have found and assembled the team to build the modeling kernel they needed. They would have had to pluck those experts from a small, in-demand, global pool of individuals, pay them well enough to leave their jobs, and wait months or years for them to create what they needed. They could have done it, but it would have been wasteful, time-consuming, and would have drawn focus away from what made them unique to focus on recreating something that already existed in Parasolid. To summarize, let another company incur the costs of creating specialized functionality, and focus instead on what makes you special...
Focus on Differentiation
We have touched on a common axiom in business – a company should focus as much attention as possible on the areas where it can differentiate itself from the competition.
SDKs allow development teams to do exactly that. A CAE team creating a solver faster than its competition doesn’t need to spend its limited time and money creating features that already exist, that their customers expect as default– they want to work on the secret sauce that will blow their competition away.
Inventor and SOLIDWORKS were created by developers who understood how mechanical engineers wanted to design. They worked to make that as seamless as possible. No designer, engineer, artist, or creative person of any kind wants to be interrupted. The two companies understood what they needed to do to empower their customers to design freely, without interruption or inefficiency. The user wasn’t concerned with who made the modeling kernel under the hood. SOLIDWORKS focused on its specialty, and it worked.
Component technology offers a foundation of polished, market-tested features that your customers may view as “the basics”. Features like CAD import in a new CAD product will be expected. Users will demand that it is reliable, updated to the latest formats, and easy to use. Creating and maintaining this is anything but easy, and developing an imitation in-house could result in a poorly optimized cost-sink that does “the basics” worse than expected.
One common concern about using component technology is the idea of differentiation. “If we license a component used in other tools, won’t my product be just like everyone else's?”
SDKs are tools in your toolbox. If you needed to drive a nail, you wouldn’t make a hammer from scratch. Nobody cares about the nails in a house frame unless they are a worse version of the tried-and-tested ones. In the same vein, you wouldn’t develop your own UI toolkit, memory manager, video codec, or network protocol. CAD data translation, visualization, and modeling have also become commodities and should be treated as such. Second, see above: focus on what makes your product different, not what makes it the same.
Component technology is a foundation from which skilled, creative developer teams can create an endless array of products. Strong teams consistently use the same component technology to create different products for diverse, unrelated markets. Simply put, if your idea is strong and your team is capable, component technology is a springboard to help focus on what makes you special.
More Resources
If you’re interested in learning more about how Tech Soft 3D toolkits can support your application development needs, please reach out! From CAD data translation to 3D visualization, CAE-related toolkits, modelers, and more, we are able to provide the foundation you need to make your product special.