List of project ideas for Google Summer of Code 2016

(Erlend Sogge Heggen) #1

Please post your links to any appropriate GSoC ideas here. If you’re not familiar with GSoC, briefly put it’s an event run by Google wherein they pay students to work on an open source project for 3 months.

If you have a feature on your wishlist that fits the scope of a 3-month student project, share it here!

If you have an idea that hasn’t been discussed before, please start a new topic about it first and then link to it from here. Feel free to share multiple links in one reply.

GSoC Projects

Common event system for chatrooms

Webhook for Discourse events
Three applicants have been selected for Discourse GSoC 2016
Project ideas for Google Summer of Code 2017
(Michael Downey) #2

One tip from our org as a 10-year GSoC veteran: Take any project scope that a seasoned open source developer could do in 3 months, then cut that scope in half. A typical student should be able to get that done in the allotted time. :slightly_smiling:

(Of course, having some “bonus point” items is also always a good idea.)

Project ideas for Google Summer of Code 2017
(Alan Tan) #3

Two related topics which I think would make a good project.

(Erlend Sogge Heggen) #4

Deadline is 19th of February. Better hurry up and post your favourite features before then!

Some new additions:

(Focusing on “see who’s writing”:slight_smile:

(Jeff Atwood) #5

Presence feature is the only one there that I could get excited about.

That or the chat plugin in general.

(Michael Downey) #6

Sounds like someone is volunteering to be a mentor for that one :wink:

(Simon Cossar) #7

Would you be interested in anything to do with creating a HTML mode for people with slow and expensive internet access? A possible specification for something like that would be Facebook’s criteria for their ‘Free Basics’ platform. Technical Guidelines - Free Basics - Documentation - Facebook for Developers

HTML mode with email integration
(Jeff Atwood) #8

Sure that’d be solid. We’ve discussed the before here in a few topics. Essentially it is an enhancement to our web crawler rendering.

(Tobias Eigen) #9

I’d love to see @tgxworld translate plugin get some polish, in particular to allow manual translation into languages underrepresented on the internet like burmese and manual improvement of automatic translations. I could get behind this as a mentor, maybe together with @tgxworld?

(Jeff Atwood) #10

Well @tgxworld works for Discourse so that’d just be an official project.

(Erlend Sogge Heggen) #11

Well it also means that if he manages to keep his hands off of it for the months leading up to GSoC actually starting, he would be the perfect mentor for such a polishing project.

Personally I was super psyched when I rediscovered @sam’s Try Bot suggestion. I can think of tons of cool stuff we could do with a bot on Meta, Try and onboarding for our hosted service. Also it’s an easy project to scope out since stretch goals are practically infinite.

(Erlend Sogge Heggen) #12

That’d be really cool indeed. Google AMP is another spec to look at (and possibly more relevant, considering the recent backlash against Free Basics as of late).

Would love to see a fleshed out spec for it!

@riking played around with that a bit. Here are some relevant topics:

(Dave McClure) #13

Recently, I’ve been thinking about ways to make the topic list page more relevant to particular users on forums with a wide array of activity.

One topic on the subject is here:

Another approach would be to allow users to customize what tabs appear for topic lists, and what is shown within them (via a search query or a selected list of categories).

For instance, I don’t really need to see the Bugs or Features tabs here on Meta, so I might hide them. Or I might want to create a tab for Ideas which would include #features #ux and another one for Issues which would include #bug and #support. I might also want to add a Following tab that includes topics that are in:watching or in:tracking.

(I swear there is a topic exploring this idea, but couldn’t find it…)

Specialized Timeline?
(Erlend Sogge Heggen) #14

I fully agree that alternative display modes is well worth pursuing. I don’t think it could be part of GSoC though,

  1. because there’s no solid spec for it yet (and I wouldn’t be able to draft it myself), and
  2. it’s a very complicated task, most likely only suitable for core developers (I’m having second thoughts about adding WYSIWYG to the list for that same reason).

(Dave McClure) #15

I’ll volunteer to write up a spec for the user-customizable tabs. I don’t think it’s necessarily that complicated and may be doable as part of GSoC (but we can defer that discussion until there is a spec to review). I’ll keep the scope of what a first iteration might look like in mind as well.

(Kane York) #16

AMP is not ready for prime time. The most productive thing to do would probably be to take my branch and take out the AMP stuff, leaving just lean plain HTML.

Also, probably rename the trigger from ?amp to ?nojs.

(Jeff Atwood) #17

Not a fan of chat bot unless we have a real chat function.

(Erlend Sogge Heggen) #18

3 posts were merged into an existing topic: Try bot, a bot that teaches you about Discourse

(Jeff Atwood) #22

It’s just hellishly complex to do natural language processing. That alone is a giant red flag for me.

And let’s compare:

(typical discourse reply to a topic)

Hi this is DiscourseBot! Please upload an image and make it your logo!


(full screen)

Welcome to Discourse! Please click the button (the only button that’s on the screen right now), to upload a logo for your forum.

I think the former is completely awful compared to a simple full screen setup wizard, to the point that I oppose it violently.

Anyway this gets into first run setup which is massively strategic for us this year, and there’s no way in hell I would outsource that. It’s deserving of a much deeper conversation far outside the scope of Google SoC.

(Sam Saffron) #23

Yes, I completely agree with you here, let’s not add this to GSOC this is onboarding stuff that we want to build.