ISO8601DurationFormatter

I really had no idea what formatted strings like PT0S, P0D or PT5M30S meant when I first encountered them… And I am not alone, almost all developers who join the team ask the same question: what are these?

Well, did you know that the ISO8601 standard, commonly used to format dates, also has a duration component?

From https://en.wikipedia.org/wiki/ISO_8601#Durations:

Even though the Foundation framework in Swift offers the ISO8601DateFormatter, it obviously doesn’t support durations and since we needed to serialize/deserialize durations for a project, I ended up writing a small library that does just that.

Github repo: https://github.com/cyrilchandelier/ISO8601DurationFormatter

Open source projects should be more accessible to contributors

There are ton of developers out there, me included, who are looking for open source projects to help and improve their technical skills. It’s a good opportunity to dive into other people code, learn good practices and actually have code reviews from peers. Unfortunately, it’s often really hard to find a good project to actually contribute. And even then, it is difficult to know where to start and what you could actually do.

The project doesn’t work out of the box

The code can sometimes have a lot of dependencies and project developers didn’t take the time to write a “Getting started” note to help potential contributors to have a working copy of your project. Even when its there, it has to be up to date.

Project owner doesn’t explicitly say how contributors can help

What could potential others do to help in your project? That’s often unclear. They could find something to do by solving the issues, add features from a roadmap,  improve the tests coverage, everything is possible but usually hard to guess. Within issues, it’s usually better if they are tagged so it’s easy to see if it’s important or if it can be done without having a global knowledge of the project.

There is this post about the CONTRIBUTING.md file on Github, I like the idea and think it is a good place to gather all this thing that will help others to help!

I’m a really fan of the open source philosophy, I really would like to find more projects I could contribute 🙂