Changes between Version 89 and Version 90 of GSoCIdeas2010


Ignore:
Timestamp:
2010-03-16T17:43:19Z (11 years ago)
Author:
zooko
Comment:

add Secure Decentralized Wiki, add Brian to Share Migration

Legend:

Unmodified
Added
Removed
Modified
  • GSoCIdeas2010

    v89 v90  
    1313||''Project''||''Difficulty''||''Contact''||
    1414||[#RedundantArrayofIndependentClouds Redundant Array of Independent Clouds]||Medium||[mailto:zooko@zooko.com Zooko Wilcox-O'Hearn] or any mentor||
    15 ||[#ShareMigration Share Migration]||Medium||any mentor||
    16 ||[#CloudApps Cloud Apps]||Easy–Hard||Jack Lloyd or any mentor||
     15||[#ShareMigration Share Migration]||Medium||[mailto:warner-tahoe@lothar.com Brian Warner] or any mentor||
     16||[#SecureDecentralizedWiki Secure Decentralized Wiki]||Medium||[mailto:zooko@zooko.com Zooko Wilcox-O'Hearn] or any mentor||
     17||[#CloudApps Cloud Apps]||Easy–Hard||[mailto:lloyd@randombit.net Jack Lloyd] or any mentor||
    1718||[#WebDAV WebDAV]||Medium||[mailto:david-sarah@jacaranda.org David-Sarah Hopwood] or any mentor||
    1819||[#DistributedIntroduction Distributed Introduction]||Easy||[mailto:zooko@zooko.com Zooko Wilcox-O'Hearn] or any mentor||
     
    6364jumping-off point for health is #778.
    6465
     66= Secure Decentralized Wiki =
     67
     68Write a wiki in Google's [http://code.google.com/p/google-caja/ "caja"] dialect of !JavaScript. This wiki will load and store data directly on a Tahoe-LAFS storage grid so that it is a full "Cloud App"—there is no server. All computation is done in the user's web browser in caja and all of the storage is done by the decentralized Tahoe-LAFS storage grid. This wiki should leverage Tahoe-LAFS's secure sharing features to offer fine-grained, dynamic, and easy transclusion or client-side mashups. This project is intended to be the successor to [http://allmydata.org/trac/tiddly_on_tahoe the TiddlyWiki-on-Tahoe-LAFS project], which is a wiki written in !JavaScript and hosted on Tahoe-LAFS, but one that has been "bolted on" to Tahoe-LAFS instead of designed for Tahoe-LAFS, and is currently incapable of good transclusions or mashups.
     69
     70To get started, play with [http://testgrid.allmydata.org:3567/uri/URI:DIR2-RO:7h7syiurogz5erc2au74tjwguu:h7bdxvjtvidlkcdbld3j2d5sbgyzsbqs7wdnu6yznqrejzssc5za/wiki.html the TiddlyWiki-on-Tahoe-LAFS quick start], read the source code of [http://allmydata.org/trac/tiddly_on_tahoe/browser/tahoe_tiddly/HTTPSavingPlugin.js the !HTTPSavingPlugin] and [http://allmydata.org/trac/tiddly_on_tahoe/browser/tahoe_tiddly/TahoePlugin.js the !TahoePlugin] for !TiddlyWiki, and experiment with [http://caja.appspot.com/ writing live caja applets].
     71
    6572= Cloud Apps =
    6673
    6774Difficulty: easy to hard, depending on project choice and how far you want to push it
    6875
    69 There are a lot of applications that could potentially make good use of Tahoe-LAFS replacing the typical centralized storage of flat files or SQL databases. Currently supported projects include [http://www.tiddlywiki.com/ TiddlyWiki] (one of the Tahoe-LAFS developers hosts his blog using [http://allmydata.org/trac/tiddly_on_tahoe TiddlyWiki stored in Tahoe-LAFS]), [http://hadoop.apache.org/ Hadoop], and [RelatedProjects a number of others].
    70 
    71 There are still many useful and interesting things that have yet to be built using Tahoe-LAFS. Perhaps the most promising is in the area of web applications; what applications can you think of that could make use of a highly reliable filesystem accessible from both desktops and [http://github.com/ctrlaltdel/TahoeLAFS-android handheld devices]? Keep in mind that Tahoe-LAFS's architecture allows sharing and delegation opportunities that are difficult or impossible to implement using other backends. Some ideas people have suggested include a calender or photo album, or porting Mozilla's [https://bespin.mozilla.com Bespin] editor).
    72 
    73 Nathan Wilcox wrote most of interactive tree browser frontend in !JavaScript (see [wiki:RelatedProjects the RelatedProjects page]); Toby Murray wrote [http://allmydata.org/pipermail/tahoe-dev/2010-March/004137.html a front-end in Cajita]; what interesting ways might this be extended?
    74 
    75 This is in some ways the most interesting area for development as it combines security and distributed systems problems with providing a user interface that lets a person who isn't particularly security minded operate safely by default. This is a hard problem, but offers great rewards in terms of learning, and even the ability to break new ground in safe-by-default interface design.
    76 
    77 Required skills: HTML and !JavaScript for web applications. For other tie-ins, will depend on the base project (for instance porting the git DVCS to run on Tahoe would good C-fu, with git experience helpful).
     76Invent your own Summer-of-Code project by building a new web app on top of Tahoe-LAFS. The [#SecureDecentralizedWiki Secure Decentralized Wiki] is one example of a Cloud App. See [wiki:GSoCIdeas/CloudApps] for other ideas.
    7877
    7978= WebDAV =
     
    9190[[br]]
    9291 * [mailto:zooko@zooko.com Zooko Wilcox-O'Hearn] [http://testgrid.allmydata.org:3567/uri/URI:DIR2-RO:j74uhg25nwdpjpacl6rkat2yhm:kav7ijeft5h7r7rxdp5bgtlt3viv32yabqajkrdykozia5544jqa/wiki.html blog] (Python/C/C++/JavaScript, security+cryptography)
    93  * Jack Lloyd [http://www.randombit.net blog] (C/C++/Python, security+cryptography)
     92 * [mailto:lloyd@randombit.net Jack Lloyd] [http://www.randombit.net blog] (C/C++/Python, security+cryptography)
    9493 * [mailto:david-sarah@jacaranda.org David-Sarah Hopwood] (Python/C/JavaScript, SFTP frontend, security+cryptography)
    9594 * [mailto:warner-tahoe@lothar.com Brian Warner] (Python/C/JavaScript, security+cryptography)
    96 
    97 ----
    98 This page was modelled on [http://www.netbsd.org/contrib/soc-projects.html the NetBSD Summer-of-Code page].