[racket] Democratic Development Environment

From: Nathan Breit (nabreit at gmail.com)
Date: Sun Mar 25 23:08:43 EDT 2012

Greetings Racket community,

I'm hoping I can interest some of you in a project I'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.

I won'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:
(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).

http://50.112.43.66/main

If the site happens to be down (I'll try my best to keep in running), the
servlet source is available here:
https://github.com/nathanathan/Rhizome

Although, the Democratic Development Environment is intended to
be completely self-documenting, I'm certainly a long ways from reaching
that goal so please ask lots of questions.

One thing I wanted to share here is my roadmap:
1. Make DDE stable enough to run continuously without crashing and have a
way to preserve code if it does crash.
2. Sandbox evaluation.
3. Less clunky editing (some ideas: touch screen support and keyboard
navigation).
4. Add user accounts and authentication.
5. JavaScript/css generated from Racket code so that it can be edited
within DDE. (Perhaps using Whalesong)
6. Lazy evalutation of code as it is read out of the database.

I tried using the lazy language for this but couldn'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.

7. Database caching for speedups.
8. Tools for debugging and analysis

I could keep going but I'm hoping that this project will gather enough of a
community that deciding what to do next can become a collaboration.

Also, I wanted to say a bit about the zooming. I'm incredibly grateful to
Janne Aukia for putting together such an awesome JQuery library. Longer
term, I'm hoping to see better support for zooming interfaces in
web-browsers. Specifically:
1. Pages with auto-scaling elements and a css aspect-ratio attribute to
constrain them.
2. Infinite zooming (so for example being able to browse the internet by
zooming into iframes inside iframs continuously)
3. Ability to use touch screen and mouse based zooming gestures within the
same zooming framework.
Short term there are some good ideas on the Zoomooz issue tracker (
https://github.com/jaukia/zoomooz/issues?sort=created&direction=desc&state=open&page=1)
that I would be really excited to see implemented.

Thanks for reading,
-Nathan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.racket-lang.org/users/archive/attachments/20120325/6d1bc809/attachment-0001.html>

Posted on the users mailing list.