SlideShare a Scribd company logo
Free Hugs
Praising Developers For Their Actions
Roberto Minelli, Andrea Mocci, Michele Lanza
REVEAL @ Faculty of Informatics — University of Lugano, Switzerland@robertominelli
What is a
game?
“Playing a game is the voluntary attempt to
overcome unnecessary obstacles.”
Goal
Rules
Feedback system
Voluntary
participation
Reality is Broken
J. McGonigal
Penguin, 2011
“Playing a game is the voluntary attempt to
overcome unnecessary obstacles.”
Goal
Rules
Feedback system
Voluntary
participation
Reality is Broken
J. McGonigal
Penguin, 2011
“Playing a game is the voluntary attempt to
overcome unnecessary obstacles.”
Goal
Rules
Feedback system
Voluntary
participation
Reality is Broken
J. McGonigal
Penguin, 2011
“The use of game thinking and
game mechanics in non-game
contexts to augment the
engagement of users.”
Gamification
|ˌgāmifəˈkāSHən|
Boost the performance
through gamification
gamification software
engineering
software engineeringgamification in
For the Win
K. Werbach and D. Hunter
Wharton Digital Press, 2012
Language Quality Game
Thousands of participants
reviewed over half a million
dialog boxes, logging 6,700
bug reports, resulting in
hundreds of fixes
Stackoverflow and GitHub: Associations between
software development and crowdsourced knowledge
B. Vasilescu, V. Filkov, and A. Serebrenik
Proceedings of SocialCom 2013
Integrated Development Environment (IDE)
“The programmer, like the poet,
works only slightly removed
from thought-stuff.
He builds his castles
in the air, from air,
creating by exertion
of the imagination.”
The Mythical Man-Month
F. Brooks
2nd ed. Addison-Wesley, 1995
developer
What can be
done about it?
developer
gamification in the IDE
“If you do this
you’ll get that.”
Reflections on Behaviorism and Society
B. Skinner
Prentice Hall, 1978
The Alter Ego
The Alter Ego
Short-term
The Alter Ego
Short-term Long-term
Session Digest
What? When?
1 class
3 methods
3 class
4 methods
1 class
1 method
navigation
inspection
edit
mouse
keyboard
TopActivity
Profile
232,321 pts. 12
Lv.
4
1 2
How do
you feel?
Navigation
UnderstandingEditing
User Interface
browsing inspecting searching
2h09m25s duration
6m22s navgation time
11m06s editing time
20m16s user interface time
1h31m40s understanding time
Timeline
time
Session Digest
What? When?
1 class
3 methods
3 class
4 methods
1 class
1 method
navigation
inspection
edit
mouse
keyboard
TopActivity
Profile
232,321 pts. 12
Lv.
4
1 2
How do
you feel?
Navigation
UnderstandingEditing
User Interface
browsing inspecting searching
2h09m25s duration
6m22s navgation time
11m06s editing time
20m16s user interface time
1h31m40s understanding time
Timeline
time
Session Digest
What? When?
1 class
3 methods
3 class
4 methods
1 class
1 method
navigation
inspection
edit
mouse
keyboard
TopActivity
Profile
232,321 pts. 12
Lv.
4
1 2
How do
you feel?
Navigation
UnderstandingEditing
User Interface
browsing inspecting searching
2h09m25s duration
6m22s navgation time
11m06s editing time
20m16s user interface time
1h31m40s understanding time
Timeline
time
Session Digest
What? When?
1 class
3 methods
3 class
4 methods
1 class
1 method
navigation
inspection
edit
mouse
keyboard
TopActivity
Profile
232,321 pts. 12
Lv.
4
1 2
How do
you feel?
Navigation
UnderstandingEditing
User Interface
browsing inspecting searching
2h09m25s duration
6m22s navgation time
11m06s editing time
20m16s user interface time
1h31m40s understanding time
Timeline
time
The Development Empire
“A system that rewards complex
actions and best practices of a developer with badges,
achievements, and trophies of different types.”
Profile
232,321 pts. 12
Lv.
4
1 2
How do
you feel?
The Development Empire
A new community, where people
can observe, challenge, and
interact with other developers
PSN
Session Digest
When?
Navigation
UnderstandingEditing
User Interface
browsing inspecting searchin
What?
1 class
3 methods
3 class
4 methods
1 class
1 method
navigation
inspection
edit
mouse
keyboard
TopActivity
Timeline
Roberto Minelli, Andrea Mocci, Michele Lanza
REVEAL @ Faculty of Informatics — University of Lugano, Switzerland
FREEHUGS
@robertominelli
Praisingdevelopersfor theiractions
Nothing in
life is free
love
is.
FREE HUGSPraising Developers for Their Actions
REVEAL @ Faculty of Informatics, University of Lugano, Switzerland
R E V E A L
Università
della
Svizzera
italiana
@robertominelli
roberto.minelli@usi.ch
inf.usi.ch/phd/minelli
Roberto Minelli, Andrea Mocci, Michele Lanza
Session Digest
When?
Navigation
Understanding
Editing User Interface
browsing inspecting searching
2h09m25s
duration
6m22s navgation time11m06s editing time20m16s user interface time1h31m40s understanding time
Profile
23
2,321 pts.
12
Lv.
4
1 2
What?
1 class
3 methods
3 class
4 methods
1 class
1 method
navigation
inspection
edit
mouse
keyboard
TopActivity
Timeline
time
How do
you feel?
A sunburst visualizationthat shows activities andtime components
A tree visualization ofthe entities involvedin the last sessionwith the intensity ofthe interactions
An activity view thatdecomposes a singleactivity into its low-
level events
A summary of thedeveloper’s profile thatgoes towards anapplication of gamification
A sentimentfeedback on the lastdevelopment session
A timeline ofactivities, divided
per category
A table that showsthe last diffs
Session Digest
A short-term gratification, similar to the
one present in fitness apps, offered to
developers for their last development
session. It summarizes the last session
from various perspectives, e.g., how was
time used, how much was achieved from a
coding point of view, which program
entities were involved, etc. It also enables
to dig into the fine-grained recorded data
and acquire a deeper understanding.
Alter Ego
A developer is like a character in a role-
playing game: She moves her first steps,
evolves, acquires new skills, and unlocks
new achievements. In our vision
developers possess an avatar that they can
evolve, providing them short- and long-
term satisfactions to turn software
development into a more engaging activity.
Development EmpireThe long-term vision is a comprehensive
gamification layer on top of the IDE. It is
not all about assigning points to
developers, but the development of a
ramified system that rewards complex
actions and best practices of a developer
with badges, achievements, and trophies.
The history and the evolution of the alter
ego of a developer is a key factor. When
this mechanism is in place, all the alter
egos will originate a new community,
where people can observe, challenge, and
interact with other developers.
Bug-tracking systems
Coding style and guidelines
Questions & answers services (Q&A)
User study
DFLOW
Smalltalk IDE
Recorder Analyzer …
HTTP
DFLOW
Server
DFLOW
Smalltalk IDE
Recorder Analyzer …
HTTP
DFLOW
Server
Meta
Opening a Finder UI
Selecting a package, method, or class in the code browser
Opening a system browser on a method or a class
electing a method in the Finder UI
Starting a search in the Finder UI
Inspecting an object
Browsing a compiled method
Do-it/Print-it on a piece of code (e.g., workspace)
Stepping into/Stepping Over/Proceeding in a debugger
Run to selection in a debugger
Entering/exiting from an active debugger
Browsing full stack/stack trace in a debugger
Browsing hierarchy, implementors or senders of a class
Browsing the version control system
Browse versions of a method
Creating/removing a class
Adding/removing instance variables from a class
Adding/removing a method from a class
Automatically creating accessors for a class
User Interface
Low-Level
Opening/closing a window
Activating a window, i.e., window in focus
Resizing/moving/minimize/maximize a window class
Mouse button up/down
Scroll wheel up/down
Mouse move
Mouse-out/in
Keystroke pressed

More Related Content

Similar to Free Hugs — Praising developers for their actions [ICSE2015]

Virtual World Tutorial for I/ITSEC
Virtual World Tutorial for I/ITSECVirtual World Tutorial for I/ITSEC
Virtual World Tutorial for I/ITSEC
mmacedon
 
Human Computer Interaction
Human Computer InteractionHuman Computer Interaction
Human Computer Interaction
khairul imam
 
Attractive Metaverse Game Development
Attractive Metaverse Game DevelopmentAttractive Metaverse Game Development
Attractive Metaverse Game Development
Jessica Gochenour
 
Attractive Metaverse Game Development
Attractive Metaverse Game DevelopmentAttractive Metaverse Game Development
Attractive Metaverse Game Development
Jessica Gochenour
 
Serious play (ENG version)
Serious play (ENG version)Serious play (ENG version)
Serious play (ENG version)
ISMB
 
INNOV8 2.0: A BPM Simulator Game
INNOV8 2.0: A BPM Simulator GameINNOV8 2.0: A BPM Simulator Game
INNOV8 2.0: A BPM Simulator Game
IBM
 
Interaction-Aware Development Environments
Interaction-Aware Development EnvironmentsInteraction-Aware Development Environments
Interaction-Aware Development Environments
Roberto Minelli
 
Aste v2 3
Aste v2 3Aste v2 3
Aste v2 3
webb20
 
By the Book: Examining the Art of Building Great User Experiences in Software
By the Book: Examining the Art of Building Great User Experiences in SoftwareBy the Book: Examining the Art of Building Great User Experiences in Software
By the Book: Examining the Art of Building Great User Experiences in Software
Effective
 
By the Book: Examining the Art of Building Great User Experiences in Software
By the Book: Examining the Art of Building Great User Experiences in SoftwareBy the Book: Examining the Art of Building Great User Experiences in Software
By the Book: Examining the Art of Building Great User Experiences in Software
EffectiveUI
 
Showcase of social learning and immersive learning at IBM
Showcase of social learning and immersive learning at IBMShowcase of social learning and immersive learning at IBM
Showcase of social learning and immersive learning at IBM
Bert De Coutere
 
Science Game Lab
Science Game LabScience Game Lab
Science Game Lab
Benjamin Good
 
Aste v2 3
Aste v2 3Aste v2 3
Aste v2 3webb20
 
Game Design fundamentals
Game Design fundamentalsGame Design fundamentals
Game Design fundamentals
Mirco Pasqualini
 
The Laws of User Experience: Making it or breaking it with the UX Factor
The Laws of User Experience: Making it or breaking it with the UX FactorThe Laws of User Experience: Making it or breaking it with the UX Factor
The Laws of User Experience: Making it or breaking it with the UX Factor
EffectiveUI
 
The Laws of User Experience: Making it or Breaking It with the UX Factor
The Laws of User Experience: Making it or Breaking It with the UX FactorThe Laws of User Experience: Making it or Breaking It with the UX Factor
The Laws of User Experience: Making it or Breaking It with the UX Factor
Effective
 
5 Years of Jenkins and DevOps Trends and What That Means For the Future of t...
5 Years of Jenkins and DevOps Trends and What That Means For the Future of  t...5 Years of Jenkins and DevOps Trends and What That Means For the Future of  t...
5 Years of Jenkins and DevOps Trends and What That Means For the Future of t...
DevOps.com
 
Dsdt meetup 2018
Dsdt meetup 2018 Dsdt meetup 2018
Dsdt meetup 2018
JDA Labs MTL
 
DSDT Meetup February 2018
DSDT Meetup February 2018DSDT Meetup February 2018
DSDT Meetup February 2018
DSDT_MTL
 

Similar to Free Hugs — Praising developers for their actions [ICSE2015] (20)

Virtual World Tutorial for I/ITSEC
Virtual World Tutorial for I/ITSECVirtual World Tutorial for I/ITSEC
Virtual World Tutorial for I/ITSEC
 
Human Computer Interaction
Human Computer InteractionHuman Computer Interaction
Human Computer Interaction
 
Attractive Metaverse Game Development
Attractive Metaverse Game DevelopmentAttractive Metaverse Game Development
Attractive Metaverse Game Development
 
Attractive Metaverse Game Development
Attractive Metaverse Game DevelopmentAttractive Metaverse Game Development
Attractive Metaverse Game Development
 
Serious play (ENG version)
Serious play (ENG version)Serious play (ENG version)
Serious play (ENG version)
 
INNOV8 2.0: A BPM Simulator Game
INNOV8 2.0: A BPM Simulator GameINNOV8 2.0: A BPM Simulator Game
INNOV8 2.0: A BPM Simulator Game
 
Nate levin p3
Nate levin p3Nate levin p3
Nate levin p3
 
Interaction-Aware Development Environments
Interaction-Aware Development EnvironmentsInteraction-Aware Development Environments
Interaction-Aware Development Environments
 
Aste v2 3
Aste v2 3Aste v2 3
Aste v2 3
 
By the Book: Examining the Art of Building Great User Experiences in Software
By the Book: Examining the Art of Building Great User Experiences in SoftwareBy the Book: Examining the Art of Building Great User Experiences in Software
By the Book: Examining the Art of Building Great User Experiences in Software
 
By the Book: Examining the Art of Building Great User Experiences in Software
By the Book: Examining the Art of Building Great User Experiences in SoftwareBy the Book: Examining the Art of Building Great User Experiences in Software
By the Book: Examining the Art of Building Great User Experiences in Software
 
Showcase of social learning and immersive learning at IBM
Showcase of social learning and immersive learning at IBMShowcase of social learning and immersive learning at IBM
Showcase of social learning and immersive learning at IBM
 
Science Game Lab
Science Game LabScience Game Lab
Science Game Lab
 
Aste v2 3
Aste v2 3Aste v2 3
Aste v2 3
 
Game Design fundamentals
Game Design fundamentalsGame Design fundamentals
Game Design fundamentals
 
The Laws of User Experience: Making it or breaking it with the UX Factor
The Laws of User Experience: Making it or breaking it with the UX FactorThe Laws of User Experience: Making it or breaking it with the UX Factor
The Laws of User Experience: Making it or breaking it with the UX Factor
 
The Laws of User Experience: Making it or Breaking It with the UX Factor
The Laws of User Experience: Making it or Breaking It with the UX FactorThe Laws of User Experience: Making it or Breaking It with the UX Factor
The Laws of User Experience: Making it or Breaking It with the UX Factor
 
5 Years of Jenkins and DevOps Trends and What That Means For the Future of t...
5 Years of Jenkins and DevOps Trends and What That Means For the Future of  t...5 Years of Jenkins and DevOps Trends and What That Means For the Future of  t...
5 Years of Jenkins and DevOps Trends and What That Means For the Future of t...
 
Dsdt meetup 2018
Dsdt meetup 2018 Dsdt meetup 2018
Dsdt meetup 2018
 
DSDT Meetup February 2018
DSDT Meetup February 2018DSDT Meetup February 2018
DSDT Meetup February 2018
 

More from Roberto Minelli

SYN: Ultra-Scale
Software Evolution Comprehension [ICPC 2023]
SYN: Ultra-Scale
Software Evolution Comprehension [ICPC 2023]SYN: Ultra-Scale
Software Evolution Comprehension [ICPC 2023]
SYN: Ultra-Scale
Software Evolution Comprehension [ICPC 2023]
Roberto Minelli
 
DFlow is dead. Long live Tako!
DFlow is dead. Long live Tako!DFlow is dead. Long live Tako!
DFlow is dead. Long live Tako!
Roberto Minelli
 
Traduzioni: Ieri, Oggi e Domani

Traduzioni: Ieri, Oggi e Domani
Traduzioni: Ieri, Oggi e Domani

Traduzioni: Ieri, Oggi e Domani

Roberto Minelli
 
Come Creare un Talk in Stile TED

Come Creare un Talk in Stile TED
Come Creare un Talk in Stile TED

Come Creare un Talk in Stile TED

Roberto Minelli
 
Visualizing the Evolution of Working Sets
Visualizing the Evolution of Working SetsVisualizing the Evolution of Working Sets
Visualizing the Evolution of Working Sets
Roberto Minelli
 
Taming the IDE with Fine-Grained Interaction Data
Taming the IDE with Fine-Grained Interaction Data    Taming the IDE with Fine-Grained Interaction Data
Taming the IDE with Fine-Grained Interaction Data
Roberto Minelli
 
Measuring Navigation Efficiency in the IDE
Measuring Navigation Efficiency in the IDEMeasuring Navigation Efficiency in the IDE
Measuring Navigation Efficiency in the IDE
Roberto Minelli
 
Mining IDE Interaction Data
Mining IDE Interaction DataMining IDE Interaction Data
Mining IDE Interaction Data
Roberto Minelli
 
Interaction-Aware Development Environments
 Interaction-Aware Development Environments Interaction-Aware Development Environments
Interaction-Aware Development Environments
Roberto Minelli
 
The Plague Doctor: A Promising Cure for the Window Plague
The Plague Doctor: A Promising Cure for the Window PlagueThe Plague Doctor: A Promising Cure for the Window Plague
The Plague Doctor: A Promising Cure for the Window Plague
Roberto Minelli
 
I Know What You Did Last Summer – An Investigation of How Developers Spend Th...
I Know What You Did Last Summer – An Investigation of How Developers Spend Th...I Know What You Did Last Summer – An Investigation of How Developers Spend Th...
I Know What You Did Last Summer – An Investigation of How Developers Spend Th...
Roberto Minelli
 
Quantifying Program Comprehension with Interaction Data [QSIC2014]
Quantifying Program Comprehension with Interaction Data [QSIC2014]Quantifying Program Comprehension with Interaction Data [QSIC2014]
Quantifying Program Comprehension with Interaction Data [QSIC2014]
Roberto Minelli
 
Visualizing Developer Interactions [VISSOFT2014]
Visualizing Developer Interactions [VISSOFT2014]Visualizing Developer Interactions [VISSOFT2014]
Visualizing Developer Interactions [VISSOFT2014]
Roberto Minelli
 
Visual Storytelling of Development Sessions [ICSME2014]
Visual Storytelling of Development Sessions [ICSME2014] Visual Storytelling of Development Sessions [ICSME2014]
Visual Storytelling of Development Sessions [ICSME2014]
Roberto Minelli
 
Towards Self-Adaptive IDEs [ICSME2014]
Towards Self-Adaptive IDEs [ICSME2014]Towards Self-Adaptive IDEs [ICSME2014]
Towards Self-Adaptive IDEs [ICSME2014]
Roberto Minelli
 
Visualizing the Workflow of Developers [VISSOFT2013]
Visualizing the Workflow of Developers [VISSOFT2013]Visualizing the Workflow of Developers [VISSOFT2013]
Visualizing the Workflow of Developers [VISSOFT2013]
Roberto Minelli
 
SAMOA – A Visual Software Analytics Platform for Mobile Applications [ICSM2013]
SAMOA – A Visual Software Analytics Platform for Mobile Applications [ICSM2013]SAMOA – A Visual Software Analytics Platform for Mobile Applications [ICSM2013]
SAMOA – A Visual Software Analytics Platform for Mobile Applications [ICSM2013]
Roberto Minelli
 
Software Analytics for Mobile Applications – Insights & Lessons Learned [CSMR...
Software Analytics for Mobile Applications – Insights & Lessons Learned [CSMR...Software Analytics for Mobile Applications – Insights & Lessons Learned [CSMR...
Software Analytics for Mobile Applications – Insights & Lessons Learned [CSMR...
Roberto Minelli
 

More from Roberto Minelli (18)

SYN: Ultra-Scale
Software Evolution Comprehension [ICPC 2023]
SYN: Ultra-Scale
Software Evolution Comprehension [ICPC 2023]SYN: Ultra-Scale
Software Evolution Comprehension [ICPC 2023]
SYN: Ultra-Scale
Software Evolution Comprehension [ICPC 2023]
 
DFlow is dead. Long live Tako!
DFlow is dead. Long live Tako!DFlow is dead. Long live Tako!
DFlow is dead. Long live Tako!
 
Traduzioni: Ieri, Oggi e Domani

Traduzioni: Ieri, Oggi e Domani
Traduzioni: Ieri, Oggi e Domani

Traduzioni: Ieri, Oggi e Domani

 
Come Creare un Talk in Stile TED

Come Creare un Talk in Stile TED
Come Creare un Talk in Stile TED

Come Creare un Talk in Stile TED

 
Visualizing the Evolution of Working Sets
Visualizing the Evolution of Working SetsVisualizing the Evolution of Working Sets
Visualizing the Evolution of Working Sets
 
Taming the IDE with Fine-Grained Interaction Data
Taming the IDE with Fine-Grained Interaction Data    Taming the IDE with Fine-Grained Interaction Data
Taming the IDE with Fine-Grained Interaction Data
 
Measuring Navigation Efficiency in the IDE
Measuring Navigation Efficiency in the IDEMeasuring Navigation Efficiency in the IDE
Measuring Navigation Efficiency in the IDE
 
Mining IDE Interaction Data
Mining IDE Interaction DataMining IDE Interaction Data
Mining IDE Interaction Data
 
Interaction-Aware Development Environments
 Interaction-Aware Development Environments Interaction-Aware Development Environments
Interaction-Aware Development Environments
 
The Plague Doctor: A Promising Cure for the Window Plague
The Plague Doctor: A Promising Cure for the Window PlagueThe Plague Doctor: A Promising Cure for the Window Plague
The Plague Doctor: A Promising Cure for the Window Plague
 
I Know What You Did Last Summer – An Investigation of How Developers Spend Th...
I Know What You Did Last Summer – An Investigation of How Developers Spend Th...I Know What You Did Last Summer – An Investigation of How Developers Spend Th...
I Know What You Did Last Summer – An Investigation of How Developers Spend Th...
 
Quantifying Program Comprehension with Interaction Data [QSIC2014]
Quantifying Program Comprehension with Interaction Data [QSIC2014]Quantifying Program Comprehension with Interaction Data [QSIC2014]
Quantifying Program Comprehension with Interaction Data [QSIC2014]
 
Visualizing Developer Interactions [VISSOFT2014]
Visualizing Developer Interactions [VISSOFT2014]Visualizing Developer Interactions [VISSOFT2014]
Visualizing Developer Interactions [VISSOFT2014]
 
Visual Storytelling of Development Sessions [ICSME2014]
Visual Storytelling of Development Sessions [ICSME2014] Visual Storytelling of Development Sessions [ICSME2014]
Visual Storytelling of Development Sessions [ICSME2014]
 
Towards Self-Adaptive IDEs [ICSME2014]
Towards Self-Adaptive IDEs [ICSME2014]Towards Self-Adaptive IDEs [ICSME2014]
Towards Self-Adaptive IDEs [ICSME2014]
 
Visualizing the Workflow of Developers [VISSOFT2013]
Visualizing the Workflow of Developers [VISSOFT2013]Visualizing the Workflow of Developers [VISSOFT2013]
Visualizing the Workflow of Developers [VISSOFT2013]
 
SAMOA – A Visual Software Analytics Platform for Mobile Applications [ICSM2013]
SAMOA – A Visual Software Analytics Platform for Mobile Applications [ICSM2013]SAMOA – A Visual Software Analytics Platform for Mobile Applications [ICSM2013]
SAMOA – A Visual Software Analytics Platform for Mobile Applications [ICSM2013]
 
Software Analytics for Mobile Applications – Insights & Lessons Learned [CSMR...
Software Analytics for Mobile Applications – Insights & Lessons Learned [CSMR...Software Analytics for Mobile Applications – Insights & Lessons Learned [CSMR...
Software Analytics for Mobile Applications – Insights & Lessons Learned [CSMR...
 

Recently uploaded

Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
NYGGS Automation Suite
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
rickgrimesss22
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
Google
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
Neo4j
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
Max Andersen
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
Fermin Galan
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
Aftab Hussain
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
Aftab Hussain
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
Drona Infotech
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
Boni García
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
Google
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
Donna Lenk
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
Hornet Dynamics
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
timtebeek1
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
Philip Schwarz
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
Shane Coughlan
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
Rakesh Kumar R
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
Octavian Nadolu
 

Recently uploaded (20)

Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
 

Free Hugs — Praising developers for their actions [ICSE2015]

  • 1. Free Hugs Praising Developers For Their Actions Roberto Minelli, Andrea Mocci, Michele Lanza REVEAL @ Faculty of Informatics — University of Lugano, Switzerland@robertominelli
  • 3. “Playing a game is the voluntary attempt to overcome unnecessary obstacles.” Goal Rules Feedback system Voluntary participation Reality is Broken J. McGonigal Penguin, 2011
  • 4. “Playing a game is the voluntary attempt to overcome unnecessary obstacles.” Goal Rules Feedback system Voluntary participation Reality is Broken J. McGonigal Penguin, 2011
  • 5. “Playing a game is the voluntary attempt to overcome unnecessary obstacles.” Goal Rules Feedback system Voluntary participation Reality is Broken J. McGonigal Penguin, 2011
  • 6. “The use of game thinking and game mechanics in non-game contexts to augment the engagement of users.” Gamification |ˌgāmifəˈkāSHən|
  • 7.
  • 8.
  • 9.
  • 10.
  • 14. For the Win K. Werbach and D. Hunter Wharton Digital Press, 2012 Language Quality Game Thousands of participants reviewed over half a million dialog boxes, logging 6,700 bug reports, resulting in hundreds of fixes
  • 15. Stackoverflow and GitHub: Associations between software development and crowdsourced knowledge B. Vasilescu, V. Filkov, and A. Serebrenik Proceedings of SocialCom 2013
  • 17. “The programmer, like the poet, works only slightly removed from thought-stuff. He builds his castles in the air, from air, creating by exertion of the imagination.” The Mythical Man-Month F. Brooks 2nd ed. Addison-Wesley, 1995
  • 19. What can be done about it? developer
  • 21. “If you do this you’ll get that.” Reflections on Behaviorism and Society B. Skinner Prentice Hall, 1978
  • 25. Session Digest What? When? 1 class 3 methods 3 class 4 methods 1 class 1 method navigation inspection edit mouse keyboard TopActivity Profile 232,321 pts. 12 Lv. 4 1 2 How do you feel? Navigation UnderstandingEditing User Interface browsing inspecting searching 2h09m25s duration 6m22s navgation time 11m06s editing time 20m16s user interface time 1h31m40s understanding time Timeline time
  • 26. Session Digest What? When? 1 class 3 methods 3 class 4 methods 1 class 1 method navigation inspection edit mouse keyboard TopActivity Profile 232,321 pts. 12 Lv. 4 1 2 How do you feel? Navigation UnderstandingEditing User Interface browsing inspecting searching 2h09m25s duration 6m22s navgation time 11m06s editing time 20m16s user interface time 1h31m40s understanding time Timeline time
  • 27. Session Digest What? When? 1 class 3 methods 3 class 4 methods 1 class 1 method navigation inspection edit mouse keyboard TopActivity Profile 232,321 pts. 12 Lv. 4 1 2 How do you feel? Navigation UnderstandingEditing User Interface browsing inspecting searching 2h09m25s duration 6m22s navgation time 11m06s editing time 20m16s user interface time 1h31m40s understanding time Timeline time
  • 28. Session Digest What? When? 1 class 3 methods 3 class 4 methods 1 class 1 method navigation inspection edit mouse keyboard TopActivity Profile 232,321 pts. 12 Lv. 4 1 2 How do you feel? Navigation UnderstandingEditing User Interface browsing inspecting searching 2h09m25s duration 6m22s navgation time 11m06s editing time 20m16s user interface time 1h31m40s understanding time Timeline time
  • 29. The Development Empire “A system that rewards complex actions and best practices of a developer with badges, achievements, and trophies of different types.” Profile 232,321 pts. 12 Lv. 4 1 2 How do you feel?
  • 30. The Development Empire A new community, where people can observe, challenge, and interact with other developers PSN
  • 31.
  • 32.
  • 33.
  • 34. Session Digest When? Navigation UnderstandingEditing User Interface browsing inspecting searchin What? 1 class 3 methods 3 class 4 methods 1 class 1 method navigation inspection edit mouse keyboard TopActivity Timeline
  • 35. Roberto Minelli, Andrea Mocci, Michele Lanza REVEAL @ Faculty of Informatics — University of Lugano, Switzerland FREEHUGS @robertominelli Praisingdevelopersfor theiractions Nothing in life is free love is. FREE HUGSPraising Developers for Their Actions REVEAL @ Faculty of Informatics, University of Lugano, Switzerland R E V E A L Università della Svizzera italiana @robertominelli roberto.minelli@usi.ch inf.usi.ch/phd/minelli Roberto Minelli, Andrea Mocci, Michele Lanza Session Digest When? Navigation Understanding Editing User Interface browsing inspecting searching 2h09m25s duration 6m22s navgation time11m06s editing time20m16s user interface time1h31m40s understanding time Profile 23 2,321 pts. 12 Lv. 4 1 2 What? 1 class 3 methods 3 class 4 methods 1 class 1 method navigation inspection edit mouse keyboard TopActivity Timeline time How do you feel? A sunburst visualizationthat shows activities andtime components A tree visualization ofthe entities involvedin the last sessionwith the intensity ofthe interactions An activity view thatdecomposes a singleactivity into its low- level events A summary of thedeveloper’s profile thatgoes towards anapplication of gamification A sentimentfeedback on the lastdevelopment session A timeline ofactivities, divided per category A table that showsthe last diffs Session Digest A short-term gratification, similar to the one present in fitness apps, offered to developers for their last development session. It summarizes the last session from various perspectives, e.g., how was time used, how much was achieved from a coding point of view, which program entities were involved, etc. It also enables to dig into the fine-grained recorded data and acquire a deeper understanding. Alter Ego A developer is like a character in a role- playing game: She moves her first steps, evolves, acquires new skills, and unlocks new achievements. In our vision developers possess an avatar that they can evolve, providing them short- and long- term satisfactions to turn software development into a more engaging activity. Development EmpireThe long-term vision is a comprehensive gamification layer on top of the IDE. It is not all about assigning points to developers, but the development of a ramified system that rewards complex actions and best practices of a developer with badges, achievements, and trophies. The history and the evolution of the alter ego of a developer is a key factor. When this mechanism is in place, all the alter egos will originate a new community, where people can observe, challenge, and interact with other developers.
  • 36. Bug-tracking systems Coding style and guidelines Questions & answers services (Q&A) User study
  • 37. DFLOW Smalltalk IDE Recorder Analyzer … HTTP DFLOW Server
  • 38. DFLOW Smalltalk IDE Recorder Analyzer … HTTP DFLOW Server Meta Opening a Finder UI Selecting a package, method, or class in the code browser Opening a system browser on a method or a class electing a method in the Finder UI Starting a search in the Finder UI Inspecting an object Browsing a compiled method Do-it/Print-it on a piece of code (e.g., workspace) Stepping into/Stepping Over/Proceeding in a debugger Run to selection in a debugger Entering/exiting from an active debugger Browsing full stack/stack trace in a debugger Browsing hierarchy, implementors or senders of a class Browsing the version control system Browse versions of a method Creating/removing a class Adding/removing instance variables from a class Adding/removing a method from a class Automatically creating accessors for a class User Interface Low-Level Opening/closing a window Activating a window, i.e., window in focus Resizing/moving/minimize/maximize a window class Mouse button up/down Scroll wheel up/down Mouse move Mouse-out/in Keystroke pressed