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

Rankings, you're doing it wrong

Rankings, you're doing it wrong

We have seen a lot of rankings in our lifes, not only in WebApps but also in different devices, usually as part of a gamification implementation. But is it being really effective?

In fact, the majority of rankings implementations are wrong, and can even make your application less attractive. You may never get on the top of the ranking and never find a real challenge against other users, and those are just some of the major problems.

Different algorithms are applied and developed to make ranking attractive, some of those by big companies as Sony, Microsoft, Nintendo and others, and we are able to use them in our development process too.

That said, how should we proceed? How can we use Rankings effectively to help us to build better and engaging applications? Simple, watch this talk!

João Moura

October 10, 2013
Tweet

More Decks by João Moura

Other Decks in Programming

Transcript

  1. Gartner Research: Over 70% of Global 2000 Organisations Will Have

    at Least One Gamified Application by 2014 (source: Christy Pettey, Gartner press release, http:/ /www.gartner.com/newsroom/id/1844115)
  2. Gartner Research: By 2014, 80% of Current Gamified Applications will

    fail to Meet Business Objectives Primarily Due to Poor Design (source: Christy Pettey, Gartner press release, http:/ /www.gartner.com/newsroom/id/2251015)
  3. Algorithm is an finite sequence of well defined instructions, that

    can be executed mechanically in an finit amount of time with an finit effort.
  4. +

  5. 100.times { user_1.won (user_1.rating - user_2.rating) user_2.lost (user_2.rating - user_1.rating)

    user_2.won (user_2.rating - user_3.rating) user_3.lost (user_3.rating - user_2.rating) user_3.won (user_3.rating - user_4.rating) user_4.lost (user_4.rating - user_3.rating) }
  6. 2.times { user_5.won (user_5.rating - user_2.rating) user_2.lost (user_2.rating - user_5.rating)

    } 2.times { user_5.won (user_5.rating - user_1.rating) user_1.lost (user_1.rating - user_5.rating) } expect(User.ranking.first).to eq user_5