kepta's diary

Recent diary entries

What's cooking at Mapbox this week

Posted by kepta on 25 March 2017 in English (English)

As a part of our data transparency efforts at Mapbox. We created osm-edit-report which helps anyone visualize our teams contribution to OSM.

Just to give a measure, the data team added 0.3 Million objects, 0.2 Million tags, and 3 thousand changesets last week.

This is how the numbers look:


Since this data is so huge to grasp at one go, we also have filters which help trim down data and focus on a particular group.

  • Filter by users.


  • Filter by tags


  • Filter by BBox


The user table showcases all edits made by each user over the course of a week. The saturated blue boxes help emphasize huge edits and the chevrons compare today's edits with the weekly average. table

Overall this tool helps us benchmark our mapping efforts and visualize out priority areas. Please don't forget to share your views on how to make our mapping efforts more transparent.


# Wrapping up Google Summer of Code

Posted by kepta on 22 August 2016 in English (English)

3 months have passed and GSoC is about to an end. This small diary post showcases my contributions uptill now and it also lays down my next actions.

Major Contributions

Lane editor

The lane editor is my primary objective of the GSoC for this summer. These diary posts (1, 2) can be referred to get updated with the work.

Currently, most of the functional code is ready with 81 test cases testing most if not all edge cases possible. This code parses the osm data and gives a nice JSON output, which should then be supplied to the rendering.

Making iD modular

The iD contributors felt the need to start using the new ES6 module system back in April. I helped in the phase 1 and phase 2 of this process.

OSM hackday

I was a part of organizing team of this small hackday at Mapbox Bengaluru. More info


My pull requests

My commits

Next Steps

Well GSoC 2016 is approaching an end, but not my contributions. There are lot of things pending in my bucket list. The first thing I would like to finish in the coming months would be the lane editor's UI and deploy it for the use of OSM community.

I am really proud to be one of the core contributors of iD and would really like to thank the community, my mentor Bryan Housel and Google for the awesome GSoC program.

An OpenStreetMap contributor, Kushan

GSoC: iD editor blog 3

Posted by kepta on 27 June 2016 in English (English)

Hey, I have made some major progress since I last talked about my work with iD. I am continuing my work with lane icons last time.

This is how the current lane selection looks like.

Also the iD is currently going through modularisation and we are tracking it here.

With the help of my mentors we decided to draw some awesome icons. You can track the update at this gitbub repo. These are some of the icons I recently created. Suggestions are welcomed.

bike bus hov pedestrian train

I am also organising an OSM hack weekend at Bangalore. If you are around don't miss this event. Link to the event

GSoC: iD editor blog 2

Posted by kepta on 26 May 2016 in English (English)

Hello OSM community, this would be my 2nd diary post for my Summer of code project. Do checkout my first blog post where I introduce myself and the project I will be working on.

This week would be the last week in the community bonding process. All the GSoC students would receive their first stipend at the end of this week. Hurray !!!!

I believe my community bonding is going well. This week I was mostly busy with adding mapillary-js to iD. Thanks to the awesome work by Peter Neubaur, we have a PR ready to implement this feature to iD.

If you use iD editor you will find that the mapillary images are static and don't have navigation buttons.

Mapillary Layer

To have this feature, we would need mapillary-js in iD's source code. This library gives the developers powerful new ways to interact with mapillary ecosystem. But this was easier said than done. Peter helped us with setting up the basic work required for the inclusion of this library.

The major problem which I was aiming to solve was the asynchronous loading of images by the mapillary-js. If you quickly click on multiple points, the system suddenly enters into chaos. The point highlighted and the current image no longer tally. The following screen cast should do justice in depicting this situation.


To fix this problem, without messing up the code of mapillary-js, I added a variable which keeps track of the last point clicked on by the user whenever mapillary-js goes into loading mode. This allows me to do cool things like show loading and keep the system stable and predictable. After fixing this here is the screen cast showcasing the awesome blip.


So this was all about mapillary-js and its humble addition to iD. Apart from that iD is soon going to get this huge internal makeover by splitting the code into modules. Now, this is an architectural shift. Doing this will make way for easy development of iD. Head over to this ticket for any updates regarding this.

GSoC Diary 1

Posted by kepta on 16 May 2016 in English (English)

Community Bonding

I got involved with OSM back in January. Now its been 4 months and I think its the right time to make an introductory post.

I started looking for interesting projects, and iD caught my attention. The first bug that I fixed was pretty simple, It required me to fix a faulty regex. D3 was new to me, as I come from the fancy React/Angular land which obscures most of the internal working. My mentor Bryan was more than happy to help me out. After my first week I discussed with him about the possibility of an OSM GSoC on #dev channel. Which brought up a lot of heated conversation regarding the pros and cons of GSoC for the organization. The channel did admit that overall GSoC 2015 was a success. Which got me pumped up to spend my summer working on iD.

While this was happening I also started going through OSM wiki/diaries to learn mapping. I planned on mapping my college. My college and its surrounding had a spotty coverage. Since, I was a newbie I tried to map things I was most confident with. In India we call dormitories hostels, so I started marking my college buildings with hostel tags. When I showed my work to Bryan he was to quick to point out that might not be the case everywhere. He suggested me to tag all the buildings with University Building tag.

This is what my college and surrounding area looks like now. college

One of the best things that contributed to iD was the multiselect feature, which I implemented with the help of Bryan. This feature took a lot of days for me to implement and gave me a good understanding of how iD works.


Another exciting feature which helped me build confidence with the iD code was the imagery offset. The earlier implementation of imagery offset was unintuitive and required a fix. This feature request required me to fix the UI and to make it easy to use. Know more about this feature, click here.



I will continue with my investigation on the lane editor for GSoC. And learn more about D3 to fix some of the pending bugs of iD. I plan on writing about my progress weekly from now on, so that the community knows where I stand and give me inputs on how to improve upon my work.