360 likes | 515 Views
Mylyn. The Task-Focused Interface. Mik Kersten, Tasktop President & CTO, Mylyn Project Lead. Retrospective. Two years ago First public release (0.4, 2005-11) User study done One year ago Mylyn 1.0 released (December) Technology validated Six months ago
E N D
Mylyn The Task-Focused Interface Mik Kersten, Tasktop President & CTO, Mylyn Project Lead
Retrospective • Two years ago • First public release (0.4, 2005-11) • User study done • One year ago • Mylyn 1.0 released (December) • Technology validated • Six months ago • Mylyn 2.0 released, bundled with Europa distributions • Now • 1860 bugs resolved (1224 fixed) since Mylyn 1.0 • Mylyn 2.2 ready today, thriving community and growing ecosystem • We have demonstrated that Eclipse is a platform for innovation Mylyn 0.2, EclipseCon 2005
Informationoverload Context loss when multi-tasking
With Mylyn Tasks are integrated See only what you are working on
Overview • Task-Focused UI • Demos of key features • Integrated task management • Automated context management • Collaboration and planning • The framework • How the task context model works • How to build on Mylyn • Integration showcase • Extensions and ecosystem
Task management • Before Mylyn • Scattered throughout web apps, code and pieces of paper • No integration with IDE workflow • One task list • Manage all your tasks in a single personalized view • Eclipse’s rich searching, linking and editing facilities • Repository connectors • Integrate issue trackers and project management tools • Offline editing and access • Integrated change notifications • Demo
Task-focused UI • Information overload • Time wasted scrolling, browsing and searching, filtering • Constant multi-tasking causes context loss • Task context • Mylyn monitors your interaction • Creates degree-of-interest model • Context is obvious and managed • Task-focused UI • View filtering, element decoration • Automatic folding, content assist ranking • Editor and perspective management • One-click task switching • Demo
Collaboration • Before Mylyn • Manual management of change sets • Email overload, interruption, difficulty sharing expertise • Change set management • Changes are automatically grouped by task • Commit messages are automatic • Everything is linked • Task context sharing • Expertise is captured and can be shared via repository • Tasks are easy to recall, knowledge easy to share • Demo
Planning • With Mylyn • Too many tasks end up in your Task List • Personal planning • Meshes with team planning activities • Can monitor components and collaborations • Focused workweek • See only the tasks you need to work on • Working sets • Manage groups of projects • Demo
Mylyn Framework • Status • Mylyn 1.0 provided APIs that supported a core set of connectors • Mylyn 2.0 supports numerous connector extensions • Mylyn 3.0 evolution based on integrator feedback • APIs • Tasks: task management • Context: context management • Team: team provider integration • Monitor: workbench interaction monitoring
Tasks API • Goal • Bring your repositories’ tasks into Eclipse • Streamline task management user experience across repositories • Provide customizable behavior with consistent integration • Task repository connectors • Core facilities: lifecycle, persistence, synchronization • UI facilities: queries and task editing • Decide on level of integration: queries only, rich editing • Reference implementation is Bugzilla
Context API • Goal • Connect task context model to domain-specific artifacts • Task context bridges • Structure bridges: map context to existing models: e.g. JavaModel • UI bridges: selection/edit/refactoring capture, map to UI • Reference implementation is Java
Team & Monitor APIs • Team API • Provides change set integration, automatic commit messages • Reference implementation is CVS • Monitor API • Captures user’s workbench interaction history • Monitors views, editors, commands, preferences • Provides privacy, obfuscation, reporting • Reference implementation is user study example
Model • Interaction • Task context • Degree-of-interest (DOI) weighting • Frequency and recency of interaction with element • Both direct and indirect interaction interest
Topology • Task context graph • Edges added for relations between elements • Scaling factors determine shape, e.g. decay rate • Thresholds define interest levels • [l, ∞] Landmark • (0, ∞] Interesting • [-∞, 0] Uninteresting
Why it works • Memory • Episodic memory: one-shot, only single exposure required • Semantic memory: multiple exposures required • Approach • Leverage episodic memory, offload semantic memory • Mylyn • Tasks: episodes • Context: weighting of relevant semantics • Validated • Statistically significant increase in programmer productivity
Community needs … … Rally Tasks Context Team Ruby CodeBeamer … CollabNet Spring ClearCase Perforce JIRA Ant SVN Trac Java Bugzilla Files CVS Eclipse Mylyn
JIRAConnector License: EPL
Project TrackerIssueZilla, SFEEConnectors License: com. (free)
Agile Project Manager License: com. (free)Available: Q3
XPlannerConnector License: com.(JBuilder)Available: now
ChrisHane MantisConnector License: EPL(alpha)Available: now
Lubos Pochman CodeBeamerConnector License: free(alpha)Available: now
SubclipseTeam SVN TeamIntegration License: EPL(mature)Available: now
SubversiveSVN TeamIntegration License: EPL(mature)Available: now
DLTKStructure Bridge License: EPL(alpha)Available: Q3
SpringIDEand STS License: EPL, com.
Tasktop License: com.(beta)
Changing the way we work • Tasks become explicit • Dramatic reduction in information overload • Information you need to get work done is at your finger tips • Multitasking and recalling old tasks become effortless • UI automation (e.g. working sets, search, commit messages) • Keeps you in Eclipse and out of your browser and inbox • Validated technology • Statistically significant increase in programmer productivity • Task context model supports generic knowledge work • The frameworks are open and growing • Eclipse and Mylyn are all about integration
Credits • Mylyn Team: http://eclipse.org/mylyn/team • Eclipse SDK Teams: http://eclipse.org/platform • Links • Download Eclipse: http://eclipse.org/downloads • Learn more about Mylyn: http://eclipse.org/mylyn/start Questions?