Before I can explain why I love Singly, I have to explain the path we took to get there. When we started RecBob our intial plan was to utilize Facebook by making RecBob a Facebook app almost exclusively. Our reasoning was that we did not want to have to recreate a social network just for RecBob, when so many people already used Facebook. There were several reasons why this turned out to be a bad idea:
- Facebook’s API documentation is often obtuse, wrong, or both, making the initial development more frustrating than we had imagined. Before the switch to Singly, I was never able to get the authentication flow working reliably on all major browsers (especiallyIE).
- Our MVP (minimum viable product) is more of a tool for our users and less of a social network. Including social network connectivity will make our app more fun and engaging, but our initial focus had to be solving the headaches that come with managing and playing on rec teams.
- Relying solely on Facebook authentication for our users meant that we were leaving out people that didn’t use/didn’t want to use Facebook. I think we all saw this as a problem we’d eventually solve, but it turned out to be a far more serious problem than we initially thought and it ultimately prompted us to start looking at different solutions (and also regret not looking sooner).
The Turning Point
After deciding that we wanted to focus our efforts on solving the problems that rec-league teams have we soon realized that we couldn’t very well solve those problems if we couldn’t assemble the whole team. If RecBob could not be used for every member of a team, then the captain would still have to rely on the inferior crutches we were trying to remove (e.g. using a mailing list to handle all communications). We were missing 3 parts of the puzzle: 1) users that didn’t have Facebook (and therefore could not log in to RecBob at all), 2) users that had Facebook but did not want to use our app with their Facebook credentials, and 3) users that were on Facebook, allowed the app, but were not connected to anyone else on the team.
We began looking into ways to handle our own authentication, in order to allow users to sign up for RecBob using at least an email address and password and also allowing social options (including Facebook for our existing users). We looked at Elgg, which is an open-source self-hosted custom social network framework. Think WordPress but specifically for creating your own custom social network instead of a blog. Porting RecBob from the PHP framework Yii to Elgg and their non-object-oriented API did not seem appealing at all. We researched plenty of other options in the same vein as Elgg. Finally, I took a look at Singly, after John (our CEO) had mentioned it several times.
Seeing the Light
The first couple of times John mentioned Singly, I honestly did not understand what we would use it for, mostly because I did not understand what Singly provided. I was coming at it from the wrong direction. My head was spinning from trying to find a social framework solution, and I thought Singly was just another framework that I didn’t want. I was wrong.
Singly is, for all intents and purposes, exactly what we wanted. The way I try to explain Singly is that it is a service that brings (almost) all other social services under one roof and provides developers a consistent and unified API to access similar objects across all services. A mouthful, but also simplified. For me and probably others, Singly is so much more. I no longer have to do the work to monitor changes to Facebook’s PHP SDK or API changes in general. In fact, we pay Singly to worry about that for us, with their (what I assume to be) army of super-powered developer cyborgs.
Speaking of developers, Singly’s support structure right now is amazing. I can hop in a hipchatroom and talk directly to their developers to troubleshoot any problems I may be having. Of the couple of issues I’ve had, they were usually solved within minutes. I love that I don’t have to try and explain my problem to someone that isn’t a developer, or enter my bug into some lifeless bug reporting/tracking system. That might change as Singly grows, but I hope they retain it in some way, since Singly is built for developers.
Free at Last
So once I realized the benefits of Singly (which I only touched upon previously), it was obvious we had to use it. We made the move away from Facebook-only login and now provide email+password, Facebook, or Twitter as login methods. Singly handles all of those authentication methods for us. I only need to understand 1 auth flow: Singly’s. Users can connect all 3 accounts together as well, or use just email+password if they do not feel comfortable linking social accounts to other apps. Now, instead of pounding my head against the brick wall of Facebook’s authentication flow I am able to focus on developing solutions to the headaches rec sports players face. It is a freeing feeling.
Thank goodness for Singly.