Tasktop:将 Mylyn 的以任务为焦点的交互界面推而广之

阅读数:265 2008 年 2 月 25 日

话题:Java.NET语言 & 开发

Tasktop Technologies 作为一家创建了 Eclipse Mylyn 并引领其发展的公司,在今日发布了 Tasktop 的 1.0 版本。InfoQ 采访了 Tasktop 的 CEO Mik Kersten,对本次发布进行了深入了解,并获知它是如何将 Mylyn 的以任务为焦点的交互界面介绍给更多的受众的。

Mik Kersten 首先描述了驱动 Tasktop Technologies 以及发布 Tasktop 1.0 的哲学思想:

我们的哲学思想可以由三个简约隽永的文字所概括,那就是:少即是多(less is more),这句话也被放在我们的徽标中。这一原则涵盖了我们的设计、集成与实施决策。“少即是多”的方式反映了我们从开发工具以及知识库工具中看到的一种趋势。那就是需要我们掌握的信息、特性、工具和 Web UI 正在不断地增长。结果就会导致在我们的日常工作中,需要耗费大量的时间去搜寻信息,而不是去完成工作。我们不胜其烦地点击着窗口、Web 应用程序、桌面应用程序,反反复复地滚动鼠标滑轮,搜索着我们需要获得的信息。每个工具都试图帮助我们对有用的信息进行排序,使得这些信息尽在我们掌握之中;但是,对于集成与聚焦的缺乏使得我们总是疲于奔命。在 Tasktop Technologies,我们想说,好吧,如果是在上个世纪 80 年代和 90 年代,这已经足够了,构建工具以信息为中心的方式已经很棒了,因为,在那时的计算机中可能只有少得可怜的数十个文件,但是,这种方式并没有对信息进行分级。现在,我们需要一种以任务为中心的方式,它使得工具与我们工作的方式相匹配,而不是围绕着存储在文件系统中的信息进行处理。

Kersten 同时还谈到了关于“少即是多”格言的更多细节,谈到它的起源,以及它对于 Tasktop 而言意味着什么:

对我而言,饶有趣味的是这条格言与用在计算机用户界面的一个隐喻语出同处,它至今仍然不停地挂在 Xerox PARC(译注施乐帕洛阿尔托研究中心,Xerox Palo Alto Research Center,是施乐公司所成立的最重要的研究中心)人的嘴边。在 1999 年,Gregor Kiczales 雇佣我为 AspectJ(译注:基于 Java 的面向方面编程的一种语言)构建 IDE 的支持,我为自己能够为我们的工具和网站构建如此多的功能特性而兴奋不已。而他常常会在我的办公桌边逡巡,以一种日益严峻的腔调不停地念叨着“少即是多,少即是多”。就像醍醐灌顶一般,这种设计美学深深地烙入我的脑海之中,它要求尽可能地创建最简单的解决方案,然后提供给用户以征求反馈,然后对设计进行迭代以保证常用的用例是准确的。在 Mylyn 和 Tasktop,我们对“少即是多”思想的应用已经到了一个全新的层面,这要归功于以任务为焦点的交互界面。

以任务为焦点的交互界面的理念是搭建 Mylyn 和 Tasktop 1.0 的关键思想,Kersten 进一步地对其进行了详细阐释:

我认为需要解决的关键事情是我们需要频繁点击的工作方式。我试图解决的需求最初出于我的私心,因为我为了发布 AspectJ 所从事的编码工作,使得我需要长期的与重复性压迫损伤症(译注Repetitive Strain Injury处于不正常的姿态过久,或者重复运动会引起颈部、四肢和背部的疼痛,会导致过度使用综合症,或重复性压迫损伤)开展一场注定必输的战争。我迫切地希望继续从事我所热爱的事业,因此我开始尝试着试验各种不同的输入设备,以及各种能够减少我点击次数的方法。我认识到如果我需要获得的内容可以直接在屏幕上看到,我就无需不停地去搜索和浏览它。为了进一步地对此进行研究和探索,我在 UBC(译注:可能是 University of British Columbia,英属哥伦比亚大学)开始攻读博士学位,并与 Gail Murphy 一起合作。Murphy 被认为是工具研究中技术与经验最为优秀的其中一位研究人员。我们创建了一个兴趣相关度模型,它能够自动对信息分级,提供与你高度相关的内容。然后,我开始深入体悟如何将这一模型与最近的人类学研究成果——情景记忆过程相结合。简而言之,我们创建了以任务为焦点的交互界面,它通过将任务分为交互和协作的基本元素,并通过自动回忆任务上下文的方式,更好地利用我们的记忆能力。这听起来有些复杂,但最终的 UI 界面却很简单——激活一个任务,那么作为任务一部分的与你相关的结果就会成为任务上下文的一部分。既然上下文被存储了起来,并能够被共享,因此只需要操作一次单击,就可以完成多个任务。我们估计,当前有成百上千个程序员在使用 Eclipse 和 Mylyn 时,会关注并从以任务为焦点的交互界面中获益。

Kersten 同时还介绍了如何在 Tasktop 1.0 扩展最初在 Mylyn 中实现了的以任务为焦点的交互界面:

Mylyn 的目标是创建一个开放的、可扩展的框架,它能够为程序员提供以任务为焦点的交互界面的一个参考实现。该项目从一开始是用于验证我的博士论文,然而后来我却狂热地希望与其他人分享它所带来的生产效率的提高。但是,如你在我的论文摘要中所注意到的那样,它的目标不仅是让程序员从中获益,同样有利于所有知识工作者。要实现这一目标,我们就必须脱离 Eclipse 工作平台的美好世界,将 Mylyn 的以任务为焦点的交互界面扩展到我们经常使用的桌面和网络应用程序中。

目前,在 Tasktop 中我们已经为实现这样的工具奋斗了一年,有数百人试用了它的 beta 版。今天,我特别高兴地宣布我们已经以每年 40 美元的价格卖出了第一个 Tasktop 的公共版本,这一版本针对的是使用 Eclipse 的程序员。如果需要一个独立的应用程序,则需要每年 60 美元。这不仅代表了它提供了对我们开发的 Mylyn 项目的支持,同时还标志着一个巨大的里程碑,就是实现对日常工作关注的目标。

谈到 Tasktop 1.0 版本的主要特性,Kersten 说道:

我首先介绍一个最具明显价值的特性,最后会介绍一个我们引以为豪的特性。至关重要的是,现在每个人都可以使用 Mylyn。Mylyn 的任务列表使得它可以在一个单独的地方管理你的所有任务,不管这些任务对于你是私有的,还是通过任务仓库而被共享的。

如果你不是程序员,但却需要一个富客户端脱机访问 JIRA(译注:一个缺陷跟踪管理软件),或者你正在使用 NetBeans 或者 Visual Studio 进行编程,并希望连接到 Rally 上,那么现在你就可以使用单独的 Tasktop RCP 应用程序。为了使它易于安装,我们纳入了针对 Atlassian 的 JIRA、CollabNet 和 Rally 的伙伴连接器(Partner Connectors)的一键式安装。如果你是 Outlook 的用户,你可以获得 Outlook 邮件、任务和日历事件的连接器。你还可以获得 Google 日历的集成,通过集成的日历实现任务计划,好处就是诸如议程弹出窗口那样,显示所有从 Google 日历中获得的即将发生的事件,即使是在脱机状态下。Tasktop 彻底地与微软的 Windows 集成,在即时访问你的文件时,能够浏览你所关注的文件。既然 Tasktop 具有和操作系统能进行特定的集成,我们还可以提供对 Eclipse 内外任务分钟级的跟踪。在 Eclipse 的插件版本中,基于 Mac 和 Linux 的程序员可以获得这些好处中的其中一部分,但是目前仍然缺失一些特性,例如在切换任务时,对外部应用程序的自动关闭功能。

但是实际上,我最为之振奋的一个特性就是在打开的时候,Tasktop 能够被设置为你的默认浏览器(目前只针对 Windows 操作系统)。这意味着你的所有浏览活动都将成为关注的焦点。当你返回到一个编程任务中时,这个任务可以是阅读文档,也可以是编辑 wiki 页面,对应的浏览标签会立刻恢复。当你在 Skype 中点击一个指向 JIRA 的超级链接时,它会马上打开一个集成了任务编辑器的脱机的副本,同时在后台与服务器进行同步。它所带来的好处我可以谈上三天两夜,但究竟效果如何却需要你试了才知。目前,我采取这种方式工作已经有一年时间了,想到过去使用经典的标签浏览器,没有丰富的编辑工具和上下文管理所提供的便利,我就不寒而栗。

Kersten 还提到了一个在线视频,其中演示了使用中的 Tasktop,以及当前集成在 Tasktop 中的完整列表。同时还谈到了支撑 Tasktop 1.0 的技术以及最近与 SpringSouce 的合作

Tasktop 从整体上讲就是集成,而它则充分地利用了 Mylyn 和 Eclipse 的 API 以提供这种集成。若要聚焦你的整个日常工作,则需要提供针对你的任务的一个 Mylyn 连接器(例如问题跟踪器或者项目管理的 Web 服务),以及一个 Mylyn 桥以支持你所使用的工具(例如 Java 编辑器,Web 浏览器)。我们一直致力于为程序员提供一个既为专有、又是开源的集成了 Mylyn 的系统,以及能够持续发展的工具系统。Tasktop 填补了这一空白,就是为非编程行为提供 Google 和微软工具的连接器,以及为网页和文件浏览搭建了桥梁。我们是 API 走向开源的忠实信徒,因此 Eclipse 和 Mylyn 提供了 Tasktop 所依赖的整个集成框架。

推动集成的一个例子是我们将在三月份的 EclipseCon 上展示我们最近基于 SpringSource Tool Suite(STS)对 SpringSource 做出的成果。虽然捆绑了 Mylyn 的引用桥(reference bridge),提供了对 Java 程序员巨大的支持,但我们的项目却缺乏足够的资源,以支持那些需要集成 J2EE 开发生命周期的多个附加的引用桥。然而,我们注意到了 Spring 框架正在成为事实上的 J2EE 标准,因而我们与 SpringSource 合作创建了以任务为焦点的企业应用程序开发环境。随着对 Spring 框架的使用,强大而简单就是 STS 的目标,因此我真的非常期待在三月的 EclipseCon 上展示的我们的第一个公开版本。既然 STS 构建在 Mylyn APIs 之上,开发者就可以使用它与 Tasktop 结合,这样就可以聚焦开发人员的 J2EE 编程行为以及其他工作行为。

最后,Kersten 透露了 Tasktop 未来的发展方向:

正如你可能知道的,我们刚刚迈上了下一个征程。期望能够看到 Tasktop 持续改善与集成的发展轨迹,就像你在两年前所看到的第一个 Mylyn 版本公开发布那样。在 EclipseCon 上,我们还会宣布一些额外的 Tasktop 集成,它使得我们更容易管理日常工作与 Eclipse 的工作空间(workspaces)。

像这样的一些新特性,它们的诞生总是那么有趣,因为最初的用户会对工具的发展产生深远的影响。用户可以从http://tasktop.com中获得试用,并通过集成报告告诉我们,关于你对以任务为焦点的交互界面如何改善你的工作所提出的反馈意见。

查看英文原文:Tasktop: Bringing Mylyn's Task-Focused Interface to Everyone