Hello,
So it says on the Umit page that you accept other projects. I have my own
project I really want to work on over the summer for GSoC. Could you please
look at my proposal and see if it might fit with what Umit wants in projects
students bring to them? I am also answering Umit specific questions but this is
the meat of the proposal.
Title: Global General Assembly
Summary: A secure, encrypted text and video chat system for organizing
political movements. The chat system will integrate encryption of text and
video. Global GA will also incorporate a system for voting and 'temperature
checks', as seen in offline general assemblies.
Benefits to the Community: In the past year, revolutions swept the world. A key
part of these was the general assembly, a forum for anyone to share their
opinions on issues facing the movement. I believe social movements worldwide
could benefit from an online version of the general assembly to share ideas
with people all over the world, including those who might not be comfortable
with the risk associated with attending in-person meetings. Global General
Assembly would provide that forum for secure online discussions.
Deliverables/Schedule-
Before Project Starts:
Discuss project and finalize goals with mentor.
Familiarize self with the best ways to start and get video data from webcams.
Investigate the best way to do encryption on the chat.
May 22-June 18:
Write basic chat system which at this point includes the following features.
The ability for a client to connect to a server.
The ability for a client to specify the location of the chat on the
server.
The ability for the chat client to recognize a user by their IP.
The ability for the chat client to assign a user a name.
The ability for the user to select a name.
The ability for a user to send a message typed into a text box.
The ability for the server to receive the message.
The ability for the server to transmit the message to other users.
The ability for one user to send a message to another user.
The ability for the chat to display names selected by users.
June 19-July 7:
Get encryption of plain text working with OTR. This is broken down into the
following steps.
The ability for the application to generate a key.
The ability to authenticate the key with the server.
The ability for a client to encrypt messages.
The ability for the server to decrypt messages.
The ability for the server to encrypt messages before sending them to
clients.
The ability for a client to decrypt messages.
July 8: Midterm Review
July 8-July 20:
Get video chat running using Google video chat source code or other open source
video chat project. Integrate this into the chat system.
July 21-August 4:
Encrypt video chat similarly to encrypted plain text chat. This is possibly
optional as it might prove too difficult based on current available technology.
If I do not do this, I will substitute this step with a secure etherpad
integrated into the chat or encrypted file upload. I will discuss this with my
mentor and investigate it in more detail.
August 5-August 13:
Provide a voting/signals system base on the system used in Occupy general
assemblies. This is optional and if I am behind on the rest of the project I
might add this later. The voting system includes the following.
The ability to initiate a vote.
The ability to select an option when voting.
The ability to count and display votes.
The ability to block a vote and provide a reason. Blocks are used for
results of votes that could cause someone to leave the movement.
August 13-August 20:
Debugging and finishing up the project
August 24: Final Evaluations Due
Description-
The project will be done mostly in C/C++ and will likely be a separate
application (not web-based). The encryption on the chat will be done using OTR
(Off-the-Record) messaging. The project itself has the following components.
1. Chat System: A basic chat application, outline in the schedule.
2. Chat Encryption: It uses OTR, also outlined in the schedule. The encryption
will be very user friendly so the user does not need to understand how
encryption works. As much as possible will be automated. Non-computer-savvy
people can be easily confused by existing encrypted chats.
3. Video Chat: A video chat for presenters. This will likely only have the
ability to show one person at a time in the video chat but it could later be
expanded.
4. Encrypted Video Chat (possibly optional): This is the video chat as above
but with encryption. If it is more feasible to encrypt only voice, I might do
that instead.
5. Voting System (optional): A poll system on the side of the chat that allows
users to vote on proposals. This is used as the equivalent of a temperature
check in a normal general assembly. It will also include the ability to block
proposals the voter believes detrimental to the movement.
6. File Upload (optional): An encrypted file upload option for sharing
documents securely during a chat.
7. Integrated Etherpad (optional): Integrating Etherpad into the chat window
for collaborative document editing, agenda tracking, etc.
Related Work-
Off-the-Record Messaging (http://www.cypherpunks.ca/otr/): An encryption system
that allows encryption and authentication like most encryption schemes but also
complete deniability. I will most likely use OTR for encryption in Global GA.
Cryptocat (https://crypto.cat/): A web-based application for encrypted chat. It
does not have the ability to use video chat like Global GA will or to initiate
votes. It also uses a different encryption scheme. There are other encrypted
chat programs but none seem to be designed for conferencing or organizing
movements.
Biographical Information: I am a senior at Boston University Academy. I have
taken several classes in the Boston University computer science department.
These classes include Data Structures and Algorithms, Computer Systems,
Advanced Software Systems, Combinatoric Structures, Machine Learning, and
Software Engineering. I also work at the MIT Media Lab in the Affective
Computing Group where I create software and assistive technology to study
emotions. I have presented at a few conferences and will soon have a published
paper. Additionally, I recently founded a nonprofit which makes software to
promote civic engagement and democracy.
Comments are very welcome! Thank you very much for your help.
--
M. C. McGrath (Shidash)
Student | Boston University Academy
Research Intern | MIT Media Lab Affective Computing Group
207-475-8401 | http://shidash.com | http://twitter.com/Shidash
A person shielded by a true, benevolent passion is invincible!
------------------------------------------------------------------------------
Better than sec? Nothing is better than sec when it comes to
monitoring Big Data applications. Try Boundary one-second
resolution app monitoring today. Free.
http://p.sf.net/sfu/Boundary-dev2dev
_______________________________________________
Umit-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/umit-devel