{"id":8539,"date":"2016-05-15T00:08:10","date_gmt":"2016-05-14T22:08:10","guid":{"rendered":"https:\/\/informatica.uniurb.it\/triennale\/?p=8539"},"modified":"2016-05-15T00:18:24","modified_gmt":"2016-05-14T22:18:24","slug":"crowd-scratching-directpoll","status":"publish","type":"post","link":"https:\/\/informatica.uniurb.it\/triennale\/crowd-scratching-directpoll\/","title":{"rendered":"Crowd-Scratching with DirectPoll"},"content":{"rendered":"<p>To celebrate <a href=\"http:\/\/day.scratch.mit.edu\/\" target=\"_blank\">Scratch Day 2016<\/a>, <a href=\"https:\/\/informatica.uniurb.it\/triennale\/\" target=\"_blank\">UniUrb<\/a> has developed a simple .NET application, called <strong>DirectPollMonitor<\/strong>, to allow the audience of a webinar to control a Scratch project\u00a0in real time. DirectPollMonitor\u00a0takes in input the URL of the result page of a poll made by <a href=\"http:\/\/directpoll.com\/\" target=\"_blank\">DirectPoll<\/a>. Each option of the poll is associated with a specific keypress event on the computer in which the app executes, so that every time the option is voted the corresponding keypress event is generated. By default, the keypress events associated with the first 26 options correspond to keys &#8216;a&#8217; to &#8216;z&#8217;, while all subsequent options (if any) are associated with the &#8216;space&#8217; key. DirectPoll &#8216;stop\/reset&#8217;, &#8216;pause&#8217;, and &#8216;play&#8217; events are mapped onto keys\u00a0&#8216;0&#8217;, &#8216;1&#8217;, and &#8216;2&#8217;.<\/p>\n<p>When the program executes, keypress events are treated as if they were generated by the local keyboard and received by the focus window.<\/p>\n<p><strong>This provides a very simple and general mechanism to grant collective\u00a0control of any Scratch project to an arbitrary number of people taking part to an instant poll.<\/strong><\/p>\n<p>To use DirectPollMonitor:<\/p>\n<ul>\n<li>1. <strong>Download<\/strong> the <a href=\"https:\/\/dl.dropboxusercontent.com\/u\/84098811\/DirectPollMonitor.zip\" target=\"_blank\">DirectPollMonitor archive<\/a> (requires\u00a0<a href=\"https:\/\/www.microsoft.com\/en-us\/download\/details.aspx?id=30653\" target=\"_blank\">.NET 4.5.2<\/a>)<\/li>\n<li>2. <strong>Extract<\/strong> DirectPollMonitor into a local folder\u00a0of your choice<\/li>\n<li>3. Open a <strong>Command Prompt<\/strong> on that\u00a0folder<\/li>\n<li>4. Launch the <strong>DirectPollMonitor<\/strong> from command line using as a parameter the URL of the DirectPoll result page<\/li>\n<li>5. Start the <strong>DirectPoll<\/strong> and invite the audience to vote<\/li>\n<li>6. Change the keyboard focus to the <strong>Scratch<\/strong> project<\/li>\n<\/ul>\n<p><a href=\"https:\/\/informatica.uniurb.it\/triennale\/wp-content\/uploads\/post\/crowd-scratching-with-driectpoll\/DirectPollMonitor.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-8542\" src=\"https:\/\/informatica.uniurb.it\/triennale\/wp-content\/uploads\/post\/crowd-scratching-with-driectpoll\/DirectPollMonitor.png\" alt=\"DirectPollMonitor\" width=\"681\" height=\"347\" srcset=\"https:\/\/informatica.uniurb.it\/triennale\/wp-content\/uploads\/post\/crowd-scratching-with-driectpoll\/DirectPollMonitor.png 681w, https:\/\/informatica.uniurb.it\/triennale\/wp-content\/uploads\/post\/crowd-scratching-with-driectpoll\/DirectPollMonitor-300x153.png 300w, https:\/\/informatica.uniurb.it\/triennale\/wp-content\/uploads\/post\/crowd-scratching-with-driectpoll\/DirectPollMonitor-210x107.png 210w, https:\/\/informatica.uniurb.it\/triennale\/wp-content\/uploads\/post\/crowd-scratching-with-driectpoll\/DirectPollMonitor-290x148.png 290w, https:\/\/informatica.uniurb.it\/triennale\/wp-content\/uploads\/post\/crowd-scratching-with-driectpoll\/DirectPollMonitor-450x229.png 450w\" sizes=\"auto, (max-width: 681px) 100vw, 681px\" \/><\/a><\/p>\n<p>In order to make sure that all keypress events are properly received by the Scratch project, it is recommended\u00a0that the window in which the Scratch project executes keeps the keyboard focus for the entire duration of the poll. Hence, it is better\u00a0to control the poll from a different computer, while leaving in background the Command Prompt Terminal in which DirectPollMonitor executes.<\/p>\n<p>A standard poll has been created for testing purposes. It has only 5 options associated with keys A, B, C, D, and E. Hence, it can be used to control any Scratch project designed to react to these keypress events.<\/p>\n<p>Provide\u00a0this link to the audience:\u00a0<a href=\"http:\/\/etc.ch\/SAA2\" target=\"_blank\">http:\/\/etc.ch\/SAA2<\/a><\/p>\n<p>Pass this URL to DirectPollMonitor:\u00a0<a href=\"http:\/\/directpoll.com\/r?XDbzPBd3ixYqg8WPz06HavXHDMrW9iAfEQDf3Tuc2U\" target=\"_blank\">http:\/\/directpoll.com\/r?XDbzPBd3ixYqg8WPz06HavXHDMrW9iAfEQDf3Tuc2U<\/a><\/p>\n<p>Use this\u00a0simple Scratch project reacting to keys A, B, and C to test the remote control:\u00a0<a href=\"https:\/\/scratch.mit.edu\/projects\/109658618\/\" target=\"_blank\">https:\/\/scratch.mit.edu\/projects\/109658618\/<\/a>\u00a0(the name of the project has been typed by the audience&#8230;).<\/p>\n<p>DirectPollMonitor was tested\u00a0for the first time on ScratchDay 2016 during a public webinar attended by many Italian School teachers with their pupils. Several Scratch projects were developed during the webinar and controlled in real time by more than 100 people. <a href=\"https:\/\/www.youtube.com\/watch?v=LgwTZ7vcZzk\" target=\"_blank\">Here is the video log<\/a>.<\/p>\n<p>Sources files to be published on GitHub.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>To celebrate Scratch Day 2016, UniUrb has developed a simple .NET application, called DirectPollMonitor, to allow the audience of a webinar to control a Scratch project\u00a0in real time. DirectPollMonitor\u00a0takes in input the URL of the result page of a poll made by DirectPoll. Each option of the poll is associated with a specific keypress event&hellip;<\/p>\n","protected":false},"author":35,"featured_media":8544,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[10,409,151,16],"tags":[1570,1576,1572,1574,1578],"post_series":[],"class_list":["post-8539","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog-en","category-codescool-blog-en","category-lablog-en","category-news-en","tag-directpoll-en","tag-directpollmonitor","tag-monitor-en","tag-scratch-en","tag-scratchday-en","entry","has-media"],"acf":[],"_links":{"self":[{"href":"https:\/\/informatica.uniurb.it\/triennale\/wp-json\/wp\/v2\/posts\/8539","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/informatica.uniurb.it\/triennale\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/informatica.uniurb.it\/triennale\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/informatica.uniurb.it\/triennale\/wp-json\/wp\/v2\/users\/35"}],"replies":[{"embeddable":true,"href":"https:\/\/informatica.uniurb.it\/triennale\/wp-json\/wp\/v2\/comments?post=8539"}],"version-history":[{"count":9,"href":"https:\/\/informatica.uniurb.it\/triennale\/wp-json\/wp\/v2\/posts\/8539\/revisions"}],"predecessor-version":[{"id":8551,"href":"https:\/\/informatica.uniurb.it\/triennale\/wp-json\/wp\/v2\/posts\/8539\/revisions\/8551"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/informatica.uniurb.it\/triennale\/wp-json\/wp\/v2\/media\/8544"}],"wp:attachment":[{"href":"https:\/\/informatica.uniurb.it\/triennale\/wp-json\/wp\/v2\/media?parent=8539"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/informatica.uniurb.it\/triennale\/wp-json\/wp\/v2\/categories?post=8539"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/informatica.uniurb.it\/triennale\/wp-json\/wp\/v2\/tags?post=8539"},{"taxonomy":"post_series","embeddable":true,"href":"https:\/\/informatica.uniurb.it\/triennale\/wp-json\/wp\/v2\/post_series?post=8539"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}