When I hear about User interface, I would think about a translator or a adaptor between users and machines. In my perspective, human would not understand how the machines work unless they have put a lot of effort to learn already. We usually do not perform behaviors like what machines or computers do because we were born in different “system”. Therefore, when we want to communicate with someone/something in different system, a interface is required for both sides. I like the idea, UI frameworks can be almost as complicated to learn as a new programming language, which is taken from my ICS 314 course. It made me think about that interfaces and languages both have the concept of communication and interaction. If the interface are able to translate users’ command with their own natural languages, it would reduce time consumption for learning how to use the UI. I believe learning how to use a UI is inevitable for programmers which can significantly improve efficiency while developing anything in the field of computer science.
In the Spring of 2021, I learned how to use Semantic UI to create a website. It was helpful because I could use the components which were provided, rather than just creating one from myself. The buttons and the icons are the simple examples and they are easy to implement as well. One thing that bothered me is there was no explanation and warning when conflicts occured. Sometimes, I added some classes to the html file and made some changes to the css file, and ended with no change. It was frustrated when I had no idea to do the trial-and-error. I remembered that I set the color to white in my css file and the font color kept remaining black in my UI Frameworks WOD, and I failed the WOD eventually. While the website are becoming more complicated, the modifications are becoming harder due to potential conflicts between components. I do appreciate that a lot of building blocks that are provided for usage when we are creating the website. However, mastering how to manipulate them is essential to improve efficiency, otherwise, I guess more time could be consumed.
Since my major is Molecular and Cell Biology, I attempt to connect the UI concept with the field I familiar with. Even thought It is weired to compare one thing is biological and the other is not, I do believe some characterestics might be shared because UI is invented by human. I guess the easiest thing I could connect is ribosome, which is treated as translators. Because their job is actually called translation, which translate mRNA to protein, I want to suppose the ribosomes could be the UI for the DNA(users) and the proteins(such as machines). It is interesting to recognize even in cellular level, organisms stills have two different “language” systems. The reason might be it is beneficial for them to separate genetic materials(DNA) and working machines(proteins), or it just the gift that the God gives organisms for no reasons. I have no clue to prove my hypothesis, but I want to mention here is the contrast. Is it beneficial for us to separate the low-level programming languages(assembly language), the high-level programming languages, and even the natural languages? Or is it just invented with no reason? Is is possible to compare the relationship between human and machines to the relationship between the God and human?
If a more rigorous comparsion is required, DNA would not directly get the feedback from ribosomes. There are other mechanisms for assisting the side of DNA to know whether the machines(proteins) perform properly or not, such as sending signals back to nucleus to alter the gene expression(commands/orders). Besides, whether the DNA could act as the user or not is unknown as well. Furthermore, I compare that DNA as the user and proteins as machines in cellular level, but brain as the user and other parts of body as machines might be the other comparsion in the individual scale(a lot of UI could get involved in the scenario).