Mapping public transit in Bangalore

In February, I spent some time looking at BMTC data from openbangalore.org to understand the network better. This post first appeared on Mapbox. 

Buses are Bangalore’s most popular mode of transport. The Bangalore Metropolitan Transport Corporation (BMTC), one of the oldest transport organizations in India, operates over 2,000 routes with a fleet strength of about 6,500 buses. BMTC recorded a ridership of 5.02 million every day in September 2015, that’s on the order of daily subway ridership in New York City.

To understand this massive network better, we need open data. Public transit data in India are not available by default, but activist groups like Open Bangalore go out and create them. I spent some time last week analyzing the network, location of bus stops, timing and distribution.

Longest route

BMTC is known for its many long routes. Route 600 is the longest, making a roundtrip around the city, covering 117 km in about 5 hours. There are 5 trips a day, and these buses are packed throughout.

Frequency

Next, I wanted to look at the frequency of different routes. In the image below, stroke thickness indicates how many trips each route makes in a day. You can see north Bangalore has fewer, but more frequent routes, whereas the south has more routes with less frequency. You can also see the Outer Ring Road, which circles the entire city.

Reachability

I defined reachability as the destinations a passenger can get to from a given stop without changing busses. The BMTC network operates long but direct routes covering the entire city. The map shows straight lines between bus stops that are connected by a single route. The furthest you can get is from Krishnarajendra Market to the eastward town of Biskuru: roughly 49 km as the crow flies.

 

Direction

Which directions does BMTC run? It is interesting that BMTC covers the city North – South (blue) and East – West (brown) with almost equal distribution.

Coverage

BMTC routes are categorized into different series. Starting from 1 – 9 and A – W. I analyzed coverage based on series 2 (blue) and 3 (green) and they make up almost 76% of the entire network.

For this analysis, I used QGIS and Turf.js to inspect the route data. You can see some of the scripts on Github and the maps are all made using Mapbox Studio.

Bringing together map enthusiasts in Bangalore.

A few months back, Kaustubh and I started GeoBLR – Bangalore’s monthly spatial gathering. Few weeks back we did the fifth meetup. I have been wanting to write why I’m organising GeoBLR and more importantly, why I am taking it slow.

We started off GeoBLR to keep it quite different from other events in town. To begin with, we don’t necessarily have someone speaking at all the events. The GeoBLR events are more open in terms of what we want to do. GeoBLR runs closely with the DataMeet on issues centric to spatial data and maps. We had several discussions around the spatial data situation in India and how building proper relationships at the government and non-government level is important for the community to gain access to the datasets.

There has never been a space in Bangalore to talk about issues like this. When proprietary companies around the world are trying to be the single source of ground truth, opening map data is a critical task. Improving OpenStreetMap is at the core of our agenda. GeoBLR will be a space for people to come and talk about maps, discover new tools, identify missing datasets, find them, and solve spatial data related issues.

I have been getting fair amount of requests to turn GeoBLR into a series of workshop and I’m not keen on that idea. GeoBLR, in a way, is an experiment for me. From simple things like ‘which day of the week/month is best for people to attend the event’ to ‘what model the event should focus’, I’m learning a lot and subsequent events get more clarity.

If you want to learn more, join us!

The life changing lesson.

I’ve a bunch of friends coming home tonight to celebrate the success of the last couple of days, which were the most intense, delightful and tiring days of my life so far. The house is a mess, with clothes thrown here and there, random papers and gadgets all over the place. Yes, I’m just cleaning but I don’t want to push off writing this blog post any more. I should have done this yesterday, but my mind and body just didn’t allow, even now I can feel the warmth in my eyes.

Eight months passed since I moved to Bangalore. At the beginning of this year, I made one of the best decisions in my life, to join HasGeek. I might not be able to put this into flowery words but yes, HasGeek is a bunch of exciting, super exciting and fascinating people. The way each of us work is in itself a new big story.

My first assignment at HasGeek was to join the trip to Goa (yes, that was a work trip), and the first official task which I executed was to drive the car. That was an exciting trip. While we were planning the year ahead, I figured out that Nigel and I might be writing code while rest of the team will be running events. But right now, it feels like the world and words have suddenly changed in front of me. Even though I’m spending just few hours a week for HasGeek, I got the chance to run an event.  The Cartonama Workshop. Yes, we did it.

In 2011, right after Android Camp, bunch of us spent the whole night hacking on one thing – build a community around open geographic data and showcase the projects in India – Cartonama.com. Nowhere in the wilderness of my thoughts I could imagine that we would do events around Cartonama.

A week before JSFoo Pune, Kiran asked whether I would be able to take charge of the Cartonama Workshop. Maps are something that fascinates me all the time and I totally wanted to take this up. I remember that day quite clearly. That day marked exactly a month plus a week to the event. The news that Mikel and Schuyler are coming to Bangalore for the workshop was even more exciting.

We wanted to get the website out by the end of that week. Fortunately or unfortunately, I had to spend that weekend in Calicut. And now it’s time to tell you about one of my best friends, Ashima. We spent the days together when she figured out that I’m stressing out so much. We went for long walks on the beach talking about Cartonama and what I wanted to do about it. She’s amazing.

Kiran had couple of ideas how the website should be and I thought it would be best if he takes care of that. Kiran was just busy and didn’t have any bandwidth to get this going. Nothing happened and no sign of the website getting live. Zainab was the biggest pillar of support – and an entirely different woman that I’ve seen all my life. By the end of the week, I realized, getting the website live was just my task, no matter how I can execute it. Nigel, Riju, Aditya and I created the first iteration and we went live. There was something quite different from rest of the events that we have done – the ticket price for the workshop being INR 10,000. That amount will just help us break even with the expenses, only if we sell 30 tickets. So the problem is not to create a good looking website, but to create a website that will sell tickets. Parag did the second iteration and that was fabulous.

Unlike conferences, chances of attracting sponsorship was very weak. The task at hand was quite tricky – to convince people and sell tickets. I was slightly bothered because, two days after going live with the website we couldn’t sell any tickets. I tried to sell tickets all day, let alone near the barber shop. Zainab would say “Take it easy boy, we shall prevail!”. We did prevail. And my heart is beating fast with joy.

Mikel was in the US and Schuyler in Afghanistan. That was some serious distance which was filled by flood of emails between us. We wanted the workshop to be covering the entire technology stack that would help someone to run a location based service. The funnel was put into test again and we discovered many interesting ways to improve it.

Two weeks later, we have sold two tickets. I was getting very nervous, and there were moments when I would just close my eyes trying to stay sane. Patience.

Today, after the event I just don’t want to think about those days anymore. We sold a total of 22 tickets. Not bad.

Some people are just sloppy and intense to deal with. The most inconsistent person I’ve ever seen in my life was that new caterer with whom we signed up. He screwed up everything at the last moment and we switched. When people are sloppy, there is nothing that you can do. Patience.

Billy is another interesting character that I met recently. I can tell you that he is quite a character. Billy is prompt and perfect. His thoughts are sharp and ideas are simple and sensible. Throughout the two days of the workshop, it was Billy, I and Nigel managing the logistics at the venue, while Zainab and Kiran were busy backing us up.

I understood that technology and infrastructure is inconsistent. They wont wait or keep promises. We bumped into issues after issues on day one of the workshop and I felt terrible, but Billy and Nigel was dealing with endless crisis. Patience is the word again.

Internet is something that people care about. They get frustrated every moment when the Internet goes down. There would be sudden chaos. Every nerve in my body was hurting and there were moments when I just wanted to scream out to the people to be patient.

In the middle of the sessions, my eyes would just lock between Mikel’s and Schuyler’s. I just don’t know why, but that gives me a pulse of how everything was going.

At the end of day 1, Billy and I reached home quite late. I was tired and sleepy, but we sat down and started talking about everything that happened that day. I realized that there were too many things that we could’ve done better.

Day 2 was interesting. I was just worried by the thought that whether the participants are enjoying the sessions. Interacting with many of them over the breaks told me that things are going just alright. Sigh of relief. People just loved the way Mikel and Schuyler was taking them through the sessions. They just loved it.

And today, I can proudly say that the workshop wasn’t too bad. I guess it was intense as we promised. The amount and depth of things I learned over the last couple of days cannot be just described. Patience is the key. It is. Always.

 

 

The Droidcon India 2011

Droidcon India 2011 was the first Indian edition of the international Android conference. I was part of the team of HasGeek to pull out the event. I do not have words to express the fun, learning and bonding we had while organizing one of the biggest conferences in Bangalore.

It’s been four months since I moved to Bangalore and now I know, that was the best decision I took in my life so far. And the biggest reason I did that was because of my friends here. They are a bunch of geeks and writers and the best that can occur in my life.

It will be difficult to list out the stuff I did at Droidcon but I was with the tech support team along with Kingsly and Praneeth. We had the toughest task that every geek conference in India has – Internet. Setting up Internet and providing optimal bandwidth to 500 people is not an easy task. Getting all of them online at the right time is not even imaginable at this point of time in India. The infrastructure at the venue were super awesome. Plenty of power over Ethernet access points, ports and other network gears. But the bandwidth was 2mbps, which makes it literally impossible to get such a huge crowd online.

We tried several plans, including getting someone else do this task. But the quote that Kiran got from Tata/Airtel were over 2 Lakhs and hence we decided to take this our own and do what the best we could. Kingsly is a pro-sys admin. Yes Zainab, you said it right – he is the God. He laid out the plans and worked towards it. Issues after issues. Complaints and bad faces. We got it all. I was loosing, but Kingsly and Praneeth would pat my back saying, “Kid, this is fine. Everything is under control”. I know, I’m a kid.

On the 17th, Kingsly reached the venue at 7.45AM which is really  a touch task considering his work and hectic life. I woke up to his message and rushed to the venue. And soon Yuvi, Anu and Praneeth joined us. We discovered the venue’s network gears and declared that space as the Network Operations Center (which turned out to be the Non Operation Center).

Apart from the network, since the place had less number of power sockets to provide 500  people sufficient power to charge their laptop and for the sponsors to setup their booths, the other task was to lay out power cables and plan proper power distribution. We had cell phones to laptops and printers to ‘plasma’ TV’s to power up from two power sources. Two weeks before the event, me and Yuvi got the plan in place and got an electrician to get the cables and sockets ready. Laying them out was a task. Yes, if we laid the cable just like that, people will trip over and it will be a mess altogether. We carefully laid them out and plastered. Yes, we did it.

I have learned so much from all these. Really. And the one of the reasons which kept me going, even while it ached from my bums to toe was the fun we had. I could see Kiran and Zainab stressing out too much. Kiran would not say that, he would just hide that in his sharp eyes. But Z, would easily spill that out and come rushing asking “Is everything smooth?”.  A week before the event, the only worry I had was, since Kiran and Z were stressing out too much, they might as well fall sick.  Kingsly would say “There will be disorder even on the day 1, no point in worrying now”. Francesca was super awesome and supportive. We have known each other only since 2 months and the bonding is something. Every problems and win will finally end up in a hug.

I woke up this morning to Zainab’s post about Droidcon. Mine would never ever come even close to that. But I had to do it. I’m squashed even when I write this from my bed. But the energy from the bonding we built all these days pushes me to write.  I’m sure that I won’t be able to write every wonderful moment which we had all these days.

Yes. I’ve been part of several geek event as participant, speaker and organizer. But Droidcon was the best ever.  Last minute sponsors backing out, printer confusions, NFC card data bugs and what not. We survived all of them. The most intense problem that we solved happened during the last few minutes of the conference. NFC card readers and the bugs in the script, duplicates and fake IDs. We had them all.

I’ve made new friends who are journalists, geeks and designers. Parag, Vamsee, Chintan, Rasagy, Ankita, Aral, Soham, Akshay, Arvi, Billy, Sidharth, Noufal and everyone. And all I have for you folks right now is a big hug. Thank you so much. We did it.

The very special Pycon 2011

Download the talk and watch the video.

This edition of Pycon was in fact very special in different perspectives. I came to know that my talk was selected from Kartik. It has been a while since I hacked on Python with Android but I did follow the updates and new releases. 4 days before the conference, I managed to buy a Samsung Galaxy S 2 which looked to me as a brilliant phone and couldn’t wait to start hacking.

Since Praveen was in Pune, I didn’t have to look for other option to crash in. Took a bus overnight to Pune reached there on Friday (16th September), went to Pravi’s place. That was my first longest bus journey. Bangalore – Pune 846 KM. Reached the venue late in the afternoon, met couple of friends. Felt good to have given Noufal, Pradeepto and bunch of other guys, a face, with whom I interacted online.

My talk was on day 2. Didn’t have much to talk either. I was planning to scratch the surface and tell the people what to look for and where to find them – to write apps in Python for Android. The talk was scheduled in Track 2 which was apparently a hall with less capacity. 5 minutes after starting the talk, someone came in and said we need to move to the main auditorium given that the crowd who wanted to attend my talk won’t fit into this small hall. We wrapped up and moved to the auditorium.

Now, the pressure was on me. I really didn’t have any idea what these people might be expecting and whether my talk would help them get even closer to it. I started off with this disclaimer and showed them how sweet and beautiful Python code can be when compared to Java on Android – a pause – loud applause. That made my day. Couple of guys were really interested and they interrupted me to ask questions. I hope that I’ve answered them all. Few people came to me and I just gave them a better idea of the architecture and how things work. All went well. Phew! I should thank Nijad for keeping track of what examples and text I should be sharing with them.

Praveen, Labeeb and Vishnu wanted me to cook ghee rice. Labeeb said he can make chicken curry. I was a bit nervous and called up mom to ask how much rice should I cook. Met Nikhil and Sandy in Pune. Hung out with them and then crashed to Pravi’s place, where we ended up cooking!

AndroidCamp Bangalore

I’m sleep deprived and tired to write down all the awesome time I had at the AndroidCamp.
Jobless in the bus, so I should attempt to write something.

AndroidCamp was one of the best unconference that I’ve been to in Bangalore. I was so excited when Kiran and Kesava came up with this idea. I remember the discussions on the list that there were more than 200 sign ups within 48 hours of announcement.
Soon I found the proposals website proposals.androidcamp.in a wonderful idea that all unconferences should adopt.
Met a bunch of interesting people who do 100 other things around Android. I was too happy to find that there are people who hate Java and love Android :)

So copying from Manish Sinha. :)
Read it all here. http://milky.manishsinha.net/2011/04/02/android-camp-bangalore/