Our life is getting more and more web-like. Think about applications and tools we use in our everyday life 10 years ago and now – you can see how many of them moved from your Windows desktops to web browsers and mobile devices. However, if you are engineer using CAD application and/or simulation tool, most probably, you are still anchored to your desktop machines. The same you can probably say about photo and video editing applications. The common thing between CAD and photo / video editing is related to the need to use extensive computation and/or graphic resources.
Speaking about photo editing applications, Google is clearly making a leapfrog activity in this space. Google+ photo editing application is getting better everyday. Many times in my personal life of photo hobbyist I ended up with editing photos using Google+ without reaching to my usual Photoshop tools.
I’ve been reading TechCrunch article earlier this week – Google’s Bet On Native Client Brings Chrome And Google+ Photos Closer Together. This article confirms my guess about Google technologies behind new Google+ photo editing tools as well as made me think about some potential opportunities in CAD / PLM space. Here is an interesting passage from the article.
As you’ve probably heard a thousand times now, it’s virtually impossible to build great photo apps that can rival the likes of Photoshop in HTML5. That’s where Native Client comes it. This technology allows developers to execute native code in a sandbox in the browser. It can execute C and C++ code at native speeds and with the ability to, for example, render 2D and 3D graphics, run on multiple threads and access your computer’s memory directly. All of that gives it a massive speed bump over more traditional HTML5 apps.
If you want to learn more about Google Native Client, you probably can start here. Google Developers website provides a good set of information well organized with use cases, videos, documents and references. Navigate here to read more.
It is interesting to see common use cases presented on Google Developers website. Some of them are very relevant to CAD / PLM domain – enterprise applications and legacy desktop applications. Another interesting use case is related to existing software components. You may think about Geometric modelers as one example of existing components that can run inside of Google Native client. Look on how Google phrase this use case on the development website:
Existing software components: With its native language support (currently C and C++), Native Client enables you to reuse current software modules in a web app—you don’t need to spend time reinventing and debugging code that’s already proven to work well.
Compiling existing native code for your app helps protect the investment you’ve made in research and development. In addition to the protection offered by Native Client compile-time restrictions, users benefit from the security offered by its runtime validator. The validator decodes modules and limits the instructions that can run in the browser, and the sandboxed environment proxies system calls.
Let me speculate a bit here – recent announcement of Siemens PLM about licensing of Parasolid components to Belmont Technologies developing cloud CAD can provide a potential use case. So, maybe future cloud CAD of Jon Hirschtick with use Google Native Client… who knows?
The following video provide you short summary of how Google Native App works.
What is my conclusion? Web is a future platform for everything. Engineering and manufacturing applications are not exclusion from this rule. However, it will not happen overnight. Companies made significant investment in existing technologies and products. How to move from today’s mostly desktop CAD into future cloud design platforms? This is a good question to ask CAD technologists, industry pundits and internet developers. Google Chrome Native Client provide an interesting technological set to consider. Today Google Chrome Native apps directory contains only games. But who knows what will be tomorrow? Just my thoughts…