Adding support for uploading to ccHost from ccPublisher
ccPublisher support for uploading works to ccHost installations
The project is to implement a new feature in CcPublisher. It is a brilliant tool, that tags audio and video files with information about license and uploads them to the Internet Archive. It's practical because the user doesn't need to open a browser and search how to upload stuff. If the user could upload to other sites that use CcHost, even better.
CcHost, a 'Web-based System Supporting Remixing and Collaboration on Media', is the infrastructure used in sites like [ccMixter], [ccMixterSA], [Open Source Cinema], [fourstones.net], [Open Clip Art Library] and [Teacher Host].
Due to the padronization caused by the use of ccHost, the new feature will work with a lot of sites, and it won't be necessary to implement backend's to support these specific sites.
The user will proceed basically the same way he does now. First, dragging his songs/videos into CC Publisher; then adding information about his works - building the metadata; after that, he chooses his license, selects a site that uses ccHost infrastructure and finally starts the upload. When his upload is complete, the Publisher application will provide him with a URL. Few modifications in the User Interface will be made.
Benefits to the Creative Commons Community
The ccPublisher support for uploading works to ccHost installation will make this kind of publishing more practical. The regular user of ccPublisher will have more options when uploading his work. And this should increase the number of user of both tools.
This will hopefully help the remixing communities, such as ccMixter, by making more works available to them.
The project I'm proposing will be an integration between ccPublisher with ccHost. The majority of my work will be done on ccPublisher, since ccHost already implements everything I'll likely need. In order to accomplish this, I've established the following objectives :
0 - Pre-preparation(already done):
- superficial reading of documentation and understanding of code
- installing and testing ccHost
- using ccPublisher
1 - Preparation:
- read better all available documentation
- contact developers to discuss what must be done
2 - Interface between ccPublisher and ccHost:
- create modules necessary to upload files and metadata to site
- design test cases
- test phase / fix bugs
3 - Adapt the User Interface of ccPublisher
- adapt the UI of ccPublisher
- test phase / fix bugs
4 - Beta release
- good maturity level, ready to be tested by the community
- fix bugs
5 - Documentation
- make a on-line tutorial explaining how to use the new feature
Starting June, I will pledge in this project at full-time. I can promise 40 hours/week of dedication. Until May's last week I will still doing some university activities. But during vacations I won't have any other obligations, so I'll be free to work solely on the project.
May 8, 2006:
- Step 0 complete
May 23, 2006:
- I will start working on step 1
June 1, 2006:
- Step 1 complete
June 23-25, 2006:
June 26, 2006:
- Google solicits mid-program mentor evaluations of student progress
June 30, 2006:
- Step 2 complete
July 20, 2006:
- Step 3 complete
- Distribute a beta release for community testing
July 27, 2006:
- Step 5 complete
August 15, 2006:
- Step 4 complete
August 21, 2006:
- Final mentor evaluations of student progress commence
- Student evaluations of mentors commence
My name is Bruno and I'm finishing my Computer Engineer graduation at [State University of Campinas (UNICAMP)] this year. Under these last five years I wrote a lot of C, Pascal, and Java little programs - even Lisp and Prolog - , most of them projects of disciplines I was taking.
The last project I worked on was for the Biology Institute, doing a tool that estimate postmortem time, which will be used by forensic policy. This tool, not finished yet- was developed with PHP, and MySQL database server. Before, I wrote an image analysis program for the geology department, using MATLAB and some C code. I implemented this on my own during 2005, talking with my mentor every two or three weeks just to report the progress of my work. Now this program is being registered, and will become available soon. Two months ago I started coding Python - the language used by ccPublisher - because I needed to implement a reliable broadcast protocol as my Distributed Systems discipline's lab.
I am member of a Free Software computer students group called GPSL, where I've given courses about programming and published some tutorials.
Unfortunately, I was only told about Summer of Code very recently, so I couldn't contact any of the developers. But I've already subscribed to some lists: cc-devel, cctools-cchost and cctools-svn.
The first time I heard about the CC licenses was when I attended the International Free Software Forum on 2004, and since then I've tried to learn more about it and also spread the word. Last year I had a weekly show on a local radio where I only play songs that have a CC license or that are in the public domain. I will also be attending the iSummit '06 in June, here in Brazil, and I'm hoping I'll be able to meet some developers there.
Even tough English is not my native language, I'm quite confident that won't be a problem since I've been using English to communicate with people from around the world ever since I got into my university.
This is my only application for Google's Summer of Code, and it was mainly motivated because I believe this project is quite interesting, and will help making more people aware of CC.