Timezone math

For the last several years I have worked daily with folks in the United Kingdom and California. When communicating about times you must always include either timezones -- e.g. EST, PST, GMT (I can't bring myself to use UTC) -- or time pairs -- e.g "11:52 AM / 2:25 PM" -- in the conversation. To help keep my sanity I use FoxClocks to show in the Firefox status bar the times for each zone.

A really useful enhancement would be to be able to select one of the zone displays, enter a time, and have the other zone displays show me the time in each of their zones. For example, in this mockup I have ticked the "Peace Dale" time, entered "9 am", and FoxClocks would display the times for San Francisco and Oxford.

Perhaps this feature already exists in one of the many desktop widget sets available.

Update: The The World Clock Meeting Planner which allows you to display a timetable configured for serveral locations.

Looking for web-based contact management tool recommendations

I am looking for a web-based contact management tool either open-source or commercial. The features I am looking for are
  1. Add person.
  2. Add company.
  3. People and companies have the attributes name, telephones, emails, addresses (time zone), and description.
  4. People and companies have tags (al del.icio.us)
  5. Associate person with company.
  6. Associate person with person.
  7. Associate company with company.
  8. Associations have tags.
  9. Associations have attributes (optional).
  10. People and companies have a chronological log of contacts (by phone, in person, by email, etc.).
  11. A summary view of activity over a period of time (people added, contacts made, association changes, etc.).
  12. Export data as XML.
Can you recommend anything? Can you recommend a Windows desktop tool?

A small improvement to Google Calendar

My wife and I like Google Calendar a lot. That we use it everyday for every kind of event and planning tells me that it accommodates both the novice user and the experienced user. As you use GC more you will end up with lots of overlapping events. This is especially so if you use lots of calendars. (We have 6.) When this happens GC mostly only tells you that something is happening as most of the details are obscured. I would like GC to have three new features:

1. Use transparency when displaying events.

2. When displaying event to not be bound to the day's calendar column

3. Distinguish primary and secondary calendars. For example, the primary calendar's events always sit on top of the secondary calendar events. And I should also be able to quickly toggle on and off the visibility of the details of the secondary calendars.

For example,

Links need direct orientation markers

Geoffrey Bilder asked what is the use of having the URLs listed as footnotes when you are online?
This is a good question. In (plain text) email having the URLs visible is the only means of "linking." Placing URLs in footnotes improves the readability of the email message -- no odd word-wrapping in the message and URLs are less likely to be wrapped. These features, linking and readability, however, are directly supported on web pages. So why bother?

One fact given by seeing the URL is you can see if the link takes you off the page and/or off the site. This orientation feature is useful to me. Using the URL itself for this is indirect: I have to know the URL of the page I am on and then make the mental comparison between the two URLs. A better approach would be to use a marker that directly indicates the kind of link it is. This would be more useful on the web page. (And add the table of links on the printed page.)

It was a little slow at "Andrew Gilmartin & Associates" yesterday morning and so I used the opportunity to learn a little more about Prototype. It is a very powerful tool. It makes manipulating a DOM almost intuitive. When I next have some free time I will work on the orientation markers.
I am turning off the table of links feature. It was an interesting idea but in the end I agree with Geoffrey.

Automated "Table of Links"

I tend to print web pages for reference when I am off-line and so I like to ensure that URLs are visible somewhere in the text. I have copied Leigh Dodd's footnoting technique in email for years and am now using it in this blog also. I am not always consistent with the technical details of laying out the the links and footnotes mostly because it is somewhat cumbersome to use in HTML. I need a tool. So I wrote some JavaScript that will add the footnotes automatically to end of each posting. Here is my test code.

Update: I have this working in this blog now.

Update Again: If you use an RSS reader to read this blog you will not see the table of links at the end of the posting.

Update Again & Again: I have discontinued the use of the table of links script on this blog. See next post.

Java Agent Development Framework

I have been interested in software agent technologies since in the early days of Windows 3.1 when I discovered Actor. Agents are automatous tools that engage in formal conversations to get commitments and, later, responses to those commitments. Message queues are very popular technologies because when you add work to a queue you know that at some point the work will be done. Agents are like very smart queues where the queue can make decisions about the commitment to do the work. Unfortunately, my experience is mostly that of an armchair practitioner.

A few weeks ago I discovered JADE and have since read the book Developing Multi-Agent Systems with JADE. I highly recommend the book [*]. It really looks like JADE is a good agent framework and implementation. I know, for example, that Raytheon is using it for at least one non-defense project and Raytheon has a very conservative software selection process. Now, I need to find a client that wants to use it too. Know anyone?

[*] I also highly recommend using your local library's inter-library loan service to read the book before buying it. Jessica Wilson, a librarian in the South Kingstown library system, seems to be able to get anything.

Kindle and content's seamless ubiquity

Amazon's Kindle is now out. Amazon has done a great job at delivering a whole solution and not just a reader. Assuming that the device is ergonomically usable that you can download content from anywhere via the built in mobile phone technologies is key to its success. No docking. No bluetooth. No wifi. Just seamless ubiquity to the new and updated content.

Update: I was at Border's yesterday (2 Dec 2007) and saw the new Sony book reader. While I am generally attracted to bright and shinny objects the reader and it's display looked scuffed and forlorn in the long shallow of the Kindle.