Cactus for Firefox OS - v0.7

Copyright (c) 2014-2016 Jean Luc Biellmann (contact@alsatux.com)

Presentation
------------

Cactus is an offline calendar providing a single yearly view with :
- a simple interface to manage events quickly.
- categories to visually sort events.
- repeat events (daily/monthly/weekly/yearly).
- a paste button to make independant copies of the last event.

I wrote this program for many reasons :

1 / current calendars are too heavy and inefficient on my point of view. ITRF, 99% of our  appointments are daily ones with a duration &lt; 4 hours. That's why Cactus uses durations instead of ending dates/times, making event creation a lot faster and easier.

2 / using a single yearly view make daily/weekly views useless. Even on small smartphone screens, Cactus show your appointments for several days, including titles and durations. IMHO, vertical scrolling is the best way to go backward or forward in the events list. I have no plan to integrate a monthly view for two reasons : first one is that smartphone screens are just to small to use a monthly view efficiently, and second is that only a few people really use it ITRF.

3 / online calendars are just basic NSA &amp; corporations feeding tools. I really hate to be spy by big brother and Co, that's why i choose Firefox OS first. Cactus respects your privacy and give you the full control of your calendar back again. The tool can even be used on desktop, and i recently rewrite the CSS to quickly integrate it in others projects !

Finally, note that Cactus uses XML text format to store your calendar, making easy to use these datas for future webapps.

Cactus on smartphones
---------------------

Every time you add/delete events or categories, Cactus backups the whole calendar in the directory "sdcard:cactus/default", using incremental filenames like 20140628120030.xml.

On startup, Cactus searchs for the last backup available in this directory - the more files are present, the slower the startup is. So don't forget to clean old files from time to time, or simply let Cactus always open !

One another point to remember is that YOU ALWAYS NEED TO UNPLUG THE USB WIRE when using Cactus, to free the access to the SD card. If you don't, changes are saved in memory but not on the SD card. If you make this mistake, let Cactus open, unplug the USB, edit an event then just save it again - the new backup should contain all datas. Bad manipulations can sometimes produce empty backups too when the USB wire is connected. In this case, close Cactus, use a file manager, search for the last backup in the directory "sdcard:cactus/default", check its size (which should be smaller than olders files) then delete it, and open Cactus again.

Finally, like any offline tool, you have to frequently backup your datas on your PC, but fortunately, this is rather simple using GNU/Linux. I wrote an udev rule and 2 little shell scripts on my website to do the job every time the device is plugged in ! This scripts are provided "as is" and you have to rewrite them to reflect your own configuration.

Cactus on desktop
-----------------

Since version 0.6, Cactus is now compatible with desktop browsers. This means you can  import/export your calendar from your Firefox OS device, work on it with a browser (Firefox of course), and save it again to the phone.

To import a calendar, just drag&amp;drop the XML file on the Import button.

To export a calendar, just click on the Export button.

N.B.: on desktop, storage uses the localSession feature of HTML5 compatible browsers. The XML content is stored in the key "cactus", and the last backup in "cactus_bak". So if you want to reset your calendar, just clear these two keys.

Performances
------------

After 2 years of daily use, my GP Peak takes 8s to show the 863 events of my 2015 calendar. This is not a problem during the year with the calendar always open. It just becomes annoying when you switch from one year to another, especially at the end of the year.

I tried many ways to speed up the program (including working on DOM level), but the main problem is still the same: the yearly view can be 6000px high, and takes a lot of time to redraw, even on a Alcatel One Touch Flame which is faster than a GP Peak.

Credits
-------

The Cactus icon is a SVG composite using the icons of placidoaps (http://openclipart.org/detail/28740/-by--28740) and palomaironique (http://openclipart.org/detail/45841/sticky-note-green-folded-corner-by-palomaironique and others notes) - thanks to both of them !

Thanks to materialdesignicons.com for the icons of the menus.



Please report any bug to contact@alsatux.com.


