Continuing from my last blog post about making social media private and productive, I wanted to share my thinking and development process to create the proof of concept that I built in house for the Pennsylvania Academy of Family Physicians (PAFP). For those of you who don’t know, I work at PAFP as their Graphic Design & Social Media Specialist. I am part of the communications department that consists of myself, my pal Bryan who is the Media & Public Relations Manager, and Michael, the Director of Communications. I like to think of us like The Order of the Triad.
The PAFP is investigating solutions to create a online member community that would allow for family physicians to connect with each other to discuss important topics, share knowledge and resources, collaboratively work together on projects and be a portal for members to access their membership information. This member community has to be accessible through the means of a website, not a listserv or social media platform such as Doximity, LinkedIn or others. The core features need to include the following:
• Exclusive access: a closed network site that would be only accessible to members
• Private and Secure: The ability for physicians to talk on discretionary topics.
• Groups: member created croups focused on particular areas of primary care (like LinkedIn)
• Forums: Discussion boards where needed for ongoing topics (much like discussions on LinkedIn)
• Collaborative Tools: The ability to work on documents that could be could on physical meeting time.
• Live Streaming Video: The ability to host live streaming video from our CME conferences and from Physician lead webinars.
• Event Registration: Adding the ability to handle event registration and payment for conference, meetings and even webinars. The ability to take payment directly through the site through a payment gateway.
• Social Features: Activity wall, friend requests, blogging, sharing media and having members “like” it.
• Private Messaging: Just like it sounds, in site private messages (Like LinkedIn)
• Member Directory: The ability for members to find each other and connect.
• Chat Functions: The ability for members chat through an instant messaging client as well as chat rooms that could be embedded into a page and also pop out into a separate window. This would be crucial for webinars, live streaming sessions for members to interact with presenters, and also to have physician led video presentations that we could record and archive on the site.
• Mobile Ready: This has to work on mobile devices, especially smartphones due the high percentage of members already using them as clinical tools and conference portals.
• User Roles: The ability to define privileges for members, e.g. Students members would have different roles and privileges compared to a physician. The possibility to allow out of state physicians a guest role to view the community but not participate.
• Email Notifications: Allowing groups to setup email alerts depending on their message preferences.
What the Online Community is Intended to Achieve
• To become a professional membership discussion platform to encourage collaboration on clinical topics, to become a knowledge base for physicians to learn from each other and share resources.
• To connect our member constituency from across the state to allow continuity from in-person meetings to the digital realm. Allowing our members to be always be connected with each other and strengthening our resolve and discourse for primary care.
• To allow members to connect in an environment that is private and comprised solely of other physicians so that they may engage in conversation, share innovative information and trouble shoot issues together, so that they can directly apply ideas into practice.
Building the Proof of Concept
After we stepped back from commercial solutions and started to look into other avenues, I started looking into BuddyPress as a possible solution. Using BitNami WordPress Installer, I setup a local environment in which create the concept. Our IT specialist is a Microsoft Certified Expert and has created a WordPress installation on our private server the future install if the project was approved.
BuddyPress.org, LabZip, and WPMU ORG
I never built an online community before and I was familiar with BuddyPress in name and concept only. So I spent a week pouring over materials online. I came across three resources that aided me in understanding how I should go about building this concept.
• BuddyPress.org – The de facto site for BuddyPress. I poured over the documentation, blogs and support forums to learn as much as possible. This was my first stop in learning for quick “how to fix” questions. 95% of any issues I had with BuddyPress, I was easily able to find an answer there.
• LabZip – Spence, the evil genius, makes some great videos on how to accomplish various tasks with BuddyPress. His definitive guide to installing BuddyPress was immensely helpful. He was able to break down process of setting up various functions in BuddyPress so that you can create some awesome customized features for clients. Watching his videos brought me up to speed and helped our communications department understand fundamentals. In fact, whenever my colleagues wanted to know how I was going to build a particular function, I would just send them a video and say “Exactly like this”.
• WPMU ORG – This monstrous, awesome community is comprised of some of the happiest geeks around. This is the community for the WPMU DEV site and they offer great tutorials, plugins and themes, hacks and everything else that pertains to WordPress, WordPress Multisites, and BuddyPress. I would pour over their blog entries and user submitted questions and find answers to problems I never even thought about. Really handy site.
From Lurker to Leader
We discussed the user experience at length. Our members are physicians that range from freshly minted doctors to practicing physicians of over 40 years or more. Pennsylvania is also a very rural state punctuated with large metro areas, so we have the physicians is very rural, country settings as well as physicians located in the heart of Pittsburgh, Philadelphia, Scranton and other large cities. What we liked about BuddyPress was the ability to have complete control over the navigation and menu options. Our thinking was to create a homepage upon successful log in that would act as a jump off platform. This page would read like a personal letter to the physician, welcoming them to the site, giving them quick overview of how the site is setup and if direct contact with me via email to ask questions if they got really lost. We decided to make life very easy for our members and instead of create tons of written content on how to do various task in the community, we thought we would show them using embedded video of screencasts. Using a product called Jing, I can create screencasts with audio for physicians to watch how to do various functions in the community. We wanted our physicians to be lurkers for a time, we encourage them to lurk and get comfortable with the navigation and interactivity before they jump right into becoming active, fully committed community leaders. Part of that reason also comes from the time they can invest in the community. We wanted to have many avenues in which physicians could be active in the community. Some physicians may only join a few groups and participate in a few topics that interest them. This is a very low commitment of activity to community, but it is fulfilling a need for that member, and thus is successful. Other physicians may fully explore all the functions of the community, so they may run their own blogs, start their own groups and participate in many discussion topics and create site wide events. For those physicians, it is fulfilling their needs, and is successful. We didn’t want to force anyone to do more then they wanted to. After a member is comfortable using and working inside the community, they can choose whether to increase their engagement or stay at the same level.
Configuration, Theme, and Design
After installing the BitNami WordPress Launcher, I setup BuddyPress 1.7 and bbPress 2.3.1. We liked the initial layout of the BuddyPress Default Theme, so I made a child theme for the theme and made subtle changes to the CSS, namely redefining the entire theme to be responsive. I had the rest of the communications department connect to my computer through via IP address so that we could do live testing on multiple computers. Our Mac’s run Parallels for various native Microsoft tools, which gave us the unique ability to test the community on ancient versions of Internet Explorer. We tested the site in Internet Explorer (6 and up), Chrome, Firefox, Opera, Safari, and Rockmelt (basically Chrome). We tested these browsers on multiple operating systems as well. Windows Vista, 7 and 8, Mac OSX Tiger and up until Mountain and Ubuntu Linux Distributions. Each OS with their versions of their browsers rendered the responsive nature of the community correctly.
BuddyPress and associated extensions
• BP Group Management
• BuddyPress Docs
• BuddyPress Group-O-Matic – to automatically make every physician a member of the sitewide discussions group
• BuddyPress Activity Plus
• BP Labs
• RS BuddyPress Activity Refresh
• BuddyPress Extended Friendship Request
• BuddyPress Group Email Subscription
• BuddyPress Media
• BuddyPress Announce Group
Privacy and Security
• Private BuddyPress
• Private Community for BP
• Limit Login Attempts
• Better WP Security
User Roles and Custom Profiles
• Role Manager
• BuddyPress Xprofile Custom Fields Type
• Import Users from CSV
• BP Export Users
• Events Manager
Interface and Design
• WP Google Fonts
• Autolink URL
• Image Widget
• AG Custom Admin
• Responsive Images
• JKC Admin Bar Toggle – Modified to allow Members to hide admin bar as well.
• Simple Optimizer
• Complete DB Backup
• Gravity Forms
• BuddyPress Mobile Pro
• CometChat – Modified to record videos and archive directly to the desktop.
With the Roles Manager Plugin, we were able to customize the backend dashboard for members to hide certain items and menu options. Currently, when members login and go to dashboard, all they see is “Right Now”, “Recent Comments” and “Right Now in Forums”. On the side menu, they see Dashboard, Posts and Media. The goal is to keep them on the front end as much as possible. Inside our child theme, we customized the login page to match brand specifications. Limit Login Attempts actually triggers an easter egg, after three attempts, members are locked out of the site unless they directly email the communications department to reset their password. Username and Password form fields disappear and this funny animated .gif shows up. We disable HTML comments inside of certain replies functions, namely events. Autolink URL will convert hyperlinks, but we wanted to limit confusion on the physician’s end on what they could add to comments.
Commercial Plugins for Extending the Conversation
After looking into various chat plugins, we settled on the CometChat because of the features it offers. Shared screen mode, quick file swap between members, Video Broadcast with concurrent chat rooms where the big selling points for us. Saving conversation to desktop, collaborative documents in a chat pop out window was very attractive as well. Site wide announcements via a chat window was also something that we thought would come in handy. We spoke with CometChat about how to record video broadcasts that physicians would present. They offered a custom solution which would allow us to record the broadcast and save them to our desktop, from which we could upload to our private Vimeo Channel and embed back on the community as enduring material. We would remove all of the public social media modules so that we could continue to lock down the community. I had used Gravity Forms for a previous client, Lehigh Valley Magazine, who needed a way for their readers to vote on their Best of the Valley Reader’s poll. Gravity Forms was extremely user friendly and intuitive and we wanted to be able to quickly poll our membership on different topics. Gravity Forms was a no-brainer. BuddyPress Mobile Pro we wanted to add as an option for members who are using a smartphone. We liked the interface and app-like functionality it added. The responsive nature of the child theme made it look fantastic on tablets but somewhat crowded still on a smartphone. We thought of the user experience it offers and we liked what it had to offer.
I would say that my time was split up the first week in 50% development and 45% education (the remaining 5% was cursing when something broke). After building the skeleton, installing the child theme and tweaking the interface and options, I started adding the extra functions to groups and adding the simple optimizer to do so basic house cleaning. The second week was 75% development, 20% education (same 5% remained) and then I began writing my documentation for all of the plugin functionality and commenting all my CSS. Documentation is key. The communications team needs to be able to edit and change any element in the community with ease, and scaling out for the future, new team members that might join us in the future should be able to pick up the documentation and hit the ground running with the code. By week three, I was about 60% usability testing, 35% development and tweaking, 4% cursing, 1% feeling like a digital overlord. At this point we presented to the CEO
We sat with the Executive Vice President and CEO of the PAFP on April 30th, 2013 to go over our findings and recommendations for going forward with this member community proposal. We created a presentation that detailed what we were looking to achieve and what commercial vendors we spoke to. We listed the pros and cons of each vendor and detailed what features we liked from each that were standard between them all. We listed the shortcomings of each vendor product that were deal breakers for us (mostly video capabilities oddly enough). At this point we took a break to allow for questions. The running themes of each other vendors were that they lacked some core functions that we wanted to offer members, and more importantly, the pricing of these products were astronomical for what we needed. To be fair, most of the vendors don’t have associations like PAFP as clients, they are more designed towards large multinational corporations with massive employee infrastructure. They scaled down their products for smaller companies, but didn’t allow customization and flexibility we were looking for. At this point, we unveiled our own solution. We created user profiles and had our CEO walk through the proof of concept with us in the conference room. All of us on laptops and logged in, we gave a first hand demonstration on the user experience, the interface and navigation, future scalability and a point by point walkthrough of each of the required features that we wanted to offer members. The best part was that our CEO had no clue we built this proof of concept and that we had something he could see and interact with. The discussions continued on then about possible future expansion of use, staff training and coming up with a release date to roll out for members. The last words from the presentation were “This is amazing. I’m sold on this. Fellows, you have the green light to continue with this solution. Let’s present this to the staff next week.”
This project was a 3 week process from little to no knowledge to now becoming a major new member benefit for over 5,000 family physicians in the state of Pennsylvania. I am continuing my knowledge each day and with the help and support from the community of WordPress, BuddyPress, and bbPress developers out there across the planet. Some of you know my posts I have been making on Twitter about my journey on this project, and I appreciate your support and interest. My next post will include my acknowledgements and some funny “oh, shit!” moments that I had during development that I think will make everyone laugh.