Migrating Apps — KAlarm — 1

Of the apps I have been migrating, two have been a dark clouds over my head: KAlarm and KMail. Like other apps I migrated these two create lock-in with respect to a sole computer and user account. I want the data stored centrally. My long-term goal is to create a VPN into the house network to access this data from anywhere.

Encryption within the local network is not a priority, even with wireless. Nobody lives close enough to the house to sniff data. A VPN provides encryption when the day comes to access the data from outside the network.

KAlarm creates lock-in by being user-centric. Moving the data files to a server and sym-linking probably probably is doable, but KAlarm is not designed for concurrent access. KAlarm does not support external calendars. By design, running two concurrent instances of KAlarm on separate computers is not doable.

KAlarm is touted as a reminder app. To me that is misleading. All calendar apps are reminder apps. All calendar apps support this fundamental feature. The same goes for so-called to-do apps. To-do lists are nothing but events that a user wants to be reminded. Calling an app a full featured calendar is misleading because in the end the desired result is to remind the user of any event. KAlarm is designed for reminders without the usual calendar app glitz, glamor, and overhead. KAlarm is a great example of an app that does one thing and does that one thing well. Yet the result is exactly the same. Everything is a reminder.

I want the reminder data stored centrally and supporting concurrent access.

Using the data requires a local client regardless of which computer is used. The interface could be a web browser, but a cornerstone is local popup notification reminders of events.

While I use multiple computers, I do not use a smart phone or any kind of personal assistant. I do not anticipate any such addition, which helps with evaluating replacement software.

While wanting reminders of events, I do not need that information tethered to me 24/7. A single reminder once per day usually is sufficient.

I do not need a task manager, to-do lists, or journals. Since I started using computers years ago I have used text files for to-do lists. That is all I need.

I do not need a groupware solution, such as Zimbra, Citadel, Kolab, or Horde.

All I want is a reminder service and popup notifications.

I do not want the overhead of a full personal information manager like Evolution. The only alternate stand-alone KAlarm client that looks comparable is Xfce Orage. Unlike KAlarm, Orage supports external or “foreign” calendars. While I do not know for certain, I presume that support means concurrent access.

Another option might be the Thunderbird Lightning add-on. That means running Thunderbird continuously just to receive event reminders. If I go down this route I first need to convert KMail to Thunderbird.

My first step was deciding how to centrally store the data.

Surfing the web finds the darling of the day, OwnCloud. A complaint I found against the OwnCloud calendar app is reminders are not yet supported and this has been a feature request for some years. On reflection I do not see this as a problem if I am not using the OwnCloud client. Other client software can provide the reminders. The OwnCloud service is only a storage location for the data.

OwnCloud uses a database and needs a web server. Yuck.

I am not keen on installing a full OwnCloud server just for a reminder service.

Another option is the Apple Darwin Calendar Server, which is open source and not proprietary. Another database backend.

Next is DAViCal, which uses PostgreSQL. DAViCal needs a web server.

Another option is Baikal. Baikal uses a SQLite database, PHP, and a web server.

I am not warm and fuzzy about this trend of everything needs to be in a database and use a web server. I see no need to use either. I suppose after I get a client working to provide popup notifications, running a database probably becomes insignificant. That said, running SQLite is more palatable than running a full MySQL or PostgreSQL backend. I rather just use text files. Five dozen events is not a lot of information, even if that amount doubled.

I looked at Cosmo but as soon as I saw the word Java in the dependencies I stopped reading.

Another option is Radicale. The developers of Radicale intentionally do not fully support CalDAV (or CardDAV). In other words, Radicale intentionally is not fully standards compliant. The developers only guarantee they support certain client apps, one of which is the Lightning calendar add-on for Thunderbird. Orage is not mentioned explicitly as being supported. Some snooping around the web indicates that Orage should work.

KOrganizer is supported in Radicale while KAlarm is not explictly mentioned. That adds little value anyway since I want a client app that is not user-centric or tied to significant desktop libraries. The dependencies of KDE4 KAlarm are too many.

I do not know whether PAM is only supported in Radicale or required. Slackware does not officially support PAM. I am using Slackware on my server. If PAM is required then I would have to run a VM server on my server to run Radicale. Doable but not a simple approach.

At least there is no database or web server requirement with Radicale.

Another option is ReminderFox, an add-on for both Firefox and Thunderbird. While I have been reasonably content with the NewsFox add-on in Firefox to centralize RSS feeds, I am hesitant about creating deep dependencies on the web browser. As ReminderFox runs in Thunderbird that probably negates that concern. I do not receive an abundance of email so keeping my email client running all day is not something I need or want to do but is hardly the end of the world. The challenge is I first need to migrate from KMail to Thunderbird.

Unless I tolerate a database backend and a web server, which seems to be a lot of ridiculous overhead for reminders, my options seem to be Orage, Radicale, or ReminderFox.

Posted: Category: Usability Tagged: General, Migrate

Next: Migrating Apps — KAlarm — 2

Previous: Using Proprietary Software