<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Scott Downe&#039;s Blog</title>
	<atom:link href="http://scottdowne.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://scottdowne.wordpress.com</link>
	<description></description>
	<lastBuildDate>Wed, 25 Jan 2012 18:51:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='scottdowne.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Scott Downe&#039;s Blog</title>
		<link>http://scottdowne.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://scottdowne.wordpress.com/osd.xml" title="Scott Downe&#039;s Blog" />
	<atom:link rel='hub' href='http://scottdowne.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Update on Firefox bug 677122</title>
		<link>http://scottdowne.wordpress.com/2012/01/25/update-on-firefox-bug-677122/</link>
		<comments>http://scottdowne.wordpress.com/2012/01/25/update-on-firefox-bug-677122/#comments</comments>
		<pubDate>Wed, 25 Jan 2012 18:16:26 +0000</pubDate>
		<dc:creator>scottdowne</dc:creator>
				<category><![CDATA[open source]]></category>

		<guid isPermaLink="false">http://scottdowne.wordpress.com/?p=484</guid>
		<description><![CDATA[Last night I thought I made a lot of progress on Firefox bug 677122. Turns out, I just made some progress. I am building another option as I type this, so things may still be better than I think, but we&#8217;ll see. What I have accomplished is getting a reference to the video element, inside [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=scottdowne.wordpress.com&amp;blog=14056265&amp;post=484&amp;subd=scottdowne&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Last night I thought I made a lot of progress on Firefox bug <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=677122">677122</a>. Turns out, I just made some progress. I am building another option as I type this, so things may still be better than I think, but we&#8217;ll see.</p>
<p>What I have accomplished is getting a reference to the video element, inside the video document, at the time the user clicks enter while selecting the address bar that has some media fragment data. Test video <a href="http://www.bluishcoder.co.nz/mediafrag/AudioAPI.webm#t=20,100">link</a>.</p>
<p>I also accomplished exposing the <a href="http://mxr.mozilla.org/mozilla-central/source/content/html/content/src/nsHTMLMediaElement.cpp#2148">ProcessMediaFragmentURI</a> function to this scope. This was my initial goal, and what I hoped could be the finish line. That function should be doing all I need and This is a huge step, but there is one small problem. That function crashes if the video has already been loaded.</p>
<p>I am still wrapping my head around why this happens. What I do know:</p>
<p>The existing code only calls ProcessMediaFragmentURI inside the <a href="http://mxr.mozilla.org/mozilla-central/source/content/html/content/src/nsHTMLMediaElement.cpp#2171">MetaDataLoaded</a>. So currently, this function is only ever called during a load.</p>
<p>So, from <a href="http://mxr.mozilla.org/mozilla-central/source/content/html/content/src/nsHTMLMediaElement.cpp#2151">inside ProcessMediaFragmentURI</a>, <a href="http://mxr.mozilla.org/mozilla-central/source/content/html/content/src/nsHTMLMediaElement.cpp#2878">GetCurrentSpec</a> is being called. It hits <a href="http://mxr.mozilla.org/mozilla-central/source/content/html/content/src/nsHTMLMediaElement.cpp#2880">line 2880</a> and checks if something called mLoadingSrc is true. If the video is already loaded, this enters an object, and starts the process of a termination of the browser.</p>
<p>I have options. I can either investigate this termination, possible bug, and make the ProcessMediaFragment function work on loaded and playing videos. Or, I can figuring out how to properly call <a href="http://mxr.mozilla.org/mozilla-central/source/content/html/content/src/nsHTMLMediaElement.cpp#1042">LoadWithChannel</a>, which will call ProcessMediaFragment inside a loading context. The later is what I am currently building, as it seem like the path of least resistance. But, I suspect it may not be the best solution in the end.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/scottdowne.wordpress.com/484/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/scottdowne.wordpress.com/484/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/scottdowne.wordpress.com/484/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/scottdowne.wordpress.com/484/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/scottdowne.wordpress.com/484/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/scottdowne.wordpress.com/484/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/scottdowne.wordpress.com/484/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/scottdowne.wordpress.com/484/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/scottdowne.wordpress.com/484/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/scottdowne.wordpress.com/484/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/scottdowne.wordpress.com/484/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/scottdowne.wordpress.com/484/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/scottdowne.wordpress.com/484/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/scottdowne.wordpress.com/484/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=scottdowne.wordpress.com&amp;blog=14056265&amp;post=484&amp;subd=scottdowne&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://scottdowne.wordpress.com/2012/01/25/update-on-firefox-bug-677122/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://www.bluishcoder.co.nz/mediafrag/AudioAPI.webm#t=20" length="13850685" type="video/webm" />
	
		<media:content url="http://1.gravatar.com/avatar/9b295c4ff211d10d006375d1625877e2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">scottdowne</media:title>
		</media:content>
	</item>
		<item>
		<title>Firefox bug 677122 so far</title>
		<link>http://scottdowne.wordpress.com/2012/01/23/firefox-bug-677122-so-far/</link>
		<comments>http://scottdowne.wordpress.com/2012/01/23/firefox-bug-677122-so-far/#comments</comments>
		<pubDate>Mon, 23 Jan 2012 19:33:37 +0000</pubDate>
		<dc:creator>scottdowne</dc:creator>
				<category><![CDATA[open source]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://scottdowne.wordpress.com/?p=481</guid>
		<description><![CDATA[I have been working on Firefox bug 677122 and have come to a sort of cross roads. The problem in the bug is that a media fragment of a video document will not update changes unless you do a refresh of the page. The media fragment parsing happens once the video&#8217;s meta data is loaded, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=scottdowne.wordpress.com&amp;blog=14056265&amp;post=481&amp;subd=scottdowne&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I have been working on Firefox bug <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=677122">677122</a> and have come to a sort of cross roads.</p>
<p>The problem in the bug is that a media fragment of a <a href="http://www.bluishcoder.co.nz/mediafrag/AudioAPI.webm#t=50,100">video document</a> will not update changes unless you do a refresh of the page.</p>
<p>The <a href="http://mxr.mozilla.org/mozilla-central/source/content/html/content/src/nsHTMLMediaElement.cpp#2148">media fragment parsing</a> happens once the video&#8217;s meta data is loaded, which makes sense. So it is obvious why the fragment doesn&#8217;t get re parsed without a refresh. Something I did notice though, in the anchor <a href="http://mxr.mozilla.org/mozilla-central/source/layout/base/nsPresShell.cpp#3028">code</a> a string with the media fragment data does get passed in, but I have not found it using this data for anything. Seems like a waste, and to me it would make sense to just do all media fragment parsing then. One point, instead of two. I cannot simply refresh the video when it is already loaded, nor can I set the video&#8217;s playback position if it did not get loaded.</p>
<p>My options are to hook into the anchor code, parse for &#8220;t=10,100&#8243;, if we are a video doc, and video is loaded, call media fragment parser, if the video is not loaded, setup an event of some sort. One path to all &#8220;#&#8221; at end of URL, two ways to parse it (media fragment or anchor), loaded or not. Or, keep things the way they are, and just do half of what I said above; only update the fragment in the anchor parse if the video is already loaded.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/scottdowne.wordpress.com/481/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/scottdowne.wordpress.com/481/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/scottdowne.wordpress.com/481/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/scottdowne.wordpress.com/481/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/scottdowne.wordpress.com/481/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/scottdowne.wordpress.com/481/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/scottdowne.wordpress.com/481/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/scottdowne.wordpress.com/481/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/scottdowne.wordpress.com/481/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/scottdowne.wordpress.com/481/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/scottdowne.wordpress.com/481/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/scottdowne.wordpress.com/481/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/scottdowne.wordpress.com/481/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/scottdowne.wordpress.com/481/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=scottdowne.wordpress.com&amp;blog=14056265&amp;post=481&amp;subd=scottdowne&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://scottdowne.wordpress.com/2012/01/23/firefox-bug-677122-so-far/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://www.bluishcoder.co.nz/mediafrag/AudioAPI.webm#t=50" length="13850685" type="video/webm" />
	
		<media:content url="http://1.gravatar.com/avatar/9b295c4ff211d10d006375d1625877e2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">scottdowne</media:title>
		</media:content>
	</item>
		<item>
		<title>Hacking and debugging Firefox.</title>
		<link>http://scottdowne.wordpress.com/2012/01/23/hacking-and-debugging-firefox/</link>
		<comments>http://scottdowne.wordpress.com/2012/01/23/hacking-and-debugging-firefox/#comments</comments>
		<pubDate>Mon, 23 Jan 2012 16:23:20 +0000</pubDate>
		<dc:creator>scottdowne</dc:creator>
				<category><![CDATA[open source]]></category>

		<guid isPermaLink="false">http://scottdowne.wordpress.com/?p=473</guid>
		<description><![CDATA[Last week I typed about building Firefox and navigating the source code. Today I will talk about how to hack and debug Firefox effectively. One of the first things I found was that most of my previous techniques would not fly in a code base this big. It is just not effective to insert a [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=scottdowne.wordpress.com&amp;blog=14056265&amp;post=473&amp;subd=scottdowne&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Last week I typed about <a href="http://scottdowne.wordpress.com/2012/01/15/building-firefox-and-firefox-source-code/">building Firefox and navigating the source code</a>. Today I will talk about how to hack and debug Firefox effectively.</p>
<p>One of the first things I found was that most of my previous techniques would not fly in a code base this big. It is just not effective to insert a log message and recompile. It will take too long to compile, and the data you log will just be too little too late. This technique may still be viable, but just in a limited space. I also have a technique for seeing what code does, by commenting it out, and running the program to see what the program no longer does. This is also not viable because of the size and compile time.</p>
<p>The simple technique of reading code will also only get you so far. This code is just too big; you need stack traces, breakpoints, and the ability to see the value of every variable in scope.</p>
<p>I tried two things to get the tools I needed to do this.</p>
<p>First I tried GDB (GNU Debugger). I am currently using Windows, so this was a bit of a challenge, and I got it kinda working. But, I still don&#8217;t think it was enough, because I could only get break points and stack traces; I did not get the ability to see variable values.</p>
<p>Second was to try Visual Studio. This was actually much easier than I expected. I used <a href="http://benoitgirard.wordpress.com/2011/05/27/using-visual-studio-2010-ide/">this guide</a>. I was happy to finally find some instructions that were not fragmented, but up to date and on my system and versions that I am running. So it all went smoothly, which I did not expect. This allows me to set a break point right in the source, run the program, and it will stop execution at those points and let me explore the scope and stack trace. This, along with <a href="http://mxr.mozilla.org/">Mozilla&#8217;s cross reference (MXR)</a> will allow me to hack and debug Firefox.</p>
<p>I now have a really nice workflow.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/scottdowne.wordpress.com/473/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/scottdowne.wordpress.com/473/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/scottdowne.wordpress.com/473/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/scottdowne.wordpress.com/473/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/scottdowne.wordpress.com/473/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/scottdowne.wordpress.com/473/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/scottdowne.wordpress.com/473/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/scottdowne.wordpress.com/473/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/scottdowne.wordpress.com/473/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/scottdowne.wordpress.com/473/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/scottdowne.wordpress.com/473/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/scottdowne.wordpress.com/473/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/scottdowne.wordpress.com/473/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/scottdowne.wordpress.com/473/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=scottdowne.wordpress.com&amp;blog=14056265&amp;post=473&amp;subd=scottdowne&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://scottdowne.wordpress.com/2012/01/23/hacking-and-debugging-firefox/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9b295c4ff211d10d006375d1625877e2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">scottdowne</media:title>
		</media:content>
	</item>
		<item>
		<title>Building Firefox and Firefox source code</title>
		<link>http://scottdowne.wordpress.com/2012/01/15/building-firefox-and-firefox-source-code/</link>
		<comments>http://scottdowne.wordpress.com/2012/01/15/building-firefox-and-firefox-source-code/#comments</comments>
		<pubDate>Sun, 15 Jan 2012 23:30:53 +0000</pubDate>
		<dc:creator>scottdowne</dc:creator>
				<category><![CDATA[open source]]></category>

		<guid isPermaLink="false">http://scottdowne.wordpress.com/?p=466</guid>
		<description><![CDATA[So starting on bug 677122. This is my first real Firefox bug. I figure I need to find the code that initiates the parser for the URI and also find the code that should refresh the URI, and re initiate the parser. I notice doing something similar with a URL anchor, changing it, then hitting [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=scottdowne.wordpress.com&amp;blog=14056265&amp;post=466&amp;subd=scottdowne&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>So starting on bug <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=677122">677122</a>. This is my first real Firefox bug.</p>
<p>I figure I need to find the code that initiates the parser for the URI and also find the code that should refresh the URI, and re initiate the parser. I notice doing something similar with a URL anchor, changing it, then hitting enter updates the page. So I should also find this code, and see how that happens.</p>
<p>The very first thing I did was went to view some source code. I went to <a href="http://mxr.mozilla.org/">Mozilla cross reference</a>. This is an online search and reference of the Firefox source code. I searched for &#8220;media fragment&#8221; and found <a href="http://mxr.mozilla.org/mozilla-central/source/content/html/content/src/nsMediaFragmentURIParser.cpp">nsMediaFragmentURIParser.cpp</a>, and from there, found <a href="http://mxr.mozilla.org/mozilla-central/source/content/html/content/src/nsHTMLMediaElement.cpp">nsHTMLMediaElement.cpp</a>. Some really exciting code in the HTMLMediaElement code is <a href="http://mxr.mozilla.org/mozilla-central/source/content/html/content/src/nsHTMLMediaElement.cpp#2145">ProcessMediaFragmentURI</a>. This block of code calls the parser, and sets the video&#8217;s time based on the values returned from the parser. So now, I need to find the places that should also be doing this.</p>
<p>I think though, this is as far as I can go with simply reading source code like a novel. I have some code that looks interesting, and is a good place to start. It is time to start breaking the code. By that, I mean remove, change, or add some code in areas that look interesting, then compile the code, run it, and see if my changed code runs when I suspect it will run. To do this, I need to get the source, and be able to compile it.</p>
<p>I have done this before, I even have blog posts on doing this&#8230; but it was ages ago, but things have changed, and I need an update anyway, so I think I will start freshfrom the online <a href="https://developer.mozilla.org/en/Build_Documentation">build instructions</a>. I am doing this on a Windows 7, so that may add an extra level of complexity.</p>
<p>I need Visual Studio of sorts. I have Visual Studio 2010. I also need to download the Mozilla build tools for Windows. Once downloaded and installed, I run start-msvc10.bat, with the 10 being for that I use VS 2010. If I had VS 2008 I would of ran start-msvc8.bat, etc. All commands are run inside this shell.</p>
<p>Next I download the source code by running &#8220;hg clone http://hg.mozilla.org/mozilla-central&#8221;. My first attempt I got &#8220;abort: stream ended unexpectedly (got 98688 bytes, expected 125068)&#8221;. Second time, no errors, took forever.</p>
<p>Next is to build it. I do this by changing into the new directory mozilla-central, which was created when I did the last command. Then, I run &#8220;make -f client.mk&#8221; and wait. On my Windows laptop this took 30+ minutes, but it seemed to finish without a hitch. I may consider going through <a href="https://developer.mozilla.org/en/Developer_Guide/Mozilla_build_FAQ#Making_builds_faster">tips for making builds faster</a>, but for now, I will confirm that it worked. After the build is done, to confirm that it worked, I ran &#8220;obj-i686-pc-mingw32/dist/bin/firefox.exe&#8221;.</p>
<p>That concludes my adventures in building Firefox and exploring the source code. Next time, I will get into hacking and debugging. Then maybe making a diff and submitting a patch!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/scottdowne.wordpress.com/466/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/scottdowne.wordpress.com/466/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/scottdowne.wordpress.com/466/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/scottdowne.wordpress.com/466/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/scottdowne.wordpress.com/466/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/scottdowne.wordpress.com/466/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/scottdowne.wordpress.com/466/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/scottdowne.wordpress.com/466/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/scottdowne.wordpress.com/466/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/scottdowne.wordpress.com/466/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/scottdowne.wordpress.com/466/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/scottdowne.wordpress.com/466/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/scottdowne.wordpress.com/466/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/scottdowne.wordpress.com/466/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=scottdowne.wordpress.com&amp;blog=14056265&amp;post=466&amp;subd=scottdowne&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://scottdowne.wordpress.com/2012/01/15/building-firefox-and-firefox-source-code/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9b295c4ff211d10d006375d1625877e2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">scottdowne</media:title>
		</media:content>
	</item>
		<item>
		<title>Popcorn.js xray goggles plugin.</title>
		<link>http://scottdowne.wordpress.com/2012/01/14/popcorn-js-xray-goggles-plugin/</link>
		<comments>http://scottdowne.wordpress.com/2012/01/14/popcorn-js-xray-goggles-plugin/#comments</comments>
		<pubDate>Sat, 14 Jan 2012 05:44:09 +0000</pubDate>
		<dc:creator>scottdowne</dc:creator>
				<category><![CDATA[open source]]></category>
		<category><![CDATA[video]]></category>
		<category><![CDATA[webmademovies]]></category>

		<guid isPermaLink="false">http://scottdowne.wordpress.com/?p=463</guid>
		<description><![CDATA[On and off this week I have been fruitfully fumbling my way around the Hackasaurus xray goggles bookmarklet, in an attempt to use them in a popcorn plugin, while other things brew. A tl;dr demo. The idea is to execute the goggles between a time range, on an element defined by popcorn&#8217;s data. In the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=scottdowne.wordpress.com&amp;blog=14056265&amp;post=463&amp;subd=scottdowne&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>On and off this week I have been fruitfully fumbling my way around the <a href="http://hackasaurus.org/en-US/goggles/">Hackasaurus xray goggles bookmarklet</a>, in an attempt to use them in a <a href="http://mozillapopcorn.org/popcornjs/">popcorn</a> plugin, while other things brew.</p>
<p>A tl;dr <a href="http://scotland.proximity.on.ca/sdowne/popcorn.goggles2/plugins/goggles/popcorn.goggles.html">demo</a>.</p>
<p>The idea is to execute the goggles between a time range, on an element defined by popcorn&#8217;s data. In the case of the above demo, I used the video element for testing purposes.</p>
<p>Right now, it is in a demoing state, demoing the use of the goggles at a time range. It is not really in a practical usable state, as you cannot close the goggles, nor can you control the video as they are up; quite frustrating.</p>
<p>I am going to allow popcorn&#8217;s data decide what to do with the timing. It can either leave the video playing, pause the video for a set number of seconds, or simply leave the video paused until the user closes and hits play again.</p>
<p>I also need to re add some animation that I avoided for sake of getting it working. Doing this will be good practice for me, because I&#8217;ve never been much of a front end guy, but I have the artistic abilities that I just need to dust off.</p>
<p>The hardest part of this was using HTML5&#8242;s postMessage. I have never used it before, and was stuck for longer than I would of liked, but long enough to build character. I was attempting to send a postMessage to an iframe before the iframe was done loading, thus the iframe&#8217;s event listener was not yet defined, thus my postMessage fell on deaf ears.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/scottdowne.wordpress.com/463/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/scottdowne.wordpress.com/463/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/scottdowne.wordpress.com/463/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/scottdowne.wordpress.com/463/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/scottdowne.wordpress.com/463/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/scottdowne.wordpress.com/463/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/scottdowne.wordpress.com/463/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/scottdowne.wordpress.com/463/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/scottdowne.wordpress.com/463/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/scottdowne.wordpress.com/463/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/scottdowne.wordpress.com/463/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/scottdowne.wordpress.com/463/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/scottdowne.wordpress.com/463/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/scottdowne.wordpress.com/463/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=scottdowne.wordpress.com&amp;blog=14056265&amp;post=463&amp;subd=scottdowne&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://scottdowne.wordpress.com/2012/01/14/popcorn-js-xray-goggles-plugin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9b295c4ff211d10d006375d1625877e2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">scottdowne</media:title>
		</media:content>
	</item>
		<item>
		<title>Firefox media fragement tickets</title>
		<link>http://scottdowne.wordpress.com/2012/01/12/firefox-media-fragement-tickets/</link>
		<comments>http://scottdowne.wordpress.com/2012/01/12/firefox-media-fragement-tickets/#comments</comments>
		<pubDate>Thu, 12 Jan 2012 19:47:41 +0000</pubDate>
		<dc:creator>scottdowne</dc:creator>
				<category><![CDATA[open source]]></category>
		<category><![CDATA[video]]></category>
		<category><![CDATA[webmademovies]]></category>

		<guid isPermaLink="false">http://scottdowne.wordpress.com/?p=454</guid>
		<description><![CDATA[So, to follow through with my last post, I have done some more research and have three potential bugs. First, It turns out media fragment is already done, which is exciting because now we can use it in Popcorn. Second, three bugs were blocked by it, which can now be done: [498253 677121 677122]. Reading [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=scottdowne.wordpress.com&amp;blog=14056265&amp;post=454&amp;subd=scottdowne&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>So, to follow through with my last post, I have done some more research and have three potential bugs.</p>
<p>First, It turns out <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=648595">media fragment</a> is already done, which is exciting because now we can use it in <a href="http://mozillapopcorn.org/popcornjs/">Popcorn</a>.</p>
<p>Second, three bugs were blocked by it, which can now be done: [<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=498253">498253</a> <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=677121">677121</a> <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=677122">677122</a>].</p>
<p>Reading bug 498253, and it seems as of second quarter of last year, there were still on going spec changes.</p>
<p>677121 still interests me.</p>
<p>And, 677122 seems straight forward enough. A bug where it seems it is caching the media fragment start time, and a refresh is required to update the time. The steps to reproduce right from the bug:</p>
<p>1) Open http://www.bluishcoder.co.nz/mediafrag/AudioAPI.webm#t=50,100<br />
2) Change the fragment portion to be &#8220;#t=30.100&#8243; and press enter</p>
<p>Expected Results:</p>
<p>1) Start and End fragment of the video would be the new position of 30 and 100 respectively.</p>
<p>Actual Results:</p>
<p>1) The video does not change the start/end fragments. They stay at 50 and 100.</p>
<p>This one is still a good candidate.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/scottdowne.wordpress.com/454/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/scottdowne.wordpress.com/454/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/scottdowne.wordpress.com/454/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/scottdowne.wordpress.com/454/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/scottdowne.wordpress.com/454/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/scottdowne.wordpress.com/454/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/scottdowne.wordpress.com/454/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/scottdowne.wordpress.com/454/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/scottdowne.wordpress.com/454/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/scottdowne.wordpress.com/454/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/scottdowne.wordpress.com/454/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/scottdowne.wordpress.com/454/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/scottdowne.wordpress.com/454/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/scottdowne.wordpress.com/454/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=scottdowne.wordpress.com&amp;blog=14056265&amp;post=454&amp;subd=scottdowne&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://scottdowne.wordpress.com/2012/01/12/firefox-media-fragement-tickets/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://www.bluishcoder.co.nz/mediafrag/AudioAPI.webm#t=50" length="13850685" type="video/webm" />
	
		<media:content url="http://1.gravatar.com/avatar/9b295c4ff211d10d006375d1625877e2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">scottdowne</media:title>
		</media:content>
	</item>
		<item>
		<title>OSD700 and back to school</title>
		<link>http://scottdowne.wordpress.com/2012/01/12/osd700-and-back-to-school/</link>
		<comments>http://scottdowne.wordpress.com/2012/01/12/osd700-and-back-to-school/#comments</comments>
		<pubDate>Thu, 12 Jan 2012 18:00:51 +0000</pubDate>
		<dc:creator>scottdowne</dc:creator>
				<category><![CDATA[open source]]></category>
		<category><![CDATA[video]]></category>
		<category><![CDATA[webmademovies]]></category>

		<guid isPermaLink="false">http://scottdowne.wordpress.com/?p=450</guid>
		<description><![CDATA[Today I had my first day back to school, and first day back in Dave&#8217;s open source class. I&#8217;m currently working at CDOT with Dave still, which means I will still be working on Popcorn and Popcorn-Maker. But, for his class, I will need to do more work for him, but it cannot be CDOT [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=scottdowne.wordpress.com&amp;blog=14056265&amp;post=450&amp;subd=scottdowne&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Today I had my first day back to school, and first day back in Dave&#8217;s open source <a href="http://zenit.senecac.on.ca/wiki/index.php/OSD700">class</a>.</p>
<p>I&#8217;m currently working at <a href="http://zenit.senecac.on.ca/wiki/index.php/CDOT">CDOT</a> with <a href="http://twitter.com/#!/humphd">Dave</a> still, which means I will still be working on <a href="http://mozillapopcorn.org/popcornjs/">Popcorn and Popcorn-Maker</a>. But, for his class, I will need to do more work for him, but it cannot be CDOT work. It makes sense to me that I find Firefox bugs involving video spec, that way I can leverage these new tools into popcorn and popcorn-maker use.</p>
<p>So let&#8217;s look at bugzilla.</p>
<p>I made a general search under <a href="https://bugzilla.mozilla.org/buglist.cgi?query_format=specific&amp;order=relevance+desc&amp;bug_status=__open__&amp;product=&amp;content=media&amp;comments=0">&#8220;media&#8221;</a>. I wasn&#8217;t expecting anything to jump out, just wanted to see what I was dealing with. But, something did jump out at me.</p>
<p>Now, this <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=677121">ticket</a> might not be the starting point for my work, but it is definitely something I am interested in.</p>
<p>The general interest is media fragments. Which the above bug relates to, but does not mean I am not doing the above bug. More research is required.</p>
<p>I also have interest in general media spec bugs, and I&#8217;ll look for more to have some concrete bugs tomorrow night.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/scottdowne.wordpress.com/450/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/scottdowne.wordpress.com/450/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/scottdowne.wordpress.com/450/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/scottdowne.wordpress.com/450/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/scottdowne.wordpress.com/450/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/scottdowne.wordpress.com/450/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/scottdowne.wordpress.com/450/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/scottdowne.wordpress.com/450/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/scottdowne.wordpress.com/450/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/scottdowne.wordpress.com/450/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/scottdowne.wordpress.com/450/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/scottdowne.wordpress.com/450/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/scottdowne.wordpress.com/450/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/scottdowne.wordpress.com/450/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=scottdowne.wordpress.com&amp;blog=14056265&amp;post=450&amp;subd=scottdowne&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://scottdowne.wordpress.com/2012/01/12/osd700-and-back-to-school/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9b295c4ff211d10d006375d1625877e2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">scottdowne</media:title>
		</media:content>
	</item>
		<item>
		<title>Popcorn.js has a new brother&#8230; Popcorn-Hacker</title>
		<link>http://scottdowne.wordpress.com/2011/11/13/popcorn-js-has-a-new-brother-popcorn-hacker/</link>
		<comments>http://scottdowne.wordpress.com/2011/11/13/popcorn-js-has-a-new-brother-popcorn-hacker/#comments</comments>
		<pubDate>Sun, 13 Nov 2011 03:47:23 +0000</pubDate>
		<dc:creator>scottdowne</dc:creator>
				<category><![CDATA[open source]]></category>
		<category><![CDATA[video]]></category>
		<category><![CDATA[webmademovies]]></category>

		<guid isPermaLink="false">http://scottdowne.wordpress.com/?p=447</guid>
		<description><![CDATA[Anyone familiar with Popcorn.js, Popcorn-Maker, and bookmarklets checkout my demo. A bookmarklet is JavaScript that runs via the address bar. So, you can fill a link element in a webpage to instead run code. Click the link, runs the code. You can also drag said link into your bookmarks for later, and continual use. What [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=scottdowne.wordpress.com&amp;blog=14056265&amp;post=447&amp;subd=scottdowne&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Anyone familiar with <a href="http://popcornjs.org/">Popcorn.js</a>, Popcorn-Maker, and bookmarklets checkout my <a href="http://scotland.proximity.on.ca/sdowne/popcorn-hacker/">demo</a>.</p>
<p>A bookmarklet is JavaScript that runs via the address bar. So, you can fill a link element in a webpage to instead run code. Click the link, runs the code. You can also drag said link into your bookmarks for later, and continual use.</p>
<p>What I&#8217;ve done is created a bookmarklet that lets you view and edit any popcorn.js page real time.</p>
<p>There are a few caveats. 1. It cannot be done on any version of Popcorn before 0.4, because I need access to Popcorn.instances, but that doesn&#8217;t matter because it also needs p.media, which was introduced in 0.5. I also ended up using Popcorn.getScript, which is another dependency, but getScript is introduced before 0.5, so if we have instances and media, we&#8217;ll have getScript. 2. We need plugins with complete manifests. Manifests are like meta-data for plugins. It tells me what to expect, thus what I can enter into the form fields. Without a manifest, it is read only Popcorn. 3. Demos made from exec alone will not work. Exec isn&#8217;t really editable without writing JavaScript anyway.</p>
<p>Now that the academic parts of the post are out of the way, I shall ramble about my thoughts on the project. This thing, to me, is a good example of a hack. I took parts of code from one thing, and remixed them together to do something different. I had little regard for how it looked, just that it worked. So, I guess it is more of a proof of concept. I really want to take it to the next level, though. Give it an export of some sort, and more closely tie it in to Popcorn-Maker&#8217;s build tools. Other-wise, this is essentially a fork of Popcorn-Maker. Over time, it will be too different, and become a separate entity that needs to be maintained separately. In order to avoid this, we would have to do some changes to Popcorn-Maker. It has some flaws, things I had to hack around. One of the good things was Popcorn-Makers event system. Made it easy to tie in my new functionality without having to worry about what was happening in other parts. Something interesting I noticed doing this, Popcron-Maker is close to 40k lines of code. This includes HTML, CSS and remote scripts like JQuery. Still though, that&#8217;s a lot of lines.</p>
<p>A few good pages to try it on are: <a href="http://popcornjs.org/">Popcorn homepage</a>, The <a href="http://danharper.me/demo/a-look-at-popcorn/">demo</a> from this fantastic <a href="http://net.tutsplus.com/articles/news/a-look-at-popcorn/comment-page-1/#comment-387118">tutorial</a> on Popcorn itself, and the initial <a href="http://popcornjs.org/code/demos/semantic_video/">semantic video demo</a> from way back in 0.1 of popcorn. It&#8217;ll work on others, but there is code in the wild it will not work on, yet. I&#8217;m going to deploy the &#8220;fix it for one demo at a time&#8221; technique I learned doing work in <a href="http://processingjs.org/">Processing.js</a>. It&#8217;s great to have user generated content to test off of!</p>
<p>Now for an abrupt end to this post.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/scottdowne.wordpress.com/447/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/scottdowne.wordpress.com/447/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/scottdowne.wordpress.com/447/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/scottdowne.wordpress.com/447/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/scottdowne.wordpress.com/447/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/scottdowne.wordpress.com/447/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/scottdowne.wordpress.com/447/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/scottdowne.wordpress.com/447/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/scottdowne.wordpress.com/447/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/scottdowne.wordpress.com/447/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/scottdowne.wordpress.com/447/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/scottdowne.wordpress.com/447/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/scottdowne.wordpress.com/447/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/scottdowne.wordpress.com/447/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=scottdowne.wordpress.com&amp;blog=14056265&amp;post=447&amp;subd=scottdowne&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://scottdowne.wordpress.com/2011/11/13/popcorn-js-has-a-new-brother-popcorn-hacker/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9b295c4ff211d10d006375d1625877e2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">scottdowne</media:title>
		</media:content>
	</item>
		<item>
		<title>Popcorn.js 1.0, mozfest, Popcorn.js Universal Subtitles parser</title>
		<link>http://scottdowne.wordpress.com/2011/11/06/popcorn-js-1-0-mozfest-popcorn-js-universal-subtitles-parser/</link>
		<comments>http://scottdowne.wordpress.com/2011/11/06/popcorn-js-1-0-mozfest-popcorn-js-universal-subtitles-parser/#comments</comments>
		<pubDate>Sun, 06 Nov 2011 01:50:21 +0000</pubDate>
		<dc:creator>scottdowne</dc:creator>
				<category><![CDATA[open source]]></category>
		<category><![CDATA[video]]></category>
		<category><![CDATA[webmademovies]]></category>

		<guid isPermaLink="false">http://scottdowne.wordpress.com/?p=443</guid>
		<description><![CDATA[This weekend has been a blast. Yesterday Toronto time we released Popcorn.js 1.0 in London time.. or yesterday, I&#8217;m not sure, but anyway, it was super cool. We released with new docs made by David Seifried, a Mozilla based website for what Mozilla is doing with Popcorn, and a shiny new build tool, built by [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=scottdowne.wordpress.com&amp;blog=14056265&amp;post=443&amp;subd=scottdowne&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>This weekend has been a blast.</p>
<p>Yesterday Toronto time we released <a href="http://popcornjs.org/">Popcorn.js</a> 1.0 in London time.. or yesterday, I&#8217;m not sure, but anyway, it was super cool. We released with new <a href="http://popcornjs.org/documentation">docs</a> made by <a href="http://dseifried.wordpress.com/">David Seifried</a>, a Mozilla based <a href="http://mozillapopcorn.org/">website</a> for what Mozilla is doing with Popcorn, and a shiny new <a href="http://mozillapopcorn.org/build-tool/">build tool</a>, built by <a href="https://chrisdecairos.ca/">Chris De Cairos</a>.</p>
<p>I&#8217;ve been spending the weekend in London at the <a href="https://donate.mozilla.org/page/signup/festival-save-the-date">Mozilla Festival</a>. Been getting way more Popcorn attention than I expected or imagined! Been interesting hearing impressions and educating people on Popcorn.</p>
<p>I also spent some time at the festival hacking up a Popcorn.js <a href="http://www.universalsubtitles.org/en/">Universal Subtitles</a> parser, and demo. I have one work in here before. Back in 0.1 I did a internal parser for Universal Subtitles, and for a beta version of Popcorn-Maker, I implemented a parser for Universal Subtitles as well. This one though, should be the final, as it&#8217;s not longer living inside something, but lives on it&#8217;s own in modular space. I also decided to take some time to make it look nice with <a href="http://chirls.com/">Brian Chirls&#8217;</a> pop plugin! <a href="http://scotland.proximity.on.ca/sdowne/unisubs2/parsers/parserUniversalSubtitles/popcorn.parserUniversalSubtitles.html">Check it out</a>!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/scottdowne.wordpress.com/443/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/scottdowne.wordpress.com/443/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/scottdowne.wordpress.com/443/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/scottdowne.wordpress.com/443/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/scottdowne.wordpress.com/443/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/scottdowne.wordpress.com/443/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/scottdowne.wordpress.com/443/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/scottdowne.wordpress.com/443/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/scottdowne.wordpress.com/443/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/scottdowne.wordpress.com/443/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/scottdowne.wordpress.com/443/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/scottdowne.wordpress.com/443/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/scottdowne.wordpress.com/443/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/scottdowne.wordpress.com/443/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=scottdowne.wordpress.com&amp;blog=14056265&amp;post=443&amp;subd=scottdowne&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://scottdowne.wordpress.com/2011/11/06/popcorn-js-1-0-mozfest-popcorn-js-universal-subtitles-parser/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9b295c4ff211d10d006375d1625877e2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">scottdowne</media:title>
		</media:content>
	</item>
		<item>
		<title>Thoughts on Popcorn.js hackathon in San Francisco</title>
		<link>http://scottdowne.wordpress.com/2011/10/21/thoughts-on-popcorn-js-hackathon-in-san-francisco/</link>
		<comments>http://scottdowne.wordpress.com/2011/10/21/thoughts-on-popcorn-js-hackathon-in-san-francisco/#comments</comments>
		<pubDate>Fri, 21 Oct 2011 00:35:59 +0000</pubDate>
		<dc:creator>scottdowne</dc:creator>
				<category><![CDATA[open source]]></category>
		<category><![CDATA[video]]></category>
		<category><![CDATA[webmademovies]]></category>

		<guid isPermaLink="false">http://scottdowne.wordpress.com/?p=437</guid>
		<description><![CDATA[Last week I brought my JavaScript knowledge and experience to an event that put JavaScript developers and filmmakers in the same room for two days. The idea was to produce something. There were six JavaScript developers, and six films with 2-4 filmmakers per film. There were also designers patrolling the grounds, helping out. I cannot [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=scottdowne.wordpress.com&amp;blog=14056265&amp;post=437&amp;subd=scottdowne&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Last week I brought my JavaScript knowledge and experience to an event that put JavaScript developers and filmmakers in the same room for two days. The idea was to produce something. There were six JavaScript developers, and six films with 2-4 filmmakers per film. There were also designers patrolling the grounds, helping out. I cannot stress enough how important they were. Design really does help bring out the essence of a project, like spice in food. Flavour enhancers. Doesn&#8217;t matter how good, right, or fast a program is, if it looks bad, it will, by definition, still look bad. Not only was each group was able to produce something cool, but each produced something unique.</p>
<p>Wired has an <a href="http://www.wired.com/underwire/tag/popcorn-js/">article</a> about the event, so check it out.</p>
<p>The actual event went down like this. Breakfast and mingling for about an hour, while everyone arrives. Then we all had a meet and greet. By 10:00 (if my memory serves me) we broke off into groups. So there I was with a group of people I never met, a film I have never seen, and a clock ticking. By lunch we had specced out what we were going to do. This is always an interesting process. You have a developer that knows nothing about the project or how things should be done, and you have designers and filmmakers that don&#8217;t know what can and cannot be done or how to measure how long something will take to develop. The problem for developers is &#8220;the easiest thing isn&#8217;t always the coolest&#8221; and for filmmakers and designers &#8220;the time it takes to develop something has nothing to do with how cool it is&#8221;. The developers don&#8217;t know what should be solved, and the fimmakers don&#8217;t know what can be solved. I think the solution is for the filmmaker and designer is to start with a big vision, then to have a back and forth discussion. It really is about communication and an open mind. Developers don&#8217;t be scared if filmmakers want it all. Filmmakers, don&#8217;t be scared to want it all. Developers don&#8217;t be scared to say no. Filmmakers don&#8217;t be scared to be told no <img src='http://s2.wp.com/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> . Eventually you will come to something that is &#8220;quick to cool&#8221;. Then it is lunch time.</p>
<p>After lunch you have to start developing. At this point huge changes to the spec can be frustrating, but still, no harm in asking. You never know, that thing you want changed might actually be easier! so keep up the communication. The rest of the day I struggled with getting Facebook&#8217;s API to work, but I did. It was an unstyled, nonsensical, boring piece of what I do best <img src='http://s0.wp.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> .</p>
<p>The next day we got to putting in the design and data. These are two things you need to figure out in the first half of the first day, and if possible have the data ready before the end of the first day. I kept the design pretty clean, empty, but clean, so it was quite easy to plug in some css and add some images. This is where you need the designer again. So, designer during spec phase, not after, and designer during pull it all together phase, not before. Then it&#8217;s just a matter of testing and debugging, and it&#8217;s still ok to request changes, just understand it might not happen.</p>
<p>Communication was key. Filmmakers teaching developers, and developers teaching filmmakers. I feel like designers have already crossed this bridge.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/scottdowne.wordpress.com/437/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/scottdowne.wordpress.com/437/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/scottdowne.wordpress.com/437/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/scottdowne.wordpress.com/437/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/scottdowne.wordpress.com/437/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/scottdowne.wordpress.com/437/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/scottdowne.wordpress.com/437/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/scottdowne.wordpress.com/437/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/scottdowne.wordpress.com/437/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/scottdowne.wordpress.com/437/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/scottdowne.wordpress.com/437/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/scottdowne.wordpress.com/437/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/scottdowne.wordpress.com/437/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/scottdowne.wordpress.com/437/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=scottdowne.wordpress.com&amp;blog=14056265&amp;post=437&amp;subd=scottdowne&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://scottdowne.wordpress.com/2011/10/21/thoughts-on-popcorn-js-hackathon-in-san-francisco/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9b295c4ff211d10d006375d1625877e2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">scottdowne</media:title>
		</media:content>
	</item>
	</channel>
</rss>
