article: Every Prototype Is Also a Measurement Tool #140
Open
markusgruen wants to merge 11 commits into
Open
Conversation
kunman93
reviewed
May 5, 2026
kunman93
left a comment
There was a problem hiding this comment.
very well written.
P.S. I used AI to review your PR, otherwise I wouldn't have found all of these findings.
| Whether it’s a completely new, innovative product or the next iteration of an existing one, I keep seeing the same pattern. | ||
|
|
||
| Right from the start — during requirements definition, system architecture, and in early functional prototypes — one crucial element is often overlooked. | ||
| And this happens regardless of whether you’re developing an electric toothbrush, a coffee machine, or a medical ventilator. |
There was a problem hiding this comment.
Suggested change
| And this happens regardless of whether you’re developing an electric toothbrush, a coffee machine, or a medical ventilator. | |
| This happens regardless of whether you’re developing an electric toothbrush, a coffee machine, or a medical ventilator. |
| And this happens regardless of whether you’re developing an electric toothbrush, a coffee machine, or a medical ventilator. | ||
|
|
||
| From day one, the device is designed with the finished product in mind. | ||
| What's often forgotten is this: the path to that finished product is long, full of unknowns that must be explored, understood, and — most importantly — measured. During development, the final product doesn’t exist yet. |
There was a problem hiding this comment.
Suggested change
| What's often forgotten is this: the path to that finished product is long, full of unknowns that must be explored, understood, and — most importantly — measured. During development, the final product doesn’t exist yet. | |
| What's often forgotten is this: the path to the finished product is long, full of unknowns that must be explored, understood, and — most importantly — measured. During development, the final product doesn’t exist yet. |
|
|
||
| From day one, the device is designed with the finished product in mind. | ||
| What's often forgotten is this: the path to that finished product is long, full of unknowns that must be explored, understood, and — most importantly — measured. During development, the final product doesn’t exist yet. | ||
| It only emerges through countless iterations, tests, measurements, debugging loops, and insights. |
There was a problem hiding this comment.
Suggested change
| It only emerges through countless iterations, tests, measurements, debugging loops, and insights. | |
| It emerges only through countless iterations, tests, measurements, debugging loops, and insights. |
|
|
||
| ## The missing piece: measurability during development | ||
|
|
||
| Especially in early phases, core functions of the device often need to be explored experimentally. |
There was a problem hiding this comment.
Suggested change
| Especially in early phases, core functions of the device often need to be explored experimentally. | |
| Especially in the early phases, core functions of the device often need to be explored experimentally. |
| **But for development, the opposite is true.** | ||
|
|
||
| System integrators and engineers need access to all relevant signals — and since nobody knows at the beginning which signals will turn out to be relevant later, "relevant" effectively means *everything*. | ||
| All raw sensor data, all actuator control values, all internal states (such as state machine states), ideally at the native sampling rate. |
There was a problem hiding this comment.
Suggested change
| All raw sensor data, all actuator control values, all internal states (such as state machine states), ideally at the native sampling rate. | |
| All raw sensor data, all actuator control values, and all internal states (such as state machine states), ideally at the native sampling rate. |
| 4. **Selective logging:** | ||
| Developers choose only the signals relevant for the current measurement. This requires more logic and user interaction. | ||
| 5. **Event-based logging:** | ||
| Useful for signals that change infrequently (e.g., system states). Harder to use with CSV because timestamps must be transmitted. |
There was a problem hiding this comment.
Suggested change
| Useful for signals that change infrequently (e.g., system states). Harder to use with CSV because timestamps must be transmitted. | |
| Useful for signals that change infrequently (e.g., system states) but harder to use with CSV because timestamps must be transmitted. |
| Developers choose only the signals relevant for the current measurement. This requires more logic and user interaction. | ||
| 5. **Event-based logging:** | ||
| Useful for signals that change infrequently (e.g., system states). Harder to use with CSV because timestamps must be transmitted. | ||
| 6. **Separate channels:** |
There was a problem hiding this comment.
Suggested change
| 6. **Separate channels:** | |
| 6. **Separate channels:** |
|
|
||
| Both approaches can work — but only if the architecture supports them. | ||
| Once again, this brings us back to early design decisions. | ||
| Inter-controller communication must either be designed for the required data volume and frequency, or the main processor must provide a system clock or heartbeat that other controllers can synchronize to. |
There was a problem hiding this comment.
Suggested change
| Inter-controller communication must either be designed for the required data volume and frequency, or the main processor must provide a system clock or heartbeat that other controllers can synchronize to. | |
| Inter-controller communication must either be designed for the required data volume and frequency, or the main processor must provide a system clock or heartbeat that other controllers can synchronize with. |
Comment on lines
+147
to
+148
| > A prototype that 'works' is useful".\ | ||
| "A prototype that is measurable is invaluable. |
There was a problem hiding this comment.
Suggested change
| > A prototype that 'works' is useful".\ | |
| "A prototype that is measurable is invaluable. | |
| > A prototype that “works” is useful. A prototype that is measurable is invaluable. |
|
|
||
| Without complete and correctly timed measurement data, debugging becomes guesswork and optimization becomes trial and error. Planning a clear developer interface early saves time, reduces frustration, and dramatically accelerates product development. | ||
|
|
||
| Or, to put it another way: |
There was a problem hiding this comment.
Suggested change
| Or, to put it another way: | |
| Or, to put it another way: | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
I am unfamiliar with git. I hope I did everything correctly....
Regarding the picture: I copied it from Unsplash. Am i required to put in a reference somewhere?