Every weekday at lunchtime the same group always left the office to go eat out. Sometimes we would be joined by someone else on the engineering team but the experience was always the same. We had a couple restaurants on rotation and the conversations spanned a wide range, from the movie we all saw that weekend or how our fantasy football team is doing but most of the time it always settled into politics. Contrary to what you would expect, these conversations were never a shouting match or even an argument, it was mostly a discussion with a ton of laughter. This is because Ben and Sven who were the politically savvy and informed in the group loved to chat about politics online with extremist republicans. I am not sure if they hoped to convert extremist republicans who believe Obama is an Alqeada implant or if they just enjoyed clobbering delusional people with clear logic and facts but they both enjoyed going into the depths of the internet to seek this insanity and would later tell us the crazy viewpoints these people were selling, which always led to an entertaining discussion.
One common problem they always faced was when they dropped this block of knowledge on the other party, a whole chunk of their message gets sidestepped or entirely missed or even worse a tangent conversations emerges and half the comments in a thread is about something else, different from the actual topic that is meant to be discussed.
Online discussions are synchronous, someone shares a block of thought or ideas and someone responds as a reaction to that block, sometimes a block of thought has one or more ideas and the response can be ambiguous to what thought is being responded to, in many ways it reminds me of the first two minutes of the Social Network and the picture below is an example:
So this is how Monograph was born. The idea, like the dictionary definition of its name ("a detailed written study of a single specialized subject or an aspect of it.") is the theory behind our solution to this problem, that by allowing you to categorize parts of a conversation you can have a more targeted discussion online. Monograph is an embeddable commenting platform (similar to Disqus) but it comes with tools that allows you to highlight and tag various sentences within a block of text. Clicking on these tags also allows you to filter just the comments that apply to that tag. For example, lets say you are discussing the future of mobile phones and commenters go on a tangent and start discussing current phone features. It is possible to tag parts of peoples replies as "#phonefeatures" and when you click that tag, only comments that talk about phone features show up. This basically allows you to cut through the junk and get all the info about phone features you want. It also allows you to have very specific conversation within a bigger one. Kind of like going to a talk or seminar but people are having other specific conversations within the bigger one, and you can filter down to them.
The solution during rails rumble was just a forum that has special features. It was cool but did not really resonate with people, all we had done was created this extra forum you have to sign up for if you wanted to have very targeted discussions. So within the last few days we transformed the site by also giving people the ability to embed the commenting platform we have on Monograph on their site. What this means is that you can basically add discussions and commenting to your websites as easily as you would add a Youtube video. To typically have a comment section you have to have a server that has a scripting language installed and a database, and you would have to code your own. This may not be a big deal if you have a large CMS like Wordpress installed, but in many cases people have a static site or a light framework like Sinatra or Jekyll and just want to host a one-off discussion on a page or like Ben and I use Ghost which is a blogging system without a built in commenting system. so there is currently use for such a system out there.
Challenges and takeaways
This was quite fun, I have been coding in Nodejs land primarily for about a year now and returning to Ruby was nostalgic for me, it took about an hour to remember how things worked and I was up and running again...like riding a bike, you never forget. We might have bitten off more than we could chew on this one. Converting parts of a forum to be embeddable was more work than we anticipated and we ran into situations we had never attempted solving before. Like signing up or into Monograph from another site seamlessly, or managing the height of the commenting section dynamically on someone else's site. We also had to fix bugs and change workflow for various scenarios we did not initially anticipate. Scheduling 10 hours for this was WELL under-estimated but we got it sorted. I was impressed with the code we wrote under pressure to get something done in two days, I guess considering I was working with Ben, I was conscious about not being sloppy considering we did not have the luxury on communicating continuously once we got started (We were in different apartments for rails rumble) and in the recent update we were in different continents with different timezones and work schedules. It was also hard making feature cuts, there is a wide potential of what this product can grow into and it was hard drawing the line at a certain point. What is good enough?
We have released Monograph to the public, it is currently in use on Ben's Blog and I would be retiring my Disqus system for Monograph soon, this way we will eat our own dog food and improve the system as we run into usage cases we did not originally anticipate. The product is still rough around the edges, like the commenting section has a fixed height so you may need to scroll within the frame to see more comments if they are longer than the height of the frame. These rough edges will be fixed over the next few days or weeks as we find them. I would like to encourage people who have use cases for this to give it a go and give feedback. Also any questions or clarifications on the product are welcome. It is a free to use any aspect of the app. This is one of our lab creations we just wanna see in the world and so we are like why not, lets build it, so we did.
Stay tuned more random apps coming!
Subscribe to The Art of Coding
Get the latest posts delivered right to your inbox