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

443 views

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 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
443
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
11
Comments
0
Likes
0
Embeds 0
No embeds

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)
  • Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context

    1. 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. 2. Agenda 2
    3. 3. Agenda • The Switching Problem 2
    4. 4. Agenda • The Switching Problem • Our Approach 2
    5. 5. Agenda • The Switching Problem • Our Approach • The System 2
    6. 6. Agenda • The Switching Problem • Our Approach • The System • Preliminary Evaluation 2
    7. 7. Scenario 3
    8. 8. Scenario • Bob is fixing a bug in an iPhone App 3
    9. 9. Scenario • Bob is fixing a bug in an iPhone App • He uses different tools and artifacts 3
    10. 10. Scenario • Bob is fixing a bug in an iPhone App • He uses different tools and artifacts 3
    11. 11. Scenario • Bob is fixing a bug in an iPhone App • He uses different tools and artifacts 3
    12. 12. Scenario • Bob is fixing a bug in an iPhone App • He uses different tools and artifacts 3
    13. 13. Scenario • Bob is fixing a bug in an iPhone App • He uses different tools and artifacts 3
    14. 14. Scenario • Bob is fixing a bug in an iPhone App • He uses different tools and artifacts 3
    15. 15. His desktop looks like this 4
    16. 16. Postponed tasks lead to more open windows 5
    17. 17. Switching Problem 6
    18. 18. Switching Problem • Windows of different tasks are mixed 6
    19. 19. Switching Problem • Windows of different tasks are mixed • A window-centric instead of an artifact- centric approach is used 6
    20. 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. 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. 22. Agenda • The Switching Problem • Our Approach • The System • Preliminary Evaluation 7
    23. 23. Goals 8
    24. 24. Goals • Help engineers in switching between needed artifacts 8
    25. 25. Goals • Help engineers in switching between needed artifacts • Engineers can select the artifact needed next from a recommendation 8
    26. 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. 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. 28. Components of Engineer’s Context 9
    29. 29. Components of Engineer’s Context • Task Semantics (Universal) 9
    30. 30. Components of Engineer’s Context • Task Semantics (Universal) • Interaction History (Personal) 9
    31. 31. Components of Engineer’s Context • Task Semantics (Universal) • Interaction History (Personal) • Community Profile (Social) 9
    32. 32. Task Semantics 10
    33. 33. Task Semantics • Classification of software engineering tasks 10
    34. 34. Task Semantics • Classification of software engineering tasks • Common understanding of each task type 10
    35. 35. Task Semantics • Classification of software engineering tasks • Common understanding of each task type • Universally used tool types 10
    36. 36. Task Semantics • Classification of software engineering tasks • Common understanding of each task type • Universally used tool types • Universally used artifact types 10
    37. 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. 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. 39. Interaction History 11
    40. 40. Interaction History • The engineer’s interaction with the desktop environment 11
    41. 41. Interaction History • The engineer’s interaction with the desktop environment • Covers individual work habits 11
    42. 42. Interaction History • The engineer’s interaction with the desktop environment • Covers individual work habits • Personally preferred tools 11
    43. 43. Interaction History • The engineer’s interaction with the desktop environment • Covers individual work habits • Personally preferred tools • Personally preferred artifacts 11
    44. 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. 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. 46. Community Profile 12
    47. 47. Community Profile • Combined interaction data shared by members of a community 12
    48. 48. Community Profile • Combined interaction data shared by members of a community • Covers community formed work-flows 12
    49. 49. Community Profile • Combined interaction data shared by members of a community • Covers community formed work-flows • Tools used by a community 12
    50. 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. 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. 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. 53. Agenda • The Switching Problem • Our Approach • The System • Preliminary Evaluation 13
    54. 54. Teamweaver Framework 14
    55. 55. Teamweaver Framework • Collects context information by monitoring user interaction 14
    56. 56. Teamweaver Framework • Collects context information by monitoring user interaction • Links the used artifacts to the corresponding task 14
    57. 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. 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. 59. Teamweaver Framework 15
    60. 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. 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. 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. 63. Recommendation Algorithm 18
    64. 64. Recommendation Algorithm • Parameters 18
    65. 65. Recommendation Algorithm • Parameters • Usage duration 18
    66. 66. Recommendation Algorithm • Parameters • Usage duration • Usage frequency 18
    67. 67. Recommendation Algorithm • Parameters • Usage duration • Usage frequency • “Switched to” 18
    68. 68. Recommendation Algorithm • Parameters • Usage duration • Usage frequency • “Switched to” • Calculate Recommendation in two steps: 18
    69. 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. 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. 71. Switch! User Interface 19
    72. 72. Switch! User Interface • Group used tools by purpose 19
    73. 73. Switch! User Interface • Rank artifacts based on tool group 20
    74. 74. Switch! User Interface • Engineer selects artifact by mouse or keyboard 21
    75. 75. Agenda • The Switching Problem • Our Approach • The System • Preliminary Evaluation 22
    76. 76. Preliminary Evaluation 23
    77. 77. Preliminary Evaluation • Internal use for currently supported task types (Work in progress) 23
    78. 78. Preliminary Evaluation • Internal use for currently supported task types (Work in progress) • Paper prototype experiment 23
    79. 79. Preliminary Evaluation • Internal use for currently supported task types (Work in progress) • Paper prototype experiment • Created from printed Switch! UI 23
    80. 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. 81. Paper Prototype - Example 24
    82. 82. Paper Prototype - Example 24
    83. 83. Paper Prototype - Findings 25
    84. 84. Paper Prototype - Findings • Engineers appreciate our context-aware switching approach 25
    85. 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. 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. 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. 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. 89. Conclusion and Future Work 26
    90. 90. Conclusion and Future Work • Current prototype is a first step in the right direction 26
    91. 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. 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. 93. Any Questions? 27

    ×