Difference between revisions of "GSoD 2019"
m (+Category:Mentorings) |
|||
(32 intermediate revisions by one other user not shown) | |||
Line 2: | Line 2: | ||
The list is not exhaustive, and is not limitative. Feel free to apply with '''your own idea!''' | The list is not exhaustive, and is not limitative. Feel free to apply with '''your own idea!''' | ||
+ | |||
== Introduction & Information == | == Introduction & Information == | ||
[[File:Asterix VLC.svg|frameless|right]] | [[File:Asterix VLC.svg|frameless|right]] | ||
− | This wiki page covers the attempt by the [[VideoLAN]] project to act as a mentoring organization for [https://developers.google.com/season-of-docs/ Google Season of Docs 2019] in order to improve [[VLC]]. | + | This wiki page covers the attempt by the [[VideoLAN]] project to act as a mentoring organization for [https://developers.google.com/season-of-docs/ Google Season of Docs 2019] in order to improve the [[VLC]] documentation. |
=== Season of Docs === | === Season of Docs === | ||
− | Google Season of Docs is a way for ''' | + | [https://developers.google.com/season-of-docs/ Google Season of Docs] is a way for '''technical writers''' to have a paid '''stipden''' by '''Google''' to work on open source projects and improve their documentation. |
+ | |||
+ | [[VLC]] is in very big need of documentation, both for developers and end-users, and we're in the progress of revamping all that. | ||
+ | |||
+ | '''GSoD''' is run by the same people running the ''Google Summer of Code'' program. | ||
− | [[VideoLAN]] was a ''Google Summer of Code'' mentoring organization in [[SoC 2007|2007]], [[SoC 2008|2008]], [[SoC 2009|2009]], [[SoC 2010|2010]], [[SoC 2011|2011]], [[SoC 2013|2013]], [[SoC 2016|2016]], [[SoC_2017|2017]] | + | [[VideoLAN]] was a ''Google Summer of Code'' mentoring organization in [[SoC 2007|2007]], [[SoC 2008|2008]], [[SoC 2009|2009]], [[SoC 2010|2010]], [[SoC 2011|2011]], [[SoC 2013|2013]], [[SoC 2016|2016]], [[SoC_2017|2017]], [[SoC_2018|2018]] and [[SoC_2019|2019]] |
− | This page list some ideas for | + | This page list some documentation ideas for both VLC and VLC mobile ports, developer and user-facing documentations. |
− | === VLC | + | === VLC === |
{{VLC}} is a cross-platform multimedia player, encoder and streamer application. It is one of the most successful open-source projects without any professional structure underneath. | {{VLC}} is a cross-platform multimedia player, encoder and streamer application. It is one of the most successful open-source projects without any professional structure underneath. | ||
Line 24: | Line 29: | ||
You can find more information on [http://en.wikipedia.org/wiki/VLC_media_player VLC on Wikipedia] or on this [[Main Page|wiki]]. | You can find more information on [http://en.wikipedia.org/wiki/VLC_media_player VLC on Wikipedia] or on this [[Main Page|wiki]]. | ||
− | The | + | The documentation of VLC is mostly for end-users using VLC. |
− | === | + | === libVLC === |
− | |||
− | + | The engine of VLC is '''libVLC'''. | |
− | + | It can be used to do 3rd party applications, media players, or other type of multimedia application. | |
− | + | Its API is documented but is far from being simple to understand. It should be improved. | |
− | |||
== How to Start == | == How to Start == | ||
Line 44: | Line 47: | ||
=== Submit your idea === | === Submit your idea === | ||
− | You need to submit your idea on the ''Google | + | You need to submit your idea on the ''Google Season of Doc'' platform. |
+ | |||
+ | You should do so, quite quickly, so that we can give you early feedback to improve your submission. | ||
+ | |||
+ | === Let's get in touch === | ||
+ | |||
+ | If you have a doubt, are not sure about anything or want clarification, please get in touch with us. | ||
+ | |||
+ | We have 3 major communication channels: Our [https://mailman.videolan.org/mailman/listinfo mailing-lists] to discuss patches and further development related topics. Furthermore, we have our [http://forum.videolan.org web forums] for VLC-related end-user support. Finally, there is our IRC channel ''#videolan'' (for libVLC) '' on the ''Freenode'' network. It's open to any kind of discussion. Usage issues, questions how to compile VLC, getting to know the fellow developers, etc. | ||
+ | |||
+ | All our mentors will be on the IRC channel, which is quite active, so it will be easy to find the right person in no time. | ||
+ | |||
+ | == Ideas == | ||
+ | |||
+ | === Modernize (rewrite) the VLC user documentation === | ||
+ | |||
+ | '''Project description''': | ||
+ | |||
+ | The {{VLC}} user [[Documentation:Documentation/|documentation]] is completely outdated, and is based on this wiki. | ||
+ | |||
+ | We want to move to a more modern setup, based on Gitlab and Markdown, and get something nicer to read and browse, for our end-users. | ||
+ | |||
+ | We are in process of migrating this documentation, now; it will be available for improvements soon. | ||
+ | |||
+ | '''Tasks to do''': | ||
+ | |||
+ | * Help us structure the documentation (split/join chapters, add things, etc...) | ||
+ | * Update the documentation to fit modern versions of VLC | ||
+ | * Fix the obvious errors in the documentation | ||
+ | * Prepare options and module documentation, so that developers can help filling them in | ||
+ | * Prepare for translations | ||
+ | |||
+ | '''Requirements''': Goodwill and love for your users. | ||
+ | |||
+ | '''Proposed mentor''': J-b, Simon, Alex | ||
+ | |||
+ | |||
+ | === Create the VLC user documentation for one mobile port (Android or iOS) === | ||
+ | |||
+ | '''Project description''': | ||
+ | |||
+ | While the {{VLC}} user [[Documentation:Documentation/|documentation]] for desktop is outdated, the mobile versions are almost not documented at all. | ||
+ | |||
+ | This requires a complete new project, with screenshots and a new architecture for the documentation, either for iOS or Android devices. | ||
+ | |||
+ | All options are open, but it would be nice to fit the desktop documentation, and maybe see some convergence. | ||
+ | |||
+ | This idea is actually 2 ideas, one for '''Android''', one for '''iOS'''. | ||
+ | |||
+ | '''Tasks to do''': | ||
+ | |||
+ | * Help us structure the documentation (chapters separation, add things, etc...) | ||
+ | * Write the documentation to fit mobile versions of VLC | ||
+ | * Screenshot from mobile version | ||
+ | * Converge with the desktop documentation, if possible. | ||
+ | |||
+ | '''Requirements''': Goodwill and love for your users. ''also, either an iOS or an Android device'' | ||
+ | |||
+ | '''Proposed mentor''': Alex, Geoffrey, J-b (Android), Soomin, Caro, Felix (iOS) | ||
+ | |||
+ | |||
+ | === Improve libVLC developer documentation === | ||
− | + | '''Project description''': | |
− | + | [[libVLC]] is the engine of VLC and can be used by 3rd party application for documentation. It is the core of our technologies, and is used a lot. | |
− | |||
− | + | Currently the libVLC API is precisely documented, for each API call; but it is lacking a higher level document on how to use it, with samples and examples, and how to use that for other development languages (C, C++, C#, Java, Obj-C, etc..). | |
− | + | It is also missing some introduction on the capabilities of the engine. | |
− | |||
− | === | + | Therefore, libVLC can be hard to use, when you are starting a project, and this is quite damaging for the developers using libVLC. |
+ | |||
+ | '''Tasks to do''': | ||
+ | |||
+ | * Understand the usage of libVLC on the different platforms and its capabilities; | ||
+ | * Write high-level documentation of the different libVLC classes; | ||
+ | * Write samples that matches those classes; | ||
+ | * Prepare to get cross-language samples in the documentation, a bit like MSDN; | ||
+ | * Write introductions to libVLC usage. | ||
+ | |||
+ | '''Proposed mentor''': Thomas, J-b, Hugo | ||
+ | |||
+ | |||
+ | === Improve VLCKit (libVLC binding for macOS) documentation === | ||
+ | |||
+ | '''Project description''': | ||
+ | |||
+ | Currently the [[VLCKit]] code base is documented but some part is now outdated and needs to be updated. | ||
+ | |||
+ | Indeed, it will be beneficial for VLCKit to have and overview of it's current documentation and update it if needed. | ||
+ | |||
+ | '''Tasks to do''': | ||
+ | |||
+ | * Understand the usage of VLCKit on the different platforms (iOS, macOS) | ||
+ | * Study exposed VLCKit methods | ||
+ | * Check current documentation if outdated | ||
+ | * Add documentation necessary | ||
+ | * Update the documentation rendering method(maybe something else than Doxygen?) | ||
+ | |||
+ | '''Requirements''': This project is easier with '''Objective-C''' knowledge. | ||
− | + | '''Proposed mentor''': Carola Nitz, Felix Paul Kühne, Soomin Lee | |
− | + | [[Category:Mentorings]] |
Latest revision as of 22:43, 23 April 2019
This page summarize the current list of ideas for VideoLAN project, for Google Season of Docs 2019.
The list is not exhaustive, and is not limitative. Feel free to apply with your own idea!
Introduction & Information
This wiki page covers the attempt by the VideoLAN project to act as a mentoring organization for Google Season of Docs 2019 in order to improve the VLC documentation.
Season of Docs
Google Season of Docs is a way for technical writers to have a paid stipden by Google to work on open source projects and improve their documentation.
VLC is in very big need of documentation, both for developers and end-users, and we're in the progress of revamping all that.
GSoD is run by the same people running the Google Summer of Code program.
VideoLAN was a Google Summer of Code mentoring organization in 2007, 2008, 2009, 2010, 2011, 2013, 2016, 2017, 2018 and 2019
This page list some documentation ideas for both VLC and VLC mobile ports, developer and user-facing documentations.
VLC
VLC media player is a cross-platform multimedia player, encoder and streamer application. It is one of the most successful open-source projects without any professional structure underneath.
VLC media player is downloaded at an approximate monthly rate of 23 millions from the main website and that's not including third-party distributions (Linux)!
You can find more information on VLC on Wikipedia or on this wiki.
The documentation of VLC is mostly for end-users using VLC.
libVLC
The engine of VLC is libVLC.
It can be used to do 3rd party applications, media players, or other type of multimedia application.
Its API is documented but is far from being simple to understand. It should be improved.
How to Start
Find an idea
First, you need to find an idea.
This current page gives you a list of ideas. Those ideas are NOT exhaustive: you can bring your own idea! Some of the best ideas we've ever had were custom ideas!
Submit your idea
You need to submit your idea on the Google Season of Doc platform.
You should do so, quite quickly, so that we can give you early feedback to improve your submission.
Let's get in touch
If you have a doubt, are not sure about anything or want clarification, please get in touch with us.
We have 3 major communication channels: Our mailing-lists to discuss patches and further development related topics. Furthermore, we have our web forums for VLC-related end-user support. Finally, there is our IRC channel #videolan (for libVLC) on the Freenode network. It's open to any kind of discussion. Usage issues, questions how to compile VLC, getting to know the fellow developers, etc.
All our mentors will be on the IRC channel, which is quite active, so it will be easy to find the right person in no time.
Ideas
Modernize (rewrite) the VLC user documentation
Project description:
The VLC media player user documentation is completely outdated, and is based on this wiki.
We want to move to a more modern setup, based on Gitlab and Markdown, and get something nicer to read and browse, for our end-users.
We are in process of migrating this documentation, now; it will be available for improvements soon.
Tasks to do:
- Help us structure the documentation (split/join chapters, add things, etc...)
- Update the documentation to fit modern versions of VLC
- Fix the obvious errors in the documentation
- Prepare options and module documentation, so that developers can help filling them in
- Prepare for translations
Requirements: Goodwill and love for your users.
Proposed mentor: J-b, Simon, Alex
Create the VLC user documentation for one mobile port (Android or iOS)
Project description:
While the VLC media player user documentation for desktop is outdated, the mobile versions are almost not documented at all.
This requires a complete new project, with screenshots and a new architecture for the documentation, either for iOS or Android devices.
All options are open, but it would be nice to fit the desktop documentation, and maybe see some convergence.
This idea is actually 2 ideas, one for Android, one for iOS.
Tasks to do:
- Help us structure the documentation (chapters separation, add things, etc...)
- Write the documentation to fit mobile versions of VLC
- Screenshot from mobile version
- Converge with the desktop documentation, if possible.
Requirements: Goodwill and love for your users. also, either an iOS or an Android device
Proposed mentor: Alex, Geoffrey, J-b (Android), Soomin, Caro, Felix (iOS)
Improve libVLC developer documentation
Project description:
libVLC is the engine of VLC and can be used by 3rd party application for documentation. It is the core of our technologies, and is used a lot.
Currently the libVLC API is precisely documented, for each API call; but it is lacking a higher level document on how to use it, with samples and examples, and how to use that for other development languages (C, C++, C#, Java, Obj-C, etc..).
It is also missing some introduction on the capabilities of the engine.
Therefore, libVLC can be hard to use, when you are starting a project, and this is quite damaging for the developers using libVLC.
Tasks to do:
- Understand the usage of libVLC on the different platforms and its capabilities;
- Write high-level documentation of the different libVLC classes;
- Write samples that matches those classes;
- Prepare to get cross-language samples in the documentation, a bit like MSDN;
- Write introductions to libVLC usage.
Proposed mentor: Thomas, J-b, Hugo
Improve VLCKit (libVLC binding for macOS) documentation
Project description:
Currently the VLCKit code base is documented but some part is now outdated and needs to be updated.
Indeed, it will be beneficial for VLCKit to have and overview of it's current documentation and update it if needed.
Tasks to do:
- Understand the usage of VLCKit on the different platforms (iOS, macOS)
- Study exposed VLCKit methods
- Check current documentation if outdated
- Add documentation necessary
- Update the documentation rendering method(maybe something else than Doxygen?)
Requirements: This project is easier with Objective-C knowledge.
Proposed mentor: Carola Nitz, Felix Paul Kühne, Soomin Lee