Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Questhub.io - YAPC::EU 2013 talk

Questhub.io - YAPC::EU 2013 talk

Questhub is a web site where communities can share their goals and encourage each other.

Vyacheslav Matyukhin

August 13, 2013

More Decks by Vyacheslav Matyukhin

Other Decks in Technology


  1. Background My name is Vyacheslav Matyukhin. (CPAN:MMCLERIC) I was a

    backend developer at Yandex for 7 years. (blog search engine project, churning lots of data with Perl scripts) Tuesday, August 13, 13
  2. Background I wrote some open source code, including Ubic (polymorphic

    service manager) Summer 2012, I wanted to write Ubic 2.0... Tuesday, August 13, 13
  3. Background I couldn’t get started. I’m a horrible procrastinator. I

    wasn’t sure anybody would care, and I was looking for motivation. Tuesday, August 13, 13
  4. History But I didn’t know much html/css/js at the time...

    So I had this idea of a website where people: shared their goals supported each other had a feedback on the usefulness of their tasks Tuesday, August 13, 13
  5. History October 2012: hackathon at Yandex November 2012: Perl community

    motivation survey 201 participants, 20 questions each. See http://berekuk.github.io/perl-motivation-survey/ for details. Tuesday, August 13, 13
  6. History “Given the amount of free time you have now,

    would you contribute more if the environment was perfectly friendly, perfectly rewarding, and you knew that your actions make a great impact?” 0 90 36 90 73 Surely Probably No Tuesday, August 13, 13
  7. History October 2012: hackathon at Yandex November 2012: Perl community

    motivation survey February 2013: launching play-perl.org Tuesday, August 13, 13
  8. History October 2012: hackathon at Yandex November 2012: Perl community

    motivation survey February 2013: launching play-perl.org June 2013: going full-time Tuesday, August 13, 13
  9. History October 2012: hackathon at Yandex November 2012: Perl community

    motivation survey February 2013: launching play-perl.org June 2013: going full-time New domain: questhub.io Realms, redesign, stencils, API, personal news feeds, drag&drop, etc... Tuesday, August 13, 13
  10. Vision So, you create quests. E.g. for all your ideas

    for side projects. Everyone can see all quests. This is not like Facebook. On Questhub everyone is your friend :-) People “like” them and comment on them. So you end up with a list of quests, with varying numbers of points. Pick which quests to work on. When you complete quests, you get the points. Tuesday, August 13, 13
  11. Vision Social networks optimize for: the number of users the

    number of views the number of displayed ads What if we optimized for: the amount of things done the sense of community the quantity and quality of feedback and, you know, fun Tuesday, August 13, 13
  12. Vision Why you should have a public to-do list: Knowing

    that people care about your work feels good. Knowing which parts of your work people care about is helpful. Public precommitment can be a productivity tool. People who have clearly defined goals are more productive and produce higher quality. Feeling there is value to your goals is motivating. Tuesday, August 13, 13
  13. Vision Note that likes are extremely cheap. Feedback loops: knowing

    that people care knowing that it’s possible knowing that your solution is sane Figuring it out faster and cheaper is the key. Tuesday, August 13, 13
  14. Vision Of course, you have to think through your quests

    to get the optimal result too... Starting from your goals is natural. You know how half of the responses on irc start with “/achieve”? And blogging is expensive, you have to think it through. Tuesday, August 13, 13
  15. Vision Fun is a complicated thing 4 kinds of fun:

    hard fun, easy fun, people fun, serious fun. (via http://xeodesign.com/whyweplaygames.html) Fun can emerge from communities, or from mechanics. But mechanics can affect community behaviors too. Tuesday, August 13, 13
  16. Vision Gamification can be good and can be evil You

    choose your own destiny on Questhub, so it doesn’t impose opinions on you (usually). Replacing fuzzy goals with points can help you with procrastination. Achievements = Specialization (and fun). Carl Mäsak, “Perl 6 is my MMORPG” http://strangelyconsistent.org/blog/perl-6-is-my-mmorpg Tuesday, August 13, 13
  17. Vision Planning in bazaar There are no real project managers

    in open source. Nobody can tell people what they should do. But can we borrow and adapt good practices? Tuesday, August 13, 13
  18. Vision Scalability issues Companies don’t scale because of too much

    bureaucracy and specialization. High latency for trivial tasks. Communities don’t scale because of the lack of communication. Stuff gets reinvented a lot. Tuesday, August 13, 13
  19. Vision Use other people to sort your backlog The more

    likes you get on Questhub, the more points you get. Do things that other people like. Tuesday, August 13, 13
  20. Vision My Questhub dream: Questhub : Big companies = Git

    : SVN We’re not quite there yet... Tuesday, August 13, 13
  21. Vision Task reuse You can choose your quests from preset

    templates called stencils. Stencils are shared, reusable, valued patterns of community behavior. We’ve got 27 of those for Perl, from “Subscribe to Perl Weekly” to “Adopt a CPAN module”. Always looking for more of these. Tuesday, August 13, 13
  22. Vision So what should you do? Dump all your plans

    on Questhub Take stencils Subscribe to Perl realm Look through people’s quests, “like” them Become realm keeper Invite people to your quests and join others Tuesday, August 13, 13
  23. Examples @petdance: “Release ack 2.0” @yanick, @dams: “Have Dancer 2

    released” @neilb: “Standardise the Changes file in 20 CPAN distributions” Best completed quests Tuesday, August 13, 13
  24. Examples @neilb: “Standardise the Changes file in 20 CPAN distributions”

    Standardazing Changes crusade @borisd: “Standardise the Changes file in 5 CPAN distributions” @barbie: “Standardise the Changes file in all my CPAN distributions” @neilb, @sromanov: “Get 1% of CPAN distributions conforming to CPAN::Changes::Spec” (1% is A LOT, ~269 distributions) Total so far: 70 71 73 Tuesday, August 13, 13
  25. Examples Catalyst project backlog @jnap manages Catalyst backlog on Questhub.

    (7 completed quests, 19 open quests) Tuesday, August 13, 13
  26. Tech Under the hood: Dancer and MongoDB for backend Backbone,

    Bootstrap and CoffeeScript for frontend Ubic and Flux for background jobs Chef and Vagrant for development and deployment The code is open: https://github.com/berekuk/questhub Pull requests welcome! Tuesday, August 13, 13
  27. Tech We’ve got API Both for reading and for writing

    (with API tokens) http://questhub.io/about/api Tuesday, August 13, 13
  28. Future Stencil collections for newcomers “Learn Perl in 20 steps”

    or: “How to become a Perl core developer in 10 steps” Do you have an idea in mind? Tuesday, August 13, 13
  29. Future Badges Various badges for various specialities, from “Wrote first

    line of code in Perl” to “Most popular CPAN author” and “Pumpking”. Tuesday, August 13, 13
  30. Future Not just Perl We’ve got 7 realms so far:

    I’m looking for ways to bootstrap new communities. Talk to me if you have an idea. Tuesday, August 13, 13
  31. Future Meta plan: I’ll work on QH at least until

    2014. Not worrying about monetization yet, but will have to soon. Will start with freemium features such as private realms. If I can't make this my job, I'll keep running this as a hobby. Tuesday, August 13, 13
  32. Me: @berekuk Questhub: @questhubio http://questhub.io Thanks: Neil Bowers and all

    Questhub players CPAN:MMCLERIC Vyacheslav Matyukhin Tuesday, August 13, 13