Comments By The Numbers

The Joindin Leadership team has been talking a lot about comments over the last six months. We’re commenting on commenting and even commentating on comments! It has been a great conversation about improving the amount *and* quality of feedback that speakers receive.

Let’s start with a little history. Once upon a time in a project not very far away, allowed anonymous comments to be posted to talks. Based on the first (Sat, 13 Nov 2010 21:30:09 +0000) and last (Sat, 26 Jan 2019 13:41:56 +0000) anonymous comments in our database, we can see it has only been quite recently that anonymous comments were completely discontinued. It became less easy to make anonymous comments when the new website went live in mid-December 2015, as you could only make anonymous comments via the legacy website, but anonymous commenting did not disappear completely until the legacy site was shut down at the end of January 2019.

As soon as the anonymous posting was moved to the legacy site, and again when the legacy site was removed, we had people contacting us asking us to add anonymous or private commenting back into the system. Many reasons were given for wanting this, including safety, lower barrier-of-entry, and to increase the number of feedback submissions.

The first two, safety and lower barrier-of-entry, are things we can’t quantify with the data we have in the current system. However, the third is something we have numbers on. During the time when anonymous commenting was easily done on the main site (before the new website went live), we had 61,267 total feedback submissions. Of those, 9,193 were anonymous submissions, or roughly 15% of the feedback submissions. One of the big things that came up during our discussions with speakers and conference organizers was that ratings with no comments were not helpful, so we took a look at the number of anonymous feedback submissions that included a comment along with their rating. Of the 9,193 anonymous comments, only 2,862 of them included a comment along with the rating, or roughly 4.67% of comments.

If you’re curious about the history of the current discussion, I’d encourage you to review this thread for some background. Much more discussion has been happening in various other channels as well as in our leadership discussions, but that issue on GitHub will give you a good overview of where this started.

The base premise of this discussion is that attendees and conference organizers have asked us to allow feedback without having to display a name. There are two ways to do this: Anonymous Comments and Private Comments. The Leadership Team spent some time discussing the difference between these two comment types, and we are defining them as:

“Anonymous Comment” is given via an unregistered, unknown, individual who submitted a comment on a talk.

“Private Comment” is given via a registered account, however, the user’s information is not displayed publicly. The user’s name could be disclosed to the conference organizer or hidden from everyone EXCEPT in the case where the comment is reported.

The main reason Anonymous Comments was removed from is because of harassment. On the old website, an inappropriate comment would be reported to an admin and then hidden or removed. This means the comment was displayed publicly until this process could be completed. We want to be inclusive and welcoming, not a platform for harassment.

“What’s it going to be then, eh?” – a fantastic question which the Leadership Team is still working out. We believe there is a way to collect anonymous feedback, however, we want to ensure the feedback that is collected is valuable not only for speakers, but for event organizers as well.

If you have any thoughts or ideas on this topic, we’d love to hear them. We truly value hearing from all of you. You can email us your thoughts at or join us on Slack.

We’ve moved to Slack for Nonprofits

Last night we made the move over to Slack. When the Leadership Team was formed we picked Discord as our chat medium due to the free nature of the application as well as not having to worry about losing any messages if we were to have used Slack’s free plan. Many people begrudgingly used Discord as a way to interact with the team, and for many, it was their first exposure to Discord and what we discovered is many of our team weren’t fans of the application.

What about IRC? We have used IRC since we started. Times have changed and IRC wasn’t able to compete with the slick UI and experience Slack provides. We held off from moving to Slack until we were certain we were going to be upgraded to a complimentary nonprofit account: meaning we don’t have the 10,000 message limitation and we have all of the features a paid tier account brings.

If you’re looking to interact with the Leadership Team, The Joindin Foundation board members, or just want to chat with other contributors we look forward to chatting with you in Slack.

The Joindin Foundation Officially 501c3

We’ve been waiting a while, but it’s finally official! The Joindin Foundation as officially been approved by the IRS as a 501c3 Noprofit Organization!

Screen Shot 2019-09-26 at 13.33.18

This means we can accept tax deductiable donations and also qualify for several nonprofit programs such as TechSoup!

The Joindin Foundation along with the Leadership Team would like to give special thanks and appreciation to Matteo Beccati and everyone in the Italian PHP community of GrUSP for the generous donation of 1,000 Euro to help fund our nonprofit incorporation costs! We wouldn’t have been able to do this without their support.

Nonprofit Update – Requesting More Information

We recieved a letter from the IRS requesting more information for them to consider our nonprofit application. This is typical and not at all out of the ordinary. The IRS specifically requested more information about our activities.  We’ve written up and faxed (yes, like it’s 1995) our response to the IRS and now we’re just waiting for them to review our paperwork!

We should be close to getting approved. If the next communication isn’t our approval it will be another request for more information. Once we get our approval letter we then have to wait another 30 to 45 days to be listed in the online database of nonprofit organizations. This online database is what services like TechSoup use to verify our nonprofit status.

Comments or Questions for the Leadership Team? Join us on Discord!

June Update from the Leadership Team

Nonprofit News

The big news item is still a waiting game. We’ve filed our paperwork to become a 501(c)(3) in the United States. Usually, this process takes a month or two however it’s taking an extra long time to get our application processed. Joe contacted the Internal Revenue Service to inquire about the status of our application and was informed the application has been assigned to an agent for review on May 29th. This means we should be hearing back within the next 30-45 days.

Hosted Service News

The hosted service suffered some rough performance issues in late May which unfortunately affected a few events. The Leadership Team dug into the issues and worked with our hosting provider to get the issues resolved. We have also moved to a newer region of their service so that we’ll have fewer issues. So far we have seen much improvement in the hosted service performance.

Open Source Project News

The Leadership Team has scheduled an internal Product Discussion meeting focused on defining what direction the hosted service needs to push towards to serve our users as best we can. The outcome of this meeting should provide the next 4-6 months of priority work around revamping the hosted service to better facilitate our users.

This past week was the 2019 Dutch PHP Conference in Amsterdam which featured a hackathon event where was represented by Andreas Heigl & Jos Elstgeest from the Leadership Team. We had several contributors share pull requests and we’re excited to see new community contributors!

Hosted Service Outages May 21 & 22

On May 21st the hosted service began experiencing connectivity issues between parts of their application hosting tier, which ultimately was caused by a mix of timeouts and TLS handshake failures when our web2 frontend requested data from our API. This resulted in many requests seeing a 522 error from Cloudflare, an application error from the website, or a Slim error message while we were attempting to troubleshoot.

We’ve been in contact with (our host) since shortly after seeing the issue crop up. They confirmed that the region we’re currently hosting the application in was having some infrastructure performance issues shortly thereafter. This morning they reached out to us indicating that these issues have been resolved.

As part of this discussion, staff noticed that our account is currently provisioned in their older, less advanced US1 region. They’ve recommended that we migrate to the newer US2 region as soon as we can manage to do so. Our plan, now that the fires are out, is to perform that migration next week.


The unfortunate part of this site reliability issue was that it hit smack in the middle of at least one big event in the US. We don’t want this to happen again and are working to ensure upcoming events will have a smooth experience with our platform. The region move is part of this effort, but we’ve also implemented additional performance tweaks at the database level to ensure API responsiveness, as well as increased logging, monitoring, and alerting across the board to ensure that we’re (nearly) the first ones to notice another issue like this.


If you’d like to ask any questions or chat with the Joindin Leadership Team, feel free to join us in our Discord chat group: Thanks to the team, including our primary contact Larry Garfield, for advising us on measures to avoid another repeat of this issue.

How Events Get Approved

A lot of the work the Joindin Leadership team has been working on is understanding how the hosted site has been running so we can evaluate how to make things better. One of those first tasks was to document and ensure all of our event approvers are using the same criteria to approve events. To increase transparency we’d like to share our previously internally only guide for how events should be approved. Our guide isn’t perfect, but it’s the process that has been in place from some time now and before we go making broad changes we should be acutely aware of how things work today. The guide that all of our event approvers are using is outlined below:

  1. Has to be a community-focused event (so not just a for-profit event from an event planning corporation).
  2. Has to have an English description (can also have a second language, but must include an English description).
  3. Has to have speakers/talks (so not a bootcamp or online school course)
  4. Has to be getting listed for the purpose of collecting feedback for the speakers (can’t just be looking for advertising).

Number 4 is kind of subjective, but you kind of get a feel for events after going through a bunch. It’s usually pretty obvious, like JSDay versus an Annual Symposium on Some Scientific Thing (and then in the description, they talk about how all authors will be published in the Symposium book to be sold after the conference). The first would be accepted, and the second would be rejected.

Other than that, it’s up to the discretion of the person approving the events to determine if it’s really trying to collect feedback via our system or just use us or an advertising platform.

We’re going to be revisiting these guidelines over the next few months as the Joindin Leadership Team evaluates the direction we want to take the hosted service platform. If you ever have any questions about an event that was, or was not published on our site please feel free to reach out to info at joind dot in. Service Migration Maintenance Window

The Joindin Leadership team would like to announce this upcoming Tuesday, March 19, 2019 at 14:00:00 pm UTC we will be performing maintenance on the domains. While we anticipate a smooth transition we are planning for the worst. The goal of the maintenance window will be to switch our production environment currently hosted by the great team at Combell to The best case scenario will be a 2-3 hour window where the hosted services will be in a read only state. The worst case scenario would be all hosted services fail and DNS is reverted back to Combell as we triage what caused the issues.

Part of this move will also involve the decommissioning of This site will no longer be accessible after the migration is complete.

We will update this post once the maintenance has been completed to give the all clear. Thanks for your understanding!


The Joindin Foundation

Today the Leadership Team is excited to announce the formation of The Joindin Foundation. The Joindin Foundation is a nonprofit organization that has applied for recognition of exemption under Section 501(c)(3) of the Internal Revenue Code of The United States of America. We have the support of some really amazing people and I would like to introduce you to the founding board members: Adam Englander (Leadership Team), Beth Tucker Long (Longtime Administrator), and myself Joe Ferguson. The three of us will oversee the nonprofit organization which will operate the hosted service and oversee the open source project.

We would also like to announce that with the official organization comes an official address: PO Box 342457 Memphis, TN 38184. We would love for you to send us snail mail postcards and even stickers of your event!

You can also learn about what our leadership team has been working on by listening to the brand new episode of the Voices Of the Elephpant Podcast

February Update

The Leadership Team has been hard at work in recent weeks and we’re just getting our feet wet! A couple of highlights:

Eric Poe’s primary goal is to lower barriers-to-entry for devs to get started with working with helping out the project. This includes looking at how we build a dev environment and updating documentation.

We’ve also seen a flurry of activity in our Github repositories:

Ian Littman was on code review duty, providing feedback on the first phase of switching the API to use proper dependency injection, which allowed a bug fix to the spam check service to be more thoroughly tested, among other fixes/enhancements. He also pushed (and, with Eric Poe’s help, tested) the first release of the API to production since October 27th.

Jos Elstgeest has been diving deep into the code:

  • Implementing DI in the API, adding tests to both API and web2
  • Making preparations for refactoring API and web2 to psr-4.
  • Mostly detective work on the code and writing more tests.

We want to thank ALL of our contributors past and present for all their hard work. We’ve been going through all of the issues across the project and have been focusing on securing our production environment, merging low hanging fruit pull requests, and adding enhancements to our primary site including that pesky contact form bug. We also want to thank Beth Tucker Long and David Stockton for being awesome administrators of the live site. If you submitted an event or asked for help from the site these two have been AMAZING to the project. THANK YOU both very much! You might recognize David’s name from our new leadership team as he was one of the several who committed to keeping the open source project and hosted service going.

The rest of the leadership team has been hard at work responding to and updating pull requests, deploying updates, verifying functionality between the legacy repository and web2, building a security guidelines document, planning infrastructure updates, and even a couple of things we’re not quite ready to announce yet!

Thank you all to the people who have reached out to individuals on the leadership team to thank us for what we’re doing. Speaking for myself: it means a ton, thank you. We’ve got some exciting plans in the pipeline and looking forward to the future!