scratchx/index.html
2015-07-23 15:48:46 -04:00

294 lines
20 KiB
HTML

<!DOCTYPE html>
<html lang="en"> <!-- Set this to the main language of your site -->
<head>
<meta charset="utf-8">
<title>ScratchX</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="css/scratchx.css" rel="stylesheet" type="text/css">
</head>
<body>
<main>
<header>
<div>
<a href="#home"><h1 class="scratchx-logo"><span>ScratchX</span></h1></a>
<nav class="main-nav">
Related Sites:
<ul>
<li><a href="https://scratch.mit.edu/">Scratch</a></li>
<li><a href="http://scratched.gse.harvard.edu">ScratchEd</a></li>
<li><a href="http://www.scratchjr.org/">ScratchJr</a></li>
</ul>
</nav>
</div>
</header>
<article id="home">
<header>
<div>
<aside class="warning message"><strong>Warning:</strong> These extensions are experimental. <a href="#faq">Please read the FAQ before trying them.</a></aside>
<h1>About ScratchX</h1>
<p>
ScratchX allows you to try out experimental extensions to the Scratch programming environment. With extensions, you can connect Scratch to the physical world (such as electronic devices and robotics) and online resources (including web data and web services).
</p>
<section id="dialogs">
<dialog open class="extension-file">
<section>
<h2>Open an Extension Project</h2>
<p>Choose a .sbx file from your local drive</p>
<p><a href="#faq-sbx-file">What is a .sbx file?</a></p>
</section>
<section>
<button data-action="load-file">Browse for local file</button>
</section>
</dialog>
<dialog open class="extension-url">
<section>
<h2>Open an Extension URL</h2>
<p>Paste the web address below</p>
<p><a href="#faq-scratchx-url">What is a ScratchX URL?</a></p>
</section>
<section>
<form class="input-plus-button url-load-form">
<input type="text" placeholder="paste url..." />
<button type="submit">Open</button>
</form>
</section>
</dialog>
<dialog open class="extension-feature">
<section>
<h2>Featured Extensions</h2>
<p><a href="https://scratch.mit.edu/scratchr2/static/ext/download.html">Download hardware plugin</a></p>
</section>
<section>
<ul>
<li><a href="?url=http://sayamindu.github.io/scratch-extensions/text_to_speech_extension.js" data-action="load-url">
<h3>Text to Speech</h3>
<p>Use Scratch to read text out loud</p>
</a></li>
<li><a href="?url=http://technoboy10.github.io/mesh/mesh.js" data-action="load-url">
<h3>Mesh</h3>
<p>Communicate across projects</p>
</a></li>
<li><a href="?url=http://khanning.github.io/scratch-arduino-extension/arduino_extension.js" data-action="load-url">
<h3>Arduino</h3>
<p>Control your Arduino using Scratch</p>
</a></li>
</ul>
</section>
</dialog>
</section>
<aside class="info message">
<strong>Note:</strong> To use any physical extensions, you need to download the <a href="https://scratch.mit.edu/info/ext_download/">Hardware Plugin</a>.<br />
Official Scratch Extensions (such as LEGO WeDo) are available on the main <a href="https://scratch.mit.edu">Scratch site</a>.
</aside>
</div>
</header>
<section>
<div>
<h2>Developer Documentation</h2>
<p>Developers can create new Experimental Extensions using Javascript. To learn more, read the <a href="https://github.com/LLK/scratchx/wiki">Developer Documentation</a>.</p>
<p><a href="#scratch"><button>Open editor</button></a></p>
</div>
</section>
</article>
<article id="privacy-policy">
<section>
<div>
<aside class="warning message"><strong>Warning:</strong> These extensions are experimental. <a href="#faq">Please read the FAQ before trying them.</a></aside>
<div>
<section class="main">
<h1>Privacy Policy</h1>
<p id="privacy-introduction">ScratchX is a platform that enables people to test experimental functionality built by developers for the visual programming language <a href="http://scratch.mit.edu">Scratch</a>. The purpose of this website is to provide a playground for people to test experimental content. We wrote this privacy policy to explain what information we access and how we use it. If you have any questions regarding this policy, you can <a href="mailto:scratch-extensions@scratch.mit.edu">contact us</a>.</p>
<h2 id="privacy-external-services">External Services</h2>
<p><strong>GitHub Pages:</strong> Developers who link their content to ScratchX are required to host their experimental content on an external service called <a href="https://pages.github.com/">GitHub pages</a>, which is governed by GitHub's own <a href="https://help.github.com/articles/github-terms-of-service/">Terms of Service</a> and <a href="https://help.github.com/articles/github-privacy-policy/">Privacy Policy</a>. The ScratchX site itself is also hosted on GitHub pages, and is governed by their terms and policy (in addition to the ScratchX terms and policy).</p>
<p><strong>Google Analytics:</strong> Using an external service called Google Analytics, we collect some data about where you click and which parts of the site you visit. This "click data" helps us figure out ways to improve the website. Information collected and processed by Google Analytics includes the user's IP address, network location, and geographic location. Google Analytics acquires all of its information directly from the user, by installing a cookie (see below) on your computer, if you have enabled JavaScript. We do not share any information (other than aggregate statistics) that we collect with Google, and Google does not collect any personal identifying information about you. You can read Google Analytics' privacy policy <a href="https://support.google.com/analytics/answer/6004245?hl=en">here</a>.</p>
<p><strong>Cookies:</strong> Google Analytics (above) uses cookies in order to gather information about your use of the ScratchX website. A cookie is a small text file that Google Analytics can send to your browser for storage on your computer.</p>
<h2 id="privacy-use-your-information">How do we use your information?</h2>
<ul>
<li>Via Google Analytics, we gather browsing data so that we know how people use the website.</li>
<li>Other than as described above, we will never share personally identifiable information about you with any other person, company, or organization, except as required to comply with our obligations under the law.</li>
</ul>
<h2 id="privacy-notifications-of-changes">Notifications of Changes to the Privacy Policy</h2>
<p>We review our Privacy Policy on a periodic basis, and we may modify our policies as appropriate. We may also change or update our Privacy Policy if we add new services or features. If we make any changes to our privacy practices, we will amend this Privacy Policy accordingly and post the amended policy on the ScratchX website. We encourage you to review our Privacy Policy on a regular basis.</p>
</section>
<nav>
<h3>Contents</h3>
<ol>
<li><a href="#privacy-introduction">Introduction</a></li>
<li><a href="#privacy-external-services">External Services</a></li>
<li><a href="#privacy-use-your-information">How do we use your information?</a></li>
<li><a href="#privacy-notifications-of-changes">Notifications of Changes to the Privacy Policy</a></li>
</ol>
</nav>
</div>
</div>
</section>
</article>
<article id="faq">
<section>
<div>
<aside class="warning message"><strong>Warning:</strong> These extensions are experimental. <a href="#faq">Please read the FAQ before trying them.</a></aside>
<div>
<section class="main">
<h1><abbr title="Frequently Asked Questions">FAQ</abbr></h1>
<h2 id="faq-what-is-scratchx">What is ScratchX?</h2>
<p>ScratchX is a platform that enables people to test experimental functionality built by developers for the visual programming language Scratch.</p>
<h2 id="faq-scratch-vs-scratchx">What's the difference between Scratch and ScratchX?</h2>
<p><a href="https://scratch.mit.edu/">Scratch</a> is a programming language and online community where you can create your own interactive stories, games, and animations. ScratchX is a separate experimental platform built to test experimental Scratch features, also known as Experimental Extensions. There is no login or community component to ScratchX, and projects created within ScratchX can only be run on ScratchX.</p>
<h2 id="faq-scratch-extensions">What are Scratch Extensions?</h2>
<p>Scratch extensions make it possible for Scratch to interface with external hardware and information outside of the Scratch website through new blocks. Extensions are written in JavaScript for the ScratchX project editor.</p>
<h2 id="faq-experimental-official">What is the difference between Experimental and Official Extensions?</h2>
<p>Experimental Extensions are extensions created for Scratch by the community; they are not managed or endorsed by Scratch in any way. Experimental Extensions can run only in the ScratchX environment. Official Extensions can be found and run from within Scratch 2.0 (both <a href="https://scratch.mit.edu">online</a> and <a href="https://scratch.mit.edu/scratch2download/">offline</a> editors), accessible in the 'More Blocks' section of the blocks menu.</p>
<h2 id="faq-experimental-safe">Are Experimental Extensions safe?</h2>
<p>The Scratch Team has created ScratchX to enable people to create and test Experimental Extensions. However, the Scratch Team does not endorse, support or maintain specific Experimental Extensions. People using Experimental Extensions should be careful not to provide any personal details such as login passwords or personally-identifiable information if prompted by an Experimental Extension.</p>
<h2 id="faq-how-to-use-scratchx">How do I use ScratchX?</h2>
<p>There are three pathways into ScratchX. If you have been given or sent a .sbx file, you can load that into ScratchX via the homepage (look for 'Open an Extension Project'). If you have been sent a ScratchX URL (starts with 'scratchx.org/'), you can click your link and the extension will load automatically, or you can enter that URL into the box on the homepage (look for 'Open an Extension URL'). Lastly, if you don't have an example extension, you can try out one on the site by clicking on a Featured Experimental Extension on the homepage (look for 'Featured Extensions').</p>
<h2 id="faq-how-to-share">I made a cool project on ScratchX. How do I share it?</h2>
<p>Click the 'Save' button at the top of the page to download your project as an .sbx file on to your local computer. You can then send this file to other people, and they can upload your file onto ScratchX to play with your project.</p>
<h2 id="faq-examples">Where can I find example Experimental Extensions to play around with?</h2>
<p>We have linked to a few example extensions on the <a href="#home">ScratchX</a> homepage. We plan to highlight additional extensions in the coming months.</p>
<h2 id="faq-scratchx-url">What is a ScratchX URL?</h2>
<p>Developers who make extensions for ScratchX can choose to create a custom web address or URL that points to their extension and/or demo project. Clicking on a ScratchX extension URL will take you directly to a project with an extension loaded.</p>
<h2 id="faq-sbx-file">What is an .sbx file?</h2>
<p>The SBX (.sbx) ScratchX file format is the file format used to encode ScratchX projects when they are downloaded to a user's computer. SBX files can only be used on the ScratchX site. Other Scratch environments use different formats, including the .sb2 format for Scratch 2.0 (read more here) and .sb format for Scratch 1.4 (read more here).</p>
<h2 id="faq-open-sbx">Why can't I open .sbx files in Scratch 2.0 or the offline editor?</h2>
<p>Experimental Extensions are extensions created for Scratch by the community and are not managed or endorsed by Scratch in any way. Because of this, we do not allow Experimental Extensions to run on the larger Scratch site.</p>
</section>
<nav>
<h3>Contents</h3>
<ol>
<li><a href="#faq-what-is-scratchx">What is ScratchX?</a></li>
<li><a href="#faq-scratch-vs-scratchx">What's the difference between Scratch and ScratchX?</a></li>
<li><a href="#faq-scratch-extensions">What are Scratch Extensions?</a></li>
<li><a href="#faq-experimental-official">What is the difference between Experimental and Official Extensions?</a></li>
<li><a href="#faq-experimental-safe">Are Experimental Extensions safe?</a></li>
<li><a href="#faq-how-to-use-scratchx">How do I use ScratchX?</a></li>
<li><a href="#faq-how-to-share">I made a cool project on ScratchX. How do I share it?</a></li>
<li><a href="#faq-examples">Where can I find example Experimental Extensions to play around with?</a></li>
<li><a href="#faq-scratchx-url">What is a ScratchX URL?</a></li>
<li><a href="#faq-sbx-file">What is an .sbx file?</a></li>
<li><a href="#faq-open-sbx">Why can't I open .sbx files in Scratch 2.0 or the offline editor?</a></li>
</ol>
</nav>
</div>
</div>
</section>
</article>
<footer>
<div>
<section>
<p>Extensions on ScratchX are experimental and are not reviewed by the Scratch Team or the MIT Media Lab.</p>
<p><a href="https://scratch.mit.edu/">Scratch</a> is a project of the Lifelong Kindergarten Group at the MIT Media Lab.</p>
<p>
<a class="twitter" title="Follow us on Twitter" href="https://twitter.com/scratch/" target="_blank"><span>@scratch on Twitter</span></a>
<a class="github" title="Fork us on GitHub" href="https://github.com/LLK/scratchx/" target="_blank"><span>LLK on GitHub</span></a>
</p>
</section>
<nav>
<h2>ScratchX</h2>
<ul>
<li><a href="https://scratch.mit.edu/terms_of_use/">Terms of Service</a></li>
<li><a href="#privacy-policy">Privacy Policy</a></li>
<li><a href="mailto:scratch-extensions@scratch.mit.edu">Contact Us</a></li>
<li><a href="#faq">FAQ</a></li>
<li><a href="https://scratch.mit.edu/discuss/48/">Forum</a></li>
</ul>
</nav>
<nav>
<h2>Scratch Family</h2>
<ul>
<li><a href="https://scratch.mit.edu/">Scratch</a></li>
<li><a href="http://scratched.gse.harvard.edu/">ScratchEd</a></li>
<li><a href="http://www.scratchjr.org/">ScratchJr</a></li>
<li><a href="https://scratch.mit.edu/conference/">Scratch Conference</a></li>
<li><a href="http://day.scratch.mit.edu/">Scratch Day</a></li>
<li><a href="http://codetolearn.org/">Code-to-Learn Foundation</a></li>
</ul>
</nav>
</div>
</footer>
</main>
<section id="scratch">
<div class="scratch_unsupported">
<p>
Oh Noes! Scratch project cannot display.<br/>
Flash player is disabled, missing, or less than version 10.2.
</p>
<a href="http://www.adobe.com/go/getflashplayer" target="_blank"><img
src="//www.adobe.com/images/shared/download_buttons/get_flash_player.gif"
alt="Get Adobe Flash player"/></a>
</div>
<div class="scratch_loading"></div>
</section>
<script type="text/template" id="template-warning">
<div>
<header><a class="modal-close" href="#"></a></header>
<section class="warning">
<h2>Warning: all extensions are experimental</h2>
<p><strong>Warning:</strong> The extensions on this site are experimental</p>
<p>The Scratch Team is <strong>not</strong> responsible for the extensions and projects on this site. Please use caution when using these extensions. <a href="#faq">Learn More.</a></p>
</section>
<section>
<button data-action="show" data-target="home">Back to ScratchX home</button>
<button class="success">I understand, continue</button>
</section>
</div>
</script>
<script type="text/template" id="template-short-url">
<dialog class="single">
<section>
<h2>Short URL</h2>
</section>
<section>
<p>Click to copy the short url for this project</p>
<div class="input-plus-button">
<input type="text" value="<%- shortUrl %>" name="shortUrl" disabled />
<button data-clipboard-text="<%- shortUrl %>">Copy</button>
</div>
</section>
</dialog>
</script>
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-30688952-3', 'auto');
ga('send', 'pageview', 'home');
</script>
<script type="text/javascript" src="libs/base64ab.js" async></script>
<script type="text/javascript" src="libs/swfobject.js"></script>
<script type="text/javascript" src="libs/jquery-1.11.2.min.js"></script>
<script type="text/javascript" src="libs/underscore-min.js" async></script>
<script type="text/javascript" src="libs/ZeroClipboard.min.js" async></script>
<script type="text/javascript" src="js/scratchx.js" defer></script>
<script type="text/javascript" src="scratch_extensions/scratch_proxies.js" defer></script>
<script type="text/javascript" src="scratch_extensions/scratch_plugin.js" defer></script>
<script type="text/javascript" src="scratch_extensions/scratch_nmh.js" defer></script>
<script type="text/javascript" src="scratch_extensions/scratch_ext.js" defer></script>
</body>
</html>