You are not logged in.

#1 2014-03-03 16:16:18

Franek
Member
Registered: 2010-05-16
Posts: 100

Wanted: A contact manager/address book with a sense of time

There is one feature which I didn't find in any contact management application out there, and which keeps me using paper-based solutions: A way to see how old old any specific piece of information is. Use case: „This phone number of X I wrote down/saved here, is it the most recent one, or am I risking calling the next tenant of the flat (who I really don't want to talk to for some reason)? When did I make this phone number entry?“

I believe I have looked at almost any contact manager available in the Arch repos and the AUR, but I may still have missed one. If any of you know of a contact app with a sense of time, please speak up.

Otherwise, maybe some of the developers among you also find that this feature would be nice to have, and feel inspired to code something. That would be great!

If I had any say in the details, the data backend would be something easily accessible by other programs (text files, maybe vcard), it would integrate nicely with email clients for adding and completing addresses, and it would have a simple UI (don't care if graphical, console or pure CLI, as long as it works). For reference, I quite liked "contacts" from the Pimlico project, which doesn't seem to be developed anymore (project website is down). Also, osmo looks nice, although it is doing too many different things for my taste (contacts, calendar, tasks, notes).

One way to implement this would obviously be to combine and integrate any app which saves its data in text files with a version control system like git. However, that might be overkill.

Offline

#2 2014-03-04 04:16:46

twelveeighty
Member
From: Alberta, Canada
Registered: 2011-09-04
Posts: 1,096

Re: Wanted: A contact manager/address book with a sense of time

Don't have an easy answer, but what you describe seems more of a CRM problem solved by a plethora of apps in that space. CRMs have the concept of Contacts / Leads / Customers, etc. that are tracked over time. Maybe totally overkill for what you need, but that's what most corporations use. There's some pretty good open source solutions out there, but the "real" ones are all web-based server apps.

Offline

#3 2014-03-04 10:05:26

Franek
Member
Registered: 2010-05-16
Posts: 100

Re: Wanted: A contact manager/address book with a sense of time

Thanks, I haven't looked into those kinds of systems yet because they always seemed to big and heavy for my needs and taste. Maybe I will some day, but probably not very soon.

Offline

#4 2014-03-04 13:32:08

drcouzelis
Member
From: Connecticut, USA
Registered: 2009-11-09
Posts: 4,092
Website

Re: Wanted: A contact manager/address book with a sense of time

Man, I've been thinking about this question a LOT.

I looked through all of the Thunderbird addons related to "Contacts" but didn't find anything relevent.

I considered adding "comments" to the fields in Thunderbird, such as "drcouzelis@gmail.com (2014-03-04)" or "555-1234 (2014-03-04)". It's super easy but not very functional, because then I can't easily use the email address or phone number.

I considered using git to store the file that the contacts are stored in, but that doesn't seem very convenient and seems MUCH too "manual" and prone to errors.

I'm stumped! sad

Last edited by drcouzelis (2014-03-04 13:32:44)

Offline

#5 2014-03-04 14:01:51

skanky
Member
From: WAIS
Registered: 2009-10-23
Posts: 1,847

Re: Wanted: A contact manager/address book with a sense of time

Can't you use a function wrapper round your contact manager to do the git checkout and checkin?
Also, again rather too manual for my use, but a custom field containing the date (and/or comment) that you manually edit whenever you update?


"...one cannot be angry when one looks at a penguin."  - John Ruskin
"Life in general is a bit shit, and so too is the internet. And that's all there is." - scepticisle

Offline

#6 2014-03-04 14:07:15

progandy
Member
Registered: 2012-05-17
Posts: 5,184

Re: Wanted: A contact manager/address book with a sense of time

If you have to write it from scratch, what about an sqlite database with a fuse layer to access it as vcards?
If you want to represent the date for a specific number or address in a vcard, then add a parameter like X-DATE={timestamp}:

TEL;CELL;X-DATE=2014-01-02+07-30-56:+##-###-###-###

Last edited by progandy (2014-03-04 14:21:44)


| alias CUTF='LANG=en_XX.UTF-8@POSIX ' |

Offline

#7 2014-03-05 16:09:03

Franek
Member
Registered: 2010-05-16
Posts: 100

Re: Wanted: A contact manager/address book with a sense of time

skanky wrote:

Can't you use a function wrapper round your contact manager to do the git checkout and checkin?

I am pretty sure this is possible, you might not even need a wrapper, but have the commits triggered by a filesystem monitor like incron or fsniper. It is, however, only half a solution: The other half would be to display the time information in a convenient way inside the contact manager. (I wouldn't want to have to run "git blame" manually.)

progandy wrote:

If you have to write it from scratch, what about an sqlite database with a fuse layer to access it as vcards?
If you want to represent the date for a specific number or address in a vcard, then add a parameter like X-DATE={timestamp}:

TEL;CELL;X-DATE=2014-01-02+07-30-56:+##-###-###-###

That is certainly one way to go, if you don't want to use vcards as storage format in the first place, like rolo does. Apart from elegance, what would be the advantage of this? Read/write performance would probably be better with sqlite, but I don't believe I know enough people for this ever to be noticable.

Offline

#8 2014-03-05 16:15:12

progandy
Member
Registered: 2012-05-17
Posts: 5,184

Re: Wanted: A contact manager/address book with a sense of time

Franek wrote:

That is certainly one way to go, if you don't want to use vcards as storage format in the first place, like rolo does. Apart from elegance, what would be the advantage of this? Read/write performance would probably be better with sqlite, but I don't believe I know enough people for this ever to be noticable.

You don't have to implement as much search logic, only a search mask and a result list. Other advantages require a large contact list.


| alias CUTF='LANG=en_XX.UTF-8@POSIX ' |

Offline

#9 2014-03-05 16:19:04

skanky
Member
From: WAIS
Registered: 2009-10-23
Posts: 1,847

Re: Wanted: A contact manager/address book with a sense of time

Franek wrote:
skanky wrote:

Can't you use a function wrapper round your contact manager to do the git checkout and checkin?

I am pretty sure this is possible, you might not even need a wrapper, but have the commits triggered by a filesystem monitor like incron or fsniper. It is, however, only half a solution: The other half would be to display the time information in a convenient way inside the contact manager. (I wouldn't want to have to run "git blame" manually.)

That's a good point.

Maybe the triggered script could then run "git blame" and insert the information into a custom field in the contact data file - though that would mean using the wrapper method rather than a filesystem monitor (unless the monitor can be triggered to only run the script when the file is edited by the contact system). It does start to get a bit convoluted though.


"...one cannot be angry when one looks at a penguin."  - John Ruskin
"Life in general is a bit shit, and so too is the internet. And that's all there is." - scepticisle

Offline

#10 2014-03-05 17:25:44

drcouzelis
Member
From: Connecticut, USA
Registered: 2009-11-09
Posts: 4,092
Website

Re: Wanted: A contact manager/address book with a sense of time

I'm kind of sad that the best / easiest / simplest solution so far sounds like just keeping a digital version of the original paper-based solution, AKA a plain text file. hmm Benefits over paper include being able to do a search and never having to wonder if that scribble was a "5" or a "6". tongue

Well, I'm not that sad I guess. I do love plain text. It never goes out of style! big_smile

Offline

#11 2014-03-08 16:58:55

Franek
Member
Registered: 2010-05-16
Posts: 100

Re: Wanted: A contact manager/address book with a sense of time

progandy wrote:
Franek wrote:

[…]what would be the advantage of this? Read/write performance would probably be better with sqlite, but I don't believe I know enough people for this ever to be noticable.

You don't have to implement as much search logic, only a search mask and a result list.

True.

skanky wrote:

Maybe the triggered script could then run "git blame" and insert the information into a custom field in the contact data file

I wouldn't store the time info redundantly in the contacts file when it is already stored in the git repo. The frontend program can just call "git blame" at runtime to get the time info to be displayed.  Redundancy could lead to corrupt (contradictory) time data if something goes wrong in the saving process, and at worst, it might create an infinite loop (when the file is changed, "git blame" is called and the time info inserted into the file, which is thus changed, which triggers "git blame" being called again…)

drcouzelis wrote:

I'm kind of sad that the best / easiest / simplest solution so far sounds like just keeping a digital version of the original paper-based solution, AKA a plain text file. :/ Benefits over paper include being able to do a search and never having to wonder if that scribble was a "5" or a "6". :P

Well, I'm not that sad I guess. I do love plain text. It never goes out of style! :D

While I share to your sadness and your love for plain text, bare text files seem to lack certain features that I would consider crucial: MUA integration and easy grouping/tagging (or similar) of contacts. Both could of course be implemented as simple shell utilities operating on text files, and the result might be a really awesome contact managing solution…

Offline

#12 2014-03-11 11:23:21

jackwild
Member
Registered: 2014-01-15
Posts: 30

Re: Wanted: A contact manager/address book with a sense of time

Seems like the kind of thing a SQL database does well. There are plenty of frontends available for management, like phpmyadmin. Plus you get the advantage of a whole programming language to search/view your data and the software is probably already installed on your machine.

Offline

#13 2014-03-19 21:30:29

herOldMan
Member
Registered: 2013-10-11
Posts: 151

Re: Wanted: A contact manager/address book with a sense of time

I use jpilot. You can add fields to your heart's content. You don't need a Palm Pilot to use it.

Offline

#14 2014-04-02 15:20:46

Franek
Member
Registered: 2010-05-16
Posts: 100

Re: Wanted: A contact manager/address book with a sense of time

@herOldMan: For some reason I don't like the interface of jpilot, and as far as I could see, it couldn't do timestamping either. Nevertheless, thanks for the suggestion.

@jackwild: Yes, some kind of SQL database would be an obvious choice for the backend, however I haven't seen any SQL (or SQLite) interface program out there that fits my needs for this particular task. (There are some good general-purpose SQL interfaces for sure, but those would look and feel to complicated to use them just for saving/looking up contact information.)

I am trying out abook now, in conjunction with the above mentioned approach using git and a file system monitor. Abook's storage file is a neatly organized text file, with every bit of information on its own line, so "git blame" should work as desired with it. The file monitor script (which I am calling from .bash_profile) looks like this:

#!/bin/sh

while true
do
    if inotifywait /home/me/.abook/addressbook 2> /dev/null
    then
        cd /home/carlos/.abook/ && git add addressbook && git commit -m "inotifywait-automatisierte Änderungsverfolgung"
    else
        echo "intofywait error in abook-inotifywait"
    fi
done

I don't have a method yet to display the time information from "git blame" in abook, but I should be able to live with that.

(Edit: Changed script to separately "git add" and "git commit" instead of "git commit -a", for with the old version, the addressbook file was sometimes completely dropped from version control. (Probably abook sometimes temporarily removes the file for some reason, triggering the old script to "git commit -a" and thus dropping the file.))

Last edited by Franek (2014-04-06 16:14:32)

Offline

Board footer

Powered by FluxBB