I just spotted a neat post about Living inside Eclipse. This line of reasoning is where Gail Murphy and I were at a couple of years ago when laying out plans for bringing the benefits of Mylyn and Eclipse to activities outside of programming. We had created an RCP version of Mylyn, coined the “task-focused desktop”, and installed it on some non-programmers’ machines at the University of British Columbia. Extensions of these basic ideas are now available as Tasktop, and are giving many the “living inside Eclipse” feeling that Rahul is after. He mentions several desires to improve his life in Eclipse, which I have quoted below. Since his desires and our experiences line up so well, I’ll walk through how we support almost all of his Eclipse wish list. His first complaint was:
Eclipse web browser. Limited in features but helps during basic debugging or investigation… Wish it offered tabbed browsing.
One of the first things we did in Tasktop is to provide a full-featured tabbed browser that’s embedded within Eclipse. It builds on the existing SWT Browser widget and provides all of the features that you expect from a modern browser, such as password completion. I recently read the Google Chrome announcement and will compare the two browsers’ features. Let me clarify that we are not a copy of Chrome, since we first released these features in February 08. But it’s great to see uptake of a “less is more” approach to browser UI design. Here’s Chrome:
One of the biggest UI changes that the Chrome team points out is the placement of the address box under the tabs. This was a natural choice for Tasktop, since Eclipse makes the tab a first class part of the UI. Its nice to see this approach taken by another browser since Firefox 3.0 and Internet Explorer 8.0 still keep the address bar above and replace its contents when the user changes tabs. Like Chrome, Tasktop allows you to drag tabs between browser/Eclipse windows, which I find myself doing frequently when working on multiple monitors. Note that in the Tasktop RCP app, we also got rid of the menu bar, and there are quite a few similarities in the end result. Heres Tasktop:
Its also interesting to note the differences. With Tasktop we got rid of the forward button, considering that if you are going forward you may need to see where you are in your history, hence we provide a drop-down similar to Internet Explorer 8. I like how Chrome got rid of the Stop button. When we discussed this a year ago, we figured it was too soon.
Another layout difference is that Tasktop renders the starred list vertically to avoid using too much precious horizontal space (you can flip it to horizontal if desired). The address bar behavior is very similar since Tasktop allows searches to be typed in and offers similar completions. The most fundamental difference between Tasktop and other browsers is the use of tasks (not files or web pages) as the primary unit of interaction. Let’s take a look at how the task-focused interface approach surfaces in the browsing facilities. Consider that Chrome makes starring very primary. This is a manual approach to remembering what is important. With Tasktop, your interest in web pages for a task is tracked automatically and browser tabs are instantly restored when you switch tasks.
Taskop’s Starred list is simply a listing of all the landmarks in your current working sets global context. This means that when I switch from my “Mylyn” to my “Personal” working set I get to see a different starred list. Being able to focus on both working sets and tasks when browsing means a lot less repetitive searching and bookmark/starred list management, saving me time in my day. It also means that my address and search history are specific to the working set, so I dont have any problems with completions for things I looked at in my Personal working set showing up when I’m at work work. And we make privacy primary by not storing any history if youre browsing without a task active.
Like other browsers, Chrome is built around an overlapping window interface. Tasktop is built around a solitary, usually full-screen, workbench window with editor and view tabs. It uses task context to ensure that the information that shows in the UI is relevant to the task-at-hand. Having worked this way for a couple of years I personally think that the prime time of overlapping window interfaces has past. They work great on my 46″ television where I want a bunch of gadgets, and a few little web apps that I’m happy to stack around myself, but not so great for my day-to-day productivity. I wonder if after the first few days of using Tasktop it is possible for anyone to miss the manual management of tabs, windows and spaces. And then dealing with it all being lost during a reboot.
This big window approach means that unlike Chrome, we had to keep the separate search box. If you have a task editor open instead of a web browser, I may still want to do a web search. In addition, we wanted to make it very easy to search within web applications such as wikis and Google docs. In the screenshot above you can see how I have my search box configured to search various web apps. Web app support is another parallelism between Tasktop and Chrome. With chrome they are integrated into the OS via shortcuts that open windows without navigation bars. In Tasktop, web applications are integrated via the search box, open without a location bar, and if they provide a connector, offer rich and offline access, as is visible with Google Calendar below.
Mind map plugin to let me gather my thoughts.
For me the Task List has taken over a good portion of mind mapping, but I still find myself using mind maps for brainstorming. We briefly tried embedding some free mind mapping tools, but found standalone mind mapping tools like MindManager better, and easy to link to Tasktop via hyperlinks (since Tasktop is my default browser and will open tasks from web apps when offline). But it would be great to hear more about what people want, and we have a mind mapping entry on our integration survey.
More powerful text editor. I use block-editing heavily
Our answer here is Mylyn’s new WikiText component. Between that and continued improvements in the Eclipse text editor framework, Eclipse is on a good trajectory in this respect.
A plugin for MS Outlook that lets me attach emails to Mylyn tasks
This is something I couldn’t live without. Same for Gmail messages, since I use both Outlook and Gmail. To see more check out the 2nd to last screenshot on the Tasktop Tour.
A plugin for MS Excel
This is already supported, since you can open Excel documents within Tasktop and Eclipse via Open With -> In-Place Editor. Early versions of Tasktop made this the default, but the more we used it, the more we found that office applications like PowerPoint and Word were usually nicer to use in full screen mode, even on large monitors. So instead of embedding everything now, Tasktop monitors your interaction with external applications, and can open and close Excel as you switch tasks.
A powerful desktop indexing and search plugin
We added a full index of all file system locations that you have mapped in Tasktop and all of the files files in your projects. This gives you instant search for all files of interest, and since we integrated this with a Common Navigator view, unlike other instant search tools, Tasktop shows you the directories structure that containing the matches. It took us a while to get this to scale to hundreds of thousands of files but we’re there now. After only a month of using this for a while I turned off Vistas indexing of documents and haven’t felt the need to turn it on again.