The current elections and related trouble in Iran set me to thinking. The government is engaged in a censorship campaign to shut down communications in response to allegations that the election results were unfair. (Exactly how much internet censorship is going on is something I'm not entirely clear on; censoring of traditional media and broadcast means may be more prevalent.) What are the current unsolved problems that prevent Freenet from being useful in such a situation? I think sometimes both the users and developers of Freenet spend too much time thinking about what features we want, and how to improve Freenet as it currently is, and not enough time on what would be required to make it useful to the people who are nominally our target audience.
Consider the following, posted as an Ask Slashdot: "People, we need your urgent help in Iran. We are under attack by the government. They stole the election. And now are arresting everybody. They also filtered every sensitive Web page. But our problem is that they also block the SMS network and are scrambling satellite TVs. Please, can you help us to set up some sort of network using our home wireless access points? Can anybody show us a link on how to install small TV/radio stations? Any suggestion for setting up a network? Please tell us what to do or we are going to die in the a nuclear war between Iran and US." http://ask.slashdot.org/story/09/06/14/183200/Iran-Moves-To-End-Facebook-Revolution?art_pos=1 So, here we have a case where a political group needs to communicate, has some amount of internet and wifi connectivity available, and fears censorship. That sounds to me like the perfect place for Freenet. The numbers suggest it doesn't have to be as invisible as some of our plans would eventually make it; it merely has to be hard to filter. So why isn't "Just use Freenet!" a valid response to that question? What would be required to make it so? Somehow I doubt this will be the last time this sort of situation occurs, either in general or in Iran specifically. First, we would need a Persian translation, and possibly other languages as well. Ideally, we wan Second, I think we need a web interface for creating something like a blog or facebook page. A separate program might work as well, but I suspect a web interface would be better. The key here, imho, is simplicity and ease of learning rather than capability. If the user can post text with inline images, and link to other pages and media files, I suspect that would be sufficient to be useful. For anything more complicated, they can go to a real html editor. Third, Twitter seems to be a very popular way to communicate there. How hard would it be to create a Twitter equivalent over Freenet? How low could the latency be? The 160 character limit on messages is probably helpful here -- along with some metadata and a couple links to other tweets, it should all fit in a single 1KiB SSK. As always, searching and spam resistance are potential problems. Fourth, distribution of Freenet itself is important. That means an offline installer. I think we should consider going back to serving the bundle of offline installer + noderef from the web interface. Fifth, how well would Freenet work with wifi mesh networking (not a subject I know much about...)? Is there a way to use Freenet's routing to create long useful links over multiple wifi hops? Normally the problem with making mesh networking useful is routing -- but Freenet already has a fairly good architecture in place to handle that. It should just be a matter of setting up darknet links on different interfaces easily, right? We've already discussed it to death in the past, so I'd prefer to avoid an in-depth discussion on the technical aspects, but I think this is a situation where Freenet over sneakernet might be useful -- limited but nonzero network connectivity, combined with a geographically compact and motivated user base, and a desire to send large amounts of data (photos and videos from protests can be much more powerful than mere descriptions of them, for example). The bandwidth represented by swapping relatively cheap USB keys is significant, even in comparison to a wifi link. Have I covered the major points? Are there any other must-have features? Also, giving some thought to funding might be appropriate. Are there organizations we could approach with a specific list of features we want to add, and just need funding / developer time / translator time to make possible? Things like a freesite insertion wizard would probably take a bit of effort from a competent developer, but unless I'm mistaken that developer wouldn't have to be intimately familiar with Freenet. Evan Daniel
