<div>Greetings Racket community,<br><br>I&#39;m hoping I can interest some of you in a project I&#39;m working on. A little while ago I saw some messages posted here about a Google SOC project involving collaborative editing of code. I think my project will especially be of interest to anyone involved with that.<br>




<br>I won&#39;t give an overview of it in this email as one of my goals is for it to be completely self-documenting. So for the overview please check out the site:<br>(Keep in mind that it is a prototype, and thus slow, buggy and likely to crash (and I have only really tested it with Chromium). Furthermore, there is no backup functionality yet. So if you contribute any serious code to DDE please back it up yourself somehow otherwise it will almost certainly be lost).<div>

<br></div><div><a href="http://50.112.43.66/main">http://50.112.43.66/main</a></div><div><br></div><div>If the site happens to be down (I&#39;ll try my best to keep in running), the servlet source is available here:</div>

<div><a href="https://github.com/nathanathan/Rhizome" target="_blank">https://github.com/nathanathan/Rhizome</a><br>
<div><br>Although, the Democratic Development Environment is intended to be completely self-documenting, I&#39;m certainly a long ways from reaching that goal so please ask lots of questions.<br>
<br>One thing I wanted to share here is my roadmap:<br>
1. Make DDE stable enough to run continuously without crashing and have a way to preserve code if it does crash.<br>2. Sandbox evaluation.<br>3. Less clunky editing (some ideas: touch screen support and keyboard navigation).<br>




4. Add user accounts and authentication.<br>5. JavaScript/css generated from Racket code so that it can be edited within DDE. (Perhaps using Whalesong)<br>6. Lazy evalutation of code as it is read out of the database. <br>


<br>

I tried using the lazy language for this but couldn&#39;t quite figure out how to make it do what I wanted. I want to evaluate s-expressions without having to fully read nested clauses if they can be short-circuted.<br><br>




7. Database caching for speedups.<br>8. Tools for debugging and analysis<div><br></div><div>I could keep going but I&#39;m hoping that this project will gather enough of a community that deciding what to do next can become a collaboration.<br>




<br>Also, I wanted to say a bit about the zooming. I&#39;m incredibly grateful to Janne Aukia for putting together such an awesome JQuery library. Longer term, I&#39;m hoping to see better support for zooming interfaces in web-browsers. Specifically:<br>




1. Pages with auto-scaling elements and a css aspect-ratio attribute to constrain them.<br>2. Infinite zooming (so for example being able to browse the internet by zooming into iframes inside iframs continuously)<br>

3. Ability to use touch screen and mouse based zooming gestures within the same zooming framework.<br>Short term there are some good ideas on the Zoomooz issue tracker (<a href="https://github.com/jaukia/zoomooz/issues?sort=created&amp;direction=desc&amp;state=open&amp;page=1" target="_blank">https://github.com/jaukia/zoomooz/issues?sort=created&amp;direction=desc&amp;state=open&amp;page=1</a>) that I would be really excited to see implemented.<br>




<br>Thanks for reading,<br>-Nathan
</div></div></div>
</div>