Your SlideShare is downloading. ×
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context

319

Published on

While performing a certain task software developers use multiple tools, read different artifacts and change others. As software developers are often interrupted during a task, they end up …

While performing a certain task software developers use multiple tools, read different artifacts and change others. As software developers are often interrupted during a task, they end up simultaneously using a vast set of tools and artifacts. They need to switch between those artifacts many times until a task is com- pleted. In sum a lot of time gets wasted due to locating, reopening or selecting the right artifact needed next. To address this problem we introduce Switch!, a context aware artifact recommendation and switching tool for software developers. Switch! recommends artifacts that are likely needed in the current situation, based on task semantics, interaction history and community profile.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
319
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
10
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide


















  • Used artifacts not linked: The information on artifacts used during a task is not stored.
    e.g. when bob wants to resume a task he worked on yesterday and he didn’t bookmark all useful websites, he will need to repeat his web searches. (if he remembers them)
  • Used artifacts not linked: The information on artifacts used during a task is not stored.
    e.g. when bob wants to resume a task he worked on yesterday and he didn’t bookmark all useful websites, he will need to repeat his web searches. (if he remembers them)
  • Used artifacts not linked: The information on artifacts used during a task is not stored.
    e.g. when bob wants to resume a task he worked on yesterday and he didn’t bookmark all useful websites, he will need to repeat his web searches. (if he remembers them)
  • Used artifacts not linked: The information on artifacts used during a task is not stored.
    e.g. when bob wants to resume a task he worked on yesterday and he didn’t bookmark all useful websites, he will need to repeat his web searches. (if he remembers them)
































  • Context monitor: monitors the interaction of the engineer with the desktop (read files, surf web)
    Context Intrepreter: classifies artifacts (website->bugreport) - links to the engineers task
    Profiler: aggregates data in a general user profile (long time and sharing) - integrates received profiles
  • Ontologies: semantic model of artifacts and relations
    Local Metadata Store: manages metadata of artifacts and task
    P2P Infrastructure: exchanges profiles with community
  • Ontologies: semantic model of artifacts and relations
    Local Metadata Store: manages metadata of artifacts and task
    P2P Infrastructure: exchanges profiles with community







































  • - Um die anforderungen von entwicklern an unser programm auszuloten haben wir basierent auf dem vorgestellen interface Konzept einen Paper Prototypen entwickelt
    - dieser wurde mit mehreren softwareentwicklern durchgefuehrt
    - um sich den ablauf in etwas vorstellen zu koennen nun ein kurzes video
  • - Um die anforderungen von entwicklern an unser programm auszuloten haben wir basierent auf dem vorgestellen interface Konzept einen Paper Prototypen entwickelt
    - dieser wurde mit mehreren softwareentwicklern durchgefuehrt
    - um sich den ablauf in etwas vorstellen zu koennen nun ein kurzes video



  • Switch build on top of teamweaver
    using the different context information for recommendation
  • aus der durchführung ergaben sich mehrere ergbnisse auf die ich kurz eingehen will.
    - die entwicler haben des Prototypen durch die bank weg als positiv bewertet. sie wuerden ein entsprechendes Programm als hilfreich fuer ihre taeglich arbeit ansehen.
    - dies haben sie jedoch an kriterien geknüpft wie eine qualitatv hochwertige empfehlung. Und eine gute anpassbarkeit an ihre individuell sehr verschiedenen work-flows
  • aus der durchführung ergaben sich mehrere ergbnisse auf die ich kurz eingehen will.
    - die entwicler haben des Prototypen durch die bank weg als positiv bewertet. sie wuerden ein entsprechendes Programm als hilfreich fuer ihre taeglich arbeit ansehen.
    - dies haben sie jedoch an kriterien geknüpft wie eine qualitatv hochwertige empfehlung. Und eine gute anpassbarkeit an ihre individuell sehr verschiedenen work-flows

  • Task history is lost: The information on artifacts used during a task is not stored.
    e.g. when bob wants to resume a task he worked on yesterday and he didn’t bookmark all useful websites, he will need to repeat his web searches. (if he remembers them)
  • Task history is lost: The information on artifacts used during a task is not stored.
    e.g. when bob wants to resume a task he worked on yesterday and he didn’t bookmark all useful websites, he will need to repeat his web searches. (if he remembers them)
  • Task history is lost: The information on artifacts used during a task is not stored.
    e.g. when bob wants to resume a task he worked on yesterday and he didn’t bookmark all useful websites, he will need to repeat his web searches. (if he remembers them)
  • Task history is lost: The information on artifacts used during a task is not stored.
    e.g. when bob wants to resume a task he worked on yesterday and he didn’t bookmark all useful websites, he will need to repeat his web searches. (if he remembers them)
  • Task history is lost: The information on artifacts used during a task is not stored.
    e.g. when bob wants to resume a task he worked on yesterday and he didn’t bookmark all useful websites, he will need to repeat his web searches. (if he remembers them)
  • Task history is lost: The information on artifacts used during a task is not stored.
    e.g. when bob wants to resume a task he worked on yesterday and he didn’t bookmark all useful websites, he will need to repeat his web searches. (if he remembers them)
  • Transcript

    • 1. Alexander Sahm Walid Maalej Technische Universität München Technische Universität München sahm@cs.tum.edu maalejw@cs.tum.edu Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context 3rd. International Workshop on Social Software Engineering February 24, 2010 Paderborn, Germany 1
    • 2. Agenda 2
    • 3. Agenda • The Switching Problem 2
    • 4. Agenda • The Switching Problem • Our Approach 2
    • 5. Agenda • The Switching Problem • Our Approach • The System 2
    • 6. Agenda • The Switching Problem • Our Approach • The System • Preliminary Evaluation 2
    • 7. Scenario 3
    • 8. Scenario • Bob is fixing a bug in an iPhone App 3
    • 9. Scenario • Bob is fixing a bug in an iPhone App • He uses different tools and artifacts 3
    • 10. Scenario • Bob is fixing a bug in an iPhone App • He uses different tools and artifacts 3
    • 11. Scenario • Bob is fixing a bug in an iPhone App • He uses different tools and artifacts 3
    • 12. Scenario • Bob is fixing a bug in an iPhone App • He uses different tools and artifacts 3
    • 13. Scenario • Bob is fixing a bug in an iPhone App • He uses different tools and artifacts 3
    • 14. Scenario • Bob is fixing a bug in an iPhone App • He uses different tools and artifacts 3
    • 15. His desktop looks like this 4
    • 16. Postponed tasks lead to more open windows 5
    • 17. Switching Problem 6
    • 18. Switching Problem • Windows of different tasks are mixed 6
    • 19. Switching Problem • Windows of different tasks are mixed • A window-centric instead of an artifact- centric approach is used 6
    • 20. Switching Problem • Windows of different tasks are mixed • A window-centric instead of an artifact- centric approach is used • Used artifacts are not linked to the task 6
    • 21. Switching Problem • Windows of different tasks are mixed • A window-centric instead of an artifact- centric approach is used • Used artifacts are not linked to the task • Open and closed artifacts are handled differently 6
    • 22. Agenda • The Switching Problem • Our Approach • The System • Preliminary Evaluation 7
    • 23. Goals 8
    • 24. Goals • Help engineers in switching between needed artifacts 8
    • 25. Goals • Help engineers in switching between needed artifacts • Engineers can select the artifact needed next from a recommendation 8
    • 26. Goals • Help engineers in switching between needed artifacts • Engineers can select the artifact needed next from a recommendation • The artifact is opened and shown 8
    • 27. Goals • Help engineers in switching between needed artifacts • Engineers can select the artifact needed next from a recommendation • The artifact is opened and shown Detect engineer’s context 8
    • 28. Components of Engineer’s Context 9
    • 29. Components of Engineer’s Context • Task Semantics (Universal) 9
    • 30. Components of Engineer’s Context • Task Semantics (Universal) • Interaction History (Personal) 9
    • 31. Components of Engineer’s Context • Task Semantics (Universal) • Interaction History (Personal) • Community Profile (Social) 9
    • 32. Task Semantics 10
    • 33. Task Semantics • Classification of software engineering tasks 10
    • 34. Task Semantics • Classification of software engineering tasks • Common understanding of each task type 10
    • 35. Task Semantics • Classification of software engineering tasks • Common understanding of each task type • Universally used tool types 10
    • 36. Task Semantics • Classification of software engineering tasks • Common understanding of each task type • Universally used tool types • Universally used artifact types 10
    • 37. Task Semantics • Classification of software engineering tasks • Common understanding of each task type • Universally used tool types • Universally used artifact types ➡ Universal switching needs 10
    • 38. Task Semantics • Classification of software engineering tasks • Common understanding of each task type • Universally used tool types • Universally used artifact types ➡ Universal switching needs • Example: Bug reports are relevant during testing but not during requirements elicitation 10
    • 39. Interaction History 11
    • 40. Interaction History • The engineer’s interaction with the desktop environment 11
    • 41. Interaction History • The engineer’s interaction with the desktop environment • Covers individual work habits 11
    • 42. Interaction History • The engineer’s interaction with the desktop environment • Covers individual work habits • Personally preferred tools 11
    • 43. Interaction History • The engineer’s interaction with the desktop environment • Covers individual work habits • Personally preferred tools • Personally preferred artifacts 11
    • 44. Interaction History • The engineer’s interaction with the desktop environment • Covers individual work habits • Personally preferred tools • Personally preferred artifacts ➡ Personal switching needs 11
    • 45. Interaction History • The engineer’s interaction with the desktop environment • Covers individual work habits • Personally preferred tools • Personally preferred artifacts ➡ Personal switching needs • Example: Todo list in text document 11
    • 46. Community Profile 12
    • 47. Community Profile • Combined interaction data shared by members of a community 12
    • 48. Community Profile • Combined interaction data shared by members of a community • Covers community formed work-flows 12
    • 49. Community Profile • Combined interaction data shared by members of a community • Covers community formed work-flows • Tools used by a community 12
    • 50. Community Profile • Combined interaction data shared by members of a community • Covers community formed work-flows • Tools used by a community • Artifacts used by a community 12
    • 51. Community Profile • Combined interaction data shared by members of a community • Covers community formed work-flows • Tools used by a community • Artifacts used by a community ➡ Community dependent switching needs 12
    • 52. Community Profile • Combined interaction data shared by members of a community • Covers community formed work-flows • Tools used by a community • Artifacts used by a community ➡ Community dependent switching needs • Example: Bug tracker used by an open source project 12
    • 53. Agenda • The Switching Problem • Our Approach • The System • Preliminary Evaluation 13
    • 54. Teamweaver Framework 14
    • 55. Teamweaver Framework • Collects context information by monitoring user interaction 14
    • 56. Teamweaver Framework • Collects context information by monitoring user interaction • Links the used artifacts to the corresponding task 14
    • 57. Teamweaver Framework • Collects context information by monitoring user interaction • Links the used artifacts to the corresponding task • Aggregates context information in a user profile 14
    • 58. Teamweaver Framework • Collects context information by monitoring user interaction • Links the used artifacts to the corresponding task • Aggregates context information in a user profile • Shares the user profile among a community 14
    • 59. Teamweaver Framework 15
    • 60. Context System and integrates it with the universal assumptions an ta provided by the Distributed Knowledge Model. The result is u Teamweaver Framework he recommendation by selecting and ranking suitable artifacts. The ommendation algorithm is discussed in detail below in section . Visual Paradigm for UML Standard Edition(TUM - Institut fuer Informatik - Lehrstuhl 1) Switch! Context System <<component>> <<component>> <<component>> Context Monitor Context Monitor Context Interpreter Context Interpreter Profiler Profiler Distributed Knowledge Model <<component>> <<component>> <<component>> TeamWeaver Ontologies TeamWeaver Ontologies Local Metadata Store Local Metadata Store P2P Infrastructure P2P Infrastructure Fig. 2. Switch! architecture overview 15
    • 61. Context System and integrates it with the universal assumptions an ta provided by the Distributed Knowledge Model. The result is u Teamweaver Framework he recommendation by selecting and ranking suitable artifacts. The ommendation algorithm is discussed in detail below in section . Visual Paradigm for UML Standard Edition(TUM - Institut fuer Informatik - Lehrstuhl 1) Switch! Context System <<component>> <<component>> <<component>> Context Monitor Context Monitor Context Interpreter Context Interpreter Profiler Profiler Distributed Knowledge Model <<component>> <<component>> <<component>> TeamWeaver Ontologies TeamWeaver Ontologies Local Metadata Store Local Metadata Store P2P Infrastructure P2P Infrastructure Fig. 2. Switch! architecture overview 16
    • 62. Context System and integrates it with the universal assumptions an ta provided by the Distributed Knowledge Model. The result is u Teamweaver Framework he recommendation by selecting and ranking suitable artifacts. The ommendation algorithm is discussed in detail below in section . Visual Paradigm for UML Standard Edition(TUM - Institut fuer Informatik - Lehrstuhl 1) Switch! Context System <<component>> <<component>> <<component>> Context Monitor Context Monitor Context Interpreter Context Interpreter Profiler Profiler Distributed Knowledge Model <<component>> <<component>> <<component>> TeamWeaver Ontologies TeamWeaver Ontologies Local Metadata Store Local Metadata Store P2P Infrastructure P2P Infrastructure Fig. 2. Switch! architecture overview 17
    • 63. Recommendation Algorithm 18
    • 64. Recommendation Algorithm • Parameters 18
    • 65. Recommendation Algorithm • Parameters • Usage duration 18
    • 66. Recommendation Algorithm • Parameters • Usage duration • Usage frequency 18
    • 67. Recommendation Algorithm • Parameters • Usage duration • Usage frequency • “Switched to” 18
    • 68. Recommendation Algorithm • Parameters • Usage duration • Usage frequency • “Switched to” • Calculate Recommendation in two steps: 18
    • 69. Recommendation Algorithm • Parameters • Usage duration • Usage frequency • “Switched to” • Calculate Recommendation in two steps: 1. Find suitable artifact types based on task type 18
    • 70. Recommendation Algorithm • Parameters • Usage duration • Usage frequency • “Switched to” • Calculate Recommendation in two steps: 1. Find suitable artifact types based on task type 2. Calculate the relevancy of the concrete artifacts 18
    • 71. Switch! User Interface 19
    • 72. Switch! User Interface • Group used tools by purpose 19
    • 73. Switch! User Interface • Rank artifacts based on tool group 20
    • 74. Switch! User Interface • Engineer selects artifact by mouse or keyboard 21
    • 75. Agenda • The Switching Problem • Our Approach • The System • Preliminary Evaluation 22
    • 76. Preliminary Evaluation 23
    • 77. Preliminary Evaluation • Internal use for currently supported task types (Work in progress) 23
    • 78. Preliminary Evaluation • Internal use for currently supported task types (Work in progress) • Paper prototype experiment 23
    • 79. Preliminary Evaluation • Internal use for currently supported task types (Work in progress) • Paper prototype experiment • Created from printed Switch! UI 23
    • 80. Preliminary Evaluation • Internal use for currently supported task types (Work in progress) • Paper prototype experiment • Created from printed Switch! UI • Conducted with 7 experienced software engineers 23
    • 81. Paper Prototype - Example 24
    • 82. Paper Prototype - Example 24
    • 83. Paper Prototype - Findings 25
    • 84. Paper Prototype - Findings • Engineers appreciate our context-aware switching approach 25
    • 85. Paper Prototype - Findings • Engineers appreciate our context-aware switching approach • Engineers need to get used to the UI concepts first (avg. < 5 min) 25
    • 86. Paper Prototype - Findings • Engineers appreciate our context-aware switching approach • Engineers need to get used to the UI concepts first (avg. < 5 min) • 5 of 7 would use Switch! 25
    • 87. Paper Prototype - Findings • Engineers appreciate our context-aware switching approach • Engineers need to get used to the UI concepts first (avg. < 5 min) • 5 of 7 would use Switch! • Most engineers want to understand recommendation rationale 25
    • 88. Paper Prototype - Findings • Engineers appreciate our context-aware switching approach • Engineers need to get used to the UI concepts first (avg. < 5 min) • 5 of 7 would use Switch! • Most engineers want to understand recommendation rationale • Engineers have privacy concerns 25
    • 89. Conclusion and Future Work 26
    • 90. Conclusion and Future Work • Current prototype is a first step in the right direction 26
    • 91. Conclusion and Future Work • Current prototype is a first step in the right direction • Switch! needs to be evaluated in an industrial setting 26
    • 92. Conclusion and Future Work • Current prototype is a first step in the right direction • Switch! needs to be evaluated in an industrial setting • Recommendation could be improved by using graph based algorithm 26
    • 93. Any Questions? 27

    ×