My interest about the topic came up when I had to work with Arduino in Finland. First, it seem that the current interfaces of these prototyping tool were already easy to use. i.e. Arudino, Rasberry Pi etc... However when I started using them it seem to be quite the opposite. Let's me explain
To begin with, the world of prototyping is divided into three sectors.
These things are inter-related as one part usually feeds into another.
The Microprocessor, The Electronic and The Construction
Let's start with The Microprocessor and let's use the Arduino as an example. Arduino on its own is relatively easy, there are slots that clearly laid out what it is and what can you do with it. It can calculate and process calculation then feeds it back to the computer screen. The physical interface is simple. To connect you just need to plug it through a USB drive and then you're done. The coding of the arduino might requires more attention, some people might finds it to be almost too hard to dealt with because it requires logical thinking and some degree of understanding the programming language. However, the instruction to do most of the basic projects are widely available thanks to the internet. Finding the right part of the code that you need or asking for help are relatively easy. However, some might argue that the understanding someone else code is time consuming and frustrating but it is a lot easier to 'debug' , or to put it simply, locating where the problem is than doing in with purely the 'hardware' interface since you can track and trace the values or the command that may cause the problem.
Now, we come to the next two things which almost goes hand in hands together. These are the electronic and the construction. These two aspects can be part of the same thing or totally different depending on the use of the maker or the specification of the prototype.
However, the are certain issues that often embodied within these two aspects.
After I have been playing with electronic for a while, I have realized that the physical interface of these are not friendly. For exmaple, I often look up on the internet just to make sure which leg of the component represent the positive, negative or information that can be hooked up and trace by Arduino. I have to be aware that the resistor contains different color stipes which reflect different values. I have to learn how to use a breadboard properly seeing how its properly works. These are just some of the issue that I found. Here is the complete list
- Understanding component - some component allows you to plug it in from any side, there is no need to worry about where the negative or positive side should be in. Some components like button required the user to be able to interpret its construction inorder to put them into the correct place. The color stripes on the resistor indicates how much electrical resistance it has which the user also has to do proper multiplication before knowing its resistance value. Breadboard requires the user to understand its construction first before playing around with it. Many product line comes with all sort of variations. For example, 7 segment displays come with all sort of version. some have the ' : ' in the middle. Some have the different ways to control them and since there are no clear instruction how to controls it, it puts all the responsibility to the Maker to find out how its works.
- Reliability - Although not very often but the component can fail. This might be from supplying too much power, mistakes via soldering, faulty at the start or from even dropping or placing the component in the wrong way around. When the component goes faulty, there is almost no way of telling that it has been broken until the user starts to debugging every piece of hardware using tools like multi-meter and power supply to each aspect of the component. This issue also goes hand in hand with the issue of skills which will be elaborated later on.
- Knowledge - Since we are dealing with electronic, there will be a lot of times where the 'amateur' becomes confused why his/her circuit didn't work properly. This might be from not knowing how electronic flows works ( the placement of pull-up/down resistor), supplying too much or too little power or putting the component in a way that it wasn't intended to. Some amateur users stated that it is very hard to see or sport the problem with this due to the fact that the 'flow' of electricity is not visible thus left them clueless of what is going on inside these component. Thus, makes them question "what exactly is going on?"
- Skills - This one the one of the most problematic of all. Most of the problem often comes from this. Doing electronic requires a lot of skills. Making sure that things are soldered on properly, making sure that all the component and the wires are not loose and even make sure that all the component that you are using are in the correct working manner. Most of the electronic problems are mainly to do the with the user being unorganized and leaving loose wires/component on their circuit. Most of the amateur that I have been taking to seem to aware of this but it is not a habit where they can change very quickly.
- Tools - This may or may not become a main issue while you are doing your electronic at the start. Product such as breadboard and jumper wires helps you make your circuit without many tooling, however not all components fit with the breadboard. Some sensors have been built in a way that requires you to solder wires on it and then put them either on the breadboard or straight on to the Microprocessor (Arduino). Tooling becomes more useful when trying to figure out how the component works or checking that it is working as it should be.
With all this aspect in mind, I found this quite interesting. Why should making things be hard? Why does not components needs to act almost like a mystery? Is there a needs for the component to be in this way? What is the benefit of it to be in this way? What can I change to make it become more pleasant and more reliable. So that they Maker can focus on the code and not placing any worries on the electronic construction and in what form would be best?