History of Chat SDK
When you use an open source project, it's nice to know a bit about the history and the developer behind it.
In 2010 I was working as a highly-paid IT Consultant in London. My job was to help banks with their asset management systems. It sounds glamourous but the reality was this:
The whole system was written LANSA a programming language from the 70s. And yes, we did an entire project where all the programming was done in green screen 🤦
So... I quit my job and decided to go traveling in South America!
I ended up living in Arequipa in Peru for the next 4 years. I started building apps for iPhone, I worked on audio synthesizers, games, photo editing apps. Anything that was interesting. Then for fun, I build an instant messaging UI component for iOS.
I found an online market place called Binpress and started to sell licenses for the code. It was reasonably popular so I kept developing it.
I moved to Berlin:
People kept requesting an Android version of the framework so I teamed up with an Android developer and we released it for Android too. Then the owner of Binpress suggested that we adapt it to run with Firebase (which was a new service at the time).
The years went by, I collaborated with the founders of Firebase to build a web interface for Firebase. I paid a developer to build an XMPP backend for Chat SDK. He finished 2 years late! And... his code didn't work 😞 so I learned about the XMPP protocol and re-wrote it myself 😄
But it felt like something was missing. I was spending all my time working on other people's projects but not much time doing what I was passionate about. So I made a decision.
First, I left Berlin and bought an old library bus. Converted it into a motorhome and started traveling around Europe.
But the biggest decision I made was to completely rethink our business model. I decieded to stop doing app-development and consulting and focus on Chat SDK full-time.
Chat SDK is my passion and while I'm alive, I want to spend my time working on something I really care about.
So what does that mean for the future of Chat SDK?
Essentially, it means there will be a lot more happening with the project:
Firstly, I decided to release the Chat SDK under the Apache 2.0 license which makes it very easy to use in your project.
Chat SDK v5
Since working full-time, I've already completely re-written the Android user interface to bring it fully up to date with very smooth Android Material design. I've added moderation, message replies and forwarding as well as many more features. An update for iOS in on the way which brings support for Dark Mode as well all the features that were added for Android.
Pepe and I developed a new library called Firestream which is a stand-alone messaging API for Firebase Realtime and Firestore. This is great because it's super light weight but supports all the core messaging features like 1-to-1 and group chats, multiple message types, read receipts, typing indicator, blocking etc... With Firestream and other open-source messaging UI components, you can build a full messaging app in a few hours.
So the big question about all this is money. Before I made money from consulting, how will I support myself if I just focus on Chat SDK? I'm hoping the answer is Patreon. Rather than charging a big license fee for extra modules, you can get all the additional modules, updates and support by sponsoring me on Patreon. I have absolutely no idea if this will work, but I remember something a friend told me. He said:
If you are driving across the desert and your car breaks down and you just stand there, waiting for someone to stop and help you, no one will. But if you start trying to push the car by yourself. Guaranteed the next person who comes past will stop their car, get out, and help you push.
So that's my hope, if I commit to this project and take the risk, people who appreciate it will feel like they want to help and be a part of it.