Pierre Laperdrix:
[snip]
Technical choices In my opinion, the website must be accessible and modular. It should have the ability to cope with an important number of connections/data. With this in mind and the experience gained from developing AmIUnique, I plan on using the Play framework with a MongoDB database. Developing the website in Java opens the door to many developers to make the website better and more robust after its initial launch since it is one of most used programming language in the world. On the storage and statistics side, MongoDB is a good fit because it is now a mature technology that can scale well with an important number of data and connections. Moreover, the use of SQL databases for AmIUnique proved to be really powerful but the maintenance after the website was launched became a tedious task, especially when modifying the underlying model of a fingerprint to collect new attributes. The choice of a more flexible and modular database seems a better choice for maintenance and for adding/removing tests.
If we look at the Tor side I guess we have more experience with Python code (which includes me) than Java. Thus, by using Python it might be easier for us to maintain the code in the longer run. That said, I am fine with the decisions as you made them especially if you are already familiar with using all these tools/languages. And, hey, we always encourage students to stay connected to us and get even deeper involved after the GSoC ended. So, this might then actually be an area for you... ;)
I wrote that I would use Java and Play because I'm familiar with it but I'm really open to try something new. For the past year, I have mainly used Java and Python so switching to Python is absolutely not a problem for me. In terms of timeline, this would mean that the website would take a little more time to have a proper first version running but if it means in the long-term that a more broader part of the Tor community can participate, it is better. And for me, learning new technos is part of the fun of development. In terms of framework, the new version of Panopticlick is using Flask but the Django framework seems to be more complete with a stronger community support.
Nice. But as I said it is mainly up to you and I brought these things up to take these constraints (the maintainablility and the guidelines for running services on Tor Project infrastructure) into account for fine-tuning your proposal.
Georg
[snip]