User:Kclascon/FSOSS 2010

From CDOT Wiki
Jump to: navigation, search

FSOSS 2010

This was my first year attending the Free Software and Open Source Symposium (FSOSS). I have always heard about FSOSS from other students but I really never had any initial interest in attending. However, that all changed when I decided to take the open source course. FSOSS 2010 was pretty interesting for me because a couple of people I knew were presenting and a couple of the projects that were presented I have already been introduced to; the Audio Data API, as well as popcorn.js to be specific. I was able to attend four presentations: Scene Creator by Matthew Postill, Web Audio by David Humphrey, Freebase and the semantic web by Spencer Kelly, and Popcorn.js and open video by Scott Downe. I planned to attend the Between Free Software and Open Standards: the Business Model presentation by Louis Suárez-Potts but unfortunately it had gotten cancelled. I really wanted to volunteer this year but the spots filled up pretty quickly and I did not get a chance. The two presentations that will be discussed into further detail are Web Audio, and Popcorn.js. I found the whole open source viewpoints between both presentations to be very similar; audio and video do share similar syntax and other attributes in HTML5, so it is to be expected.

Web Audio

The first presentation that will be described is Web Audio presented by David Humphrey. The presentation that David conducted was about the Web Audio API that will ship with Firefox 4. He is one of the key players in the development of the Web Audi API. Dave briefly talked about his work on processing.js, a JavaScript library that can be used to create images, animations, interactions, etc, without relying on Flash or Java based applets. He then mentioned people used processing to visualize data sets, which can be statistical data, video, or even audio data. This is what led into the work of the Web Audio API; a way to take audio data and visual it, or even drive applications based on audio signals. A large number of demos showing the capabilities/functionality of the Web Audio API were presented, making it a very interesting presentation. As Dave stated, “Part of our goal was to prove to the web, to prove to musicians, to artists, and so on, that JavaScript, can do real time audio manipulation.” Apparently many people had doubts about audio manipulation in JavaScript because they thought it would not be fast enough to do all the computations. Dave also mentioned the work with the Web Audio API kicked off a standards track with the W3C. Currently, the Web Audio API will only work with Firefox 4, but hopefully the standard will catch on, and it will be available on other browsers.

After the initial introductions about the Web Audio API, Dave dove right into presenting a bunch of demos that showcased the various features of the API. He started out with the basic HTML5 <audio> element. Eventually, he went over demos showcasing FFT, beat detection, inverted wave cancellation, stereo splitting and panning, IIR filters, biquad filters, sampling, and so on. It was pretty mind boggling that all of this audio manipulation was possible from a browser, even more so using JavaScript. Another important section of Dave’s presentation was how this Web Audio API can be used in conjunction with accessibility. The whole notion of being able to represent sound as something visual was presented. Someone who is not able to hear sound should still get a chance to experience it. What better way to do this then by creating visualizations? The Pocket full of HTML5 demo which used the Audio Data API was then shown. This demo took a song and let the user choose from different visualizations types. Dave also presented text to speech functionality that is possible by using the Audio Data API. The text to speech engine was interesting because the other text to speech engines I had experience with were fully fledged applications, requiring installation. The Audio Data API version however, allowed the same functionality to be run from a browser. The next demo which was Dave showcasing sxfr.js, a JavaScript library he created by porting the original sxfr code. The original sxfr application basically was used to generate random 8-bit sound effects, commonly found in older generation games. The user could select a base effect to use, explosion for example, then tweak various options to customize the sound effect to their liking. I found it amazing that Dave quickly and easily ported a whole application into JavaScript. I seriously did not think JavaScript was so powerful. Nearing the end of the presentation Dave showed a challenge to HTML5 that a Flash developer proposed that can be found here. If someone can recreate the flash button in HTML5 he would eat his Flash CDs. Well in response to the challenge, this demo was created. I seriously did not even know that was even possible in HTML5. It just goes to show you what great innovation will only come in the future. The last demo that was shown was called the Flight of the Navigator. It was created by Dave and a team of other people to showcase the new functionality that will be shipping with Firefox4 (Audio Data API, 2D/3D capabilities, etc). It also used live data from Twitter and Flickr to use in the demo. There was seriously some pretty amazing stuff displayed. Based on the capabilities shown here, I guess a new plateau for web developers can be set if they have access to these new tools.

Viewpoint on Open Source

From listening to Dave’s presentation, I believe his viewpoint on open source to be that on the web it “should” always be open. This is especially true when looking at the context of the Audio Data API he presented. People should be able to create sound without having platform dependencies, having to install anything, or even without needing to purchase expensive audio engineering software. Dave also stressed the whole learning aspect of open source. One can simply view the source of a page, take it as a starting point, and eventually build upon it. Better yet, one can even creation something completely new from it. I feel you learn more by seeing and doing, rather then just seeing. This promotes getting engaged and learning; a very stark comparison vs. many closed source projects. It is impossible to look at any source code in proprietary closed source applications; therefore the learning aspect is non-existent.

Popcorn.js

The second presentation that will be discussed is Open Video and Popcorn.js presented by Scott Downe. Scott is a CPA student at Seneca that is currently working for the Centre for Development of Open Technology (CDOT). He has actively worked on both processing.js as well as popcorn.js. Similar to Dave’s presentation about the Audio Data API, Scott’s presentation consisted of various demos showcasing the functionality of popcorn.js, processing, and other open video technologies. One interesting feature was the dynamic subtitles through the use of popcorn.js. It used Google translate to translate subtitles to and from different languages and display them as a video is playing. Scott then went into a brief discussion about Open Video. He stated it started out with a codec called VP8 that the company On2 Technologies owned which was initially closed source. When Google bought out On2 Technologies the open source community wanted to open up this codec to be used with open source video on the web. WebM was the file format that uses the VP8 codec that is commonly used with HTML5 pages that have the <video> tag. He then mentioned even if the end user’s don’t pay to use/view videos on the web using these codecs, other parties still do. For example, browsers, companies, manufacturers that want to use these codecs in their products. Another main topic of Scott’s presentation was Cloudsourcing and how it relates to open video. He described a project call Star Wars uncut, where the originator asked different people to film 15 second clips of the Star Wars movies, which he would then put together and make one movie. The main point here was the collaboration part. It is no doubt easier for a bunch of people filming 15 second clips as opposed to one person doing the whole movie.

Mozilla Drumbeat was the next main topic if Scott’s presentation. It is basically a project by Mozilla to gather support from people to ensure the web will remain open for the next 100 years. Web Made Movies is a project that is part of Drumbeat that is aimed towards the collaboration between movie makers and web developers. Scott then talked about and showed some early projects that are under development in CDOT, videoSequencer, a way to combine multiple videos and play them as one. Candy.js was another early project, it is basically a JavaScript library that allows people to use various effects on their HTML5 videos, black and white, sepia tone, green screen effects, and so on. Pretty interesting stuff since students in my open source class are actually working on those two projects at the moment. Popcorn.js was the next project that was discussed. It is basically a way to use timed events with a video to display different things on the page; the subtitle functionality is a prime example. Popcorn can also consume and display semantic data, Twitter feeds, Google map data, Wikipedia articles Flickr photos, and so on. Using Popcorn one can use timed events to pull different semantic data and display it as the movie plays. For example, if a person is talking in the video, his/her Twitter feed can be pulled up, or a Wikipedia article about them. Scott then showed some code example on how to use Popcorn. Universal Subtitles was the next topic of discussion, a website that uses an interface that generates subtitle data. Instead of writing the XML file for subtitles by hand, Popcorn hooks into Universal subtitles instead. The next two features that Scott presented from Popcorn are very new. I knew about and used a bit of the Popcorn library before attending this presentation and never knew these new features were added. The two features are the script command, and the website command. The script command allowed timed events to be customized by the developer; they write their own start and end functions, Popcorn takes care of the timing. The website command is similar but will load an entire webpage in the specified time range using a target div.

Viewpoint on Open Source

After watching Scott’s presentation it seems his viewpoint on open source revolves around the “freeness” of video on the web. On one of his slides he had, “Free: As in free beer”, and “Free: As in free speech”. I could also see his view of the "openness" of video on the web as well. Seeing as the whole Open Video movement is aimed towards this. Another point that was brought up was collaboration. By making video open and free over the web, it allows people from different disciplines, places, and so on to collaborate on video project. If many people work on the same project, it will reduce the creation of new projects that have similar functionality thus limiting redundancies.

Comparison

In light of the points made by both Dave and Scott, one can say that open source should be about openness and freeness. The technologies used on the web should be open, and not platform dependant or restrained by proprietary technologies (codecs, applications, and so forth). The source code should remain open, and should be easily available for others to see, use, and even contribute to.

As I stated earlier, both of these speakers have very similar views. Just as how video and audio can be seen as similar, their views are sort of reflected in this similarity. Both Dave and Scott had similar points about stressing the openness of both audio and video on the web. Using their respective projects as catalysts, they allow other people to be able to manipulate audio and video without the constraints such as platform, plug-ins, software, licenses, etc. Another similar view both speakers had was collaboration. In an open source community collaboration is everything. By making the tools freely available it entices different people to participate. It also lets people become active members of an open source project and help with the development. As an extension of this collaboration view, they also seemed to share the view about creativity. Dave and the Audio Data API will allow web developers and musicians to work together to create new and innovative sound applications. Similarly Popcorn and other Web Made Movie projects give web developers and movie makers the tools to create and manipulate movies. Scott likes to advocate the whole remixing code is similar to remixing movies, showing there is a relationship between developers and movie makers. This relationship can also be seen with developers and musicians.

Conclusion

The picture of open source I’ve seen presented in these two talks does confirm most of my initial views on open source and how it functions. Collaboration and unity within a community seem to be very uniform views in the open source world. One aspect that broadened my view about collaboration within the open source community was evident in both presentations; this was the building of relationships between the developers and the non-developers. In the Web Audio scenario, developers and musicians, whereas in the open video’s case, developers and movie makers. Originally I always use to think open source collaboration was mostly developers, developers and more developers. Of course, this assumption was incredibly closed minded, and I am glad these presentations shed some light. I am now aware that anyone can become one with the open source community, there are no constraints, or restrictions; if one has a will to learn and contribute the open source community is always open.

Another view I initially had about open source that was reinforced after attending these presentations is the need and the will to make the web more open. In both Dave and Scott’s presentations, they both showcased new technologies that will no doubt help in this endeavor. The Audio Data API will allow anyone to be able to manipulate audio without needing to purchase expensive software. Similarly, the open video technologies such as popcorn will help lower the dependencies on plug-in based technologies such as Flash and Java. By simply using the power of the browser the ability to create is almost endless. All in all both presentations showed the true spirit of open source and proved to me that in the future keeping the web open may not be so impossible.