[pitivi] docs: Update GSoC info and add ideas page



commit 8b0ed9f0cabec15aae1246685ffde39f99c8d895
Author: Alexandru Băluț <alexandru balut gmail com>
Date:   Tue Feb 5 20:32:18 2019 +0100

    docs: Update GSoC info and add ideas page

 docs/GSoC_Ideas.md            | 44 +++++++++++++++++++++++++++
 docs/Google_Summer_of_Code.md | 71 +++++++++++++++++++++----------------------
 docs/Past_GSoCs.md            |  4 +++
 docs/sitemap.txt              |  5 +--
 4 files changed, 85 insertions(+), 39 deletions(-)
---
diff --git a/docs/GSoC_Ideas.md b/docs/GSoC_Ideas.md
new file mode 100644
index 00000000..147579e6
--- /dev/null
+++ b/docs/GSoC_Ideas.md
@@ -0,0 +1,44 @@
+---
+short-description: GSoC project ideas we thought about
+...
+
+# GSoC Project Ideas
+
+These ideas can be used as a base for writing a detailed project proposal if you want to apply for a [GSoC 
internship](Google_Summer_of_Code.md). You are welcome to come up with your own ideas.
+
+To create a detailed proposal, use [GNOME's GSoC application 
template](https://wiki.gnome.org/Outreach/SummerOfCode/Students#Fill_out_the_Application).
+
+## Media Library improvements
+ * Brief explanation: The first task would be to refactor the Media Library, to [replace the two separate 
widgets](https://gitlab.gnome.org/GNOME/pitivi/issues/1343) we use for the list view and the icon view with a 
single flexible [Gtk.FlowBox](https://lazka.github.io/pgi-docs/#Gtk-3.0/classes/FlowBox.html#Gtk.FlowBox) 
widget. The second task would be to [allow basic tagging of clips in the Media 
Library](https://gitlab.gnome.org/GNOME/pitivi/issues/537), and extend the search functionality to work on 
tags. The remaining time could be allocated to prepare for advanced clips filtering in the Media Library, 
based on tags.
+ * Requirements: Python, eye for detail. Minimal experience contributing to Pitivi.
+ * Mentor: Alexandru "aleb" Băluț
+
+## Effects usability
+ * Brief explanation: The main task would be to improve the Effects discovery experience, and find a way to 
make a set of [whitelisted effects easily accessible](https://gitlab.gnome.org/GNOME/pitivi/issues/2146). We 
should take into account also the effects used most often by the user. Depending on what ideas we explore and 
how much this takes, a potential second task is related to the consistency of the UI for configuring effects. 
For example, quite a few effects for which the configuration UI is generated automatically allow specifying a 
color, but the UI is very rough—We should create a polished widget to be reused in all these cases for 
selecting or specifying a color.
+ * Requirements: Python, eye for detail. Minimal experience contributing to Pitivi. Experience with 
GStreamer would be a big plus.
+ * Mentor: Alexandru "aleb" Băluț
+
+## Timeline interval
+ * Brief explanation: The initial task would be to allow the user to specify an [interval on the 
timeline](https://gitlab.gnome.org/GNOME/pitivi/issues/1842). The next tasks follow up on this: playing the 
interval in a loop, or [rendering only the interval](https://gitlab.gnome.org/GNOME/pitivi/issues/1006) 
instead of the entire timeline of the project, or zoom-fitting the timeline on the selected interval.
+ * Requirements: Python. Minimal experience contributing to Pitivi. Experience with GStreamer would be a big 
plus.
+ * Mentor: Alexandru "aleb" Băluț
+
+## Render experience
+ * Brief explanation: The Render dialog has options the users should not normally need to care about. This 
will be an exploratory task involving usability studies with people. You'll have the opportunity to learn 
about usability studies. We'll be in close contact with the GNOME Designers team. The experience when using 
the Encoder Settings dialog could similarly be improved for one or more important encoders.
+ * Requirements: Python, eye for detail. Minimal experience contributing to Pitivi. Experience with 
GStreamer would be a big plus.
+ * Mentor: Alexandru "aleb" Băluț
+
+## Render queue
+ * Brief explanation: Currently when starting a render, the edit functionality is blocked until the render 
is done. The main task would be to render in the background. The second task would be to have a render queue 
with a simple management UI.
+ * Requirements: Python. Minimal experience contributing to Pitivi. Experience with GStreamer would be a big 
plus.
+ * Mentor: Mathieu Duponchelle
+
+## Nested timelines/projects
+ * Brief explanation: The user should be able to use a project as if it was a clip in the timeline, allowing 
to [separate the scene in different sub projects](https://gitlab.gnome.org/GNOME/pitivi/issues/500) to better 
organize complex projects. The focus will be on the User Interface to expose the feature that needs to be 
finalized in [GStreamer Editing Services](GES.md). A usability study can be performed, which you have the 
opportunity to learn about.
+ * Requirements: Python. Minimal experience contributing to Pitivi. Experience with the GStreamer Editing 
Services would be a big plus.
+ * Mentor: Thibault "thiblahute" Saunier
+
+## Fix GPU support in Pitivi
+ * Brief explanation: GStreamer has pretty good GPU support through the OpenGL set of plugins, but 
Pitivi/GES is not able to take full advantage of that infrastructure yet, mainly because of lack of testing 
and bug fixing on our side. This project is about enabling GL plugins for compositing and rendering and fix 
any issue that shows up. The second part would be about making sure hardware accelerated decoders can be used 
in the pipelines.
+ * Requirements: C. Experience with GStreamer is mandatory. Minimal experience contributing to Pitivi. 
Experience with OpenGL is a plus.
+ * Mentor: Thibault "thiblahute" Saunier
diff --git a/docs/Google_Summer_of_Code.md b/docs/Google_Summer_of_Code.md
index ebad5384..75a05249 100644
--- a/docs/Google_Summer_of_Code.md
+++ b/docs/Google_Summer_of_Code.md
@@ -5,13 +5,8 @@ we accept your project proposal, in June-July-August you work on your
 project while being paid by Google. Mid-term and end-term we evaluate
 your work.
 
-On the technical side, it might interest you that we use GES/GStreamer
-as backend, GTK for the UI, the Meson build system, and Flatpak to make
-builds for users. Flatpak also allows us to have a sandboxed development
-which means it's very easy to setup, you are set up in no time, and you
-don't have to run a virtual machine or f\*\*k up your system to be able
-to build the latest GStreamer and Pitivi. See the section at the top of
-the [contributing page] for details why Pitivi is important.
+See the section at the top of the [contributing page] for details why
+Pitivi is important.
 
 While a GSoC with us is one of the most fun and rewarding experiences
 you can get, you need to consider it as *professional work*:
@@ -36,13 +31,13 @@ involvement and commitment]”. If you are interested, the best thing you
 can do is to come to our [IRC channel] now, to make sure we have enough
 time to get to know you.
 
-  [Google “Summer of Code” program]: https://developers.google.com/open-source/gsoc/
+  [Google “Summer of Code” program]: https://summerofcode.withgoogle.com/
   [contributing page]: http://www.pitivi.org/?go=contributing
   [Applying for a GSoC project is all about early involvement and
   commitment]: 
http://jeff.ecchi.ca/blog/2014/02/15/applying-for-a-gsoc-project-is-all-about-early-involvement-and-commitment/
   [IRC channel]: http://www.pitivi.org/?go=contact
 
-# Who we are looking for
+## Who we are looking for
 
 We are looking for smart and talented developers interested in
 multimedia and video editing.
@@ -52,39 +47,45 @@ know. Achieved a milestone or solved a really nasty problem? The *entire
 world* needs to know. We require to see you in our IRC channel, that's
 where you can meet the team, where you follow what's going on and that's
 where we'll communicate. Email is not sufficient. If you're new to IRC,
-check out [IRCCloud] and [riot.im]
+check out [IRCCloud] and [riot.im].
 
 You must have experience with Python or C, depending on your project.
 Knowledge of [Git], GStreamer and [related technologies] is a plus.
 Familiarity with [Test-Driven Development] is a plus.
 
   [riot.im]: https://riot.im/app
-  [IRCCloud]: https://www.irccloud.com/pricing
+  [IRCCloud]: https://www.irccloud.com
   [Git]: Git.md
   [related technologies]: Architecture.md
   [Test-Driven Development]: http://en.wikipedia.org/wiki/Test-driven_development
 
-# What we offer
-
-You have a fantastic learning opportunity to play with [technologies]
-such as GStreamer, GTK+, Python, etc. We'll direct you to make great use
-of the tight-knit GStreamer and GTK communities so you have high-quality
-feedback throughout your project.
+## What we offer
 
 You can improve the lives of thousands of users by working on a tangible
 and fun project.
 
+On the technical side, it might interest you that we use GES/GStreamer
+as backend, GTK for the UI, the Meson build system, and Flatpak to
+distribute our own builds to users. You have a fantastic learning
+opportunity to play with these [technologies]. We'll direct you to make
+great use of the tight-knit GStreamer and GTK communities so you have
+high-quality feedback throughout your project.
+
+Flatpak additionally allows us to have a [development environment] with
+all the dependencies in a sandbox, which is very easy to set up.
+This means you won't have to mess your system to be able to build
+the latest GStreamer. Since all of us will be using the same
+dependencies, there will be no friction due to the complex dependencies.
+
 You have the opportunity to present your accomplishments to others at
 [GUADEC] where you can also meet with us. In past years the travel
 expenses for GSoC students have been covered by GNOME.
 
-See more [reasons for contributing].
-
+  [development environment]: HACKING.md
   [technologies]: Architecture.md
   [GUADEC]: http://en.wikipedia.org/wiki/GNOME_Users_And_Developers_European_Conference
-  [reasons for contributing]: http://www.pitivi.org/?go=contributing
 
-# How to apply and get started
+## How to apply and get started
 
 ![](images/Challenge-Accepted.png "Challenge-Accepted.png")
 
@@ -107,30 +108,29 @@ Therefore, you should proceed like this:
     doesn't, etc. See how you like it.
 3.  To get a better idea of how comfortable you are with the code and
     community, make some small contributions to the code. Pick some
-    small [bugs] to fix or pick a “small” task in the [fun tasks for
-    newcomers] list and have a go at it. Keep us in the loop. The
+    [small bug to fix] and have a go at it. Keep us in the loop. The
     earlier you start contributing, the more likely you know what you're
     getting into. Don't start contributing in March/April: we highly
     encourage you to start getting involved in January/February, or even
     earlier, to have time to try another team if we are not a good fit
     for you.
 4.  Find a cool feature you need in Pitivi and tell us. Start making a
-    design doc on how you plan to implement it.
+    design doc on how you plan to implement it. Feel free to pick
+    a project from the list of [GSoC project ideas] we thought about.
 5.  Fill out the [application] and apply officially to the Google's
-    Summer of Code [website] under both the GNOME or GStreamer mentoring
-    organizations, depending on your project.
+    Summer of Code [website].
 
   [our official stance]: 
http://jeff.ecchi.ca/blog/2014/02/15/applying-for-a-gsoc-project-is-all-about-early-involvement-and-commitment/
   [Being selected as a Summer of Code student]: http://ploum.net/be-selected-student-for-soc/
   [IRC channel]: http://www.pitivi.org/?go=contact
   [development environment]: HACKING.md
   [Test suite]: Testing.md
-  [issue]: https://gitlab.gnome.org/GNOME/pitivi/issues
-  [fun tasks for newcomers]: https://gitlab.gnome.org/GNOME/pitivi/issues?label_name%5B%5D=4.+Newcomers
+  [small bug to fix]: https://gitlab.gnome.org/GNOME/pitivi/issues?label_name%5B%5D=4.+Newcomers
   [application]: https://wiki.gnome.org/Outreach/SummerOfCode/Students#Fill_out_the_Application
-  [website]: https://developers.google.com/open-source/gsoc/
+  [website]: https://summerofcode.withgoogle.com/
+
+## Project ideas
 
-# Project ideas
 Pitivi is a very modular video editor, whose [architecture] heavily
 depends on technologies like [GES] and GStreamer. The scope of your GSoC
 project will probably cover only Pitivi, but it could very well span
@@ -149,17 +149,14 @@ multiple codebases:
 
 We'd love to see GSoC proposals originating from an itch you need to
 scratch. You are welcome to ask around and **bring your own ideas**. If
-you're not sure where you can be most useful, have a look at the “large”
-tasks in the [fun tasks for newcomers] list. They are fun cool
-features very suitable for a GSoC project. See the [roadmap] for our
-overall vision for the project. Deadlines for applying are approaching
-fast, hurry up!
+you're not sure where you can be most useful, have a look at our list
+of [GSoC project ideas]. Deadlines for applying are approaching fast,
+hurry up!
 
 See [Past GSoCs] for details on what the previous GSoC students did.
 
   [architecture]: Architecture.md
   [GES]: GES.md
   [Pitivi]: http://www.pitivi.org/manual/mainwindow.html
-  [fun tasks for newcomers]: https://gitlab.gnome.org/GNOME/pitivi/issues?label_name%5B%5D=4.+Newcomers
-  [roadmap]: Roadmap.md
+  [GSoC project ideas]: GSoC_Ideas.md
   [Past GSoCs]: Past_GSoCs.md
diff --git a/docs/Past_GSoCs.md b/docs/Past_GSoCs.md
index 4a8ff1cd..97c48216 100644
--- a/docs/Past_GSoCs.md
+++ b/docs/Past_GSoCs.md
@@ -1,3 +1,7 @@
+---
+short-description: What the GSoC students did in the previous years
+...
+
 # Past GSoCs
 
 See [Google Summer of Code](Google_Summer_of_Code.md) for how to
diff --git a/docs/sitemap.txt b/docs/sitemap.txt
index c0c8524d..cd7c0ce0 100644
--- a/docs/sitemap.txt
+++ b/docs/sitemap.txt
@@ -45,9 +45,10 @@ index.md
                releases/0.10.2.md
                releases/0.10.1.md
        Google_Summer_of_Code.md
+               GSoC_Ideas.md
                Past_GSoCs.md
-               Google_SoC_2007_-_Simple_Timeline.md
-               Feroze_gsoc.md
+                       Google_SoC_2007_-_Simple_Timeline.md
+                       Feroze_gsoc.md
        Testing.md
                QA_Scenarios.md
        design.md


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]