When I started to entertain my dream of creating the GreatAlbum application, I always knew there were two parts of it that were important:
1. Community Content Development
Great would be a different kind of platform from any other I have ever seen, incorporating what I felt were the most important parts of family tree content management and multimedia management, with a focus on creating rich stories about loved ones. It would leverage the power of community to collaboratively create content and celebrate to celebrate the lives of people that content highlights. This means:
- Albums have members, like traditional photo albums
- But Albums would contain more than just media( photos/videos). They could also contain Events, Stories, Individuals, Places and Discussions.
- Those content types would be interlinked, so an Event could have lots of media linked to it as well as stories written by different people, a Place where it happened, Individuals tagged who were there, and related Discussion threads.
- Each Event would essentially act like a sub-album, only much better, and you would have to share it for others to see it, because it's already part of the larger Album.
- Similarly Stories can be linked to Events, Individuals, Places, Media, Discussions
- And Media can be linked to Events, Stories, Individuals, Places, Media, Discussions
In this way, you get a much better feel for the true nature of the relationships that exist between these content types, allowing you to tell more robust stories and explore the content more thoroughly. To learn more about this, see What is GreatAlbum? How is it Different?
2. Community Application Development
GreatAlbum would also leverage the power of community in how the app is built. This means:
Building it on an open source platform, so that 80% of the functionality comes from others who have already done that heavy lifting. The GreatAlbum team would create the 20% the no one else has ever done before, which makes GreatAlbum unique and special.
Making GreatAlbum app available as an open source download, so that technical people using it can also tinker with it and offer technical suggestions on how to improve it (even technical patches to the code).
Where the GreatAlbum team makes improvements to existing modules, offer those as patches back to those module maintainers, so they can consider accepting the improvements.
Where the GreatAlbum team is able to create new modules that serve our purposes and can also be generalize to be useful to others on their websites, then we will offer those as new modules to the development community and become the maintainers of them.
To accomplish #2, we chose the Drupal content management system. For more on this, see Why we built GreatAlbum on Drupal?
In the process of building GreatAlbum, we had to think about how we would support the users of the app. We looked at a lot of traditional customer service applications, like Jira Service Desk, Zendesk, Zoho, etc. The problem was that with all of them, the model was to have a small number of customer service people providing all the support to end users. That didn’t feel right. As a result, we created the third part of our overall mission for GreatAlbum...
3. Community Customer Support
GreatAlbum would provide a community support model, just like you get with open source communities like Drupal. The GreatAlbum team would provide the foundation of support, and more importantly, our users to be able to help each other. That approach would be much more scalable and it would reinforce the sense of community, not only in sharing content with members of your Albums, but also in helping other users with how they do the same with their own albums, even when you aren’t a member of their albums and can’t see their content. As a result, GreatSupport was born, which is a community support site for GreatAlbum and could become a model for other companies.
To learn more about this, see How GreatSupport provides community support for GreatAlbum.