» tagged pages
» logout
(or Cancel)

(Editing anonymously: to be credited for your changes, login or register a new account)

other page actions:

Tags Applied to this Topic

No one has tagged this page.

Posts on Eclipse related topic written by Eugene Kuleshov and originally available in his blog at http://www.jroller.com/eu/

Friday, February 15, 2008

IDEA... um no, Eclipse plugin for TeamCity

Did you know that there is an Eclipse plugin for JaetBrains TeamCity?
TeamCity plugin works with Eclipse 3.2+ and requires plugin Subclipse 1.2.0.

Eclipse plugin for TeamCity features:
  • Watched Projects View
    Displays TeamCity projects user is watching for and their properties.
  • Changes View
    Displays builds triggered by user VCS changes, remote run builds and their properties.
Both watched projects and changes views display TeamCity builds and build configuration statuses, allow to open build log of selected build in Eclipse. Cumulative watched projects and remote run builds statuses are displayed in Eclipse status bar.
  • Remote Run View.
    Displays locally modified files that could be committed to TeamCity as 'remote run' build. This view is dynamically updated in the same manner as standard Eclipse 'Synchronize' view.
  • Navigation
    Navigation from build logs opened within Eclipse to files referenced in log and from the web client to the Eclipse is supported.
  • "Open in Web" actions opens selected objects in web browser.
  • Friday, February 15, 2008

    Mylar at EclipseCon last week

    I am way behind with blogging about EclipseCon. It was really awesome conference and great opportunity to meet people. Too bad I only had two days there and couldn't attend all the sessions and events I wanted to.

    Most interesting news is that Mik Kersten announced the launch of Tasktop Technologies company, which goal is to build the Task-Focused Desktop.

    Mylar project got lot of attention. There was several presentations and few projects demoed integration with Mylar. Connectors for CollabNet's IssueZilla and ProjectTracker, GodeGear's XPlanner connector (I also spotted a StarTeam connector on their demo), IBM Jazz connector shown by Erich's Gamma team, and very cool Mylar support in DLTK project (including Ruby, JavaScript, Phyton and Tcl).

    This was actually the first time when Mylar team had a chance to meet in person. From left to right - Steffen, Eugene, Mik and Rob:
    Mylar Team

    Friday, February 15, 2008

    If you want to contribute to Mylar but don't know how

    If you want to contribute to Mylar but don't know how, there is a wiki page that can give you several ideas. More over, if you qualify to the Google Summer of Code and don't mind to spend Summer on the front of your computer, you can even get paid for this work.

    Friday, February 15, 2008

    Multiple user identities

    In development process we usually have several identities for each developer and each identity is managed in its own system, such as version control systems (CVS, SVN, etc), issue tracking systems (Bugzilla, JIRA, etc), instant messaging systems (icq, xmpp, gtalk, yahoo, skype, etc) and regular email. In IDEs each of those those identities is managed by its own plugin. For example in Eclipse, CVS and SVN identities are known by team version control providers, issue tracking systems are managed by Mylar or specialized plugins, and instant messaging identities are managed by ECF.

    As a result, we don't really have links between those identities. For example, we can't open an entry in the CVS History, Synchronize view or CVS annotation (aka "blame" thing) in the editor and send an instant message to the user who committed that change (say when he did something outstanding or if he did something terrifying) or see if person who made comment to the bug report is online.

    We need some kind of address book or roster UI and correspond backend that would allow to manage multiple user identities and would allow 3rd party components to interact with those identities. The closest piece Eclipse have right now is the Roster view from ECF, but it still quite far from supporting such feature and it is unclear if it even in scope of the ECF project.

    IBM Jazz project choose different approach to this issue. since they built their own issue tracker, version control system and even instant messaging system they got unified identity across all those systems. Unfortunately in the real world we have to deal with number of existing legacy systems.

    Friday, February 15, 2008

    SVN Team Provider Proposal for Eclipse withdrawed

    Subclipse team have decided to withdraw SVN Team Provider proposal from consideration as an Eclipse project.

    Mark Phippard stated some of reasons on the Status of Eclipse SVN Proposal page. He is also shared some plans for Subclipse project:
    Moving forward we have a lot planned for Subclipse this year. We are working more closely than ever with the Subversion development community and we have a number of great enhancements coming to Subversion and JavaHL in the Subversion 1.5 release. We will be updating the roadmap page in the near future with some of our plans, but it should be an exciting year for Subclipse.

    Friday, February 15, 2008

    Don't argue to me about blue colors unless you speak Russian

    Some time ago I opened a bug 183015 on ECF project UI, because its icons hurt my eyes, even so other ECF users didn't seem to notice.

    Apparently, according to the MIT researchers, Russian-speaking people are more sensitive to the blue part of the color spectrum. Isn't that cool, eh!
    English and Russian color terms divide the color spectrum differently. Unlike English, Russian makes an obligatory distinction between lighter blues ("goluboy") and darker blues ("siniy"). We investigated whether this linguistic difference leads to differences in color discrimination. We tested English and Russian speakers in a speeded color discrimination task using blue stimuli that spanned the siniy/goluboy border. We found that Russian speakers were faster to discriminate two colors when they fell into different linguistic categories in Russian (one siniy and the other goluboy) than when they were from the same linguistic category (both siniy or both goluboy). Moreover, this category advantage was eliminated by a verbal, but not a spatial, dual task. These effects were stronger for difficult discriminations (i.e., when the colors were perceptually close) than for easy discriminations (i.e., when the colors were further apart). English speakers tested on the identical stimuli did not show a category advantage in any of the conditions. These results demonstrate that (i) categories in language affect performance on simple perceptual color tasks and (ii) the effect of language is online (and can be disrupted by verbal interference).
    You can read complete paper.

    Friday, February 15, 2008

    Cool stuff you won't see in the New and Noteworthy for Eclipse 3.3M7

    Eclipse 3.3M7 just released with a plenty stuff in the New and Noteworthy. Though there are few small but cool things you won't see there.

    It is mostly interesting for Mylar users, who also spend decent amount of time digging trough someone else's code and actively using History view and editor annotations to see changes from CVS and Subversion.
    Since Eclipse 3.3M7, CVS/Team provider is using Platform hyperlink detectors to detect hyperlinks in CVS comments shown in History view. Similar support been also enabled in the Subclipse 1.2.1 released few days ago. When Mylar is installed, its detectors allow to quickly jump right into the corresponding task.
    Similarly, in the editors, both CVS and Subclipse annotations also support hyperlinks (you'll need to bring annotation popup into focus using F2 key).
    Note that default Platform modifier for activating hyperlink detectors is Ctrl key on Windows. It can be configured from Window / Preferences... / General / Editors / Text Editors / Hyperlinking.

    Update: I almost forgot to say thanks to Michael Valenta who applied my patches to enable this stuff on a such a short notice.

    Friday, February 15, 2008

    Mylar 2.0M3

    Mylar 2.0M3 has been released couple days ago and this release adds plenty of cool features, including new Task List UI with support of the hierarchical models (i.e. subtasks or dependent tasks), task working sets (implemented by yours truly), improved hyperlink support, UI usage report, task context editor and quick popup and long time missing support for attachments in the JIRA connector.

    However one of my favorite features hasn't been actually mentioned on the "New and Noteworthy" page. There is a hidden feature in generic web connector that allows to hook up an RSS feed to the task list. Right now, it is a bit of a hack (from the UI point of view), so you can drop an RSS feed URL into the "Query URL" field and leave "Query Pattern" field blank, then web connector will parse RSS or Atom feed (or anything else supported by ROME library) and show results in the Task List view. It can come handy for monitoring support forums, build server results, or just for fun.

    Friday, February 15, 2008

    CollabNet Desktop for Eclipse provides Mylar integration

    CollabNet hosted a webinar about their Eclipse-based Desktop product. Matt Deegler showed live demo of Mylar connector for CollabNet's "Project Tracker" and "Issue Tracker" (IssueZilla) issue tracking systems.

    My favorite question from the webinar was:
    "Is Mylar is available for the Visual Studio?"
    Recording from the webinar is available from CollabNet's CollabNet Live Demos & Replays page.

    CollabNet is planning to make this product available from http://eclipse.open.collab.net web site at the end of May.

    Update: CollabNet folks just made CollabNet Desktop available for download.

    The opinions expressed in this post are my own and don't necessarily reflect those of other Mylar developers

    Friday, February 15, 2008

    Mylar no more

    That is right. Eclipse Mylar project is history. Well, it doesn't mean that project will be gone, but it won't be using cool name Mylar. This is very unfortunate, and I think new name is a bad match for the old one and it will take some time to learn how to spell and pronounce it. Not to say that renaming process is very involved and it is dragging attention from finalizing important API changes and stabilizing project code in a such short time left before Europa release.

    Mik Kersten, ex-Mylar project lead, said about project renaming:
    The new name that I have created for the project is Mylyn. In addition to being a name that's very simple, unique, elegant and only a two letter difference from the old name, it has a connotation that's closely related to the ideas behind our technology. I came up with this word when doing my PhD, while I was researching how to make tools better leverage our memory and engaged in an email exchange with a neuroscientist about the potential effects of the myelin substance on improving our ability to access memory. Myelin accelerates our thoughts by making neurons dramatically more efficient at conducting electricity. The Mylyn name is a tribute to this substance--on several occasions I have heard users state that our tool increases their efficiency to the point where they are able to code at the speed of thought.
    The full project renaming FAQ can be downloaded here.

    The opinions expressed in this post are my own and don't necessarily reflect those of other Mylar developers or other Eclipse members

    Friday, February 15, 2008

    How do you like your editors closed?

    Editor management is one of the tricky pieces of the IDE tools. When this task is left to the users, they usually end up with few dozens open editors and easily getting lost in switching back and forth between them. So, it is really helps when tool know when to close unused editors and there are several approaches to deal with that. Historically, Eclipse provided basic facilities for editor management and navigation.

    There are few handy actions available from editor tabs, such as "Close", "Close All" and my favorite "Close Others". Then there is a traditional editor history in File menu and "Last Recently Used" editors popup that can be called with Ctrl-F6 (which I remapped to Ctrl-Tab for convenience) and good old "Switch to Editor" dialog (Ctrl-Shift-E) and its more lightweight variant with filter support (Ctrl-E). The latter two also allows to close editors using dialog controls or popup menu.

    Most of the time those actions are used unconsciously, but it is still a lot of work to deal with all those editors when you are digging into something really huge or exploring some complicated API. To help with that, Eclipse introduced an option (quite some time ago) to close editors automatically, so you'll have reasonable number of opened editors. It can be configured at Window / Preferences... / General / Editors / Close editors automatically. Though it is still far from ideal...

    Luckily, there are few other things you could use. Most recent invention is Autopin "tweaklet" from Eclipse UI team. The idea is basically that all editors are closed automatically. So, if you are browsing some code there will be just one editor open. However, if you made some changes, changed editor will be automatically pinned and will stay open. Seems nice, isn't it? Unfortunately, in practice there are few issues. First of all you can't jump back and forth between few editors anymore (i.e using Ctrl-F6) and "Go to previous editor" (Alt-Left) is somehow buggy with pinned editors. That bring us to the tool that been there for long time and next week will celebrate 2.0 release.

    Yes, it is Mylar, and since recently, it can be installed from Europa update site. This tool monitors all interactions, and because of that it have much better idea which editors need to stay around and which one can be moved out of the scope. The current context state is also reflected in the IDE UI, so uninteresting elements are filtered out from the project structure, outline view and can even allow to automatically fold uninteresting sections in editors.

    There is very simple UI that allow to unfilter context of views. There are toolbar buttons that allow to turn filtering off and for quick unfiltering you can use Alt-Click which will temporarily show full list of nodes for the filtered element. The UI is actually even more interactive. So, you can manually increase interest on certain elements (i.e. classes or methods) or decrease it, effectively removing those elements from the context (there is a popup menu for that, which also can be invoked with Ctrl-Alt-Shift-Down keyboard shortcut). Interestingly, when elements are removed from task context, corresponding editors are closed automatically and it work recursively for all nested elements (i.e. you can remove some project from context using keyboard shortcut or popup menu in the Package Explorer view and all editors for resources from that project will be closed automatically).

    More over, task scope can be maintained in context of specific task and saved and restored when you switch from one task into another, quickly restoring task context. This stuff makes very easy to switch between tasks, but on top of that captured task context can be shared with other developers, which is very handy for code review and applying patches.

    The opinions expressed in this post are my own and not necessarily reflect those of other Mylar developers or other Eclipse committers

    Friday, February 15, 2008

    We've got balls!

    Designing user interfaces, and especially, pixel graphics require real art skills. Eclipse UI historically had nice appearance and Mylar tool continued UI story. It had bunch of neat icons, but this time I'd like to talk about just one of them.

    At the beginning (probably about 2 years ago) its main metaphor was Mylar glasses, which then been replaced into semi-transparent overlay (representing Mylar film) and just recently, after project renaming its main UI metaphor got a new look. Actually it been used in number of places in Mylar UI for long time, so it just got expanded on a new level. If you haven't guessed yet, here is a clue: it is simple, shiny and round... yes it is a ball! :-)

    Anyways, this metaphor looks good from the anesthetic point of view, but it isn't really intuitive. For instance, from the neatly looking Eclipse welcome page you can't really guess what those balls are needed for, and current contribution is unfortunately missing descriptive info.

    I had somehow lengthy discussion with Mik about this on one of the bug reports, but wasn't been able to convince him to change this graphics. So, we are going have those balls around for some time. :-)

    The opinions expressed in this post are my own and not necessarily reflect those of other Mylar developers or other Eclipse committers

    Friday, February 15, 2008

    What if user is smarter then you?

    The new piece of Artemy Lebedev's .com/Mandership has an interesting observation about designer's mentality (thanks Dmitri for translation from Russian):
    You can easily confuse the designer by asking: "What if the customer is smarter than you?"

    His entire mentality is based on the belief that he is THE creator, and any idea he can possibly think of is impeccable by definition. The majority of designers the author has a pleasure to be acquainted with are under delusion that their craft has something to do with art. They also believe that their work is valuable simply because they did it.

    A bottle, being an ideal object, is not shaped like this because its designer fancied narrow bottlenecks so much. It's rather because cork was such such a rare commodity.
    Being a hobbyist UI designer, it seems like at a times I fall into that majority myself. Though in my defense, I do test things on myself and even use the UI I created on a daily basis. It is actually a hard work to convince other users that some of my creations are great. ;-)

    Friday, February 15, 2008

    Eclipse in its raw delivery does not provide much comfort

    I am somehow puzzled by the statement that Frank Mimphius made in his review of the Java IDE Shootout event hosted by Cologne JUG, Germany.
    Second was Eclipse by Wayne Beaton. In his presentation Wayne moved away from Eclipse as an IDE towards Eclipse as a platform. And in fact if you look at it, Eclipse in its raw delivery does not provide much comfort. However, as a platform and community effort, Eclipse lives from its contributors and thus has tons of features and functionality to offer.
    Even so it is an opinion of the Principal Product Manager for Oracle/JDeveloper product, I find it quite confusing that Eclipse is make such impression when presented next to the other IDEs.

    Does this mean that Eclipse is officially gave up trying to be the best IDE and choose to try to be a Platform for others to build on?

    Friday, February 15, 2008

    Guess who

    By strange circumstances, the Dr. Dobb's cover story about Eclipse's Europa release also includes a sidebar with an interview of yours truly. I've answered few questions about my experience as a contributor to several Eclipse projects. Well, you probably have seen me around... ;-)

    Friday, February 15, 2008

    I've got lost in the sea of views and actions and all I got is this lousy Ctrl-3

    After Europa release I am seeing people discovering not-so-new "Quick Access" (Ctrl-3) popup. This thing allows to type some name and then select view, command or menu from the matching list. Well, it is a cool feature, but what I don't understand is why its creators stopped the half way.

    It seems like it inherited similar flaws as the legacy navigation actions like Ctrl-F6, Ctrl-F7 and Ctrl-F8 and their sisters Ctrl-Shift-F*. They all are too simple and at the same time too complex to support common developer's workflow. I always been puzzled why do we need 3 separate actions to crawl trough Eclipse UI and made some attempts to convince UI team that we need a unified navigation story. Please see bugs 169462, 165737 and vote for them if you think it would be a good improvement.

    Even if we leave the unified navigation alone, "Quick Access" has other usability issues. It does help to find some actions or views even if you are not sure how they are named. However I wouldn't call it quick, especially if you need to do the same thing again, because it will require somewhere between 5 to 15 keystrokes, considering all the advertised typing and selection from the filtered list. Well, this dialog has its own history of the previous choices, but you still have to select from that list and there is no quick access (i.e. it could use 1..9 accelerator keys to select items from the list). Also, that history only works for choices you made trough this dialog and don't keep track of all other means of navigation, so you are doomed to switch to "Quick Access", even if you get used to other navigation shortcuts. I am eager to see if this will be ever improved in the next Eclipse versions. Maybe the "User Interface Best Practices Working Group" would chime in...

    Friday, February 15, 2008

    To Nebula or not to Nebula

    Chris just blogged about new Gantt Chart widget coming to Nebula. Really cool! I can't wait when it gets there. Though the Nebula project at this point is seem more like an incubator. It is unclear when it will have proper release and if widgets will be ever included into the RCP platform. Otherwise developers have to install and manage those components manually.

    However, if you need something simple and really quick, you could do your own custom drawing. Actually it isn't too bad once you figure out the basics and wisely use composites. Here is how custom drawn widgets could look in the task category editor to show simple task visualization (sort of task dashboard that you could print). It is populated with task data and color highlighters from the task list.
    You may see certain similarity with Nebula's Gallery widget, but this one is actually using ScrolledComposite with RowLayout, and in result have much less code. I still need to polish text wrapping, but it already quite satisfactory.

    Friday, February 15, 2008

    My lawn

    I was listening to the CDT webinar today and it was quite funny to hear how Doug struggled with pronouncing Mylyn project name. :-)

    Anyways, Doug and Chris gave a nice overview of the new features in CDT 4.0 released with the Europa release.

    Friday, February 15, 2008

    Always one click away

    It seems like hyperlinking stuff I've blogged about few months ago is now one of the Mik's favorite features now. He had shown it on the webinar about Task-Focused UI yesterday as well as during his chat with Cote.
    It works because Mylyn contributes two hyperlink detectors to the text editor, so they work in any editors derived from text editor. First detector can recognize connector-specific hyperlinks (it is actually delegating to the AbstractRepositoryConnectorUi.findHyperlinks() method) and the second one replaces generic URL hyperlink detector and can open a task editor if it can find task that matching given URL. Note that for Platform hyperlink detectors you need to hold Ctrl in order to activate them (same way you jump trough the Java code).

    However, in the above examples hyperlinks didn't come for free. Even so platform does have generic hyperlinking support for all text editors, these detectors have to be explicitly configured in all other parts of UI. I miraculously managed to squeeze patches for Team/CVS at the last minute before Eclipse 3.3 code freeze (thanks again to Michael Valenta for taking them in) and I also added similar support to the Subclipse plugin for SVN, so we have matching functionality there as well. However other plugins not necessary will have this stuff and you would need to bug their developers for that. The good news is that ECF folks did that and task links work in their chat UI too.

    There is a small catch though. In case when pattern is not unique to the issue tracking repository (i.e. Bugzilla's bug numbers are too generic), hyperlink detector need to know what issue tracking repository is linked with the particular resource. For some issue tracker types it is not required (i.e. JIRA issue keys are unique enough across repositories), but for the other ones, workspace projects need to be linked with issue tracking repositories. There are several strategies to make this automated and share across the team and I have blogged about that in more details a while ago.

    Unfortunately there is still some gap. In some cases we don't really have direct link to the resource or issue tracking repository. For example, in the ECF's chat there is no resource associated with the chat window. So, current TaskHyperlinkDetector is trying to check if hyperlink detector context can be adapted to TaskRepository or IResource, then if repository can be guessed based on issue pattern (that would work quite well for JIRA issues), and as a last resort it is trying to get resource from the currently open editor (which is a total hack actually). If none of that works we are out of luck.

    To fix that, we'll need some support on the ECF side, i.e. have some kind of mapping between issue trackers, project teams and individual entries from the ECF's contact list. If ECF would pass its contact instance to the hyperlink detector context, we could anchor an adapter factory to their type and use external metadata to establish the link to the issue tracker (i.e. using Maven POM or info from Eclipse Corona). Though it would be better to have a Platfom level support for identity management and mapping, but apparently I already blogged about that too.

    Anyways, there is a huge room for improvement and it is not too difficult to implement, but it requires some cross-project collaboration.

    Friday, February 15, 2008

    Task List sightings

    "We all use math every day"
    Charlie Eppes, NUMB3RS

    We have to deal with the task management on a daily basis and it is a key to get things done. There is, of course, mathematical foundation to that, but most of us do that unconsciously. For the software developers things are little better, because we have tools that helps us to track these tasks. The lucky Eclipse users can get tasks right next to their fingers with Mylyn and can make the IDE focusing on the task context. However developers rarely work alone and task management is moving to the meta level when applied to the project team.

    Team awareness and ability to slice outstanding tasks based on some criteria (by priority, due date, owner, etc) is one of the critical features of the task management tool. Mylyn been very good for personal task management, but so far it had limited support for visualizing tasks on a meta level.

    Several users have complained about inability to group tasks in Mylyn's Task List, so I went ahead and prototyped basic support for that. It is amazing what difference does it make, comparing to the flat task list. You can actually see the bigger picture right away:
    The above screenshot shows just one of the grouping modes and my patch also allows to group issues by task type, priority, repository, due and scheduled date.

    If you like the idea, please vote and comment on the bug 175318.
    Page 1 | Next >>
    Username:
    Password:
    (or Cancel)