Bimba

Bimba frustrates me; or memories from my first FOSDEM and focus for the future

in which I try to show a balanced overview and not ask for anything

Bimba is crafted which means there is little usage of frameworks and no code is generated by LLMs. This also means that development tends to be slow and adding new platforms to run on is cumbersome. We don’t move fast or break things. In turn, what is gained is better understanding of the whole system, more possibilities to customise and optimise towards the platform we build for, and less bloat. It also means less enshittification.

Bimba frustrates me—so far only me—maybe because I have a new idea every day, but so little time. There is a lot to do, the roadmap only gets longer, Bimba’s slow and misses a lot of features. UX is probably opinionated, unintuitive in some places, and best-effort. The app probably doesn’t work where you live. But it might, Transitous has huge coverage and it’s better to be positively surprised. I’m also proud of some parts—technical mainly, such as updating departure bottom sheet when departures are updated. Features are added and optimisations are made. I’m not asking for empty praises. I have received some kind words and messages of gratitude, by which I was surprised and for which I am grateful. I simply have high expectations from myself and things I do, and find more and more things that irk me, places that should be improved.

I don’t like empty and unfulfilled promises and that’s why I prefer to say Bimba is crap rather than say that Bimba is the king of public transport, the app which fulfils all your needs, and to promise you new features in time I have little of. That’s why I tend to tease when things are almost done.

But Bimba is not shit.

Enshittification, defined as gradual decline in quality, but understood also as movement towards user hostility, has no place in a tool like Bimba. And these are my promises:

This year, I have attended FOSDEM for the first time and I was amazed. I managed to listen to almost all the talks in the Railways and Open Transport devroom and learnt a lot about what’s going on—the projects, the ideas, the initiatives. Simply amazing. However, it’s certainly the Community devroom that will stay in my heart. They complete each other perfectly.

I brought back with me some reflections on Bimba. A lot is happening in Europe concerning standardisation and unification—there’s NeTEx, SIRI, National Access Points, there’s even motion to unify ticket sales. It’s an enormous amount of work with multitude of interested parties so you can imagine the pace and the results.

It was only during one of the last talks that I discovered Transitous would have been one year old two days later2. So when I was on Dueodde beach in Bornholm, Denmark receiving questions regarding Transitous integration in Bimba, the service was about four months old and already unifying public transport networks.

This made me think about focus of Bimba. With so many networks working reliably via Transitous and little feature disparity between timetables provided by Transitous and Bimba native ones, I want to focus on smaller or easily overlooked networks3, or those which try to restrict real-time data to their proprietary apps.

Aside from new timetables, I want to focus on optimisation and stabilisation. Bimba can work much better behind the scenes. I would like to set up a stable server—which wouldn’t be influenced by energy cuts to my flat and other personal services—and clean up the infrastructure. I would like to know what I don’t know, what’s going on, when failures happen. Currently, monitoring is based on me using the app and reacting when red flags keep appearing—when it’s already too late. I plan to monitor the efficiency and validity of data.The monitoring will, of course, not track the users. Thing I was suggested to add is crowdsourcing as the possibility to mark events that other users of public transport might not know of and which are not notified about by the operators—missing vehicles, annoyances at stops, dangerous behaviours, &c.

Now is, in turn, the part in which I’m once again not asking for anything.

I decided to open channels for donations. I thought about it for a long time—whether I need, whether I should. I do have a mortgage, but I also have a stable job. I can afford an occasional trip abroad, even though recent veterinary costs significantly reduced my savings. The decision was not easy, but after consideration I decided to state my status in plain, be explicit about making possible and not asking, and keep transparent plans and logs concerning how donations will be, are, and were used4. I’m currently researching and preparing potential legal and fiscal obligations and I’ll make a proper announcement when that’s ready. Current plan is to set aside percentage of donations for donations to open source tools we use or ones that are at the base of Bimba, the rest will be spent on infrastructure bills—server, email.

This final part is where I actually ask.

If you have the knowledge—of computing, of another language—and a little free time, if you want Bimba to spread—maybe even irresistibly—consider contributing. You can send patches, you can translate even a single string on Weblate. Trust me, it will not be forgotten.


1 Unfortunately platforms like Android and iOS are not free and proprietary blobs exist in Linux. We want to give you something that can be used and not say Bimba works only on Linux-libre because it’s the only fully free system. Also, it’s LineageOS what yours truly uses and that’s why Bimba started as an Android application. Moreover, neither Android Studio or Android SDK is fully free. Above all, it’s your freedom that mustn’t suffer.

2 Initial commit is dated February, 4th 2024

3 Did you know, timetable for Rock Hill, SC was added after a personal question from a father of three who had lost his restaurant and car during the pandemic?

4 Don’t you also miss Lojban?