I've been a member of the Drupal community since 2005, when I built my first website on Drupal 4.x with CiviCRM 1.x. It was for my 20th high school class reunion. A few years ago, I was thrilled to discover the OpenSocial project, built by the team at GoalGorilla. They were a consulting firm that developed Drupal sites and got so focused on community based sites, they productized OpenSocial around 2016 and then actually renamed the company to OpenSocial in 2019. They enable exactly the kind of networking/social website that I built in 2005-6, and a few since then.
So, when we first started prototyping GreatAlbum two years ago, I seriously considering building on top of OpenSocial. I even managed to have a call with OpenSocial CEO, Taco Potze, to discuss it. But at the time, I felt like the vision and requirements for GreatAlbum was sufficiently different from that of OpenSocial, that we needed to build our own site using a plain version of Drupal.
Then, after we first launched our Private Beta and started to gather feedback, we realized a lot of the social features we were missing and needed to build in, were included as core features of OpenSocial, such as:
- Activity Streams - Chronologically display activities of a group, member, or the whole community.
- Email Notifications - Members can receive and choose the frequency of email notifications about community activity.
- Likes - Members can express that they like, enjoy, or support certain content by using the ‘like’ button.
- Mentions - Members can mention and tag other members in all content and comments.
- Notifications - Members are notified of activity with notifications appearing in the header.
- Private Messaging - Members can send private messages to a member or a group of members.
- Push Notifications - Members can choose to receive push notifications about community activity.
- Follow - Members can follow the content of their choice to stay informed.
And OpenSocial includes a range of extentions, some of which we also intend for GreatAlbum:
- Gamification - Increase community engagement and find your super-users with gamification.
- Badges & Certificates - Award members with a publically displayable badge to mark and celebrate their achievements.
- Social Logins - Let members easily signup and login using their Facebook, Google, LinkedIn, or Twitter account.
- Customized Content Access - Control the visibility and accessibility of specific content on your online community platform.
- Member Analytics - Statistically analyze member behavior and activity.
As we contemplated building GreatAlbum MVP2 on OpenSocial, we knew we would need to bridge some major gaps with our own extensions, which we have since built to enable:
- Groups renamed to Albums, as is the naming convention in GreatAlbum
- New content types for: Individual, Place and Article (i.e., Story, Letter, News Clipping)
- Introduction of media types for: image, video, Google Photo, Remote Video, Document (with Apple iCloud Photo, Google Doc and Dropbox file to come)
- And then, of course, highly specialized features to import Google Photos and to organize clusters of photos into events
Taking this course has grossly violated the golden rule to make an MVP super simple, so that we can quickly prove basic product-market fit, but I'm hopeful that it will be worth it in the long run!