A great thing about this program is that the start and end dates are flexible! I just started my DREU this week because I was abroad in Barcelona, Spain. I was able to work out the start dates with my mentor in order to complete my semester in Spain and have the opportunity to do this internship. Although I would recommend, if you can, start the internship on time. This is ideal because most Universities will have activities that introduce you to the campus and the other interns.
I returned from Barcelona on the 16th of June and spent a few days at home. On the morning of the 22nd I got on the plane and I met my dad at the Charlotte airport. We drove to campus and went to my lab, the Human Computer Interaction Lab (HCILAB). I arrived late in the day and my professor had already left, but one of the other interns helped me get my University ID card and then I went to get settled into my room.
I was lucky to have my dad to help me move in. I do not have a car here and the stores are not close to campus. My dad and I drove to buy a few necessities and then set up my room. I would recommend bringing kitchen and house supplies and not worrying too much about clothes. You will be working in a Computer Science lab, which is not a place of high fashion and you will need a pillow, towel, pots and pans...etc. If you fly, I recommend bringing as many essentials as possible so that you can save more of your stipend money.
The next day I went in to meet my mentor, Celine Latulipe, and we discussed her projects. Currently she has many interesting projects and was really open to having me work on any of them. Her main project is called Dance Draw. This project is working on different ways to incorporate dance and technology. In the past I have worked on art and technology projects, one involving dance. I am interested in continuing this work and this summer I would like to create visualizations that could go with a dance piece. I would like to work combining these two media into one piece of work. I believe that because traditionally "technology people" and "art people" are categorized differently, often a piece of art combined with technology can lack continuity. The "art people" meet the "technology people" at the gallery and they put the two parts together. Although this is an over exaggeration, I do believe that some contemporary art that incorporates technology lacks the same process that more developed art forms undergo.
To explain this idea I like to explain a simple in a context that I am very familiar with: painting. I have learned while studying painting that there is an artist process to creating a great piece of work. First of all there needs to be a concept and the desire to create, which technology-based art does have. Then you start working on the canvas. You choose the colors, forms and the composition, but you can never work the whole pieces at once because it is not humanly possible. As one area of a piece develops it affects other areas of the composition. You have to step back and locate these new disjointed areas and focus on them until they are fixed. These new changes will affect changes in the first area and you have to return and work it more. This cycle, what I like to call working “back and forth”, continues until all parts work together and the painting is whole. Sometimes the changes are small, like darkening a color, and other times they are huge, like painting over an entire area, but all changes are part of this important process. As an artist you have to be able to note the small changes and have the courage to get rid of a section that does not work as part of the whole.
Working with these distinct mediums, dance and technology, we need to apply this process. As the dance develops the programmers will need to view it and brainstorm ways to connect the movements and the visualizations. They also need to discuss with the dancers/choreographers about what they are trying to express with the movements. With this information the programmers/visual artists will work up a prototype and the group will meet again giving the dancers the opportunity to critique the visuals and the artists to see how the prototype works with the dance. This back and forth should continue until all parties are satisfied and the piece is whole.
Besides working on Dance Draw, I will be working on some purely technical projects. This week Celine asked me to write an Apple Script to run a few art pieces that she and another artist were sending to a gallery in San Francisco. I found some references and learned the basics of the scripting language. It is not a very complicated language and the request was pretty basic, but it being my first project made me nervous. If you do a DREU or any research there will be times that your mentor/boss asks you to do something that you have never done before. If you feel nervous, remember that you are here to learn. Think of the moments when something new is thrown at you as an opportunity to learn.
One of the great things about job experience is that you learn things that cannot be taught in class. For example, learning how to use all of your resources and not being afraid to admit personal error or not understand something. I know that computer science students NEVER want to be wrong about anything. Many of them spend hours reading technology blogs and buffing up on fancy terminology. Most of the time this beneficial, but what about the time when you do not know the answer or when you make an error? There are many people who know more than I do. I see this as a great opportunity because I have ample resources to learn from. It is normal to feel upset when you make a mistake, but the best thing to do is just keep going, learning and asking questions.
I forgot to mention last week I had to take an online course about proper conduct for research using human test subjects. As part of the Dance Draw project individuals come in and watch a video of a Dance Draw performance. While watching the piece we ask them to rate the dance on a scale from either "love it" to "hate it" or "Strong Emotional Reaction" to "No emotional Reaction". Along with this scale we attach galvanic senors to there non-dominate hand and measure their subconscious reaction based on sweat gland activity. After they watch the video we display their physical rating of the videos along with the video and record there reasoning behind the ratings. It is an interesting comparison between they type of art people believe that they enjoy and how they subconsciously respond. This week I sat in on a few trials so that I can in the future I can run them.
Along with finishing the Script, I did a little reading and started to prepare myself for my next projects. The visualizations that I will be writing for the Dance Draw project will be written in Processing. I did some online tutorials and played around with the language. It is a striped down version of Java and is really easy to use... so try it out if you are interested. I have not coded a big project in it yet so I will let you know how that goes!
The next project that I will be working on is a web application that is called the Choreographer’s Notebook. I am excited to work on this because I have never developed a web application before. The Notebook will be a place where choreographers can upload rehearsal video and add critiques to the video. The performers can go online and view the choreographers critiques and before rehearsal even starts they will have things to work on and think about. Studio time is expensive and the idea behind the Notebook is that choreographers can save time and money doing these important critiques outside of the studio and spend more time in the studio dancing. This is an innovative idea and I am excited to see if it is successful.
In order to prepare for this project I started to learn about the language and the platform that the Notebook is being developed in by a grad student. I will be using Adobe Flash Builder, which is an IDE for writing actionscript and mxml. There is good documentation provided by Adobe and so this week I worked through some of their tutorials.
I also started to get familiar with the code that is already written and this started to stress me out. I have always been able to work with other people and I am not the typical key board hog, but coming into a project that is far along in the development stage is a new challenge for me. There is little structure to the code currently and because I have never developed a web application, I do not have a good example of what it should look like. I know that sometimes just getting a project to work and then being able to test it for usability and popularity is important before doing a redesign, but from the standpoint of further development and creating well organized software, this project has a ways to go. There are a many bugs that need to be worked out, new features that need to be added and I do not know if I should continue adding to the current files or if I should restructure the code. This is a difficult decision because from a user stand point restructuring the code means nothing and if I do this most people will not be able to appreciate this difficult work. If I continue working with the current structure, it will be extremely frustrating, but the new development will be easily recognized.
So far The Choreographer’s Notebook has been a frustrating project because of the structure and because it is not something that I have done before. I think that as the final product becomes more developed it will be very satisfying, but this week I had a few other successes that helped me feel more confident in my abilities. The other intern in my lab is working on a desktop application that will help choreographers use technology. This week we went to a local cafe and I helped her write some java to dynamically place images on a re-sizable frame. We thought through all the logic, coded it, and it worked!
This week I went through all the usability errors and functional bugs of the Choreographer’s Notebook with the grad student working on the project. We decided which errors were the most important and divided them up. I Successfully rewrote the login screen so that it uses a form container instead of using labeled text fields and it logs in on the enter keystroke. This was not too hard, but it felt good to get something working and encouraged me to keep trying. I am also considering reorganizing the structure of the different pages. Currently they are organized using different states. When a button is clicked a new state will load. There is an other organizational method called ViewStack and I am doing some reading to decide if this would a better form of organization.
I am also reworking the applications control bar. This is a toolbar that is automatically part of every page of the application, but we do not want it to be on the login screen. We can remove it when the control bar is not docked (attached to the top of the screen), but we want the bar to be docked and out of the way. I think that this is a bug within the language and is something that I will have to work around. Although the documentation is good for flex, I am finding a few bugs like this one. They are not super important fixes, but they are annoying bugs that you think should be easy to fix and in reality they they are not.
I am still thinking about the overall structure of the code because as the bugs that I have to fix get more complicated the structure of the code becomes more important. I would like a good web application reference to get a better understanding of how to stucture the code. I would like to make it more modular, but in this context I do not know how what things should be structured into objects.
On a completely different note, DREU really starts to get you thinking about grad school. This week I have been thinking about where I would want to go, location, masters or phd, and studying for the GRE. At some point I would like to teach computer science. I am not sure if I want to be a professor, but I really would love to promote women in computer science and I think that this is something that you can do through teaching. I would also like to work in the industry, but I am not really sure what I would want to do yet. What I have heard is that after you get a PhD it is harder to get an industry job because you are over qualified. I think that this year I will try to move toward grad school, but at my own speed. I want my current work to be the most important and if this means that I take a year after my undergraduate degree, that is fine with me. With this free time I could get a job or even an internship and try to get more work experience.
Although I have not decided on any grad schools, I have started to list the things that I want in a school. After getting my undergrad at a small liberal arts school in a small town, I want to go to a bigger school in a big city. I lived in Barcelona for six months and I loved it. I think for my grad school location I would really like to be in an environment with a lot going on and a strong industry community. I also like the idea of a bigger university because off all the interesting course offerings that my small school did not have. I think that this is a good start to the application process, but beyond that I do not know much about the grad school applications. For computer science grad programs it is important to like the people who work in your lab, so I assume that I will need to go visit different campuses and meet the people I would be working with.