We’re All Just Trying To Figure Stuff Out

Recently I read a chapter from Erika Hall’s book, Just Enough Research. Granted, it was only chapter two, but there was a message that the writing clearly delivered: research is something you should be doing a lot, because it is useful. The information was given in the context of being a professional designer, but it left no doubt that research is useful for everyone. Sometimes you must divide the work out, sometimes what you’re researching for will be different, but more likely than not, one benefits from not restraining themselves to a sheltered box.

I usually don’t think of myself as a researcher; I’m a computer science major. If there’s something to be coded, I usually don’t ask why, and the resources to do it are given to me. The type of people I expect to be doing research are historians nose-deep in some encyclopedia thicker than my skull, trying to figure out what word the ancient and proud people of the Snooga-Bloomba tribe used to describe their own fecal matter. Sometimes I like to compose music, an activity that doesn’t involve discovering the socioeconomic repercussions of using white paint instead of yellow in a bathroom. I’m not a researcher, I’m a guy who just does things, right?


As it turns out, typed think pieces are a one-way medium of communication, so unless I suddenly develop psychic abilities I’m going to assume that you think the answer is no. Pat yourself on the back, you guessed correctly.

When one is in school, they will probably be reminded quite a bit about how the “real world” is different. (I know I am.) Well, in the real world, sometimes you aren’t told exactly how to solve a programming problem. There’s no professor telling you to implement a binary tree because he said so. In fact, you may be given a problem, and not told how to implement a solution, or even what a solution should look like. Sometimes, you must find problems on your own, just so you have something to do. Such situations involve research. In actuality, the usefulness of research is probably more widespread than one realizes.

As it turns out, if one ever wants to embark on their own project outside of school, they have to do their own research to figure out how to do it in the first place. Computer Science is actually an incredibly large field, and your college or university can never hope to teach all of what it encompasses in a reasonable amount of time. Even if they could, a good amount of what you learned may be obsolete by the time you graduate. Would you be interested in specializing in databases and how data is stored? Or maybe you would rather focus your efforts on how computer A can send data to computer B over the internet. Perhaps you want to create an artificial intelligence, your own operating system, search engine, a video game engine, or algorithm that can trace an object as it moves through a video. All of these things require some sort of specialized knowledge that someone can sink years into obtaining and mastering. Therefore, any sort of personal project involving programming or scripting in any way may entail many evenings of creating 50 different tabs in your web browser and gleaning information from the depths of the internet, hoping someone else found a solution to that one error that is between you and your goal, and that no one else in the entire universe seems to have encountered in quite the same way you have. (Either that, or someone has encountered it, posted a question about it on a forum, and was only answered by themselves, saying that they solved it but not how.) Computer science requires a gigantic amount of research.

One example happened to me as recently as this past summer. (The summer of 2017.) A professor recruited three computer science majors — including myself — to try and improve her website project. The website in question provided exposure to humanitarian projects, and she wanted to use human computation to alert project owners if their project pages were not being maintained and to make sure such alerts were correct. In this case, the problem was already defined, but we still had to design a solution.

A system was already in place where users could tell the project owners if any links were broken, or if their project description was informative enough. To get an idea of the field we were dealing with, the three of us read academic papers about human computation, and how it involves humans performing work that is difficult or impossible for computers to accomplish. Also needed were studies about how to trust and/or validate user input. Perhaps we could have multiple humans rate the same project, and take the result that appears most often? Maybe the process could be more engaging if the human computer was made to feel like they were playing a game? Conceivably a user may continue a certain activity if they feel they are receiving recognition for their actions. Are there models in place that have already been shown to work? These were all thoughts and ideas that were passed around while attempting to find and design a solution to the problem.

Our proposed solution involved making all comments made on a project public, and allowing them to be upvoted and downvoted, similar to Reddit or Stackoverflow. A user with enough upvotes would level up, and users with higher levels would have a larger weight on a project’s rating, presumably because they had been deemed more trustworthy. Even after coming up with a design, research did not become irrelevant. Reddit users have a known tendency to “bandwagon”, or mass upvote or downvote comments or content, regardless of the subject’s actual quality or merit. After bringing this point up in discussion, it was decided that comments should not have any more or less weight towards a project’s rating depending of the number of upvotes they received. An exception was given for sufficiently downvoted comments, which were presumed to be “bad” comments which the community would deem to have no value due to inaccuracies or inappropriate behavior. These would be given no weight in a project’s rating. In this way, accepting additional information and allowing a design to be reformed allowed the system to minimize the impact of bandwagoning.

An understanding of how human computational systems and how they can be abused or exploited would not have been reached if my colleagues and I had assumed that we already knew enough from the moment the project was assigned to us. Granted, we never had an opportunity to interview users who might have used the system, and the amount of research wasn’t large enough to require splitting the research or organizing it in a particular way, but that didn’t stop us from trying to learn something in order to reach a better solution.

Sometimes one may be told that there isn’t enough time to do research. However, I believe that if one wants to reach a correct solution or design a well-made product, it will save you time. I produce music for a hobby. Learning how to learn things is an absolute necessity, because there are so many details that casual listeners take for granted. Subjects like mixing, compression, equalization, limiting, and more are essential to create a track in which instruments are not unpleasant to listen to because of peaking frequencies, and in which every instrument that needs to be heard can be heard. Anyone who tries to produce a song without knowledge of these subjects will more likely than not create something sub-par. Spending the time to research the details of the craft may have yielded them better results. (Practice is also required, but that’s another topic for another day.)

The truth is, because I am a computer science major, I research a diverse set of topics all the time. The nature of what I research and how I research may be different then a missionary who takes a hands-on trip to Africa because they want to gain information useful for designing an efficient and cost-effective water purifier for the natives. However, it’s still research conducted so that I may gain information. In that regard, I’m not much different from any other professor learning how subatomic particles work, or journalist conducting a poll to figure out how many locals use the library, or a elementary school kid reading why vinegar and baking soda react. We’re just trying to figure stuff out, gosh darn it. Knowing stuff is useful.

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.