‹ BackTatakತಟಕ್

About Tatak

tatak tatak - the sound of a train on track

One search across Bengaluru, answered end to end: a BMTC bus, Namma Metro and the walk at either end, priced leg by leg and ranked by whether you want the journey that is fastest, cheapest, or the one with the fewest changes.

What this is

Tatak is an independent hackathon prototype. It is not affiliated with, endorsed by or operated by BMTC, BMRCL or any government body, and the tickets it issues are specimens that are not valid for travel.

Every ticket it issues carries SPECIMEN - NOT VALID FOR TRAVEL across its face, in every state, and names its own issuer underneath. No money moves, and no gate takes one.

Where the answers come from

Buses
The community-maintained BMTC GTFS feed, published by Vonter. It is unofficial. Its routes and stops are reliable and its published stop times are not, so Tatak trusts it for when a bus leaves and never for how long the bus takes.
Metro
Line order and station coordinates from OpenStreetMap's route relations. Kannada names, fare zones, interchanges and line colours from OneMetro.
The map
Carto's Positron basemap, drawn from OpenStreetMap data.
The type
Manrope and Noto Sans Kannada, both under the SIL Open Font License. The licence texts ship with the app, at /fonts/OFL-Manrope.txt and /fonts/OFL-NotoSansKannada.txt.

About accessibility

Every accessibility answer in this app is generated. None of it was surveyed, and every place it reaches a rider carries SYNTHETIC ACCESS DATA - NOT SURVEYED beside it.

The BMTC feed has no wheelchair_boarding column in stops.txt and no wheelchair_accessible column in trips.txt. BMRCL publishes no machine-readable station facilities at all. So a rider who uses a wheelchair cannot ask any Bengaluru transit app whether a journey is step-free and get a real answer, and that includes this one.

The other option was to build nothing, which hides the gap rather than showing it. So Tatak models what the data would look like if it existed: per stop, whether it is step-free, whether there is a lift and whether that lift is working, tactile paving, audio announcements and an accessible toilet at interchanges; per service, whether the vehicles are low-floor, carry a ramp, and have a wheelchair bay. The tiers are taken from the real network, so the shape is right even though the values are not: Namma Metro is better provisioned than a pole by the roadside here because it is there. Every value is a seeded hash of the stop, so the same stop answers the same on this page, on the phone, and after a restart.

What it would take to make this real. From BMTC, two columns in a feed they already publish: wheelchair_boarding on every row of stops.txt, and wheelchair_accessible on every row of trips.txt. Both are standard GTFS fields, already in the reference this feed is written against and already left empty, so filling them is a survey and a spreadsheet rather than a new system. A fleet roster saying which depots run low-floor buses would be a third thing, and it is not a GTFS field: it is a list BMTC already keeps for its own operations. From BMRCL, two things: a station facilities list covering lifts, escalators, tactile paths, accessible toilets and staff assistance, and a live lift status feed. The first is a spreadsheet too. The second is the one that changes what an app can do, because a lift is only useful while it is working, and for want of anything better this dataset has to model a broken lift as a permanent fact.

Two things it does not cover, and would not cover even with all of that. It knows nothing about the footpath at either end, because no such data exists for this city, so a journey it calls step-free is step-free from the boarding point and not from your door. And it filters the journeys the planner already found rather than searching for one, so "no step-free option" means none among these, never none in Bengaluru.

Accounts

There is one, it is optional, and nothing needs it. Planning a journey, opening a stop, printing a specimen and reading one all work signed out, exactly as they always have. Signing in does one thing: the specimens on this phone start being kept on the server too, so they survive a cleared browser.

What the server keeps while the demonstration runs is an email address, a scrypt hash of a password, and the specimens themselves. No phone number, no IP address, no device fingerprint and no analytics. It is all deleted, along with the machine, when the demonstration ends.

About the fares

No operator quotes a price to this app. Metro is priced by the zone span between two stations and a bus by the distance it travels, both computed here from published fare rules, and both are approximations by design: the number needs to be recognisable to someone who rides here, not billable.

Day passes are a model and are marked as one wherever they appear. BMTC sells daily passes, and it sells different ones for different classes of service, so the shape is real. The prices are not quoted by anyone: each is derived here from this app's own fare table, at two and a half times that class's fare ceiling, which puts the break-even at three full-length rides in a day. Nothing in this app sells one.

About the CO2 figure

A journey detail says roughly how much CO2 the journey did not put into the air. It is one significant figure, and the word "roughly" is doing real work: the factors behind it are national averages, not a measurement of your trip.

Car and bus
India Specific Road Transport Emission Factors, India GHG Program (WRI India, CII and TERI), 2015. A petrol hatchback under 1400 CC at 0.130 kg CO2 per km, and an intracity bus at 0.015161 kg CO2 per passenger-km.
Metro
Borrowed, and said to be borrowed. Namma Metro publishes no figure this app could find, so a life-cycle figure for underground metro rail in the Mumbai region is used instead, at 0.025 kg CO2e per passenger-km. It is the larger of the two candidates, so the metro side of the sum is overstated.
The distance
The straight line between the two ends of the journey, with no detour factor on top. A real drive over Bengaluru's roads is longer than that line, so the figure is a floor rather than an estimate.