I'm trying to compile a list of popular or interesting meta applications. Essentially, they should take existing applications (preferably web ones!) and create new ones. The one caveat is that they should manipulate the structure of the applications, not static parts. For example, I want examples like Dapper, which exposes changing data embedded in application as an RSS feed, or Pipes and Mashmaker, which allow feeds to be combined. However, something like a Greasemonkey spellchecker does not -- it operates over a static page. Arguably, Greasemonkey itself counts :)
Some browser grouching: The idea of a BOM, or browser-object-model, is one of the coolest things about modern client-side web programming. Further focus on this would be awesome. More importantly, updating DOM (and BOM) APIs for more introspective, reactive, and/or cross-frame/tab interfaces is increasingly important. Finally, I'd like a prospector-like tool for it all. For example, it took me a couple of hours to figure out "window.frames[i].frameElement == someFrame,someFrame.ownerDocument.defaultView.frames[i].frameElement == someFrame," and many more to correlate clicks between tabs and frames.
2 submitted... 2-3 to go! hurrah!
Concurrency != parallelism is drilled into us early on, but what does that mean about intent when developing programs and building systems (or languages) to support them? For example, I'd say most efforts in virtualization actually only target the former: parallelism is a stronger concern than concurrency, adding machine or performance model constraints. More concretely, a parallel web app running on a VM that shares a machine with another similar web app would likely benefit from a policy on how to deal with this situation.
Ben and I had an interesting short discussion with one of the Fortress designers yesterday. Lightly paraphrasing:
Leo: What's the story on correctness?
Anon: We added contracts.
Leo: But Fortress is parallel...
[Discussion about pre/post contracts providing an invariant on entry a developer may assume and then another he/she must satisfy on exist going to hell in parallel languages that allow arbitrary code to yield or be preempted]