Outreachy Journey

Sunday, September 4, 2016

This has been my first GUADEC. It was held in Karlsruhe, Germany (Indeed a very beautiful and peaceful city). The week was truly amazing , got to meet the fellow GNOMies in person. As I did Outreachy internship with GNOME-Maps, I was so happy to meet the team-maps in person. Though my mentor could not come to GUADEC. I met many people there and it was an awesome experience having talks with them.

I organized a workshop for newbies, it went really well. I had 4 students and 2 of them were able to submit their first patch. \o/ This really gave me an immense happiness. Also, I got so awesome friends. Then we had an interesting bunch of talks which I really enjoyed attending and learning from it. That gave a bigger picture of GNOME workflow and also the new things moving around GNOME.
After the talks we used to have social events. I really enjoyed the picnic at the beautiful park.

The BOFs after the core days were one another good experience. I was not much aware about the Engagement team, Diversity team before. Attending the BOFs of them gave me good idea of things happening in it also a chance to become a part of contributing ideas to it. This actually helped me in getting more close to the community.

Thanks to GNOME community for sponsoring to attend the conference.

Looking forward to stay integrated with community and volunteer for it to the maximum. Also , waiting for the next GUADEC. :)

Tuesday, August 9, 2016

Well the time has come to catch up with the smart peeps behind IRC nicks. \o/ This time GUADEC is organized in Karlsruhe Institute of Technology, Germany and I am all set for it. Oops forgot to mention about GUADEC. So GUADEC is annual conference of GNOME (FOSS) Organization where all users, contributors and developers meet together and have an amazing time discussing about future prospects of building the community stronger and better. Also there is good discussion on various projects and applications. Besides that, there are many interesting workshops and talks scheduled.

I am feeling quite happy to share that I am organizing a workshop to help newcomers get started contributing to GNOME. I got motivated to conduct this workshop as I know the troubles which newcomers definitely face, as I have myself sailed in the same boat at some time. I will be more than happy if I will be able to make this community bigger and people can start contributing with ease.
Along with it, I am also talking about the Outreachy project which I did with GNOME-Maps. I am eagerly waiting to meet my mentors Jonas, Mattias, Andreas, Marcus and fellow GNOMies.

Looking from the schedule, it seems that it is going to be a lot of fun. Football, Picnic, Barbeque, GNOME Women's Dinner, ... :) Really looking forward to it. I would also add that this is my first abroad trip. So hell a lot excited about it. Also planning to go around the city and exploring the places there. Looking forward to make new friend.

Monday, May 16, 2016

While I was going through news.gnome.org, a piece of news flashed on my screen stating that GNOME.Asia summit 2016 is to be held in Delhi, India which is my own place. Though at that time I was completely unaware about what happens in a summit, what it is meant for and all that sort of questions. But for once, I decided to atleast attend it, if not participate. I told about this news to my mentors Jonas Danielsson and Damian Nohales. Initially i was quite reluctant to participate there, but Jonas pushed me a lot to present a lightning talk about my outreachy project in the summit. Damian too motivated me to go for the summit. Therefore I decided to submit a lightning talk proposal about my project : "Adding print route support in GNOME-Maps". Within few days i got the confirmation regarding the acceptance of my talk and also the approval of travelling sponsorship.

I was all ready for being the part of the summit and was quite excited to meet people whom I have just known by their nicks on IRC. The summit was held in Manav Rachna International University, Faridabad (India).

Day 1 comprised of workshops. The first session was divided based upon different ways in which one can contribute to GNOME (development, documentation, engagement) and in development it was branched further based on programming languages one was interested in. Because of my interest in javascript, I joined Cosimo's team. The discussion turned out to be really helpful and cleared a lot of my doubts. Then there was a hands on session on gstreamer taken by Nirbheek and Arun. It was again an interesting one. Meanwhile I made many friends and exchanged talk with them. Above all of it, the community felt like very friendly, interesting and helping.

Day 2 and 3 comprised of a lot of interesting talks by various speakers. It was my first experience to deliver a talk at such a big summit. I was quite scared initially, but it happened all well at the end. I felt glad when I was able to reach out to people and shared the work clearly.

I was not aware of Day 4 plan i.e. excursion trip. But when Shobha (The summit coordinator) asked me to join them, I happily agreed to join them on the trip. It was a fun-filled trip to Taj Mahal, Agra. I got to know a lot about cultures of different countries and made awesome friends.

This summit has been very helpful to get me a feel of GNOME community. After all it's the people who has made it. I am thankful to GNOME community for making me a part of it and the summit. :) Looking forward to more such meets. :)

Monday, February 22, 2016

It's been a little long, since I updated you all with the project progress. I feel immensely happy to tell that the Print Route feature has finally landed with the release of version 3.19.90(first beta release). Kudos to all the contributors (Gnomies) who have put in a lot of efforts to make this release successful. Gnome has got quite awesome stuff added to it. Following contains the log for the same:

Saturday, January 30, 2016

"We are getting there". Yes, these were the words said by my mentor Jonas when I the attached the latest patch, which made me extremely happy and jumping. :)

In the last two weeks, I worked on adding minimaps, enabling the different layouts for long routes and shorter routes and the refactoring of code. After discussion with design team, it was confirmed that minimaps were to be added for starting and finishing points only.

To make it happen, I learnt the concept of abstract classes and the factory method. As Print layout class is made abstract which acts as a tool-box ,or rather sort of library which provides its sub-classes the methods used to get different surfaces (MapView, Instruction, Header, etc. )

Depending on the distance, we differentiate long and short routes and so the layouts for each. As shown in mockup, the long route layout contains minimaps surfaces and shorter one doesn't as the route is clear in complete MapView itself . So following are the Screenshots taken for both types.

Delhi to Mumbai has been my favorite route for testing purpose :p .

.

.

.

.

.

.

For the shorter route I took infocity to DA-IICT, which I follow very frequently :)

Now next step is to refine the design to make it more friendly to the user. Also some more code refactoring is required.

Saturday, January 16, 2016

Been a little late this time in catching you all. But yeah, I guess that can be compensated well with something which I am going to share just now.

Yayy !!! , I am able to generate a print of Map View along with instructions which looks a bit like mockups. Here is the demo video URL .

Breaking up in pieces, First I divided the data into parts. Each part is associated with corresponding page which is to be printed. From that I get number of pages which will be required and then actual printing took place in draw-page call. The understanding of GTK Print API helped me. Begin-print signal is the one which is emitted when user is done with page setup ,but before rendering starts. All the calculations done to divide the data and get a count of pages are ensured in this one. In draw-page, actual rendering takes place using Cairo.

I am thankful to Andreas for designing an awesome UI mockup. Finally we were able to get an appropriate location and visibility behavior for Print Route Button. :) Following are the screenshots of UI.

Without Route, print route button is not visible.

With Route, print route button is visible

Now next part is dealing with minimaps which will enlarge the route pieces and enable the user to see them with the respective instructions.

Friday, January 1, 2016

With a warm welcome to the new year and joyous ending of the old one, I am back with the project updates. I left the previous one upto rendering the Map View. In the last two weeks, I have worked upon rendering the Map View along some text.

For rendering the text, I got familiar with Pango.Pango is a library for laying out and rendering of text. Pango can be used anywhere that text layout is needed, though most of the work on Pango so far has been done in the context of the GTK+ widget toolkit. Pango forms the core of text and font handling for GTK+-2.x.

After this I tried hands on getting Map View with some text. To render the text I used Pango layout with Cairo as backend. Basically Cairo sets the source surface. And thenPangoCairo helps in glueing them together.

Now the actual requirement of having this text is to print route directions along with the Map View. I have fetched the route directions using

"Application.routeService.route.turnPoints[index].instruction"

which gives instruction for each turn point appearing in the route, using the index.

My mentor, Jonas suggested one more method of doing it i.e. By usingOffscreenWindow. As it will tend to give the same outlook i.e. the icon , instruction and distance as it looks out in instruction box. Following is the screenshot of the same:

Currently I am working on getting comprehensive understanding of OffscreenWindow. After a meetup with the design team, we can have the final decision on the further proceedings.

Till then, stay tuned pals. Wish you all a happy and prosperous new year. :)