<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Mylyn on despatches</title><link>https://icle.es/tags/mylyn/</link><description>Recent content in Mylyn on despatches</description><generator>Hugo</generator><language>en</language><lastBuildDate>Fri, 20 Jun 2025 09:25:00 +0100</lastBuildDate><atom:link href="https://icle.es/tags/mylyn/index.xml" rel="self" type="application/rss+xml"/><item><title>On top of Tasktop</title><link>https://icle.es/2009/01/13/on-top-of-tasktop/</link><pubDate>Tue, 13 Jan 2009 13:43:56 +0000</pubDate><guid>https://icle.es/2009/01/13/on-top-of-tasktop/</guid><description>&lt;p>My post about
&lt;a href="http://drone-ah.com/2008/12/13/your-time/" title="Your Time [words on sand]">tracking time&lt;/a>
attracted the attention of &lt;a href="http://tasktop.com/" title="Tasktop">Tasktop&lt;/a>. While this
had been mentioned to me before, I was &lt;strong>mistakenly&lt;/strong> under the impression that
this was a windows only app.&lt;/p>
&lt;p>I was pleased to find out that this was also available for linux. Great... Lets
try it out.&lt;/p>
&lt;p>First stumbling block is the requirement to register on the website before I can
download a trial. I am a firm believer of try before you buy. I should be able
to register but it should be entirely my choice.&lt;/p>
&lt;p>I am more comfortable with registering before buying or for the use of a free
piece of software. However, registering for a trial always irritates me. This
was also the case when I wanted to trial InDesign / Illustrator the other day.&lt;/p></description><content:encoded><![CDATA[<p>My post about
<a href="http://drone-ah.com/2008/12/13/your-time/" title="Your Time [words on sand]">tracking time</a>
attracted the attention of <a href="http://tasktop.com/" title="Tasktop">Tasktop</a>. While this
had been mentioned to me before, I was <strong>mistakenly</strong> under the impression that
this was a windows only app.</p>
<p>I was pleased to find out that this was also available for linux. Great... Lets
try it out.</p>
<p>First stumbling block is the requirement to register on the website before I can
download a trial. I am a firm believer of try before you buy. I should be able
to register but it should be entirely my choice.</p>
<p>I am more comfortable with registering before buying or for the use of a free
piece of software. However, registering for a trial always irritates me. This
was also the case when I wanted to trial InDesign / Illustrator the other day.</p>
<p>After registering, there was the irritating wait for the email to arrive. Now,
this is irritating. When I want something, I want it <strong><em>NOW</em></strong>. I hate waiting.
Adobe did not make me wait for the confirmation email of registration before
downloading the trials. There are two good reasons as to why this irritates me.</p>
<ol>
<li>Email, as reliable as it is generally, can take time. In theory, this can be
anywhere from a few seconds to hours. How about if my mail server is
currently down. Or even more importantly, what if I have shut down my mail
client so that it does not keep distracting me from something that I am
trying to do. Opening up my mail client, I now want to find out about the
other emails that are in my inbox and whether any of them require an
action...</li>
<li>I have reluctantly provided details about myself. Confirming my email
address before I am allowed to download a trial suggests that Tasktop does
not trust me enough to just let me download the trial. The software has
started off on the wrong foot. How much of an issue is it really if someone
gave the wrong details before downloading a trial. Is it really that
important that you are able to keep bugging them via email to buy the
product?</li>
</ol>
<p>I was curious enough to jump through the hoops to download the product. The
first thing I noticed is that there is no 64bit for Linux :-(. More steps
involved in installing this on my 64bit machine. So instead, I installed it one
of my 32bit machines - save time.</p>
<p>Once the download completed, the steps on the website suggested that I needed to
configure it (with ./configureTasktop.sh) and then run Tasktop. The
configuration step required no input from the user and outputted nothing. I have
to ask:</p>
<ol>
<li>Why is the configuration step not integrated into Tasktop and configured to
run once? Alternatively,</li>
<li>Why does the configuration step, not start Tasktop right after.</li>
<li>Even better: Make Tasktop a symlink to configureTasktop.sh, which then
relinks that to the Tasktop Binary with the configureTasktop running Tasktop
right after. This means that from the users perspective, they are always
running the same command, and you save any cost associated with run once
checks.</li>
</ol>
<p>I finally got Tasktop to run and it asks me if I want to install the firefox
addon to integrate with Tasktop. I want to see how it integrates, so I do. Of
course, this is yet <strong>another</strong> step.</p>
<p>A restart later, I was ready to try out Tasktop - or was I? We use bugzilla to
track tasks and I wanted to integrate that in similar to how I do it in Eclipse.
This was also trickier than I expected.</p>
<p>I went into the partner connectors section which did not cover bugzilla, which I
assumed meant that it came with Bugzilla integration by default. This is true
but how the hell do I get there to configure it. It took me a little while to
find the configuration section (there are no menus). Once I was there, I wanted
to get back to the original layout which was tricky since the &quot;close
configuration&quot; button was nicely hidden away up at the top right.</p>
<p>Once I had this working, I tried out the active/deactive mechanisms and this
works just the same as in Eclipse. Except with the Firefox plugin, it adds in
the links that you browse as part of your context - GREAT!</p>
<p>Add in a task to blog about it and went through writing half the document, then
decided to de-activate it before I started working on something else. All the
firefox tabs were closed - again, great...</p>
<p>The problem is that when you re-activate the context, it just clears the tabs in
firefox and shows you the links you last had open. The page titles for the pages
that I had open were the same for a few, so going through them trial and error
to get to the blog post was tricky. More importantly, the cookie was already
gone and I had to re-login. This might be a timeout issue with Wordpress so wont
tag that against Tasktop.</p>
<p>I haven't tried linking folders / files yet but considering that with the above
process taking me more time than I expected due to the sheer number of steps
involved, I shall have to leave that to another day. In all honesty, it might
never happen.</p>
<p>I do like the time logging feature of Tasktop as it tells me which tasks I spent
my time on in different chart formats. This is great. However, I have a problem
in that this is on an individual basis. I see nothing on here about how a team
leader can link in Tasktop used by the team to calculate total time spent on a
project / task. This is a necessary feature for a tool like this in the team
environment.</p>
<p>It is possible that all of this is easier in a windows environment. Possibly
because it was built on there, but more likely because Windows users are used to
taking several steps to achieve something (what is it - 7 clicks to delete a
file in Vista?)</p>
<p>Having ranted on for a while, dont get me wrong. I think that Tasktop is a
fantastic concept and with a bunch of tweaking can be a very intuitive tool to
use. However, at the stage that it is in, it does not do what I need it to do.
It is actually more obtrusive than useful (e.g. by removing all my tabs from
firefox when switching out of a context and not re-instating them on going back
to the context).</p>
<p>Then, it is probably just because I simply expect too much... :-(</p>]]></content:encoded></item><item><title>Breaking Software Down</title><link>https://icle.es/2008/12/15/breaking-software-down/</link><pubDate>Mon, 15 Dec 2008 15:53:43 +0000</pubDate><guid>https://icle.es/2008/12/15/breaking-software-down/</guid><description>&lt;p>&lt;a href="http://www.codinghorror.com/blog/archives/000987.html" title="Tending Your Software Garden">Jeff Atwood likens software development to tending a garden.&lt;/a>
I can relate to this. In fact, I would like to ask, if you have a nice plant in
one of your gardens, how complicated is it to &amp;ldquo;copy&amp;rdquo; that across to another one?&lt;/p>
&lt;p>I realise that I am moving away from the analogy here but there is an important
concept here. Libraries were born out of the desire to share and distribute code
to be re-used.&lt;/p>
&lt;p>The idea for
&lt;a href="http://en.wikipedia.org/wiki/Remote_procedure_call" title="Remote Procedure Call">Remote Procedure Calls&lt;/a>
dates as far back as 1976. Microsoft brought along
&lt;a href="http://en.wikipedia.org/wiki/Object_Linking_and_Embedding" title="Object Linking and Embedding">OLE&lt;/a>
and then
&lt;a href="http://en.wikipedia.org/wiki/Component_Object_Model" title="Component Object Model">COM&lt;/a>
made this more generic and better.&lt;/p>
&lt;p>RPC is widely in use these days and there are several other mechanisms for inter
process communication including
&lt;a href="http://en.wikipedia.org/wiki/CORBA" title="Common Object Request Broker Architecture">CORBA&lt;/a>,
&lt;a href="http://en.wikipedia.org/wiki/REST" title="Representational State Transfer">REST&lt;/a> &amp;amp;
&lt;a href="http://en.wikipedia.org/wiki/SOAP_%28protocol%29" title="Simple
Object Access Protocol">SOAP&lt;/a>.&lt;/p></description><content:encoded><![CDATA[<p><a href="http://www.codinghorror.com/blog/archives/000987.html" title="Tending Your Software Garden">Jeff Atwood likens software development to tending a garden.</a>
I can relate to this. In fact, I would like to ask, if you have a nice plant in
one of your gardens, how complicated is it to &ldquo;copy&rdquo; that across to another one?</p>
<p>I realise that I am moving away from the analogy here but there is an important
concept here. Libraries were born out of the desire to share and distribute code
to be re-used.</p>
<p>The idea for
<a href="http://en.wikipedia.org/wiki/Remote_procedure_call" title="Remote Procedure Call">Remote Procedure Calls</a>
dates as far back as 1976. Microsoft brought along
<a href="http://en.wikipedia.org/wiki/Object_Linking_and_Embedding" title="Object Linking and Embedding">OLE</a>
and then
<a href="http://en.wikipedia.org/wiki/Component_Object_Model" title="Component Object Model">COM</a>
made this more generic and better.</p>
<p>RPC is widely in use these days and there are several other mechanisms for inter
process communication including
<a href="http://en.wikipedia.org/wiki/CORBA" title="Common Object Request Broker Architecture">CORBA</a>,
<a href="http://en.wikipedia.org/wiki/REST" title="Representational State Transfer">REST</a> &amp;
<a href="http://en.wikipedia.org/wiki/SOAP_%28protocol%29" title="Simple
Object Access Protocol">SOAP</a>.</p>
<p>I don&rsquo;t think software is broken down into small enough components. *nix is
great in that you can tag a whole bunch of commands together on the command line
to do some amazing things. I have personally piped data through a dozen or so
commands and scripts to do some interesting things.</p>
<p>If we could break everything down into individual components that could be
linked together, we would have a massive arsenal of interoporable tools that
each user can pick and choose to put together very powerful solutions.</p>
<p>How many times have you found a piece of software that does one thing really
well, but fails in something else. Then found another piece of software that
does the other thing really well.</p>
<p>For example, the extensibility of
<a href="http://www.mozilla.org/firefox" title="Firefox">Firefox</a> is fantastic but I love the
rendering of <a href="http://www.apple.com/safari/" title="Safari Web Browser">Safari</a>. I love
the Contact Management within
<a href="http://projects.gnome.org/evolution/" title="Evolution">Evolution</a> and the Mail
capabilities of <a href="http://www.mozilla.org/thunderbird" title="Thunderbird">Thunderbird</a>.</p>
<p>Why don&rsquo;t we break each software down into each of it&rsquo;s individual components
(and I am not talking about libraries here) and allow them to be deployed as
services usable by other pieces of software.</p>
<p>In other words, release the contact management capabilities of Evolution as a
product of it&rsquo;s own right with a pre-defined API that any application can link
into (including perhaps a web interface). Release the Mail management component
of Thunderbird as a service, Release GUI&rsquo;s as a component. Then we can pick any
GUI we want, link into a specific mail component and another addressbook
component.</p>
<p>Do one thing and do it well. In fact, let&rsquo;s take it one step further and release
a public API for each software component - an API for Mail, one for Contact
Management and so on.</p>
<p>Each software component can then be a black box that delivers this API.</p>
<p>Choice can be a bad thing if it makes it difficult to choose -
<a href="http://subclipse.tigris.org" title="Subclipse">Subclipse</a> vs
<a href="http://www.eclipse.org/subversive" title="Subversive">Subversive</a> is a good example
of this. Let us however, not confuse choice with flexibility.</p>
<p>Let&rsquo;s say that you want to find all the files within a folder modified within
the last 3 days containing the text &ldquo;abracadabra&rdquo; and then replace all
occurences in those files of the world &ldquo;super&rdquo;  with &ldquo;hyper&rdquo;.</p>
<p>To do this in linux, all you would do is chain find (to identify files modified
in the last 3 days), grep (to identify only the files that contain
&ldquo;abracadabra&rdquo;) and sed (to do the replacement).</p>
<p>If you know these commands well enough, you could chain something together in
half a minute or so. You could probably figure out how to do this with the
search tools in Windows within a minute or so but where this really shines is if
there are thousands of files that needs to be processed. With other search
tools, you would have to wait for the original search results to be returned
before running to replace operation. This takes up the users time.</p>
<p>With the chaining of commands, I have run it and worked on something else while
it completes.</p>
<p>Let me visualise a brave new world:</p>
<p>In this world, all software would be interoperable components. For example,
there would be components for:</p>
<ul>
<li>Mail account management (Perhaps genericised into configuration management)</li>
<li>Text composition (usage for mail, documents, plain text et al)</li>
<li>Text reading (again, usable for mail, documents, plain text et al)</li>
<li>Spam Filtering (already available to some extent)</li>
<li>Contact Management (optionally linked into organisation&rsquo;s LDAP server)</li>
<li>Task Management (Standalone
<a href="http://www.eclipse.org/mylyn/" title="Eclipse - Mylyn">Mylyn</a> if you know the
product)</li>
<li>Scheduling (or calendering if you prefer that term)</li>
</ul>
<p>If all of these components were interoperable, then there would a
<a href="http://en.wikipedia.org/wiki/Graphical_user_interface" title="Graphical User Interface">GUI</a>
that is generic and could bring all of these together. In this way, the people
working on each of the components could concentrate on doing one thing and one
thing well.</p>
<p>If we then start working on public API&rsquo;s in a collaborative fashion, each of the
component could be fleshed out to be as flexible and complete as necessary to
gain maximum benefit.</p>
<p>If these components provided the services as a network based API, it would also
allow for the components to be distributed across a network providing redundancy
and efficiency. This makes it easier to turn each desktop into more of dump
terminal concentrating purely on user interaction and getting closer to the
<a href="http://drone-ah.com/2008/12/12/invisible-interface/" title="Invisible Interface">invisible interface.</a></p>
<p>Software as a service has taken a step in the right direction. Can we take a
leap and have software component as a service&hellip;</p>]]></content:encoded></item></channel></rss>