2009 Internship Reflection ITEC 4900 Student Internship Spring 2009 Kyle Veitch This Paper details the ITEC Internship projects created by Kyle Veitch and worked on during the spring 2009 semester. The first section discusses my expectations and goals for the semester. The next section will detail the software used in creation and support of the projects. The third section will discuss some of the challenges I had to overcome and the surprises that I came across during my work on these projects. After that I will discuss the results of the projects. Followed next by my conclusions on the projects and the course. Lastly I will discuss what I would like to do in the future using the skills I obtained during this course. Introduction When I signed up for the ITEC 4900 spring internship program I assumed that I would be placed by the college into an internship position which would consist of some form of help desk or lab technician job. I was pleasantly surprised to discover that although the college had knowledge of available internship positions it was entirely up to the student to secure them. My original idea of what the course would entail was entirely wrong. Firstly, students were required to create and maintain a professional quality resume. Students were also required to make their own connections with potential internships and interview accordingly. The internship I eventually chose under Dr. Jenkins allowed me the freedom to design and implement my own projects within the scope of the internship position. My projects consisted on developing and editing video tutorials for Dr. Jenkins JavaWIDE application. These tutorials were posted on both on youtube.com and embedded into the JavaWIDE site. Software In order to create my tutorials I made use of multiple software applications. Firstly in order to create the video for the tutorials I required a screen capture utility. There are many pay-for options for screen capture utilities, however without a budget for software my options were much more limited. In the end I chose a screen capture utility called CamStudio. CamStudio is an open source screen capture project which is free for use. While it is fairly easy to use, it is extremely limited in scope. Cam Studio allows for screen capture on a wide range of resolutions and formats. The output of the program can be saved as a .wma, .avi, or .mov. This was very useful during the production phase of my tutorials. For the editing of the tutorials I used a combination of Windows Movie Maker and Apple IMovie. Both of these programs were chosen for their availability and their ease of use. While Windows Movie Maker and Apple IMovie are much more limited than professional video editing software such as Adobe Premier, they offer most of the necessary editing option I needed for this project. I would definitely have liked to have used a more advanced video editing suite, however many of them are extremely expensive and therefore beyond my ability to maintain. However, with more advanced software I could create much more advanced tutorials. The last piece of software I use was Audacity. Audacity is an open source audio editing program. I specifically used this program to bypass some of the limitations of both Windows Movie Maker and Apple IMovie. Audacity is a fully open source project with many extensions and plug-ins capable of increasing its capabilities. Challenges and Surprises I came across many frustrations and surprises during the course of this internship. First off, as I had to capture the entire video for the tutorial in a single unedited sequence, I ended up having to repeat capture sessions multiple times after making minor errors. In time I learned to write a script for my actions and follow it. The script helped make each session more organized and direct with less mistakes and hesitations. Another problem I ran into was the capture software itself. As the movie files the software created were uncompressed they would often be multiple gigabytes in length. These extremely large files were cumbersome as I would often have to record multiple versions and transfer them from my laptop which I used to capture the video to my desktop or to one of the school computers. While experimenting with digital editing I came across many problems as well. My first versions of the tutorials made use of subtitles that were set directly against the background video footage. The subtitles were extremely hard to read. Eventually I decided upon a method where a banner of solid color provided a backdrop to the subtitles in order to add contrast. These banners however also caused a fair amount of frustration as only a limited amount of text could fit on each banner. That meant that many of my subtitles had to be shortened or broken into multiple segments in order to fit on the banners. Another major problem I came across with both Windows Movie Maker and Apple IMovie was the inability to layer multiple audio tracks to accompany one video file. This meant that if I wanted to have a video that contained background music and a narrative I must use another application to create a single audio file which includes both audio tracks, one superimposed upon the other. This meant that I would not be able to adjust the audio levels of each layer on the fly. This resulted in having to create extra versions of the audio files multiple times in order to tweak the background audio and the foreground narrative. My solution to this was to use Audacity for all my audio files and import the audio tracks into the video editing software as needed. Some surprises I encountered during the process were how quickly some of the java programming skills I developed years ago began to return. I was extremely surprised and pleased with how easy JavaWIDE itself was to use. The interface of the program is quite intuitive and the wiki based development platform is very helpful for reviewing your work and discovering how each program works. I very much enjoyed working with Dr. Jenkins as he was very easy to work with and had very specific ideas for how he wanted the videos done and what information would be contained in them. Overall I felt that the video tutorial process went very smoothly and despite all the hiccoughs there were very few setbacks (two weeks of jury duty not included). Results My final released versions of the tutorials are three separate episodes. The first episode is an introduction to the javawide platform and a simple program. This tutorial video takes the viewer step by step through the creation a “Hello World” program by the use of short text banners and example video. In the first video special attention is made to the JavaWIDE interface and introducing some of the basic tips and tricks of the website and application. The video contains background music from the creative commons repository. By the end of the first tutorial, users should be able to use the JavaWIDE interface to compose a simple program and save that program to their computer. The second tutorial video focuses on the JavaWIDE game engine known as FANG. IN the FANG engine tutorial viewers are guided through the process of creating a simple game using text banners and a video demonstration. The tutorial also again showcases some of the basic tips and tricks of the JavaWIDE interface. This movie also contains background music from the Creative Commons repository. The video features Opening titles and ending credits which contain information about where to go to find information on JavaWIDE. The third and final released video consists of a tutorial on more advanced features newly implemented in the JavaWIDE application. This tutorial makes use of both banner text and a spoken narrative to guide users through the creation of a simple game using the newly refined JavaWIDE interface. This tutorial also focuses on the creation of javawide user accounts and the recovery of previously saved code. This tutorial also shows many of the more advanced features of the JavaWIDE IDE such as integration of the Java API, code completion algorithms, auto importation of classes, and many other features. By the end of this tutorial users should be able to create new programs and open previously saved code as well as use some of the more advanced features of the JavaWIDE application. Part of my project aside from creating tutorials was to provide a method by which others could view my work in order to further the JavaWIDE effort. To this end I created a JavaWIDE Youtube channel in which all of the released versions of my tutorials will be published. The channel currently contains all three of my final video releases however there are plans for many more tutorials. Conclusion Knowing what I know now I would have done things very differently. Despite the cost for better video capture and editing software, I think I would have found some more advanced software to use. Both windows Movie Maker and Apple IMovie are extremely limited in what they can do. I think now that investing in a more advance video editing suite would have been a good choice for both my productivity and for the final product. I think that many of the pitfalls I encountered could have been avoided with a combination of better software and more forethought and planning on my part. I also could have benefited from brushing up a bit more on my Java programming skills. Knowing what I know now, I also would have made sure to encode my video under HD video compliant formats so as to increase clarity on youtube. Future Work Now that I have a better understanding of how to use both the JavaWIDE platform, my video capturing program, and the video editing software I would like to create more JavaWIDE content in my spare time. Also I feel that new avenues can be explored for getting JavaWIDE content into the eyes of potential users and investors. I would like to explore posting links to JavaWIDE or various social networking and news sites such as Digg.com, Slashdot.com, facebook.com, and many others. I think that with more advanced videos and enough social networking that many people could come to discover how great of an application JavaWIDE is. There is still much to show about JavaWIDE that the tutorials I created do not. As javaWIDE continues to grow and evolve many more tutorials will be needed to show off newer and better content. I would like to remain a part of the JavaWIDE project and I hope that future interns have the opportunity to as well.