GSoC 2020 live blog


  1. Watch this topic, so that you stay up to date, we will not update each of you individually!

  2. First of all, please read and as they contain very important information about the project and how to contribute.

  3. General information about GSoC is given in

  4. For students, see in particular the section Instructions for students, which will tell you how to get started.
    Please follow Recommended steps closely.
    When you post your introduction, include your username, e.g Introducing <username>
    Structure your introduction in individual paragraphs, like

    • name, age, university
    • experience, references
    • your way forward, your interests
  5. Fix an issue and mention it in your introduction topic, a simple reply in the topic is enough.
    The [good first issue], [bug] and [high] labels can be good places to start. The [enhancement] label could be interesting too. Otherwise don’t hesitate to filter the issues by the labels that might interest you, such as “desktop”, or “clipper”, or “tags”, etc. On GitHub, click on the “Label” header to do so.

    Alternatively you can do a features request or discusse existing ones in #features. If there is postive feedback, you can create a corresponding feature request and try to realize it doing a PR

  6. Submit your fix in a nice and clean PR.
    When you do this, link to the issue number please, so that we know why you did that.
    Mention @PackElend label me please, so that I can track your PRs by adding the label gsoc-2020
    If the PR is too bad from the start, it will be closed and won’t accept more pull request from that student.

  7. Read the behavior section closely

  8. If you feel ready for coming up with a proposal, send a private message to @Mentors and write your first draft. If you do it early it could be a bit too early to submit any full projects but we prefer rather that way than being faced with a complete proposal just before the deadline.
    If you do your drafting in google docs, you can easily convert it in mardown using tools like or . Format does not to be perfect but it shall be easily readable.
    You propsal has to be in the very first post of your PM, not the secon and other so we can discuss it here and make suggestion for improvement right as the spot.
    Mentioned your ideas and name in the title of your PM otherwise it is lost.

    You create a simple starting prototype and go a long way from there. We expect that has already kind of final structure, means chapter like intro, idea and how to solve. It the upcoming days it will / improve step by step, editing the original post.
    The week before the deadline we expect that your proposal:

    • explains where to change code
    • explains what to change in detail
    • use diagrams or other visualitzation to enable us to get a grasp of you way forward easily.

    The more information there are the more we are confident that you have understood Joplin’s code base, allowing us to have relaxed coding period.
    Moreover, the better that is the likier it is that it may compesate a lack of good PR record!
    In addition it shall tells us how and for how long you have been using Joplin.

    You are kindly asked to upload the first draft when the application period is open and push the final one, a few days before the deadline.
    There has been question on how many proposal can be made and worked on, please read
    Frequently Asked Questions | Google Summer of Code | Google Developers #1
    Frequently Asked Questions | Google Summer of Code | Google Developers #2

A general remark, you don’t have to follow the suggestions 1:1. These are only guidelines, the introduction also tells something about yourself, so speak frankly.

For existing students, please adapt your existing introduction!


  • read
  • make yourself familiar with git if you haven’t used it yet. It is expected that you understand rebasing, rewriting history, resolving conflicts (conflicts in the code, but also how to resolve one in package-lock.json), …
    Good reads are...
  • Code clear any clean, e.g. no massive use of white-spaces
  • only stage / commit changed files in a PR
    Pull requests that include changes unrelated to your issue will not be merged .
    Moreover it does not reflect well on your work when mentors have to remind you to clean up your pull request. It is a significant time sink for us, doing this! Read for more details.
  • Show evidence of you change and tests by means of screenshot, GIF or screen record.
    Good examples are #2565 and #2573
  • If you do a PR, mention me, so that I label it correctly, so that we keep track of all contributions easily.
    Just say @PackElend label me please.
  • describing how to style your code and how to structure your code is still a to-do.
    For the moment we start collecting all ides in How to style your code
  • describing the architecture at high level is still a to-do.
    For the time being, related posts are colleced in Troubleshooting FAQ and collecting topic for contributing to Joplin codebase. Instruction and description is given in there.



  • We will try to keep track of challenges and mention them here, if they are of a generic nature
  • please mentioned me, if there difficulties, which shall be listed here, to avoid that others run into the same trap
  • This will be a long term task.
    For the moment we start collecting all tips&tricks in Troubleshooting FAQ and collecting topic for contributing to Joplin codebase. Instruction and description is given in there.


  • If you’re not familiar with something, you test it locally (in your fork) first.

  • You don’t say, it is not working and post merely the error message.

  • You tell us the details about your development environment and your way to this point as well. Only this way, we can comprehend your journey in our’s mind’s eye to give the support you need.

  • be sparing with mentioning, the forum is closely watched

  • If you need support, try to ask Google first, not for hours but it might be easily resolvable.

  • Then come back to the forum and ask for help. This way, you can say, I think I run into problem xy, I tried to solve it following xy but I need additional help. This gives a much better impression towards community than just signal SOS.

  • We can hardly give you tight how-to-proceed here. At the end is up to you, when you want to ask the community. We discussed this, see Let’s Discuss Improving Documentation and Styling Guidelines To Help New and Old Contributors, it may help you to give some extra guidance

  • As all happens mainly written, there is no space for visual communication by mimic and gestic, so think before you interact with the community.

  • No worries at all, we are very open-minded and eager to help but sometimes it is just too much. At the end of the day, you are assessed by your actions.

  • If you work on an issue, you keep us updated. Running after people to ask how things are going is not fun. Drop us little note in the forum (so the issue remains clean), so we know what is going on if you need pause the work. That is no problem at all, as long as we are aware of it.

  • Keep in mind, what and how act here, tells a bit yourself

  • Important: All the mentors in this project are doing this in their spare time, and this is a very busy project at the moment. They will get to your pull request eventually. Once you have mentioned PackElend, you should not contact mentors via PM or @mention them to ask for review or feedback . Nagging contributors is, in fact, the surest way to make your pull request go down to the bottom of the pile!
    If you feel that you need to mentioned a Joplin team member, as there is an urgent reason to so, you can mention @PackElend or @bedwardly-down, they will respond as soon as possible.
    They will mentioned other team member when necessary, as they are quite occupied to take care of the app in general and reviewing the PRs.

  • Important: here and on GitHub use mentions almost never, others are informed if you react to post or quote their reply or just reply to specific message. Excessive mentioning is not welcome and can drop you reputation.



There is not that much news as PRs and proposal draft is increasing steadily but the quality is not only occasionally average.

Quite often, it was necessary to quote text from this blog to tell how the proposal shall be submitted and in which format. The same applies to explain how you get listed in our internal ranking.

These things are very bad reputation for your application as it tells us that your not able to read all details and not willing to follow as told.

There are students with a solid record of PR and merges of them, what are occasionally topped with a good proposal, what in turn makes us quite happy.

Unfortunately, your reputation can be easily ruined and already happened, by a lack of proper communication, especially with the community on the forums and our mentors.

May you wonder what makes a good proposal. Here is some advice:

  • diagrams are well done
  • detailed what files in the code you would need to change for it to work,
  • documentation so that we can get behind it easily.
  • list external references as a secondary source, to convince us that you are the right one for the job.
    If you do so, you have to explain in detail how past job/projects of you are going to help you accomplish the GSoC goals, we don’t want to dig through your references

To raise your reputation by good quality PRs, you shall review your closed or other closed PRs and try to understand why these were closed.

We don’t want to explain any detail why do this or that this or that way, you have to make your conclusion what is necessary for the ideas you want to work on, as further collaboration counts on such skills

Last but not least, you can submit and revise your applications in until the deadline, including your “Final” PDF proposal.

A final word, read the instruction twice, try to understand why things are going wrong and make us an easy life with the vast amount of PRs and proposal :).

All the best and we are still happy to have you here around.

The Joplin Team


There is solid record of PR and merges of them, what makes us quite happy. The number of joining students still rising.
Moreover, there are some early proposal coming and we are looking forward what comes in as soon as the official application period begins.

Unfortunately, this pushes us to our capacity limit, so bear in mind to stick to above mentioned rules to make our life as easy as possible what in turn benefits your efforts to contribute to Joplin. This allows us to invest time where need instead of jumping from one PR to another ones.
We would like to remind you, to use code blocks and “hide details” block to post code or logs. You can also put it on e.g. pastebin.
Don’t leave your PRs unattended for longer than a day. We respect your exam periods but drop us a note in the PR or topic, wherever we have close discussion with you, that you will be AFK for xy days. If you don’t do so we close your PR and may allow others to take over, what in turn has a negative impact on your application.
As time is rare the upcoming days, you are advised to work as independently as possible and accept if we give you only rough guidance. If we see that errors happen due to failures or bad documentation in the code your can count on us.

happy coding and drafting


Week three and it gets serious. We merged not a little number of PRs, see label:gsoc-2020 is:merged and the number of PR is steadily rising.
A big thank you to all new contirbutors, your are helping us to make Joplin a better app day by day.

Moreover, the first proposal draft are coming in. We encourage you to do this as early as possible to allow us to comment them in time.
Besides this we are enjoining the rich and refreshing discussions around the ideas and new features suggestion. Here again, we only encourage you to come with your own ideas, what in turn tells us, that you know the app and it users quite well.

The latest Highlight is the blog of nextcloud who are going to publish our cooperation.
It should be online on by tomorrow.


The last week was characterized by getting closer to each other and clarifying how to proceed organizationally.

We are still quite overwhelmed by all new student introductions. We are happy to see that there is active collaboration between students, what in turn makes life easier for us. Overall, you can say the quality of the conversations is slightly but steadily improving.
You can recognize that by lowering the length of PR conversation and the wider interaction in them, respectively.
Kind of same is happening in the forum, as more feature suggestion/project ideas are coming in / being discussed, what led to a few involvements of the community. At this point, any community member is encouraged to get involved in these discussions to see your wishes implemented in the coding period.

The ongoing challenge is the coordination, we made some internal decisions on this during the last weekend, which lead to an update of the QuickStart, so please read it again. Alternatively, you can use the history button and read only the changes.

Have a particular look at the behavior section!
The biggest challenges are things what go beyond GSoC. These are:

  • collecting all the tips&tricks
  • improve coding style requirements
  • collect and list all feature request centrally
  • collect and list all bug centrally and tag them properly, to show what relies on external dependencies and what can be done by the Joplin contributors and so on.
    All this aims to give new contributors an easier start, beginning to contribute to Joplin.

We are confident that we are going to handle all upcoming incomings during this month with the new setup but we are always happy to have more mentors and code reviewers on board.

Last but not least, we are excited about further PRs and project ideas! Up to now we have eleven Students, worked/working on multiple PRs :).
We are happy that the first proposal draft discussion are initiated


We are in the first week of GSoC and pretty overwhelmed by the activity since the announcement that Joplin as accepted by Google, see for yourself #gsoc. A big thank you to those who have been active even before the announcement.
Also we want to thank you the community supporting us in setting the sails and this sailing off phase.
As this is the first time we are setting sails for this journey things are not perfect. It is a learning at both sides what will help improve the situation during the upcoming days.

Stay tuned
The Joplin team

history of this topic

Hello community, hello new contributors,

The announcement that Joplin had been accepted for GSoC has brought a lot of attention to Joplin, which is good and out of the question. Unfortunately, the core team is small and this is the first GSoC episode of Joplin. We have already received great support from the community, which helps us to improve the situation.
The challenge is to make the information, which is currently scattered in several topics and GiHub discussion, easily available to anyone.
This is the reason for this live blog.

This topic will be filled with essential information around our GSoC journey regardless the information classification, e.g. code style, how to create IDE or how to talk in the forum…

I will pick up anything, what I see as important an will bring it up here, either just as a copy&paste or curated depending on time and necessity.
So let’s start.

Dhyey Gami - GSOC'20 Introduction
Introducing devabhixda
GSoC Idea - Password-protected notes
Let's Discuss Improving Documentation and Styling Guidelines To Help New and Old Contributors
GSOC introduction
Aditya - GSoc-2020 Introduction
Jainam Chhatbar: GSoC 2020 Introduction
Introduction for the GSoC 2020
Chibuokem Jerry- GSOC 2020 Introduction
Akshat Sachan - GSOC'20 Introduction
Dhyey Gami - GSOC'20 Introduction
Introducing myself for gsoc 2020
Fahad Israr:A Developers Introduction for GSOC-2020
Introducing gittysachin - Collaboration via Nextcloud
Introducing devabhixda
Jayashree-panda - GSOC-2020 Introduction
GSoC2020- Intoduction to community
How I can contribute to joplin
Introducing thekaur99
Ashutosh Trivedi- GSOC'20 Introduction
Imran Khan - GSOC 2020 Introduction - " Web client for Nextcloud"
GSoC Idea - Custom keyboard shortcuts
Raj:GSOC-2020 Introduction
Introducing marwanatef2
GSoC Introduction and Own Idea
GSoC Idea - Search
Akram Azarm - GSoC 2020 Introduction
Introduction to the community
Introduction: Zaid Kesarani
Introduction: Zaid Kesarani
GSoC Idea - Search
Introducing geeksaurav @ GSoC 2020
Introducing Yashwanth
Introducing samarthamahesh
Introducing Minhal Aftab
Introducing abhi6501
Introducing @EANimesha
Introducing Minhal Aftab
Introducing Ashray123 - OCR support
Speech input
Introduction of Siddharth Mishra (@sidmish9)
Introducing Ashray123 - OCR support
Introducing Ashray123 - OCR support
Introducing Sapsa
Dhruv Sahnan - GSOC'20 Introduction
GSoC Idea - Custom keyboard shortcuts
Njoku Emmanuel- GSOC 2020 Introduction
GSOC: introduction @sealch
GSoC Idea - Custom keyboard shortcuts
We aren't the professionals? Where is the Documentation?[Gsoc-2020]
Introducing Ravi Soni (@Infi-Knight)
Introducing @EANimesha
Joplin Web API for Nextcloud
GSoC Idea - OCR Support
Moving the forum to a different provider?
Introducing marwanatef2
Question regarding GSoC Password Protected Notes
[GSOC] 2020 - Introduction
Introducing prathima-b
Introducing Durrell Gemuh
Google Summer of Code Inquiry
GSoC 2020 - Introducing myself - Ihan
Introduction: Yash Jipkate
Introduction to the community for RN-Share Project
Prafful - GSoC 2020 Introduction
Sharath Sriram - Developer Introduction for GSoC
Hiren - GSoC-2020 Introduction

proposal and other private things can be discussed with the mentors by sending a private message to them. You can reach them sending a PM to @Mentors.
Any update of the blog will happen tomorrow CET

Important information on how to submit your proposal added

added bullet points to contribute

and troubleshooting

updated behavior, so read it again please

And last but not least, added new blog entry

updated :





for those for search for additional ideas may you search for topic in #features tagged by GSoC


important update in regard of proposal

  • copy the content of your proposal in the first post of your PM, so we can discuss it here and make suggestion for improvement right as the spot.
  • please use proper markdown formatting, you can use tools to convert markdown to html etc or
  • mentioned your ideas and name in the title of your PM otherwise it gets lost in the surge of PMs


There have been so many low quality PRs recently, which we didn’t merge, and some that have been merged introduced new bugs.
Some of them have already been reverted and we are going revert some more if the bugs aren’t fixed.

From now on, if the PR is too bad from the start, it will be closed and won’t accept more pull request from that student.
It might sound harsh but we get the impression that some students don’t know what they are doing, maybe they just don’t care and are quickly posting tons of PR left and right.

As guidance have a look in the closes PRs


The proposal shall also tell us how long you have used and what platforms they’re using for running Joplin.


was added


read it carefulley and act accordingly

1 Like

less than 48 hours until the deadline!
Some advice when are you going to upload your proposal to GSoC within the next hours.

  • make sure that you use (simple) mockups to tell us how are you going to adapt the UI
  • use diagrams to describe workflows of data and/or user interaction
  • detail what files in the code you would need to change for it to work. This is very important, as it tells us that you comprehend the complexity of Joplin’s structure!
  • tell us what libraries you are going to use to accomplish your goals
  • tell us how you ensure that your changes are compatible with CLI, Desktop and mobile apps
  • list external references as a secondary source, to convince us that you are the right one for the job.
    If you do so, you have to explain in detail how past job/projects of you are going to help you accomplish the GSoC goals, we don’t want to dig through your references

Hi there,
Google will tell us next week how many slots they will sponsor.
We must practice patient and don't rise expectation to high as Google says that new organisations could not receive that many slots they would like. The only way we can influence this by the number of mentors, so feel free to join us :wink: .

There will be student we would love to work with but we have to reject them as we don't get the number of slots needed to do so. There is second chance for those as we are going to apply for Google's season of doc where GSoC applicants more than welcome to apply for.


there that is properly the last announcement for quite a while.
There is not that much to say here as The first phase of GSoC has ended! covers pretty much all of it.

In addition to that there is
#gsoc-projects : To discuss anything related to both GSoC projects
#gsoc-projects-search : For the search engine project
#gsoc-projects-shortcut : For the keyboard shortcut project

Unfortunately, Joplin is not accepted Season of Docs 2020 but we will try to apply for more than only GSoC.

stay tuned and thanks a lot for all your contributions!