Anger Driven Development

A story about “anger driven development”: For my daughter we use the services of a taxi company. The taxi may arrive in time, or perhaps be 40 minutes late or maybe it won’t arrive at all. To see at what time the taxi arrives, I have to use a website that was programmed by a drunken person on a bad day.

Three clicks to login on a website. It doesn’t support mobile. When logged in you will find, after scrolling to the next page, a horizontal scrolling table with loads of information, and a button that you can accidentally press to cancel the taxi. Taxi 1 After another long wait for the taxi, I was finally furious enough to make something. I gave myself one hour to come up with a small app for checking the Taxi times. Unfortunately success came quick, and my fury went away before I had finished the app. A quick look at the source code of the taxi website re-ignited the flame. How do these people sleep at night? Within the timebox I had given myself I was able to finish the project.. The end product is a small app that only shows what we need to know. Taxi 2

The app was written in Swift with SwiftUI, using SwiftSoup to extract content from HTML files.