You know those projects and ideas that you want to pursue, but the day-to-day work means you keep putting them off? Us too. That’s why we recently held a Coral Hack Day for our team.
The rules were simple:
• Happening all day Friday (during your normal working hours, wherever you are based)
• Do not work on your regular tasks – this is supposed to be about work we don’t schedule and plan for. This also means not messaging others about regular work things
• You can work individually or with other people – it’s up to you!
• Feel free to turn off Slack/email/etc if you find it distracting (mark your “away” message or “out of office” if that helps)
• The only rule about WHAT you do is: it has to relate somehow to Coral and our mission
• What you do doesn’t have to be software, it doesn’t have to be finished and ready for production, and it doesn’t have to be anything on our roadmap
• Come ready on Friday morning with an idea of what you want to do
• Pick something you can build/prototype/outline in one day – the idea is to be able to deliver something that can be demo’ed/presented to the team
• Feel free to ask for feedback or bounce ideas off each other
• We will demo what we did on Monday instead of Scrum
Have fun! Do something cool! Think outside the box! Challenge yourself!
Here’s what we made.
For Coral’s Hack Day, I built Devtools for Talk.
For a core developer, sometimes it’s hard to see what is happening inside the platform. So I built an extension for your browser that allows you to debug a Talk embed. It’s useful for developing new plugins, new features, or just to explore our structure by listening to the Talk events. It also highlights all of the plugin slots currently inside Talk.
Hack Day was fun and productive! I look forward to improving this tool – I know that I’m going to use it on a daily basis.
Link to a screenshot
Link to the Talk Devtools Extension code
I chose to tackle the problem of infrastructure when it comes to Talk by developing a Helm chart. Designing the chart was an opportunity to learn more about Kubernetes, and to see what can be done to make it easy to deploy a production grade Talk instance on that infrastructure. I got it working – and I plan on releasing the chart soon, with some improvements that will make the chart more flexible.
Coral Hack Day was awesome. My choice was rather spontaneous. We’ve been implementing a Rich Text Editor for Talk using Jared Reich’s pell. But a recent update of pell had been causing us a lot of bugs, and when I saw that the source code of pell was just less than 200 lines of code, I got excited to build my own implementation on top of React.
I got myself familiar with the editableContent and execCommand API and was able to build a plugin talk-plugin-rich-text. It’s a Rich Text Editor entirely built on top of React, with better usability and cross-browser compatibility than our previous implementation with pell. I wrote and implemented it all in one day.
Now it’s our default Rich Text Editor. I hope others find it useful too.
I had two goals. The first was that I wanted to try our newly published tutorials to build a plugin, and for the second, I wanted to see how far I could get towards building basic AMA (Ask Me Anything) functionality for Talk.
I decided that I wanted to add upvote and downvote buttons to Talk, so it would be easy for commenters to surface which questions they want answered by the AMA Host.
I realized that to make these two reactions more useful, I’d also have to add two additional plugins – one for sorting by the most downvoted comments, and another for sorting by the most upvoted.
The last thing I did was to turn off the other reaction and sorting/filtering plugins for this particular stream, because I wanted to focus commenters’ attention on taking these limited actions.
And voila – after one day of work, we have a basic functioning AMA platform! In the future, we can add a user tag that would signify an “AMA Host”, and add the ability to filter the stream by showing only those questions that have been answered by the Host.
I will be publishing the plugins in our next release, for anyone to use with Talk.
One of the most challenging tasks with adopting Talk beyond the basic install is integrating with a newsroom’s user management system. To complement our improved documentation and tutorials on Talk authentication, I wanted to try my hand at writing an auth plugin from scratch, so I could understand the process from end-to-end when advising newsrooms to do the same.
I wrote a custom authentication plugin that integrates with a newsroom’s existing user management system, and enables single sign-on (SSO) between the website and the Talk comment stream. The plugin uses the newsroom’s own API to securely pass user information to Talk for a seamless commenting experience.
For some time, I’ve been really interested in how Talk could be adapted from a space for free commentary into a platform centered around informed, vibrant, and civil debate of ideas.
Our research has shown that many people come to comment spaces to take part in a debate, balance a discussion, add a diverse viewpoint or learn from the viewpoints of others. A debate platform could serve as a more structured way for commenters and comment readers alike to achieve those goals.
As a result, my work for the Hack Day focused on exploring various considerations for such a format through our past research, looking at the current competitive landscape, and then formulating associated user stories for this particular set of features.
You can find the results of my research and user stories here.
Similar to Sam, I’ve been thinking about formats that encourage a more productive and respectful online debate around ideas and issues. I did some work researching different formats, and came across the Steel Man principle. (More about it here.) So I built a prototype of an online Steel Man format, which would function as a plugin for our Talk platform.
It’s not freeform comments. But maybe it’s something more conducive to real interaction, under the right circumstances. I’m going to continue refining it. Maybe there’s a funder out there who might find a use for it, either in newsrooms, education, civil discourse, or beyond.
We’re really proud of what we created – and we’re going to do it again, maybe once per quarter. Look out for more Hack Day reports soon.