All Done!

Published: 08/31/2020

Hello there!

Today is the final day of my GSoC Journey. I am truly grateful for all that I have learnt the past 3 months. Here's my final overview of my work in the last week.

What did you do this week?

My mentors tested out my product and found many bugs, and advised changes for better use. As a developer, using the same features everyday, you get the feeling that users will be able to use it as easily. But its always better to have a third perspective. The best perspective is that of the users, and my mentors are exactly that. I implemented the changes (2- 3 PRs) .

The changes implemented messed up some of the tests. Not All. (Finally understood what Reimar had meant when he said that all tests should be independent from each other. Thanks for the tip!)

I worked on the Documentation, gave a small demo to the mentors, and made a demo video as well! So, a very productive final week :)) 

I am very happy to say that my code has been merged into the main development branch. And I'll continue to better the software from that branch now :))

What will I do next week?

I will continue to work on my skills, apart from GSoC. 

Did you get stuck anywhere?

I was reluctant with some of the changes.. simply because I am a bit attached to my work. But mentors pointed out changes logically, and  I agreed with them too . Other than this, there was no getting stuck.


You can find my Work Submission report here. You can check out my demo video right here!


I'm thankful to my mentors Jörn, Reimar and Christian who provided immense support and motivation to persevere through all my difficulties. They sympathised with my problems and gave me ideas on how to face the challenges head on. Without their guidance, I would have been lost. I would also like to thank my GSoC mate Tanish who helped me out with my small doubts from time to time :))

I'm also grateful to MSS, PSF & the GSoC Community. This program has made me more confident about my abilities, and has strengthened my belief in the fact that passion, perseverance and patience can help you achieve wonders!

Finally, to the Open Source Community : Thank you for being so welcoming. I started from scratch and three months later, its still hard for me to believe that I developed a feature of a software :)) Thank you for giving me this opportunity, and I'll personally continue forward the Open Source spirit with my future contributions.


View Blog Post

Week 12 : All Done!

Published: 08/24/2020

Hello there! This was the final week of coding in GSoC 2020. Three months back, I had no confidence that I would be able to do the project. And here we are! 

What did you do this week?

I spent the week writing tests for KML Overlay. I wrote tests for Automated Button clicks, checking if a feature has been plotted on the map or not, the linewidth and colour of the files. It was a long arduous process, but I'm glad I was able to complete it :))

What will I do next week?

Not much, I guess :p 

I will work on the documentation and the formalities left to submit my work for Evaluation. I think thats all!

Did you get stuck anywhere?

This week was all about writing Tests. I hate writing tests. They are counter - intuitive, and almost half of the tests seem inconsequential. I do realise its importance, but I need to vent as there is so little clear documentation about Pytest, PyQt and mocking. I spent a lot of time trying to automate clicks, which should have been a much easier process. 


I am really happy with the way things turned out. From a shy, hesitant person, afraid of bombing up softwares, I have become a much more confident amateur coder who has started enjoying " not knowing everything" and learning on the go. I would like to thank my mentors Joern Ungermann, Reimar Bauer and Christian Rolf for all their guidance and encouragement. I wouldn't have been able to accomplish so much without their support. I would also like to thank my GSoC mate Tanish, who helped me out with my dumb "git" doubts :)) And thanks to the Open Source Community and GSoC for giving me this opportunity to grow!

P.S. You can find my final Documentation here.



View Blog Post

Week 11 : Wrapping up!

Published: 08/17/2020

Hello there! We are almost there, 7 days to go! I am pretty excited and proud of the work I have been able to do, plus the things that I have learnt :))

What did you do this week?

This week, I worked on the following : 

  • Placemark Symbol - The Mentors wanted a Balloon symbol like that of Google Maps, but there were many issues ; No Unicode symbol existed for it, and if I used .png files, I would not be able to customize the colour of placemark.(Devil & Deep Sea situation)
  • Annotation Box : Improved UX by adding a box to display the name which is quite clearer now in the map
  • Made the Code more concise and readable; fixed all flake8 errors
  • Added a special Restore Function which saves the open files, and loads them the next time the software is run (Learnt a very important lesson here)
  • Added a small Documentation for KML Usage of the Test Samples

What will I do next week?

Its the final week now; I have finished all development of features, and tried out all the designs that the mentors asked , with relevant changes. This final week, I'll add as much test coverage I can to KML Overlay as I possibly can. There is some uncertainty here since I would need to mock objects to test plots on maps, so I have to figure it out.

Did you get stuck anywhere?

I got stuck at the Restore Function. My logic was all correct : To add the open files in a dictionary to a destructor and save the files to disk. It had already been implemented before, so I knew the works. However, adding the dictionary to the destructor was throwing a big runtime error; about C++ objects being deleted. It was worrisome, because I had only been working with Python, and it seemed like a big error. My mentor was able to assist me in this bug, which was caused due to me being blindsided to the fact that I was trying to save "patch objects" as well in the dictionary. Those objects were being deleted when the destructor was called. So , this was an important lesson for me.

View Blog Post

Week 10

Published: 08/11/2020

What did you do this week?

I finally fixed up all the bugs that were there. KML Overlay is totally functional and useful now! I also added extra features, which means that any kind of KML File can be parsed, displayed without crashing.

What will I do next week?

Ill finally start working on writing tests. The mentors have asked for some changes in the features, so I'll work on that too. Other than basic design customization, the KML Overlay is quite ready :))

Did I get stuck anywhere?

No, this week went by quite smoothly, and I got a lot of stuff ticked on my To-Do list :))

View Blog Post

Week 9 : Testing Phase 2

Published: 08/03/2020

Hello! This is the start of the third and final month of the GSoC program :)) Its time to tie up loose strings, and patch up the work in a good form :))

What did you do this week?

I started writing tests for the KML Overlay file. I read a lot about Testing : Pytest, Assert, Mocking, Patch, Decorators etc. I also went through tests from other files to get a gist of how to write tests, and the type of mindset required to write them.

Since my work on tests is a bit slow owing to my novice-ness and experimentation, I also decided to finish up 2 other work-points : 

1. Enhancing KML Features : Added MultiGeometry functionality, and improved code

2. Collecting Test Samples : KML File samples to test out different parsing and displaying capabilities of the software

What is coming up next?

Test writing will take up the major part of my week. I would also like to finish up with the OGC Conformance Suit for Validating KML Files, and creating packages for samples. It will lead to a major reduction in my workload for the following weeks (since online classes will be starting as well).

Did you get stuck anywhere?

I have been having  tough time writing tests. I am going through various test cases, and its particularly tough since I have to test if the right image is being displayed. In my mind, I can think how to do it, but its not easy to convert it into code.

Hope I am able to finish these up by next week :))

View Blog Post