Create the VLC User Documentation for one Mobile Port(Android)


OVERVIEW

VideoLAN is a non-profit organization that develops software for playing video and other media formats. VLC media player (commonly known as just VLC) is a free and Open Source cross-platform multimedia player and framework that plays most multimedia files as well as DVDs, Audio CDs, VCDs, and various streaming protocols built by the VideoLAN organization and a team of volunteers. VLC for Android is a port of the VLC for Android OS.

The project was to Create the VLC User Documentation for Android Mobile Port which was previously hosted on VLC’s wiki pages. The major portion of this was to start everything from scratch including chapter separation, section organization and an engaging and easy to follow for both technical and non-technical users. The original proposal can be found here.

PROJECT GOALS

  • Propose a new structure for documentation e.g. Chapter Separation, Sections etc
  • Proper balance between technical and non-technical descriptions to serve all kinds of users.
  • Adequate amount of screenshots in each section and other supporting media to make documentation more appealing.
  • Optimized for all Screen Sizes. Especially for Mobile Devices.
  • Ease of navigation

COMMUNITY BONDING

This period was mostly utilized for collecting more information and many internal meetings to shape the projects and bonding with fellow writers, developers(mentors). I got to know more about the VLC organization and the project. We decided to create a skeleton of the project and then follow a Issue-Merge Request-Review-Merge system to keep the commit history clean and maintain the proper review of the work before it is merged.

I initially proposed that the new documentation should also use the same tools(Sphinx and GitLab Pages) because if in future we want to merge all the documentation into a single one, it will be easier to migrate and will provide a consistency across all documentations. Later I got to know that this will be an independent project and may not be merged since it solves a lot of problems. I was already familiar with the tools so it took no time to get started.

Nicolas Pomepuy, who is the lead developer of VLC for Android was assigned as my primary mentor and Simon Latapie as secondary mentor.

DOCUMENTATION DEVELOPMENT PHASE

Initial Preparation I first moved my existing demo documentation to an entirely new repository with only the skeleton at the suggestion of my mentor. It was necessary to keep the commit history clean. The skeleton contained the empty directories representing the chapter separation. I got to learn “how to properly develop a project and contribute to open source”. This was a major lesson that got me familiar with the Merge Request and Review system.

The Development The next part was to frame the actual documentation pages and push to the repository. Since there was a significant time-zone difference we agreed to discuss by creating issues and sometimes my emails. There was one meeting every fortnight to check the process and discuss further development and blockers. Nicolas was really helpful and patient, answering each of my big-small queries.

Work Done

Documentation VLC for Android User Documentation
Project Repository Projects · Avinal Kumar / VLC for Android User Documentation
Commits Commits · Avinal Kumar / VLC for Android User Documentation
Issues/Discussions Issues · Avinal Kumar / VLC for Android User Documentation
Merge Requests Merge Requests · Avinal Kumar / VLC for Android User Documentation

Since the Android port of VLC can be installed on Android Smartphones/Tablets, Android TVs, Amazon Fire Devices and Chromebooks too, a full documentation will cover these all devices. Although these are different form factors, the features provided on each of them is exactly the same and the same documentation can be used for all these devices. As of now only Smartphones/Tablets are covered. And later additional pages will be added to reference different features/User Interface. Regardless of this addition the current documentation can serve a major part for all these form factors. Completed/Remaining

Chapters Sections Status
Settings
  • General Settings
  • Interface
  • Video
  • Subtitles
  • Audio
  • Casting
  • Advanced
ALL COMPLETED

FOR ALL FORM FACTORS

Video
  • Video Explorer
  • Video Player
COMPLETED FOR SMARTPHONES/TABLETS
Audio
  • Audio Explorer
  • Audio Player
COMPLETED FOR SMARTPHONES/TABLETS
Browse
  • Explorer
  • Local Network
ONLY SMB IN LOCAL NETWORK COMPLETED
Installation
  • Smartphones/Tablets
  • Android TV
  • Fire Devices
  • Chromebooks
COMPLETED FOR SMARTPHONES/TABLETS
User Interface
  • Smartphones/Tablets
  • Android TV
  • Fire Devices
  • Chromebooks
COMPLETED FOR SMARTPHONES/TABLETS
Support
  • FAQs
  • Help
IN PROGRESS
Guidelines
  • Contribution Guideline
  • Screenshot Guidelines
  • READMEs
IN PROGRESS

CHALLENGES

The major obstacle was to get screenshots for all form factors. Since screenshots were the major part of this documentation it was necessary to provide proper screenshots in each chapter and with every step. For Android TV and Smartphone this was solved by using emulators instead of actual devices, but to emulate the actual scenario in an emulator was sometimes very difficult. There were many occasions where I was not able to gather the exact information about devices other than smartphones/tables. Since all form factors share a common pool of features, my mentor suggested that I focus on smartphones/tables. And to create issues mentioning missing parts so that it could be solved later.

THANKS

I want to thank my mentors for being supporting and helpful. I want to thank every person at VLC and Google who were involved in this whole process. Thanks and Congrats to my fellow writer Abhishek Pratap Singh. This was a great opportunity to learn and meet awesome people. I learned a lot about Sphinx, reStructured Text and many other things.


This Blog is licensed under Attribution-NonCommercial 4.0 International


You may put your GitHub Username.
I'll never share your email with anyone else.
Please Enter something !
Enter upto 200 characters.