Skip to content

Commit

Permalink
Added 4th Learning Lab interactive video.
Browse files Browse the repository at this point in the history
  • Loading branch information
jacobabrennan committed Jan 27, 2013
1 parent fd9905e commit bed1155
Show file tree
Hide file tree
Showing 6 changed files with 1,509 additions and 0 deletions.
261 changes: 261 additions & 0 deletions media/ignite/resources/js/global_popcorn_events_websockets.js
@@ -0,0 +1,261 @@
ignite.link_node_manager.content[0] = {
notes: "This is the global group of non-link_node objects.",
content: [
{notes: "The Ignite logo", time_in: 1, time_out: 3,
start: function (){
var logo1 = document.getElementById("logo1");
logo1.className = "centered_logo";
logo1.style.display = "block";
logo1.style.opacity = "0"
logo1.transition = "left 2s, top 1s, opacity 1s, height 1s, width 1s";
logo1.MozTransition = "left 2s, top 1s, opacity 1s, height 1s, width 1s";
logo1.WebkitTransition = "left 2s, top 1s, opacity 1s, height 1s, width 1s";
logo1.OTransition = "left 2s, top 1s, opacity 1s, height 1s, width 1s";
setTimeout(function (){
logo1.style.opacity = "1";
}, 100);
if(!this.setup){
this.setup = true;
ignite.popcorn.cue(this.time_in+1, function (){
logo1.className = "positioned_logo";
})
}
},
end: function (){
var logo1 = document.getElementById("logo1");
logo1.transition = " ";
logo1.MozTransition = " ";
logo1.WebkitTransition = " ";
logo1.OTransition = " ";
logo1.style.display = "block";
logo1.style.opacity = "1";
logo1.className = "positioned_logo";
},
check: function (time_code){
var logo1 = document.getElementById("logo1");
if(time_code < this.time_in){
logo1.className = "centered_logo";
logo1.style.display = "none";
logo1.style.opacity = "0";
} else if(time_code > this.time_out){
this.end();
}
}
},
{notes: "The WebSockets logo", time_in: 3, time_out: 4,
start: function (){
var logo2 = document.getElementById("logo2");
logo2.className = "centered_logo";
logo2.style.display = "block";
logo2.transition = "right 2s, top 1s, opacity 1s, height 1s, width 1s";
logo2.MozTransition = "right 2s, top 1s, opacity 1s, height 1s, width 1s";
logo2.WebkitTransition = "right 2s, top 1s, opacity 1s, height 1s, width 1s";
logo2.OTransition = "right 2s, top 1s, opacity 1s, height 1s, width 1s";
setTimeout(function (){
logo2.style.opacity = "1";
}, 100);
if(!this.setup){
this.setup = true;
ignite.popcorn.cue(this.time_in+1, function (){
logo2.className = "positioned_logo";
})
}
},
end: function (){
var logo2 = document.getElementById("logo2");
logo2.transition = " ";
logo2.MozTransition = " ";
logo2.WebkitTransition = " ";
logo2.OTransition = " ";
logo2.style.display = "block";
logo2.style.opacity = "1";
logo2.className = "positioned_logo";
},
check: function (time_code){
var logo2 = document.getElementById("logo2");
if(time_code < this.time_in){
logo2.className = "centered_logo";
logo2.style.display = "none";
logo2.style.opacity = "0";
} else if(time_code > this.time_out){
this.end();
}
}
},
{notes: "Walkthrough", time_in: 5, time_out: 10,
displayed: undefined, // Needed for unexpected behavior in Chrome.
start: function (){
if(this.displayed){ return;}
this.displayed = true;
var walkthrough_button = document.getElementById("walkthrough_link");
walkthrough_button.style.display = "block";
if(!this.setup){
this.setup = true;
var passed_event = this;
walkthrough_button.addEventListener("click", function (){
ignite.start_walkthrough();
passed_event.end();
});
}
/* The following setTimeout call is necessary to prevent
* block and opacity from being set simultaneously, which would
* result in a spontaneous appearance instead of a fade-in.
*/
if(this.timeout_id){
clearTimeout(this.timeout_id);
}
this.timeout_id = setTimeout((function (passed_button){
return function (){
passed_button.style.opacity = "1";
}
})(walkthrough_button), 1000);
},
end: function (){
if(!this.displayed){ return;}
this.displayed = false;
var walkthrough_button = document.getElementById("walkthrough_link");
walkthrough_button.style.opacity = "0";
if(this.timeout_id){
clearTimeout(this.timeout_id);
}
this.timeout_id = setTimeout((function (passed_button){
return function (){
passed_button.style.display = "none";
}
})(walkthrough_button), 1000);
},
check: function (time_code){
if(time_code > this.time_in && time_code < this.time_out){
this.start();
} else{
this.end();
}
}
},
{notes: "Add Arrows", time_in: 10, time_out: 11,
started: undefined, // Needed for unexpected behavior in Chrome.
start: function (){
if(this.started){ return;}
this.started = true;
setTimeout(function (){
ignite.arrow_left.style.opacity = "1";
ignite.arrow_right.style.opacity = "0";
}, 100);
},
end: function (){},
check: function (time_code){
if(time_code >= this.time_in){
this.start();
}
}
},
{notes: "Excercise", time_in: 523, time_out: 600,
displayed: undefined, // Needed for unexpected behavior in Chrome.
start: function (){
if(this.displayed){ return;}
this.displayed = true;
var demo_button = document.getElementById("demo_link");
demo_button.style.display = "block";
if(!this.setup){
this.setup = true;
}
/* The following setTimeout call is necessary to prevent
* block and opacity from being set simultaneously, which would
* result in a spontaneous appearance instead of a fade-in.
*/
if(this.timeout_id){
clearTimeout(this.timeout_id);
}
this.timeout_id = setTimeout((function (passed_button){
return function (){
passed_button.style.opacity = "1";
}
})(demo_button), 1000);
},
end: function (){
if(!this.displayed){ return;}
this.displayed = false;
var credits_button = document.getElementById("demo_link");
credits_button.style.opacity = "0";
if(this.timeout_id){
clearTimeout(this.timeout_id);
}
this.timeout_id = setTimeout((function (passed_button){
return function (){
passed_button.style.display = "none";
}
})(credits_button), 1000);
},
check: function (time_code){
if(time_code > this.time_in && time_code < this.time_out){
this.start();
} else{
this.end();
}
}
},
{notes: "Credits", time_in: 528, time_out: 600,
displayed: undefined, // Needed for unexpected behavior in Chrome.
start: function (){
if(this.displayed){ return;}
this.displayed = true;
var credits_button = document.getElementById("credits_link");
credits_button.style.display = "block";
if(!this.setup){
this.setup = true;
var passed_event = this;
credits_button.addEventListener("click", function (){
ignite.transition("right", true);
passed_event.end();
});
}
/* The following setTimeout call is necessary to prevent
* block and opacity from being set simultaneously, which would
* result in a spontaneous appearance instead of a fade-in.
*/
if(this.timeout_id){
clearTimeout(this.timeout_id);
}
this.timeout_id = setTimeout((function (passed_button){
return function (){
passed_button.style.opacity = "1";
}
})(credits_button), 1000);
},
end: function (){
if(!this.displayed){ return;}
this.displayed = false;
var credits_button = document.getElementById("credits_link");
credits_button.style.opacity = "0";
if(this.timeout_id){
clearTimeout(this.timeout_id);
}
this.timeout_id = setTimeout((function (passed_button){
return function (){
passed_button.style.display = "none";
}
})(credits_button), 1000);
},
check: function (time_code){
if(time_code > this.time_in && time_code < this.time_out){
this.start();
} else{
this.end();
}
}
}
]
};













135 changes: 135 additions & 0 deletions media/ignite/resources/js/ignite_ll_websockets_resources.js
@@ -0,0 +1,135 @@
// This is the list of "link nodes" appearing in the video.
ignite.link_node_manager.content = [
null, // First element is empty. This will be filled in by another file.
/* Content is arranged in groups. Each group has a begin and end time.
* Within each group, each node has a begin time.
* Nodes with a set position will appear outside the node list.
*/
{time_in: 11, time_out: 31, content: [
{resource_id: "websockets", time_in: 12},
{resource_id: "assorted.duplex", time_in: 17},
{resource_id: "contributors.rob_hawkes", time_in: 23}
]},
{time_in: 48, time_out: 55, content: [
{resource_id: "assorted.ajax", time_in: 49}
]},
{time_in: 55, time_out: 66, content: [
{resource_id: "contributors.peter_lubbers", time_in: 56},
{resource_id: "assorted.kaazing", time_in: 58}
]},
{time_in: 68, time_out: 76, content:[
{resource_id: "websockets.websocket_org.about", time_in: 68}
]},
{time_in: 168, time_out: 177, content: [
{resource_id: "websockets.dzone_article", time_in: 168}
]},
{time_in: 191, time_out: 202, content: [
{resource_id: "assorted.nodejs", time_in: 192},
{resource_id: "websockets.tutorials.socketio", time_in: 194}
]},
{time_in: 214, time_out: 267, content: [
{resource_id: "contributors.tom_croucher", time_in: 215},
{resource_id: "assorted.cloud9ide", time_in: 237},
{resource_id: "assorted.change", time_in: 251},
{resource_id: "assorted.etherpad", time_in: 261}
]},
{time_in: 268, time_out: 279, content: [
{resource_id: "contributors.ondrej_zara", time_in: 269},
{resource_id: "assorted.dev_derby", time_in: 272}
]},
{time_in: 324, time_out: 332, content: [
{resource_id: "contributors.rob_hawkes.rawkets", time_in: 325}
]},
{time_in: 424, time_out: 466, content: [
{resource_id: "assorted.kaazing_financial", time_in: 427},
{resource_id: "websockets.games.buildnewgames", time_in: 431},
{resource_id: "assorted.kaazing_betting", time_in: 445},
{resource_id: "assorted.sentiment_tracking", time_in: 455},
{resource_id: "assorted.inventory_tracking", time_in: 458}
]},
{time_in: 493, time_out: 508, content: [
{resource_id: "assorted.pointclouds", time_in: 494},
{resource_id: "assorted.teamup", time_in: 500}
]}
];
// This is the expandable list in the resource section.
ignite.resources.content = [
{id: "mozilla_ignite", title: 'Mozilla Ignite', content: [
{id: "official", title: 'Official', content: [
{id: "official_site", title: 'Official Site', content: 'http://www.mozillaignite.org'},
{id: "twitter", title: 'Twitter', content: 'http://twitter.com/MozillaIgnite'},
{id: "us_ignite", title: 'US Ignite', content: 'http://us-ignite.org/'},
{id: "nsf_gov", title: 'NSF.gov', content: 'http://www.nsf.gov/'}
]},
{id: "press", title: 'Press', content: [
{id: "white_house", title: 'White House', content: 'http://www.whitehouse.gov/the-press-office/2012/06/13/we-can-t-wait-president-obama-signs-executive-order-make-broadband-const'},
{id: "launch_day_video", title: 'Launch Day Video', content: 'http://www.youtube.com/watch?v=H-t26owiZUQ'},
{id: "mark_surman", title: 'Mark Surman', content: 'http://www.nsf.gov/news/news_videos.jsp?cntn_id=124472&media_id=72664&org=NSF'}
]},
{id: "geni", title: 'GENI', content: [
{id: "geni_site", title: 'Official Site', content: 'http://www.geni.net/'},
{id: "geni_wikipedia", title: 'Wikipedia', content: 'http://en.wikipedia.org/wiki/Global_Environment_for_Network_Innovations'},
{id: "kenny_1", title: 'Kenny on GENI, 1', content: 'http://www.screenr.com/2KL8'},
{id: "kenny_2", title: 'Kenny on GENI, 2', content: 'http://www.screenr.com/FIz8'}
]}
]},
{id: "websockets", title: 'Websockets', content: [
{id: "tutorials", title: "Learn Websocket", content: [
{id: "mdn_websockets", title: "MDN Websockets", content: "https://developer.mozilla.org/en-US/docs/WebSockets"},
{id: "socketio", title: "Socket IO", content: "http://socket.io/"}
]},
{id: "websocket_org", title: "Websocket.org", content: [
{id: "website", title: "Main Page", content: "http://www.websocket.org/"},
{id: "demos", title: "Demos", content: "http://www.websocket.org/demos.html"},
{id: "about", title: "About Websocket", content: "http://www.websocket.org/aboutwebsocket.html"}
]},
{id: "dzone_article", title: "DZone Article", content: "http://refcardz.dzone.com/refcardz/html5-websocket"},
{id: "games", title: "Games", content: [
{id: "game_on", title: "Game On", content: "https://gameon.mozilla.org/en-US/"},
{id: "buildnewgames", title: "Build New Games", content: "http://buildnewgames.com/websockets/"}
]}
]},
{id: "contributors", title: "Contributors", content:[
{id: "rob_hawkes", title: "Rob Hawkes", content: [
{id: "website", title: "Rob's Blog", content: "http://rawkes.com/"},
{id: "rawkets", title: "Rawkets", content: "http://rawkets.com/"},
{id: "twitter", title: "Twitter", content: "https://twitter.com/robhawkes"},
{id: "github", title: "Github", content: "https://github.com/robhawkes"},
{id: "interview", title: "Marakana TechTV", content: "http://www.youtube.com/watch?v=KxylQ3W2iqE"}
]},
{id: "peter_lubbers", title: "Peter Lubbers", content: [
{id: "website", title: "Peter's Twitter", content: "https://twitter.com/peterlubbers"},
{id: "interview", title: "Marakana TechTV", content: "http://www.youtube.com/watch?v=g2qYAd1vUdc"},
{id: "articles", title: "Articles", content: "http://peterlubbers.sys-con.com/"},
{id: "user_group", title: "SFHTML5.org", content: "http://www.sfhtml5.org/"},
{id: "pro_html5", title: "ProHTML5.org", content: "http://www.prohtml5.com/"}
]},
{id: "tom_croucher", title: "Tom H-C", content: [
{id: "website", title: "Website", content: "http://tomhughescroucher.com/"},
{id: "twitter", title: "Twitter", content: "https://twitter.com/sh1mmer"},
{id: "github", title: "Github", content: "https://github.com/sh1mmer"}
]},
{id: "ondrej_zara", title: "Ondrej &#381;&#225;ra", content: [ // League Gothic does not display a useable character at &#345;
{id: "website", title: "Website", content: "http://ondras.zarovi.cz/"},
{id: "twitter", title: "Twitter", content: "https://twitter.com/0ndras/"},
{id: "github", title: "Github", content: "https://github.com/ondras/"},
{id: "interview", title: "Interview", content: "https://hacks.mozilla.org/2012/08/interview-ondrej-zara-websockets-dev-derby-winner/"}
]}
]},
{id: "assorted", display: "none", content: [
{id: "duplex", title: "Full Duplex", content: "http://en.wikipedia.org/wiki/Duplex_%28telecommunications%29"},
{id: "ajax", title: "AJAX", content: "https://developer.mozilla.org/en-US/docs/AJAX"},
{id: "teamup", title: "TeamUp", content: "http://www.getteamup.com"},
{id: "kaazing", title: "Kaazing", content: "http://kaazing.com/"},
{id: "kaazing_financial", title: "Financial", content: "http://kaazing.com/solutions/financials"},
{id: "kaazing_betting", title: "Betting", content: "http://kaazing.com/content/customer-case-studies"},
{id: "sentiment_tracking", title: "Sentiment Tracking", content: "http://en.wikipedia.org/wiki/Sentiment_analysis"},
{id: "inventory_tracking", title: "Inventory Tracking", content: "http://en.wikipedia.org/wiki/Radio-frequency_identification"},
{id: "change", title: "Change.org", content: "http://www.change.org"},
{id: "etherpad", title: "Etherpad", content: "http://etherpad.org/"},
{id: "cloud9ide", title: "Cloud9 IDE", content: "https://c9.io/"},
{id: "pointclouds", title: "Point Clouds", content: "http://en.wikipedia.org/wiki/Point_cloud"},
{id: "nodejs", title: "Node.js", content: "http://nodejs.org"},
{id: "dev_derby", title: "Dev Derby", content: "https://developer.mozilla.org/en-US/demos/devderby/2012/may"}
]}
];

0 comments on commit bed1155

Please sign in to comment.