Image

Prototype Your Way To Success

Oct. 1, 2009
Prototyping can prove -- or disprove -- the value of your design ideas. This Engineering Essentials article covers the basic concepts behind early software development, virtual platforms for hardware modeling, and platform-based design.

An infinite number of inventions is waiting to happen. It’s often hard to figure out why one idea succeeds and another falls by the wayside. Many factors can impact success, ranging from the quality of the product, to the way it’s marketed, to the timing of its release. Sometimes, it’s just pure luck. Often, great ideas fail because the inventor spends too much time trying to develop the perfect 1.0 version instead of simply producing something. But the person who gets the idea out first, even if it’s in a rudimentary form, stands to benefit the most.
Various studies indicate that engineers across disciplines share one thing in common— overconfidence when estimating time required to complete projects. Studies consistently show that more than 50% of projects are delivered at least three months late, over budget, and with a reduced feature set. When converting an idea into reality, time is the innovator’s most precious resource.
Creating a successful project means setting a hard goal for time and budget, while still allowing for features and goals to be scaled accordingly. By scaling back the scope of a project, designers are effectively creating a prototype of the final design. This prototype is vital to make the most of the time and budget afforded to the project by enabling real-world tests for both customers and investors.
Take the story of two inventors— Gottlieb Daimler and Edouard Delamare-Debouteville. Both had visions of creating engines that would form the basis of automobiles for decades to come, yet each took very different approaches. Daimler invented a functional prototype of the modern gasoline engine, placing it into a two-wheeled vehicle called the “Reitwagen.” After testing this design, Daimler invented the first four-wheeled automobile, and that design reached production.
In contrast, Delamare- Debouteville created a very sophisticated four-stroke engine that was much more advanced than the designs of Daimler. However, the design only existed on paper and did not result in a successful physical implementation. In this case, the difference between becoming the cornerstone of one of the largest automotive empires or a historical footnote was as simple as creating a prototype.
WHY PROTOTYPE?
In today’s Internet-connected world, ideas are cheaply shared around the globe almost instantaneously. With simultaneous access to the same wealth of information, people can have a similar idea at the same time and tell a lot of other people about it very quickly.
The idea itself is inexpensive. What’s expensive is proving that it has value in the market. Developing a compelling prototype is the easiest way to connect with potential customers and investors. With prototypes of software and hardware designs showing up daily on YouTube and other social networking sites, consumers can provide valuable feedback that allows innovators to gauge interest in their inventions. The prototype enables innovators to reduce the risk and cost associated with developing these ideas.
All too often, innovators start by designing their inventions to reach large volumes of consumers. Unfortunately, many innovations fail early because engineers must deal with reducing cost before verifying that there’s a large enough audience to warrant such an investment. Ideas can be stifled by over-focusing on detailed cost optimization analysis too early. Cost is always important, but your goal with a prototype is to be within striking distance of a profitable design.
Initially, focus on proving the value of your innovation and design with modularity in mind. While frustrating, your design may follow many paths that do not ultimately lead to value. The first goal should be securing your first set of customers. Then, work on cost optimization.
REDUCE DEVELOPMENT COSTS AND RISK
Prototyping lowers the cost of development by stripping down the end product into a set of features and requirements that represent the final design. The goal is to provide a proof of concept that demonstrates functionality to be vetted out by customers, clients, and even the design team itself.
For example, a prototype of a next-generation video player using new low-power decompression algorithms can focus solely on proving the benefits of the algorithms in question, rather than the design of the final plastic casing. This early proof of concept can allow the engineering team to prove the validity of its software and hardware algorithms.
Two goals should drive which features to implement in a prototype: testing feasibility and generating customer feedback. Keep these objectives in mind and be careful not to fall in love with the process. Prototyping is fun and innovators love to tinker, but the goal is to invest just enough time and work to meet the objectives.
Showing these early phase prototypes permits investors and customers to provide vital feedback early in the process. With such a feedback loop, the prototype can evolve over time and get closer to the original design goals, and those design goals can even be refined to more closely meet the customer’s needs.
By prototyping a design, the engineering team reduces the time from creation until it’s first visible by potential clients. This reduced time is the key to responding to feedback as projects are most nimble in the early phase of development. As a project moves forward and continues to add functionality and features, changes to projects later in the life cycle become exponentially more difficult and expensive to change. By creating a lean prototype early on, engineering teams save time and money.
Having a prototype allows the engineering team to vet out designs and weigh design tradeoffs. It’s easy to debate ideas when they aren’t tangible. The earlier you have something working, the better. Then everyone can poke, prod, and get on the same page of design.
The physical realization of an idea helps unite a team of developers, and having something functional early is a big motivation builder. With small, quickly developed milestones, progress can be readily seen and leveraged to extend funding and increase development resources. Assembling a multi-year project without demonstrable milestones makes it challenging to align all of the potential stakeholders.
Perhaps the most important lesson to be learned in the prototyping phase is that not all ideas are great. Ideas fail for a variety of reasons. Sometimes the hypothesis is wrong. Maybe the assumptions of how an algorithm works are wrong, or maybe the idea is just bad. Prototypes let you create proofs of concepts to figure out if an idea is worth pursuing. It’s better to try and fail early than invest several years of development into an idea. Failing early creates more time to explore new opportunities.
PATH TO PROTOTYPING Developing a prototype involves several different factors. In fact, a prototype can be seen as a combination of a number of prototypes: software, mechanical, and electrical. Each is likely to undergo an iterative design process to go from idea to product.

The most basic and common way to start prototyping is the paper or white-board sketch. Sketches are a fast, cheap, and easy way to represent an idea in a physical form. Ideally, a sketch should indicate a rough idea of the components of a system and how they interact. It also allows stakeholders to quickly modify the design. Unfortunately, a sketch helps little in being able to prove whether an idea is technically possible (Fig. 1).

!. A paper sketch guides development by illustrating how system components interact.

After sketching out the key elements of a prototype, a good next step is to mock it up in software. More and more products today have embedded software that provides much of the value to the customer. Developing software for a high-volume embedded device is complex and a major source of development delay and failure. When prototyping, it’s a good idea to identify the key software components of your application and mock up their architecture and functionality.

Many engineers have a strong urge to start doing low-level embedded software development right away. For prototyping, it’s much more efficient to use software tools that abstract the underlying hardware and software details. High-level and domain-specific programming languages achieve this by providing language semantics that are natural to the problem domain being solved. Furthermore, they can free the domain expert from having to think about low-level details like memory management or concurrency issues.

Selecting open software platforms also makes it possible for developers to reuse intellectual property (IP) for a variety of sources and vendors. This permits the team of engineers to view low-level problems as an abstract idea and focus on solving the problem.

Software tools play a key role in prototyping the mechanical components of the system, too, even allowing you to create a purely digital prototype. Advances in computer-aided design and simulation software have made it possible to create models that are meant to exhibit the same mechanical properties as the real-world counterparts. Engineers now can rapidly pick appropriate mechanical components like motors and the materials for the physical enclosure, without creating the physical system.

Improvements in digital prototyping have helped engineers integrate software designs with computer models to create a purely virtual prototype. By creating this virtual prototype, the initial sketch can be validated and tested before manufacturing the physical system. It’s even possible to connect the software and hardware components of a system in software and co-simulate the whole system to see how it performs. The ability to show potential clients a realistic simulation of the entire device operation can be a good way to validate ideas and get feedback before ever building the first physical prototype.

Once the virtual prototype is tweaked and evaluated, it’s time to move the algorithms and mechanical system into a realworld system. Depending on the application, this can be anything from a desktop PC to an embedded hardware solution.

Regardless of the platform chosen, important considerations must be made to enable quick prototyping. One of the biggest challenges in embedded design is the effort required to create, debug, and validate lowlevel software to integrate all of the embedded system’s hardware components.

Choosing an out-of-the-box hardware platform that provides middleware and board support packages increases productivity and reduces time to prototype. If connection to analog and digital I/O is part of your prototype, it’s imperative to use tools that help you connect to sensors and actuators quickly. Selecting a platform with easy access and reusable IP for communicating to peripheral devices like digital pins and analog-to-digital converters (ADCs), as well as protocols like Inter-Integrated Circuit (I2C), greatly reduces the burden on the engineers assembling the embedded system. Prototyping on a prepackaged hardware solution makes it much easier than developing custom hardware, which may require bringing up an operating system and developing custom device drivers.

A functional prototype is created by combining the software, mechanical, and electrical systems. It attempts to simulate the final design by providing a solution that demonstrates the features of the design. This helps engineers check design flaws, iterate on both the hardware and software of the prototype, and quickly iterate through more functional prototypes. A functional prototype makes it easier to gain buy-in for clients, customers, and investors for developing the real product (Fig. 2).

2. Validate ideas with a functional prototype combining software, mechanical and electrical systems. Pictured is a prototype of the Fidex Veterinary Multimodal imaging system from Animage LLC.
BEAT THE COMPETITION Creating prototypes offers many advantages when bringing an idea to reality. It reduces risk, maximizes time, and reduces the cost of experimenting with innovative ideas. At a time when resources are continually being cut, prototypes make it possible to create more with less.

Success often comes down to who can more quickly prove the value of the idea, rather than who has the better idea. The innovator who can produce an idea the fastest, test out a hypothesis, and iterate on a design the quickest is often the victor. Many startups have failed by trying to invent the perfect product instead of developing a compelling prototype with a subset of the features and specifications intended for the final product.

This pared-down yet functional prototype generates the excitement to attract those key first customers or venture capitalists. It enables innovators to buy more time to turn a prototype into a final product. The bottom line is that prototyping allows innovators to succeed faster and ultimately uproot their competition.

About the Author

Mike Santori | Vice President of Product Marketing

Mike Santori, vice president of product marketing at National Instruments, leads the organizations that are responsible for planning and marketing core measurements, test systems, embedded systems, and key application segments. He focuses on optimizing the NI product portfolio, leading the definition and management of new products, and ensuring high-quality technical marketing. Since joining NI in 1986, he has worked closely with R&D and marketing to define new products and capabilities for NI software, including NI LabVIEW, NI LabWindows/CVI, NI TestStand, and NI VeriStand, as well as develop marketing strategies for NI’s graphical system design approach. He holds a bachelor’s degree in electrical engineering from Texas A&M University.

Sponsored Recommendations

Comments

To join the conversation, and become an exclusive member of Electronic Design, create an account today!