Tuesday, March 6, 2018

Developer Diary #1

Hello readers, users, podcast listeners and fellow developers!

I have not been using this blog a lot, but sometimes I feel like writing about what I'm doing in podStation.

This posts will probably not be so interesting for regular users, but more for people who are interested on how podStation is developed as a piece of software.

I have not released significant changes for quite sometime already, and to be honest, I was not recently dedicating much time to it.

Recently I decide to tackle a nasty bug (some would say it is a missing feature) that have been bugging me, yep pun intended, for quite some time now:

podStation does not handle properly RSS Feeds without a guid tag in the episodes - Issue #41

Well, this comes with a lot of questions I have to answer some tricky questions:

  • How do I refer to an episode that has no id? by title? by link? by publication date?
  • What is the chance that this other fields are going to change?
  • What do I do if with the data I saved in the chrome's sync storage if all of a sudden a RSS feed introduces a guid?
So this has lead to some developments:
  1. I started to document the way podStation uses chrome's sync storage: https://github.com/podStation/podStation/blob/master/docs/STORAGE.md;
  2. I realized it was about time (more then 2 years and 350 commits later) to introduce automated tests;
  3. I started a major redesign, refactor and rewrite to unwire some nasty hard dependencies and allow for dependency injection and automated tests, which in this case means convert a lot of background page code to AngularJS services;
Now, this is all just going on, so I'll probably have to still invest a lot of time to finally fix this bug and have some good testing coverage.

Let's hope for the best...