= Cloud Apps = Difficulty: easy to hard, depending on project choice and how far you want to push it 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]. 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 or Google's [http://etherpad.com/ EtherPad]. See [http://lwn.net/Articles/367922/ this LWN.net comment] for an example of a programmer wishing that someone would port !EtherPad to run on top of Tahoe-LAFS. 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? 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. One specific project in this category would be inventing a new secure decentralized wiki as described at [wiki:GSoCIdeas#SecureDecentralizedWiki]. Another would be to extend and improve the current [http://allmydata.org/trac/tiddly_on_tahoe TiddlyWiki-on-Tahoe-LAFS] implementation, which has the disadvantage that it is not built from the ground up to support secure transclusion and mash-ups, but the advantage that it lets you re-use a large library of extensions for [http://www.tiddlywiki.com/ TiddlyWiki]. Required skills: HTML and !JavaScript for web applications.