Google Summer of Code 2012 Project Ideas List
Thanks for checking out our ideas list. Please join the p2pu-dev mailing list and introduce yourself. We're happy to answer any questions you have about these ideas or discuss things not listed here. Feel free to add more ideas to this list.
p2pu-dev mailing list: http://lists.p2pu.org/mailman/listinfo/p2pu-dev
We have a weekly real time meeting, you should join us to see how things work around here:
P2PU Community Call - http://pad.p2pu.org/community-call
Contacts:
- Organization Administrator:
- John Britton <john AT p2pu DOT org> (Jabber enabled)
- johndbritton on irc.freenode.net
- Lead Developer
- Zuzel Vera <zuzel AT p2pu DOT org> (Jabber enabled)
- zuzelvp on irc.freenode.net
Suggested Application Template
You don't have to follow this exact order/format, but a successful applicaiton would likely include the following sections:
- Full Name
- Contact Information
- Email
- IRC
- Jabber (or other IM)
- How can we get in touch with you if you disappear from the internet? (so we can get you back on track)
- Project Title
- Abstract - Brief description of the goals of your project
- Implementation Plan - A roadmap of how you're going to reach your goals
- Deliverables - What you will deliver, separated into minimum requirements and nice to have (used to evaluate your performance)
- Qualifications - Why are you the right person for this?
############### IDEAS
These ideas were added by P2PU users, developers, and other community members. You may want to join our weekly call or get in touch via the dev list to get more information about a specific idea or to brainstorm with the group. We're open to things that aren't listed here, the best thing you can do is talk to us.
API
Mobile Friendly
- Use principles of responsive design to make P2PU adapt to different devices more gracefully
- Make use of a CSS framework (ex: Blueprint)
Reduce Page Loads
- Right now, almost every action triggers a full page reload
- Use an MVC client framework such as backbone.js for a more responsive site
- Use Ajax to make the site more responsive for users
- Examples
- Sortable (drag and drop) course tasks
- Pagination
Development Tools
- Automate deployment / setup of dev environment so that we can easily rebuild the entire application
- Improve automated testing and continuous integration
Localization / Internationalization
- Localization - blocktrans
- Make it easy for translators - web interface for them
P2PU Mentorship
- Allow users to "offer" mentorship and list subject areas they would mentor in
- Allow users to "request" mentorship from those who offer it
- Automatically notify mentors when mentees need feedback or evaluation
- Give mentees the ability to request evaluation from mentors
WYSIWYG Text Editor
- Implement WMD Editor
- Support embedded content with embed.ly
- Support code samples
- Support image uploads
- Integration with sites such as JSFiddle (http://jsfiddle.net/) or add 'in-course' javascript consoles +1
- Support for video
Social Integration
- Simple sign up: OpenID, BrowserID, Facebook, Twitter, Github, etc
- Friend finder: Use data from social networks to find friends on P2PU
- Widgets: Easy to embed users, groups, schools, and badges on other sites
- Invite / Share: Prompt users to invite friends and share content via social networks
Email
- reply-to-post (post replies by email) (a la facebook) +1+1
- less overall mail, digest support
- more fine-grained search filters (type, participants, activity...)?
Real Time Chat
- Add the ability for users to chat in real time
- One on one
- In groups
- Allow connection via an external Jabber client
- Make user chat more prominent on course pages
- Possibility of using Etherpad for course chat
- Friends list for private chat
- Multi-user conference
Improve Performance
- Find and remove performance bottlenecks
- Tuning the web server
- Reducing the number of requests per page
- Enable request compression
- Use sprites in CSS
Reduce Spam
- Courses, Accounts, Discussions, Comments
- non-captcha methods
- non-invasive
- no user interaction necessary
- filters (akismet or similar)
- honeypot method
P2PU Radar
- Calendar of events for free/open education, online and offline
Notifications
- Create a standardized notification system for P2PU
Search & Discovery
- Unified search, multiple search boxes may detract usability
- Solr / Lucene Search
- Auto-complete
- Tag browsing functionality
- Recommend Courses
- Richly networked profiles on P2PU - connected to outside activity, twitter, FB, linkedin, etc.
- Add functionality to create a more Personal Learning Environment such as tracking learning goals +1
- Taggable learning objectives in profile to allow users to become friends/followers because they share learning goals in common??
- Robust tagging system for placing courses, projects, and content into relevant searchable, topical categories
Badges Creator
- Make it easy for P2PU users to create their own badges
Remix & Reuse
- fork and clone courses
- export tools (export course content as a booklet? pdf? csv? html? export tasks only?) (see booki.cc [django based project powering FLOSS Manuals])