We are applying to be a mentoring organization for Google Summer of Code 2012 this year.
At the time of writing we haven't been accepted yet, but here are some ideas the team had collected:
How do I apply as a student?
Well, we need to be accepted as a mentoring org first :)
- Submit your application (details coming soon)
- Join us on IRC and on our mailing lists
- Set up a development environment via our HackingHowto
It's important that you communicate... most MediaGoblin communication happens on IRC, so you should join there and discuss!
Some loose ideas immediately, and then more detailed ideas below:
- More thorough tests; add test coverage script
- LDAP or other central authentication system plugin
- "podcast feed" support
- Improved commenting
- Comment feeds
- Notification about new comments
- By e-mail
- "you have a new comment"?
Kuneco development (OStatus federation library)
We've announced interest in building a library for making OStatus development easy, but not much has happened on it yet.
Some things we know we'd like:
Next generation lxml-based feed support
We'd like a replacement for the atom generation libraries we're already using from werkzeug. Not much has happened on it yet, though an almost verbatim lxml replacement was written. Nonetheless, we'd like a more "chainable" system that can allow for modification of individual feed nodes as well as the whole tree, either by simple funciton chaining (passing each xml node for the feed "entry" along through several functions) or something way more complex, using events and building a pipeline, a-la gstreamer.
This is important as different media types will have different needs and will need to modify the individual entries, and it also might be possible to build the work of one type of feed off of another (pubsubhubbub/salmon/or etc off of a more plain atom feed?). Discussion about this has already somewhat happened amongst mediagoblin developers, and a potential/interested student is encouraged to ask more on IRC.
Salmon / Magic signatures support
PubSubHubbub hub WSGI application
We'd like to be able to provide a WSGI server for pushing PubSubHubbub updates along.
It might be great if the database backend (for storing subscribers, etc) could be fairly generic, providing a default sqlalchemy backend, but providing an interface design so that different backends for different applications could be plugged in nicely.
Media submission improvements
We could really afford to improve the state of media submission for users. A few possible improvements...
Drag and drop file submission
It would be nice to be able to take advantage of HTML5 drag and drop when uploading media. This could be convenient and pleasant for certain types of desktop users.
Multi-file submission tool
Particularly combined with the above, a multi-file submission tool would be great. For example, if I wanted to upload a whole bunch of photos of my friends from a trip, I might want to be able to do so without having to submit, move back to submit, move back to submit again. This would be particularly nice if combined with drag and drop file submission above.
OpenPhoto has a really great interface for this sort of thing; it might be nice to look there as an example.
"Uploading" status bar / improved ajaxiness
When uploading large files (videos, etc), it might be cool to have a way to see how much uploading time remains.
This might require some complex work, might be useful to look at http://pythonpaste.org/modules/progress.html
Improved media panel
We currently have a (mostly secret) media panel that displays information about media being processed at a URL like:
There could be some improvements here:
- Make this promient: next to the user's name, it might be nice to state something about information of uploads in progress, if there are any.
- Improve display information, including "progress" reports, if there are any
- A way to "clear" information about failed uploads once you've reviewed them
- Make it look nice ;)
Administrators of more "public" sites might need some good tools to moderate the content on said sites. Some ideas:
- A nice interface for searching for and taking actions on media (not so important, as admins can kind of already do this as if they were the users)
- A way to suspend a user's account
- A way to send a message to a particular user (like, if you're thinking of suspending their account ;))
- DMCA and other "abuse" compliance: it might be good if there could be an (optional) feature where visitors to the site can "flag" materials that are illegal, whatever. Provide an interface for reviewing these and taking action.
- Hooks that allow for adding extra admin tools for plugins (yeah yeah, we don't really have plugins yet though)
"ACL" — Access Control Lists
Short description: The idea basicly is: Some people only want to show some media to certain people. And possibly allow comments only from them.
- As OStatus isn't there yet, this all will be local only, for now.
- Sketching up details of this will be part of the project.
- Details might be things like:
- Adding people to a group (say "family") first and only adding groups to a media's "viewing list".
- Multiple permissions, like "view", "may comment", "may add tags", ...
- The starting system should probably be simple, so that it can later be exteneded in any needed way. Or made easily compatible with anything OStatus might come up for distributed access.
Very short description: "See what's new around you". Have page showing news about your media, your friends, your subscribed feeds, etc. schendje had some ideas on this...