The fact of the matter is many people in the humanities are intimidated by high level programming languages. Many people know some form of coding, the more common are HTML and XML, but the high level coding such as Python, Java, and C++ seem to overwhelm those who have never needed them before. In the digital environment of scholarship I would argue that most, if not everyone, should at least be familiar with programming languages. Usage in blog setup, website design, and data analysis is something that all humanities can use.
I was intimidated at first --I have little to no math or coding skills—but I started with baby steps. I know there are a lot of humanitarians out there that may be in the same boat so I felt the need to share my strategy. Here are the steps I took:
1. Know the canvas. What are you studying and what kind of analytics do you need for your research? After I found that visualizing data was a grand idea. I then discovered that most data analytics involved some programming manipulation and tools that required a rudimentary knowledge of a computer language. I then set out to research what tools I could use for my projects and what coding I would need to use them. In visualization I found there were three main languages people used, Java, Python, and C ++ with R, XML, and other languages thrown in there. So which to choose?
2. Choose the language: I started off asking anyone I knew about what I wanted to do and which language they thought would work for me. That got me nowhere because everyone has a bias to the language they learned. This did, however, give me good context to couch the rest of my search on. I also asked these individuals (found through word of mouth, social media, school, friends) where I might find tools to accomplish what I thought I needed for my analysis. They gave me a lot of tips for tools, some open-source some not, to look into. Open-source examples include Many Eyes, D3, R suite, Google Charts etc. Some of these, I was happy to find out, did not require coding. However, I also saw that the more powerful tools were more customizable when using code so I continued on my search. Until I found a tool to use I set aside deciding what language to learn.
3. Choose the tool. What tool to choose was difficult because there are just so many out there. I found through research that there were different components that one or more tools could help facilitate –such as gathering, sorting, and then visualizing data (by no means is this an exhaustive list). So now I was not looking for one tool but I now had the possibility of looking for multiple tools. I made a list of all the actions I needed and then found a tool that met as much criteria on that list –regardless of price and availability of the tool. I did not take into account price and access because, let’s face it, there are so many tools out there that if I found one that I liked that was not open-source, or that I did not have access to, I could find one that was close enough in the open-source world.
The tools I found were:
TaDaweb is a way to gather datasets from public data feeds without coding skills. think of it as mash-up creator that lets non-technical business personnel target public data feeds from which they want to extract very specific, but constantly changing data. There is a graphical interface to accomplish this, meaning that technical knowledge is not needed to make the mash-ups. Think of the brain-child of Pinterest and Yahoo Pipes– that is TaDaweb. The basic package is free and if you want to upgrade…well it’s so new they don’t have pricing yet for that. http://www.tadaweb.com/
Oinoi is a visual analytics tool that the basic functions are free. You can upload your dataset in tab delineated or comma delineated (I like comma better). After you upload your data you can change things around and look at the visuals produced. If you want examples before you start playing with it click on the Try it now hyperlink at the top of the screen and select one of the hyperlinks at the bottom of the screen for examples sets they have. By clicking on the Dashboard icon on the left of the data screen you can play with the visuals. This is the one I mentioned in class. http://oinoi.com/index.php
I found that I was consistently being enticed to try to use the more “fancy” visualization tools (listed in #2) but for what I am researching I needed a quick and easy way of visualizing my large data sets. Oinoi worked for me and it has an easy UI. I didn’t want to gather all the data myself because a larger set of data was better for my research and doing that by hand would be a waste of valuable time –hence TaDaweb. Choosing tools that fit your project is very important because too many bells and whistles, or not the right format, will draw resources away from the project.
4. Plug the data into the tool(s). Finding a tool that I thought was going to work was very different from actually using the tool and the tool working the way I wanted it to. I tested these and they all work just the way I wanted them to. This is not to say there aren’t other tools out there (please post any you know of!) but these are the ones I found to my liking.
5. Back to choosing a language. Wait a tick; these tools don’t require any programming at all! That is the moral of this story. If you are not comfortable with coding and computer languages then you are not shut out of using analytic tools. There are tools out there made just for you and your needs. Here is a very handy list of visualization tools from easiest to use (i.e. without coding or too much coding) and the harder ones that need coding: (again not an exhaustive list) http://www.netmagazine.com/features/top-20-data-visualisation-tools
6. Wrap-up to if you DO want to code: The journey I just described is meant to give you all hope if you are semi-IT-phobic. However, I did indeed want to learn a code for future use. After using the non-code tools for the project at hand I then did an analysis on all the tools I found –looking at the functions, features, prices, access, and most of all coding. The tools I would need for my research that did involve coding came back with two main languages for visualization- Java and Python. I then looked at user manuals for each, availability for assistance and/or additional training if I wanted it and I found that, in my opinion and for my needs, Python had more support and versatility then the other languages (again I did not look at all of them). So that is the language I am learning (I can write another blog on THAT process if anyone is interested). One note is to make sure you know what your ultimate goal is and what language will support that and, therefore, have more longevity for your hard work. The other note is that some of the tools mentioned (an example is Google Chart) show you example code and the output visualization so that you can learn by trial and error. This also has helped me immensely.
A caveat to all this: Acknowledging that most information specialists can use pre-programmed tools to aid in the programming landscape I believe that in order to be fully cognizant of your platforms and the inner workings of content it is within a student’s best interest to have a cursory understanding of a language. Too often do I speak with fellow students who believe that the codification work is “messy” or “not their problem” -essentially working in blissful ignorance to what is going on around them. I encourage everyone totake the initiative. Understanding all the pieces of the whole will enable you to find better solutions to problems, where enhancements can be made, and most importantly how to work smart and not hard and bring those lessons to the rest of your academic relationships.
This not only addresses learning programing languages but also to learning any number of “messy” topics that are associated with information management. In actuality, using tools that do not require coding work first might be a great way to test the waters to see if you need to learn a full-blown language and what functionality you want to be familiar with before you learn the language. Identifying your needs early on will make sure that if you do go down the coding path you will at least know where you want to end up.
I encourage comments, tips, and more tool suggestions below!