Posted on October 2, 2013 by rogupta
We are very happy today to announce the Disqus Certified Partner Program.
Recently, Disqus became the #1 Distributed Content Platform on comScore. As Disqus has grown to be the connective tissue for much of the community discussion on the web, a lot of complementary services have found useful ways to plug into Disqus along the way.
- Setting up a blog and want to easily add on the leading discussion engine?
- Looking to pull your most active commenters into your CRM tool?
- Want to know which tweets end up resulting in the most comments?
- Need access to the largest public firehose of comments?
There’s a Disqus Certified Partner for all of that…and more.
The program was set up to better assist and showcase proven solutions that have integrated Disqus to create new utility for users, publishers and brands that use Disqus. Partners span five key categories:
We have an excellent group of launch partners, including: awe.sm, Batchbook, Gnip, Google Analytics, Janrain, Squarespace, Storify, Tumblr and WordPress VIP. Several more are in final stages of confirming their successful integrations, and we’ll continue to add others who qualify over time.
Let us also know below if there are other platforms or applications you’d like to see better integrated with Disqus in the future – we’ll see what we can do!
Posted on September 24, 2013 by mattrobenolt
As we’re approaching 8 billion page views per month and 45k requests per second, we’ve learned a couple things about delivering comments to a lot of different people. Disqus is very well known for using Django for almost all of our web traffic, and that continues to be a thing today. As with any web framework, there are inherent trade-offs: rapid development vs performance, familiarity for new developers vs something custom, etc. Disqus likes to lean towards rapid development and familiarity over performance, and something fine tuned for our exact needs.
So, why is a web framework slow?
On the surface, the first impression is that a web framework is slow because there is a lot of boiler plate and unnecessary code that is not needed for your application, and that is a valid impression. In practice, slowness is usually not a product of your framework’s bloat or the language choice. Slowness is likely a result of the fact that your request is communicating with other services across your network. In our case, these other services are PostgreSQL, Redis, Cassandra, and Memcached, just to name a few. Slow database queries and network latency generally outweigh the performance overhead of a robust framework such as Django.
To get around these latencies, people use various forms of caching. The most tangible approach would be to use the built-in Django cache library.
The common pattern for application level caching is such:
data = cache.get('stuff') if data is None: data = list(Stuff.objects.all()) cache.set('stuff', data) return data
If you are familiar with Django, this should be a pretty familiar pattern. This form of caching is simple and straightforward, and works really well for most things. Paired with Memcached, things are fast enough, but there is still a lot of work still being done to serve a request.
Dealing with 45k requests per second
We’ve cached our “slow” things. There is still a lot of unnecessary work that needs to be done at rate of 45 thousand times per second. We’re probably rendering some JSON, or rendering an HTML template, or simply parsing HTML and executing our Django middleware. The point is, we want to be able to short-circuit all of this work, and leave Django to do what it does best: serve unique data only.
Out of 45k requests per second, how many are truly unique? How many of those responses are actually different from one response to the next? Do we really need to keep doing the same work over and over again when the result is always the same? We really want to cache whole responses and skip all of the other work.
What even is Varnish? Varnish is a piece of software that sits between our load balancers and our Django backends and acts as an HTTP caching layer. What this means is that it can cache the entire HTTP response without even hitting a Django server, if we know that request won’t be unique.
Previously, Varnish was a bit of a black box to us. We installed it and configuration was very minimal, and honestly, this worked very well. But I thought we could do more.
I spent some time learning more about Varnish and some tricks that we could use. Over time, we were able to shave off several thousands of requests per second from ever hitting our Django servers. Today, out of the 45k inbound requests every second, only about 15k or so actually hit our app servers. The rest are absorbed by Varnish and served to the user very quickly and efficiently.
Since this has been very useful for us and a good learning experience, this topic has been the subject of a few recent talks of mine.
Most recently, I spoke at DjangoCon US in Chicago. This talk was aimed toward people who weren’t familiar with Varnish, with the hopes of inspiring and motivating them to learn more. For me, I was excited to give this talk because it’s a topic that isn’t explained very often to application developers. It’s a talk that I’d really liked to have heard a few years ago, and hopefully bridges the gap in understanding how HTTP really works and how you can manipulate it to interact with tools such as Varnish.
Prior to that, I presented at VUG7 (Varnish User Group) in New York, and went into details about some of the exact tricks that we use to help overcome some of our problems. This talk goes into a lot of detail about the specific VCLs that we use for each endpoint needed to deliver our embed.
Check out Varnish. It won’t solve all of your problems, but it’s something worth investing the time into learning about and evaluating.
If this kind of stuff is interesting to you, and you’d like to yell at computers with me at least 5 days a week, we are hiring!
Posted on August 29, 2013 by nudelzrulez
We’ve been focusing a lot lately on the importance of community. When we talk about community, we think of it in two ways — online and offline. Offline, you might be in a weekend biking club, while online you’re a closet hardcore Robert Pattinson fan. So where do you go to bridge the gap? Online, where you can find fellow geeks of every flavor: foodies, gamers, fashionistas, mommies — the list goes on and on. But while you can find satisfaction in one of these two communities, these online and offline interests still remain separate. What can you do to unite the two?
We recently came across a unique community that showcases the marriage of both online and offline communities in a lovely way. The site Sprout’d, co-founded by Trish O’Keefe, is a place where women who are interested in living a healthy, plant-based lifestyle can come together to find information and support.
Trish’s background as a registered dietitian and culinary instructor prompted her to start her original food blog, Dish by Trish (now a part of Sprout’d), as a way to connect to friends and family through food. Eventually, blogging became more than just a way to stay in touch with her loved ones across the country (she’s originally from New Jersey) — it became a way for others besides Trish to come together among encouraging company. Trish says, “Our common ground was our love and appreciation of food, and that was enough to bring us together to discuss food-related topics and share recipes.” When Trish decided it was time for the Dish by Trish community to evolve, she and a friend co-founded Sprout’d.
In Trish’s words, “Community is the foundation of Sproutd.me — people don’t want to feel alone, they want to feel supported.” And that’s exactly what Sprout’d strives to do — fortify and empower women to take control of their lives and health, through a plant-based diet. Trish works with her readers in two primary ways: through Sprout’d’s online community (primarily through discussion in the comments sections and online coaching), and in-person workshops and events. Through blogger dinner parties, food and nutrition workshops, and cooking demos, Trish was able to provide attendees with skills they may not be able to master on their own (in front of a computer screen).
Facilitating online relationships, and further connecting those readers with offline events, provides her followers with a vibrant and robust network through which they can learn and grow. While Trish finds a face-to-face meeting with someone she’s been communicating with online to be “thrilling”, she says,
There is even more value in creating and fostering relationships through reading and commenting on a person’s blog. You get a real snapshot of their life — their creativity through their style and voice, their eye through their camera lens, their taste through their recipe. And by commenting, you are complimenting all this.
To be part of Trish’s budding community, head over to Sprout’d to see if plant-based living may be right for you.
Posted on August 20, 2013 by nudelzrulez
I’ve come to know online commenting intimately through my time at Disqus, and am familiar with the best and occasionally, not so great parts of it. One of the single most intimidating things to encounter after reading an article online is a discussion thread consisting of hundreds, sometimes thousands of comments — one often sees this on political or news sites. It can feel impossible, even futile, to sort through the conversation and figure out what people are really talking about when they’re responding to a story that has far reaching impact. While this is something we work to address with the Best sort option and user votes, the Knight Lab team from Northwestern University has taken it a step further with a project named Refine—Better Commenting.
Refine—Better Commenting has three main features: the ability to see all the terms used in the comments (and how many times), non-article terms that have been mentioned, and the “topics” the story gives rise to. In one particular story on CNN, we analyzed a thread in response to a story about 5 hacks discussed at the DEFCON hacking conference held recently in Las Vegas. The post generated 252 comments, which may not be too many for a reader passionate about the subject, but may take a bit too much time for a casual reader.
That’s where Refine—Better Commenting comes in. Notably, of the top three non-article terms mentioned in the comments, none of them had to with hacking or security issues — they were (in order): “hoodie”, “Trayvon”, and “guy.” It seems that one significant response to the article had nothing to do with the content, itself, but rather, the image attached to the article. Results like this help reveal the collective sentiment of readers — the trial may be over, but it’s still very top of mind for many. It also suggests that the image of a person wearing a hoodie is meant to represent hidden danger, in this case the danger of computer hacking. Even in the context of of hacking, a fairly removed subject from the trial, a photo of a hoodie is still causing people to react and make a connection between the image and the trial. Insights like this are part of what make Refine—Better Commenting a useful and interesting project.
Ryan Graff, in charge of Communications for the project, gave us a few more details about the development of Refine—Better Commenting, and where it’s headed in the future.
Q. What’s your team’s background?
The Northwestern University Knight Lab team has a deep background in journalism and computer science. Our team members have worked in newsrooms around the country, notably the Boston Globe and Chicago Tribune, and four founding faculty members, who advise the lab, from Northwestern’s McCormick School of Engineering and the Medill School of Journalism. The idea is that by bringing journalists and computer scientists together we’ll be able to develop some innovative technology that helps media makers create a more informed world.
Q. What prompted the idea to create Refine—Better Commenting?
Refine—Better Commenting came out of last spring’s Collaborative Innovations Class, which is a cross disciplinary class between Medill and McCormick. Professors Birnbaum and Gordon, two of the founding faculty members that oversee the lab, knew they wanted to work on a project that involved commenting and eventually settled on the idea that they’d like to help readers sort through comments on high-volume sites like CNN. Birnbaum and Gordon assigned the project to a team of computer science and journalism students who then spent the quarter (10 weeks) creating a prototype. The basic inspiration was that it’s sort of painful to comb through thousands of comments trying to find the most meaningful or interesting. We want to make life easier for readers.
Q. What are some practical use-cases you can imagine for Refine—Better Commenting?
At its core Refine—Better Commenting will help people find trends, patterns and discussion topics in news story commenting. The project was conceived with readers in mind as a way for them to filter and discover interesting comments. In previous demonstrations of the project, we’ve also heard from publishers that Refine—Better Commenting would provide great insight into what’s being discussed in their comment sections. Comments often veer widely from what was covered or discussed in the story, which can provide useful insight for publishers. For example, we recently found in a story about airport expansion that a significant portion of the comments discussed high-speed rail. We also found that a story about Facebook’s acquisition of Instagram that people discussed Greylock Partners quite a bit. The Refine—Better Commenting insight gives publishers a clearer idea about what readers are discussing, and we can envision it as a tool that would help generate ideas for new stories or new angles on existing stories.
Q. How are people already using it? What kind of feedback have you gotten?
We’ve had a very limited test instance up and running for a few months. Generally people see the usefulness of the tool and are excited about technology that would help them manage comments (in the case of publishers) or to find interesting comments quickly. We know that the results could be a bit cleaner and have a few changes planned. For example, ideally the technology would reconcile different words and phrases that mean the same thing. (One typical example: “Barack Obama”, “Obama”, and “Barack” all mean the same thing, but the system currently displays them separately, which isn’t an ideal user experience.)
Q. What are you planning to do with it long-term?
Our plans at the moment are to gather more feedback and gauge interest in the tool. Future development will depend on user interest, technical challenge, and potential for innovation.
Q. Anything else you think is cool or important about this?
We’re eager for feedback! We’d be interested in getting feedback from Disqus users about this tool or any other project in our lineup.
The Knight Lab team is working on lots of stuff, and have some other pretty cool projects in the works. If you have any questions or thoughts about the Refine—Better Commenting project, send it to them directly through their feedback survey! Have you stumbled across a giant comment thread where this would come in handy? Let us know below in the comments!
Posted on August 13, 2013 by nudelzrulez
Disqus recently convened a panel of four women at BlogHer ’13 to talk about building community, return visits, and monetization through comments. These four accomplished bloggers — Danielle Smith, Lindsay Ferrier, Fadra Nally, and Lizz Porter — shared their wisdom, and what follows are 5 key takeaways that any blogger can put to use for building a stronger community.
Reply, reply, reply
“When you’re commenting I’m commenting back. I want you to know I’m listening.” — Danielle Smith
Reply to as many commenters as possible, as often as possible. Responding individually to a reader lets them know that their thoughts matter, and your blog isn’t just a soapbox — it’s an active dialogue between many interested parties.
Replies are one of the best ways to measure how engaged a community is, and there’s no better person than the author to lead by example.
Know your top community members
“Knowing the people that come to your site…is a good way to keep them coming back.” — Fadra Nally
Focusing on your most active community members helps you turn your most enthusiastic fans into evangelists. Someone who is just as passionate about your content as you are will engage time and again, and also encourage other less active members to return to your site.
Reciprocate their loyalty by looking at their profiles, and seeing where they blog or regularly comment. Post a comment on their site to let them know you’re interested in their life, and not only the ways in which it pertains to yours.
Readers will visit your site for the content, but they’ll keep coming back for the conversation. If you have a cohort of people to help lead that discussion, you’ll never want for a dedicated readership.
Show your community that you care
“It’s about the connection, engagement — we’re just people doing this together.” — Lizz Porter
One of the best ways to show your readers that you care what they think is by authentically asking them to talk back. End your post with a question that makes readers think about their answers — you’ll find more thoughtful responses, and a greater number of responses in general.
Know where your audience comes from
“Once you get hold of that data, it gives insight to your readers, maybe the ones that never even wrote comments.” — Fadra Nally
Knowing if your visitors come from a specific geographical area, or represent a certain brand, can help you create content that is more relevant and interesting to them. Utilizing tools that analyze your traffic, like StatCounter, can give you deeper insight into your community.
Create great content
“Create great content. Put your heart and soul into it and people will respond.” — Lindsay Ferrier
The most surefire way to start building a community is by publishing compelling content that people want to read. Write from your unique perspective. Originality on the internet is a thing to be treasured, and readers will want to talk about it.
Do you have any tips that have worked well for your community? Let us know in the comments below!