So one part of this is that design and UX are not just a visual part, it's also the way the system is designed, at least with data, government data in India. But it's not just government data. Even we as engineers and programmers, I'm guessing lots of us are engineers and programmers, we feel it's not worth spending time on glitter, on like features that make it nice to use. But when you use a site or a platform with good design, it's quite evident that there was actually thought put into it.
So one example of bad government UX and design is the Survey of India. Has anyone looked at a Survey of India map? Okay, that's more than I expected because we're in an open data devroom, but if you haven't, the reason is probably because it's almost impossible to access. First, when you open this, open the site, you get this. You have to fill in what is called an C-OSM number. Now I want a map of Nemhans, I have to figure out this number. Once I get the number, I get this form. I have to give my mobile number, get an OTP, create an account, get a password, type a captcha. And then I get a file in a format I don't understand, so I have to figure out how to use the file. But you could use OpenStreetMap and you can get the data in five seconds. So why would I use this government website?
So this is not just with maps. There are like all kinds of data which the government puts out which they make impossible to access. As an example, I recently scraped the Parivahan portal, which has vehicle statistics of RTO registrations, all kinds of data about vehicles. So suppose you are interested in electric vehicles. BYD is a Chinese manufacturer of electric vehicles, which Trump really hates and I think it's banned in the US currently, if I'm not wrong. But in India, we are importing lots of electric vehicles. So if you were in the policy field related to electric vehicles, you'd be curious, how many BYD cars are being registered in different parts of India right now? So if you wanted the data from the government, luckily they at least have a portal, Parivahan. You open that, you're greeted with this. There are like 20 different panels and numbers. Where do I find numbers for Bangalore? So what you have to do is you have to select your state, your office, then select the category of the, the year, and then you have to select the manufacturer and then scroll down and you find the number you want. Now this is just the number for one RTO for one year for one manufacturer. Now if I want this for, there are like 1400 RTOs in India. How would I run any analysis on BYD cars in India with this? It's impossible.
So it's a multi-step process. It's not meant to be used the way you may want. It's for a very specific use case. They don't have any documentation. I happen to know where to click to get this data. If you didn't, you'd probably get stuck on the way. And even if they have data, it's probably not pretty, not that good, but at least it's something. But how could this be better? So what I did is I scraped the data, created a custom UI. So you can find it there, india-vehicle-stats.pages.dev. But the main point is that I can permalink to the thing I want. So I'm interested in BYD India Private Limited cars from Karnataka in 2025. So you could just share this link with someone and they could get the number just right there. They don't have to navigate a massive UI. And when I release data, like I mentioned, I try to put a data dictionary. So if you want to run some analysis, it's much easier. Now you can just run SQL queries on the data.
So when you design, it should be for the lowest common denominator. I think lots of open data tends to be built for data people, but most people who want to use data are not necessarily data people. So you should be designing for low friction, especially for people who may not be comfortable with data. And most people use a browser, so ideally you would build platforms which they can open and data they can open in a browser. Flat GitHub, Datasette, and Datawrapper are pretty nice tools for making data accessible on a browser. They don't have to download a CSV, open it in Excel, do all that.