Build a learning community website with the following requirements:
- subscription-based (behind a paywall)
- forum for discussion
- library with classes and materials
- live calls with the students and the teachers
- easy to use for both the young and older audiences
– base platform: Joomla!. In my experience, it is more secure than WordPress. It is component-based, which to me, makes more sense when you want to build a platform. Also, because it is component-based, it can be faster than WordPress that has to load all the plugins all the time.
– for the forum, I’ve used Kunena. I cannot say I like it a lot, but it was the natural choice for a Joomla! based platform. The interface is also common enough to make sense for an older audience. I have considered using Discourse, but it failed for the accessibility requirement.
– DocMan was the choice to manage our document library. The good part is that it can protect documents from being publicly accessible. The bad part: it feels clunky to navigate on the front end, and for some reason, the download feature is not working correctly on iPhones (but that could be Apple’s fault)
– after trying a couple of things, Zoom is the clear winner and choice for the Video Live Call that we have at least once a month.
– for the newsletter, the AcyMailing component is the professional choice. I like the flexibility of it better than MailChimp, and we get to have all the data. The challenge here was that our server is not doing well with email deliverability, so we did have to get an external mailing service like Mandrill (from MailChimp) to plug into this component. A big lesson learned here: if email deliverability is important to you and your users go PRO with a paid service. It will save you a lot of pain and headache. And in the long run, it may actually save you money by simply providing a reliable experience for your userbase.
– ease of use was accomplished with custom modifications for the mobile version and by using a user experience that most people are accustomed to. For example, I have discovered that Discourse tends to not make sense for people used to the older forum software.
– accessibility meant we could not use Discourse. And to also consider a high contrast theme for specific users.
– for handling the subscriptions, I have used Community Builder and their CB Subs plugin. I cannot say I love it, but after a lot of customization work, it does the job right and reliably.
Add-ons and Customizations
– added a calendar to help better organize events in the community. DPCalendar does a great job with this.
– added a private messaging system – Udeimm – the code base is super old, and it tries to maintain backward compatibility with older Joomla! software. But it works. And with some custom work, it works very well. I like the fact that it integrates with CB and Kunena. (Oopsy… looks like development for this component has ended. Which is a shame. It was the best PM solution for Joomla!)
– for the forum, I had to code it a tagging system to allow users to tag each other using the @username system. This increases engagement and makes it easier for the users to let each other know if there is something of interest on the forum
– I have installed JChatSocial – it was a “cool thing” in the beginning, but I don’t see it as a popular feature. Also, it is not accessible, and the developers do not plan to make it so. With this plugin, I also have some performance concerns. I don’t think it can work for large communities.
– added a custom made notification system to make it easier for a user to know when something important is happening: like an event, or announcement or someone tagging them or sending them a private message
– added web push notifications (for those that use Android or the desktop) – allows for better engagement and for users to more quickly respond to what is happening on the platform
– added a custom Joomla component to allow users to track their progress through the material on the website: the classes, the events, and assigned homework
Why a custom build?
If I were to start again today, I would probably look for a platform that has all my requirements built in. I would also consider a hosted service. This would free me up from having to maintain, update, and secure the software. And I could use the free time to engage in other community-building activities.
However, I am a nerd at heart, so I would miss the flexibility that I currently have to get my hands dirty and customize the entire experience in the way that I or our users like it. Because of this, the platform has grown and adapted to our users instead of forcing the users to adapt to a “ready-made” solution.
This is a choice that I constantly have to make: do I want to be “the developer” or “the manager.” The developer can feel more rewarding as it appeals to my coding skills. But the manager is enticing too as get to focus more on the human aspect of it, and less on the technical side.
I will conclude that I am proud of what I have built for WalkWithMeNow.com. 🙂