owned this note
owned this note
Published
Linked with GitHub
# Notes & Exercises - Vladimir
# Excercises Week 1
## Exercise 1: Go through the OSHWA definition
- Read the definitions and principles: [OSHWA definitions](https://www.oshwa.org/definition/)
- Share in the chat which principles you find useful in this document that you think can improve your current practices and why.
==I think that the matter of free redistribution is quite important for the further development and upscaling the product usage.==
:::spoiler **Answer from last year**
**Nemo:** The `License Must Not Restrict Other Hardware or Software` element seems a bit strange to me. On the one hand they promote copy-left ("same terms as the license of the original work"), but then they are opposed to enforcing other degrees over openness. It makes sense practically, but I get the same feeling of 'restriction' with copy-left licenses.
:::
## Exercise 2: Learn from open source projects
- Pick at least one of the many influential projects in open source hardware and get familiar with its history. (There is a list bellow, for example you can pick one software project and one hardware project to compare similarities and differences.)
==https://github.com/OpenIPC==
- Think about the concepts and ideas we provided in this lessons, were you able to spot some of these characteristics in the project you selected?
==It's a solution which could be easily adjusted to the user's needs.==
- Share in the chat what captured your atention about the project
- What did you find different in their approach compared to your idea of how hardware is developed and distributed?
==OpenIPC firmware only supported SoC manufactured by HiSilicon.==
- What did you find familiar to your own practice?
==OpenIPC is an open source operating system from the open community targeting for IP cameras with ARM and MIPS processors from several manufacturers in order to replace that closed, opaque, insecure, often abandoned and unsupported firmware pre-installed by a vendor.==
==I did something similar with the Java OpenCV Blob detection library for one project==
**Some interesting open source projects and initiatives you can google:**
**Hardware**
- Arduino
- RepRap and Prusa 3D printers
- Adafruits company
- Precious plastic
- others...
**Software**
- Python
- Linux and git
- FreeCAD
- OpenSCAD
- others...
:::spoiler **Answer from last year**
**Vincent:** Did a comparison of projects Arduino and Python.
1. Arduino is extensible via add-on boards on the hardware side and libraries on the software side. Python is “designed to be highly extensible via modules”.
2. Python started with one main decision maker, Guido van Rossum, titled BDFL (Benevolent dictator for life). Arduino was started with a group of five people. Python eventually in 2019 “elected a five-member Steering Council to lead the project”. .
3. Arduino has s complicated past with many disputes between its members. Python seems to not have the same complications. This is perhaps to how the project was formed (1 vs a group). the way it was licensed, or hardware versus software.
4. License Python: Python Software Foundation License (PSFL) is a BSD-style, permissive software license which is compatible with the GNU General Public License (GPL)
License Arduino: Hardware products are licensed under a CC BY-SA license, while software is licensed under the GNU Lesser General Public License (LGPL) or the GNU General Public License (GPL)
5. Both projects came from a public institution. Python from Centrum Wiskunde & Informatica (abbr. CWI; English: "National Research Institute for Mathematics and Computer Science”). The CWI also contributed to the start of many other projects. “The Arduino project began in 2005 as a tool for students at the Interaction Design Institute Ivrea, Italy”.
https://opensource.guide/leadership-and-governance/
:::
## Excercise 3 (Optional): Find an open source project related to your domain
Find out if there are open source projects out there related to your project. You can start with the [open hardware observatory](https://en.oho.wiki/index.php?title=Special%3ARunQuery%2FprojectSearch&pfRunQueryFormName=projectSearch&ProjektSearch%5Bcontains_pdf_drawings%5D=yes&ProjektSearch%5Bsubcat%5D=Bending+machine) where there are lots of open hardware projects.
==https://github.com/aiformankind/ai-stop-wildfire==
==https://www.mdpi.com/1424-8220/23/14/6635==
:::spoiler **Answer from last year**
**Jerry:** Similar to the Plastic Scanner I recently found this: https://caoyuan.scripts.mit.edu/ir_spec.html
:::
# Exercises Week 2
## Excercise 1: Start sharing your documentation
- Write a simple introduction to your project assuming that the audience is new to the topic and not familiarized with it.
- Make it in a format that can be easily edited, presented, and shared online.
- If you are just getting started, we recommend starting with Markdown and hackmd as a platform to present, share and get feedback.
- This will make it easy for the mentors to comment and help you out)
- Alternatively, if you have already a git repository or documentation published in a platform of your preference feel free to reuse that and avoid repeating yourself.
==Andjela has alredy shared the document about== [Early forst fire detection](https://docs.google.com/document/d/15w7udvruEpHY5o-p7Ppm_-zskGpzJsnTySIWPqLy7Kg/edit)
:::spoiler **Answer from last year**
**Vincent:** https://github.com/studiorabota/hello-worm
:::
## Excercise 2: See how others do it
- Find an open source project, this can be one that you found last week, and see how they did their documentation, it can be handy to make an overview or to write down what you liked and what you did not like.
- You can do the following:
- Reflect on how open it is and how easy it is to get started with it.
==https://github.com/OpenIPC It starts with the wiki page which is so nice and accessible to everyone. I have nothing to add.==
- Reflect back on your documentation to see if you can improve it based on looking at other projects.
==To be done==
:::spoiler **Answer from last year**
**Nanami:** Elektronika-1 A replacement module for a USSR made vintage LED watch
I decided to pick the [ELEKTRONIKA-1 - A replacement module for a USSR made vintage LED watch anno 1978](https://github.com/BenjaminSoelberg/elektronika-1) project by Benjamin Soelberg.
>Why? It seems to have some decent documentation, and it revitalises old hardware, which is a good challenge.
👍 Liked:
* Pictures of the actual device
* Some background about the original hardware
* Good high level overview
* Lists practical performance and limitations
* Hardware motivation
👎 Could be improved:
* Repository images could be in a subdirectory (it's messy now)
* Software setup / microcontroller programming could be explained
* `docs` directory seems to contain mostly background research material, should perhaps be somewhere else
* Add a little video in action
* In general not set up fully for reproduction (but given the niche nature of the project, that's understandable)
But all in all, the project is all available if you are willing to take the time to sort through the files. Given how niche it is, it is a commendable effort. I have seen much much worse.
:::
## Excercise 3: Make a plan for the future
- Make a checklist of what your documentation should look like by the end of the program.
==To be done==
- Assess if it is too much for your current status or is a good match.
==To be done==
:::spoiler **Answer from last year**
**Nemo:** LED driver board documentation targets
*This pertains to my LED driver PCB sculpture project. When the hardware is tested and finalised the documentation should contain*
# Week 3 Excercises
## Exercise 1: Create a first value proposition
The goal of this exercise is to frame explicitily your project by writing down the theory behind it. Remember the idea is that once you generate these hypothesis the next step is to design experiments that allow you validate them.
- Generate some hypothesis and ideas about your project using the value proposition canvas.
:::success
**Some tips and considerations**
- Consider that a starting point can be a product you want to improve, simply open source, or create a new version of your project (v.2.1)
- Think of the value proposition canvas as a specific type of camera to take pictures of the thinking and assumptions behind your project.
- This is a hypothesis generation tool (one of many) the point is to help you structure your hypothesis and organize them according to certain concepts that are common in product development.
- You can start from the square (left to right) or from the circle (starting from needs)
- Your customer or user can be yourself (this is quite common with hobbyist and DYI projects, even for the linux kernel and git this was the case)
- Substitute the "products and services" part of the canvas with your target features and specifications (performance, materials, costs).
:::
- Here are two templates for you to reuse. Feel free to extend your notes if needed.
**Template 1**
```
Here’s Moore’s original 6-step value proposition formula:
For (target customer)
Who (statement of need or opportunity)
The (product name) is a (product category)
That (statement of key benefit - that is, compelling reason to buy)
Unlike (primary competitive alternative)
Our product (statement of primary differentiation)
```
**Template 2**
```
# My awesome value proposition
## Jobs
(This might be unknown for some projects)
-
-
## Pains
-
-
## Gains
-
-
## Product features and specs (Products and services)
(This might be unknown for some projects)
This is like the core concept of your solution, key features and spects.
-
-
## Pain relievers
-
-
## Gain creators
-
-
## Other things you want to include in your frame?
(You can extend your framing with whatever you find relevant to make your project theory more complete)
- Deadlines??
- Desired outcomes???
```
## Excercise 2: Prioritize your target specs and features
This exercise is meant to help you specify what attributes of your product idea is essential. Which are those target specifications, features and functional driven goals that if met are going to make your project or next release relevant?
Here is template to help you get started:
|Priority| Features/ target specs|
|--------|-------|
|Must have| |
|Should have|
|Could have|
|Won't have|
## Exercise 3: Frame your next iteration
Now that you have captured hypothesis and ideas about your project. Pick an aspect, target specification or spec you think is critical, and frame an iteration of your project where you focus solely on these aspects.
::: success
**Tips**
- Set a goal or intent for this iteration (Is it going to be documentation focused? Focused on refinement? Testing and debugging something you have made? Or getting feedback from potential users?)
- Think of an iteration or sprint as a period of 1-3 months where you end up with a deliverable that includes what you build, why you build it, the results and the learnings.
- It may well be that your project is already functioning and yu simply need to focus on documenting it in the best possible way you can for the "customers" or target audience you are prioritizing.
- You might want to focus on a core component of your project (software, electronics)
- Or you want to test options of materials and find suppliers that allow you to lower the cost of the project.
- It can be a know-how building iteration where you focus on learning through different builds of setups to understand better the problem.
:::
## Exercise 4 (Optional): Generate an assignment
- Use your framing knowledge to generate an assignment or design challenge.
## References
[1] E. Graves, “Applying Agile to Hardware Development (part 1).” https://www.playbookhq.co/blog/agile-hardware-development (accessed Aug. 20, 2022).
[2] Playbook, “Hardware Development for Agile.” https://www.playbookhq.co/agile-hardware-development (accessed Aug. 20, 2022).
[3] “Manifesto for Agile Software Development.” https://agilemanifesto.org/ (accessed Aug. 20, 2022).
[4] S. AG, “Value Proposition Design Book - Preview & Download PDF.” https://www.strategyzer.com/books/value-proposition-design (accessed Aug. 20, 2022).
[5] “Problem Solving in Education.” https://educationforproblemsolving.net/methods/ed.htm (accessed Aug. 20, 2022).
[6] “Design Process - in Education and Life - for Problem Solving.” https://www.asa3.org/ASA/education/think/intro.htm#scides (accessed Aug. 20, 2022).
[7] R. Hubner, “Hardware design: ensuring specifications,” Zign Innovations, Jul. 19, 2022. https://zigninnovations.com/blog/high-quality-hardware-design-guaranteeing-specifications/ (accessed Aug. 20, 2022).
[8] “The Importance of Framing and Alignment on a Project | OwnerTeamConsultation.” https://www.ownerteamconsult.com/the-importance-of-framing-and-alignment-on-a-project/ (accessed Aug. 16, 2022).
[9] “Problem Framing,” Design Sprint Academy. https://www.designsprint.academy/problem-framing (accessed Aug. 11, 2022).
# Appendix: Framing tools for different purposes
The internet is flooded with framing tools, theories and methodologies of all kinds. This appendix aims to provide a range of framing tools to illustrate how varied is the landscape of approaches.
:::warning
Ultimately the goal of this lesson is to help you enrich your framing tool box and spark interest on this level of thinking about your technology projects.
:::
|Tool|Framing Focus|
|---|---|
[Value Proposition Canvas](https://www.strategyzer.com/canvas/value-proposition-canvas) | Generating hypothesis and concepts about the relationships between users/customers needs and product/services properties, specifications, or characteristics.
[Persona canvas (one of many)](https://www.revelx.co/blog/canvas-toolkits/) | Focused on empathizising with potential users/customers, understanding interests, pains,
[Job-to-be-done JTBD](https://jobs-to-be-done.com/what-is-jobs-to-be-done-fea59c8e39eb) | *"A lens through which you can observe markets, customers, needs, competitors, and customer segments differently, and by doing so, make innovation far more predictable and profitable.""*
[Business Model Canvas](https://www.strategyzer.com/business-model-canvas/building-blocks) | Integretad framework to tackle products from a "business" point of view.
[Open Hardware Busisness Models](https://www.slideshare.net/btincq/business-models-for-open-source-hardware) | A nice slide deck enriching business theory in the context of open hardware based on the business model canvas.
[Lean canvas](https://leanstack.com/lean-canvas)| A variation of business model canvas focused on startup processes.|
|[lean canvas for non-profits](https://blog.leanstack.com/why-and-how-to-model-a-non-profit-on-the-lean-canvas/)| This read explains how to use the lean canvas in the context of non-profit, social entrepeneurship. |
|[Gartner Hype Cycle](https://en.wikipedia.org/wiki/Gartner_hype_cycle) for Emerging Technologies| A theory about how technologies evolve and are adopted. |
|[Open Canvas](https://docs.google.com/presentation/d/1JbfKztGMmirUgWSAWv0SmdSkmwGqYVYxEIaTIZyg6B4/edit#slide=id.g1b30ce0bb1_0_90) | This canvas has been developed by the Mozilla Foundation based on the lean canvas with a focus on users and contributors and their relationships.
|[Private Public Partnership canvas](https://www.ppplab.org/wordpress/wp-content/uploads/2016/05/PPPCanvas-User-Guide.pdf)| Derived from the business model canvas includes aspects with a strong focus on PPP consortia.
|[Platform Design Toolkit](https://www.boundaryless.io/pdt-toolkit/)| Focused on platform design, these are complex business that develop market places and ecosystems where people exchange value (arduino is a good example, raspberry pi as well )
---
<ul class="pager"> <!--this is the style of the button-->
<li><a href="/C1eJ3lmSQ7ijtGi0FtTcGg">Previous Week</a></li> <!--This button takes me to the table of contents-->
<li><a href="/1kONu5gwSS6knAGnwcO5KQ">Next Week</a></li> <!--This button takes me to the previous page-->
</ul>
# Final presentation template
:::success
:wave: Hi, if you are here you are almost there to get ready for the final presentation.
This shouldn't take you more than 30 mins if you have been working in your project and doing the academy exercises.
- Consider this template the final deliverable of the academy
- Copy the template with your project name and remove supporting comments.
- Share the hackmd in our share-progress channel or via email to delftopenhardware@gmail.com. Make sure to make that hackmd public.
:::
length: 10 -15 minutes
## Read this guide before filling the template
- The main goal of the final presentation is to showcase the work that has been done during the academy at a project level, but also at a community level.
- The following template provides some fields for you to fill in to guide you and prepare for your presentation in a format that everybody is familiar with.
- Your project description is important to feature your project in our open hardware academy website and help you out reaching new people that might be interested in your work.
# Template (Copy this hackmd)
## Project description
**Name of your project**:
**Name of your author**:
---
**Brief description of your project:**
:::success
Tips
- Provide an abstract of your project
- This can be in the form of a simple value proposition based on our [Framing open hardware projects](/AHVevvT-SbOY2jq4FYdieg) lesson.
- You can rely on sections of your documentation.
:::
---
**Current status of your project**:
:::success
Tips
- For projects that are in early phase we recommend to show a simple hackmd or markdown file in a github repository with a description of the project intent, some features and planned developments that allows to use it as a first step to ask for help and get feedback.
- For projects with a prototype being developed
- For more mature projects close to a first result that can be an alpha or beta design we recommend to show a release or a release plan.
:::
---
**References to your project documentation**:
:::success
Tips
- For projects that are in early phase we recommend to show a simple hackmd or markdown file in a github repository with a description of the project intent, some features and planned developments that allows to use it as a first step to ask for help and get feedback.
- For projects with a prototype being developed a repository or archive that is public is recommended. Showcase your work in progress documented in your development plan. (If you are using github you can showcase project documentation in the form of issues.)
- For more mature projects close to a first result that can be an alpha or beta design we recommend to show a release or a release plan (We recommend to use github for this)
:::
### Upload your project to github or similar platform to make it findable accessible reusable and interoperable
- You can generate an open know how manifest using this tool: https://okh.makernet.org/form
- Once you do it put it at the root of your project repository (Github or alternative)
### Share a link to the peer review you did before
### Share link to the peer review you have received
## Share general feedback to the academy
### What did you learn and/or experienced that was useful to progress in your project
### Do you find that the estimation of 4 hours per week is fair to be able to perform the exercises?
### What things can we improve for next rounds