Paying the Bill

When we started to get serious about our holiday apartment business in 2008, I also got serious about providing IT support for the business.

At the time, it was very important to have your own website. I think about 30-40% of the bookings came from that source. With the little experience I had back then I chose Drupal to build the site. Note: This was before folks were using (i)Pads and smart phones to check for vacation homes. So we ended up with a page that until today sucks on small screens.

Next project was to create an internal system to keep track of our bookings. So I set off to write a small PHP system to create and track visitors, bookings, invoices and so on. What I had envisioned to be a very small app turned into a much bigger endeavour once I noticed that it won’t be just me using this app. So I wanted to add a nice UI and chose a very cool and hyped framework called Angular.js. The initial system booking system went life on my provider’s servers in 2014, the Angular.js version about a year later. Angular.js is now in long-term support. And starting with the next version (2.0) Angular.js was renamed in Angular and it underwent a major redesign and paradigm shift. Needless to say that it more or less requires you to learn a new language called Typescript.

After all that I started to enjoy hacking away again. Looking at the cost structure of our business one of the interesting places where we could lower cost and do some good for the globe appeared to be lowering our heating (aka oil) cost. Around 2016 I had started playing around with an ope-source project called openhab, connecting to closed solutions to control heating radiators. I implemented a system in openhab (or actually using openhab’s REST interface to connect the booking system and the heating control system. That was and is fun! And recently I started using Grafana to visualise the performance of the system. Just to find out that the closed solution (I’m using the MAX! system) is not up to par. So I’m learning a lot about the ‘hidden features’ of MAX! and try to adopt my control center software, running on Raspberry Pi’s at home and in the holiday apartments..

For the past years I was still fully employed. In June 2020 I changed from fully employed to working a maximum of 2 days a week on consulting contracts. This allowed me to sit back and look at the technical debt that I have accrued.

What I learned is:

  • Don’t create a website if you don’t have to
  • If you really need, think twice if you need to use a CRM of if a static page suffices
  • For each and every piece of software that you develop: Never forget the cost of ownership.
  • Write tests and documentation. You will not understand what you did 6 years ago without it!
  • Speed of front-end technology changes far faster than backend: Separate the two systems as much as possible (e.g., RESTful interface)
  • It sucks to use IoT systems (e.g., smart home hard/software) that is a) closed and b) developed with a focus on the hardware). In addition, the cost of the hardware is still very high and the ROI is not coming any time soon. Rather invest into more bold solutions (e.g., heat pump based solutions, solar energy)
  • It was and is a lot of fun to play!

So I’m going to invest some time into

  • Choosing a different technology for re-writing our public website (static page, goHugo?)
  • Learning Typescript (actually started a course @ Udemy)
  • Chose the right front-end technology for the internal app (e.g., React, Angular)
  • Make plans make major investments into saving a) the planet and b) heating cost

I’ll keep you posted!