New Product Development: Desktop tool vs on Cloud?
Desktop-based product or Cloud-based product? When developing a new product it is always a central question and now with more and more traditional desktop products are moving to the cloud it makes a lot of sense to give this question serious consideration. This article tries to go into details of various aspects that one has to weigh while making this decision. When we trace the origins of the Computer-Aided Design system (CAD) back in the middle of the 20th century, a mainframe was supposed to be the hardware. The software was primarily built by large corporations that could afford to operate mainframes and develop their CAD. With time, the mainframe was supplanted by minicomputers, and CAD became commercially available with a much affordable price tag. Later on, evolution in hardware brought about the microcomputer. Personal Computers and Unix workstations grew in popularity with companies and independent vendors, professionals alike. A remarkable aspect was that CAD systems could ride upon the local processing power of the PC without the need for a centralized server. All data storage was done centrally in the case of mainframes and minicomputers. An operator could log on and access data from any terminal. On the contrary, everything was managed locally in case of microcomputers hence the data was difficult to access unless one had his dedicated PC. To counter this issue, dedicated corporations introduced client/server architectures to facilitate local processing and centralized data storage. Nowadays, companies either manage their hardware and software on their premises, or offload everything to the cloud, or maybe somewhere in between. The new nomenclature was introduced to make distinctions: either “on-premises” (also called as “on-premise” and “on-prem”) or for true cloud-native solutions, it is “Software-as-a-Service” (SaaS). There are many other hybrid solutions, but this article solely focuses on these two aspects. For many design decisions, the most important thing is to know the requirements. In the end, we need to solve a given problem as efficiently as possible. One of the most debated topics in the world of Product development is: Whether to go for a desktop or a web-based solution for New Product Development. Now let’s look at the most common non-functional requirements, which play a role in the design choice between desktop and web: Deployment aka Set-up effort: Deployment refers to how easy and fast one can set-up the required tooling and the runtime for executing a system. Usually this is mainly referring to the developer tooling and its runtime(s) since it needs to be repeated for every developer. Portability: This refers to how difficult is it to port a tool to another platform/hardware. The typical case is accessing all development resources from any platform, e.g. also on your mobile device.Performance and responsiveness: Performance and responsiveness refer to how a tool performs and its responsiveness to users or functionalities. Usability: Usability refers to the level to which a software can be used by specified users to achieve specific project goals with accuracy, effectiveness, efficiency, and satisfaction. Online Data Storage: Data storage for a Cloud-based app is typically done on cloud-based servers. It makes it very easy for the users to access this data from anywhere using any device. Collaboration: A cloud-based product is more suitable for collaborative development. Cost: Cost is probably one of the most important criteria to consider. The cost takes to form an Integrated Development Environment (IDE), tooling, extension, or the required development runtime. Let us understand these in some detail now. 1.Deployment Deployment is probably the most prominent advantage that is advertised for web-based solutions. The intention is to simply log into a system via a browser and start coding without installing anything specific. Further, you do not need to install any updates anymore, as they are applied centrally. The first interesting aspect of this is how much time you can save with improving the installability. This is connected to the number of developers that you have on-board to use the tooling and the number of people who are occasionally using those tools. Further, it plays a role in how long a developer would use the tool after installation, the shorter the usage the more significant the set-up time would be. One of the important aspects related to installability that needs consideration is updatability. While of course an update to the tooling is hopefully not the same as installing it from scratch, most considerations we had for the installability should be applied for the update case as well. 2 Portability Portability is the second most advantage of a cloud-based solution over a desktop-based. Portability is considered as the ability to access the tool from anywhere on any device. It facilitates access to tooling and runtime through any device with a browser. As a result, you can ideally fulfill your development use case at any location, even from a mobile device. A disadvantage of a pure cloud-based solution is that they often rely on a constant internet connection. While this issue becomes less and less relevant, at least it must be considered. Some cloud-solutions already provide a good work-around, e.g. the offline mode of Google Mail. 3 Performance Performance is a very interesting requirement to consider. In contrast to deployment and portability, there is no clear winner between desktop-based and cloud-based tooling. One can find valid arguments for both to be superb performers. The major reason for this tie is the fact that we have to consider the specific use case when talking about performance. While writing code, engineers need fast navigation, key bindings, and coding features. Although IDEs have caught up a lot in recent years, a desktop tool is typically more performant for those local use cases. However, in cases such as compiling, a powerful cloud-instance can certainly compile a project faster than a typical laptop. 4 Usability Usability also doesn’t have a clear winner in the comparison between desktop-based to cloud-based IDEs. While advocates of both platforms would claim a clear advantage, this is a matter of personal taste. Nowadays, web technologies
Read MoreIssues in CAD Software – User’s perspective
5 Factors to consider while choosing a CAD platform Choosing a CAD platform can be a very difficult decision for any organization. Depending on the size of the organization it could be a very crucial decision because it is “sticky decision” and can not be changed easily in the future. So the decision should be taken considering a variety of factors. This document discusses some of these factors in detail. In a recent survey conducted by an eminent website, 230 product development professionals were asked questions regarding their level of satisfaction with CAD software. The survey intended to gather individual experiences of CAD users, turn them into informative insights and churn out common issues faced by design teams et al. The common issues were grouped under specific causes and in a total, four major issues were drawn out. Suitability of CAD software The most important aspect perhaps is the suitability of the CAD system for a particular organization. It is always a good idea to list out all the workflows, representative parts, any special processes, etc. Then a benchmark study should be conducted to assess the suitability of different CAD software against the checklist. One can even rate different software on each of the parameters. Software Ecosystem This is an external factor but an important one. Suppose you need to work with a lot of vendors then one has to consider that aspect. Would my vendor be able to provide me data in my format? On the other hand, your customers may force you to provide data in a specific CAD format.The availability of trained resources is also an important consideration to ensure that you can attract and retain talent for your business needs. The learning curve for CAD software When a new CAD package is introduced, the amount of time taken for the users to learn the new features is critical to how precisely and quickly design teams can bring their ideas to life.Although companies provide specific, coherent, and comprehensive training regarding new CAD software, it’s not enough of course, as the user also has to familiarize themselves with the interface of the new CAD package. Needless to say, the time consumed in this regard has caused quite a bit of inconvenience. Interoperability Importing and exporting files correctly shouldn’t be a hassle in general. However, this issue stood in the second place as CAD users found importing/exporting or interoperability quite the headache. The primary problem that CAD users face while importing and exporting files, is that the 3D model loses features—if it has no parameters, it has no intelligence—and therefore it is no longer parametric. Sometimes the object is incomplete or just a partial translation, which means the surfaces are missing. The quick emergence of varied CAD software has led designers to democratize, leading to the usage of multiple CAD systems in the design process, thus challenging the CAD interoperability aggressively. Different suppliers require different CAD platforms. It depends on many factors, primarily the nature of the task and product upon which it has to work. Merging different CAD data together without affecting the design intent is quite the hassle. Although, a lot of software these days support different CAD files, there are instances, where the particulars of a project has made the product confined to that one CAD software. Interoperability eases up extra work and whether to make your own software compatible with other, is a decision that should be seriously taken into account. Cost of Ownership The cost of ownership is a big deal among users. Whether it is about the actual cost that concerns users or the fact that they don’t perceive sufficient value, the cost of ownership has always remained a matter to frown for users. A possible cause might be unawareness in the case of the user about an important new functionality available in modern CAD systems that can massively enhance product development processes. Some of these features enable better ways of creating and managing documentation as well as useful tools such as generative design and simulation.To better understand how leveraging new functionalities can offset the notion that CAD software costs are too high, we can weigh on one of the new features, simulation, which compliments the model design. The companies identifying design issues early on in the design cycle are actively using simulation in the said phase thereby integrating it into their design. Simulation aids in iterating the design and making varied choices much earlier in the phase rather than making that choice much later during the prototype phase. In the bottom line, product development professionals want an affordable CAD system, and that provides value to their designs. Interoperability remains a major hindrance that seems quite unnecessary and outdated in this era. Design professionals want their CAD system to be familiar in interaction and easier to use and want that usability to translate into an easier search and hiring process.
Read More