Socii Dispatch 06
The theme for this dispatch is fail early.
TL;DR
Socii has been/is being rewritten from the ground up (for reasons) and the tentative "relaunch" date is Summer 2019. I had hoped to get 2.0 ready on April 1st but that was aptly, a fool's errand.
Reasoning
These days, no one has a favorite social network per se — rather, they use the social network that bothers them the least. As an example, Twitter's CEO claims the company is doing everything they can to combat hate speech yet they only block it in Germany where they are legally required to (I don't think I need to recount Facebook's many issues for y'all).
Despite the problematic issues created and/or perpetuated by these social networks they continue to be utilized for many reasons, least of which is ease of use.
The Problems
Socii, right now, is neither pleasant nor easy to use. Up to three second page load wait and a user interface that doesn't update instantly (or near-instantaneously) is a jarring user experience when similar platforms don't have these issues. On the developer side, I was effectively sending entire webpages to the browser when the back-end server responded to queries. I grew frustrated with how ass-backwards that felt. I realized I was using the wrong tools for the job. Imagine using a hammer to get screws into a wall. You bang the screw hard enough and it'll get through that wall, but why make things difficult for yourself?
I decided to stop development and perform research into a better way forward. Fleshing out my toolbox, so to speak.
The Solutions
Adopting an SPA (single-page application) architecture fixes all the user interface issues and most of the user experience issues. The SPA framework I've chosen to use is called, "Mithril". It is small, lightweight, and has performance gains like none other! I've enjoyed developing with it and the developer community has been amazing in helping troubleshoot my questions.
In addition, I've consolidated the six or seven microservices I created as separate APIs into one. Now, these microservices are mere service modules inside a GraphQL-based API (this fixes the remaining user experience issues). Consolidation allows me to rapidly iterate on features that require updates across several modules.
As an example, changing a parameter of the user schema requires me to update the post schema as well as at least one GraphQL query. These used to be three different APIs.
2.0
The foundation of Socii 2.0 is solid and now I am developing essential social networking features and discovering ways y'all can empower yourselves on Socii's platform. The tentative release date for the new and improved Socii is sometime this Summer.
My motivation for creating Socii stems from me wanting better for my family and friends. There is no reason you should have to wade through negativity and ads and algorithms to hopefully catch up with the people you care about/admire.
It's unnecessary.
I believe there is a market for a social network sustained by a subset of the userbase willing to pay for optional features. This concept works for coffee shops and book stores so it's not far-fetched nor impossible.
This journey has been tough, as all things worth doing are. However, I believe we are on the right track now and I thank you for sticking with me thus far.
If you enjoy witnessing the development of Socii behind-the-scenes, stay tuned for more content. If this isn't for you, no pressure! You can either unsubscribe (the link is at the bottom) or reply to this email to let me know you don't want any updates until Socii 2.0 is ready.
Either way, I'll see you soon!