Sunday, August 1, 2010

Can someone explain how the programming of CAE tools is really different from the programming of games?

In most ways, there isn't going to be a BIG difference -- both are applications of real-time 3D graphics.Applications for real-time 3D graphics range from interactive games and simulations to data visualization for scientific, medical, or business uses. Movies and animations are at the upper end of what 3D graphics are used for.  Just because there aren't BIG differences, doesn't mean that the small differences aren't significant enough build and maintain a business model.  Experienced engineers know that all too often the most important proprietary trade secret a company has is the secret about how little the company actually knows, how little the difference is between the company's technology and their competitors'.



What is different between gaming systems and CAD tools is how the the application provides tools for the user of the system to interact with the data ... both the gamer and the CAD draftsmen demand real-time, realistic 3D rendering and other attributes of the system's performance as they manipulate the data   The gamer will have typically have a more advanced interface, e.g. joystick with multiple buttons, a guitar, than the CAD draftsman, and will expect sophisticated sound and animated feedback from really smart models, but they both interact with realistic geometric data.  CAD draftsmen should benefit from the sophisticated and advanced research and development of cutting edge animated movies as well as the billions that are poured into R&D and manufacturing of advanced systems for gamers.  But do they?  Relative to gaming systems and animated movies, CAD/CAM/CAE tools seem like they are following the pack ... why is this?


Why for example, isn't there a SaaS cloud-based CAD application ... is it REALLY about speed / bandwidth? I don't really buy the speed argument:: 1) if you look at the world of online multiplayer gaming, you will see that there are different ways to skin the buffering cat, 2) when companies move to cloud-based systems they have to think about internet connections, possibly even 4G wireless connections -- i.e. moving to the cloud without ensuring a reliable, redundant set of high speed internet connections would be a clear sign of someone's incompetence.  The first significant slowdown would fix that and if it happened twice, I would guess that the stupid IT guy who did not analyze the potential for this kind of failure before moving to the cloud should be given the opportunity to look for a new career.  If it happened a third time, the stupid IT guy's boss should also be given the same opportunity.  Someone has to manage the issues that come along with the exponentially-positive implications of cloud-based borderless network ... is it REALLY that tough?  The concerns about speed/bandwidth are a case where someone is worried about a problem that happened five or ten years ago ... and not realizing that there are technological fixes that can and will be put in place to overcome those concerns.  When you work in IT or CAD administration, you should learn little lessons like: your biggest worry of 2006 will not be an issue in 2011 unless YOU can't figure out how to fix it.

When we look at developments to overcome various throughput issues in computationally-intensive 3D graphics, e.g. using OpenCL to optimally allocate computing resources to GPU or CPU depending on power, data intensity of a given task, we can be pretty certain that the real reason has less and less to do with technology constraints.  I think the real reason is "cultural."  It has to do with antiquated notions / fears about the borderless network and intellectual property AND the fact that is it is the interest of CAD vendor to kindle those those fears in order to earn more from their intellectual property.  In other words, the CTOs of BIG customers are not screaming at their CIOs to get cloud-based CAD system in place because they don't know how to handle relinquishing control of their CAD data to the cloud.  As a result, CAD vendors are able to milk the dated old client-server desktop technology paradigm a little while longer while they figure out a SaaS strategy.  Eventually,  CAD vendors will also have to answer why isn't there a SaaS CAD development framework for developers of add-ons like Force for the Salesforce SaaS CRM tool ... when a startup emerges with a credible solution that forces them to confront that question ... another question that CAD vendors should have to answer is why isn't there even, a PLM/PDM tool collaborating with multiple clients using a software engineering version control system like Github?  In short, CAD vendors will eventually have to answer why they are behind the technology curve ... until then, they can sell their wares to stodgy customers who are quite as aggressive or demanding as 14-year-old gamers.

I will edit and add to this posting later  ... right now, I'd be extremely interested in your comments.