One drop of open source

How little is enough to make a difference? Very little.

For as long as I remember I wanted to share some of my work as open source. I had some ideas, even sourceforge repositories for magnificent projects that I planned. I remember small and useful XML parsing library in C with no dependencies other than standard library. I remember big plans for JIM and JIL, Jabber Instant Messenger and Jabber Implementation Library, which were never born.

I always had this problem that any work I would publish as open source has to be perfect. I was scared that I'll make some stupid mistake and people will see it. Or maybe even more important, that unless it's something big, innovative, it's not worth sharing.

The truth is a tad different. With dependency managers like Cocoapods or NPM and other, you can see how small your library can be and still be useful. Just combine with a couple of other, smaller and bigger ones and you have a good foundation for an application.

Small categories like FrameAccessor or Color-Utilities live together with AFNetworking and other, bigger libraries in the same Podfile. And for a developer, they all serve the same purpose - solve a problem, no matter how complicated it is and in how many lines of code. They save time and money, therefore they are useful.

We all find problems we solve over and over again. Sometimes we forget that we are not alone in the world. That someone, maybe next door, maybe in some far country, probably have the same problem and we could help to solve it.

I had that with my "recent" open source contribution ObjExC, a category which not only I use almost everyday to make sure unexpected JSON data won't crash my app. Something I struggled with, solved in almost every project until I sat down and made this small category.

Yesterday, I solved a problem which we had on every scrum review session - showing a client on the "other side of the internet", where my finger is on the screen, while presenting a new feature. It's based on Tweaks, which we use in few projects right now, and it's called TweaksPresentation.

Am I the only one using Tweaks and their shake UIWindow sublcass? Of course not. Are we the only ones, which want to give better presentations to our clients, instead of describing "I'm going to tap the thumbnail on the left side of the cell now"? I doubt it! How much time did it take to make the solution and share with the world? Very little.