GSOC 2012

From GNU MediaGoblin Wiki
Revision as of 20:10, 4 March 2012 by Cwebber (talk | contribs) (Fleshed out some GSOC ideas)
Jump to navigation Jump to search

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 :)

But then:

  • 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!

Ideas

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
  • Kuneco development (OStatus federatoin library)
    • Next generation lxml-based feed support
    • PubSubHubbub hub WSGI application
  • Improved commenting
    • Comment feeds
    • Notification about new comments
      • By e-mail
      • "you have a new comment"?

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:

 /u/{username}/panel/

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 ;)

Admin panel

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.

Some details:

  • 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.

timeline

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...