FAQ Answer:
Timelapse Technical Details

If you are installing Timelapse on your own computer or asking your organization’s IT department to install it for you (perhaps system-wide), you or your IT group may need further information before deciding to allow it. We certainly understand concerns that institutions may have regarding non-commercial software.

This page provides (perhaps excessive) details so that you and your IT staff know exactly what Timelapse and its installers are doing, and can make an informed decision about its installation and use.

What is Timelapse?

Timelapse is software that eases the process of tagging the huge number of images taken by camera traps. Analysts inspecti thousands, hundreds of thousands and even millions of collected images. In the process, they turn images into understandable data by entering descriptive data (tags) into data fields.

Timelapse includes software, full documentation, videos and tutorials, all available at the University of Calgary website. Timelapse is also open source, where code used to generate its latest version is available via a Github repository.

History and Reputation

Some history may help in determine Timelapse’s reputation.

I, Saul Greenberg developed Timelapse. I am a Computer Science Emeritus Professor at the University of Calgary specializing in Human Computer Interaction. I am well known in my field and, amongst other honors, was made an ACM Fellow for my research contributions.

Timelapse is a decade plus project. It began when a researcher asked for help tagging images for camera traps. Over time, other researchers, ecologists and agencies began using Timelapse, where it is now used by a broad international audience (see below). Based on their feedback, I constantly refine its features and documentation to help those people work efficiently. This is why new versions of Timelapse are regularly released.

Dissemination. I have provided various public presentations concerning Timelapse. I have also produced research publications in reputable venues describing Timelapse’s features (several are listed in the About page) . These publications and Timelapse are reasonably well-cited in the academic literature.

Direct collaborations exist with other reputable software creators to allow inter-operation: AddaxAI (which presents a user interface to do wildlife image recognition) and Megadetector (which does the actual recognition).  Addax AI and/or Megadetector is an optional and separate installation. When run, they scan images in a given folder and produce a recognition file. Timelapse can import that recognition file. Timelapse displays bounding boxes atop recognized image features, and allows the user to select images based on recognition criteria.

Current agencies and users of Timelapse. Timelapse is in heavy use around the world by various commercial firms, national agencies such as national park services, zoos, universities (professors, graduate students, student researchers), individual ecologists, and others. For example, Timelapse is used routinely by Parks Canada, by the US National Parks Service (which also put Timelapse through a vetting process), and by US state agencies such as Idaho Fish and Game. Its fair to say that various agencies and individuals use it regularly to process many, many millions of images. 

Timelapse is a public service. I make Timelapse freely available as a public service, mainly because I believe in the work that ecologists are doing. I am not paid or get other revenue for Timelapse developement. I do not ask those who download and use it for any information: users are not required to register or otherwise identify themselves. Timelapse does not include advertisements. There is a mailing list, but users have to explicitly sign up for it.

Timelapse as no known security violations. Bugs and crashes do occur, which I fix as soon as they are reported. No one has ever reported any security or privacy problems since its inception, or malicious use.

The Timelapse software / Installation

Timelapse is free and open source. See license and Github site.

Timelapse is a typical Windows desktop application. It is written in C# and WPF, and compiled as x64. It is tested on Windows 11, but should run on Windows 10 (and likely even earlier versions).

Timelapse is unsigned. A yearly license is just too expensive for free open-source software. I would be happy to take donations to fund signing.

Downloading Timelapse. Timelapse installers and executables should be downloaded from the Timelapse web site, a secure https site maintained by the University of Calgary. I created the installers and compiled the executables myself. See below for Installer details.

Dependencies. Timelapse relies on packages and two executables built by others. I check them to ensure that its authors are reputable and that there are no reported security problems. In particular:

  • Timelapse is built upon several Nuget dependencies (see list in https://timelapse.ucalgary.ca/license/ ).
  • Timelapse uses Microsoft’s .NET 8 Desktop Runtime. .Net is included in the per user and zip file installation (see below) but must be installed separately in the per machine installation (as an IT group may prefer to monitor and update .NET if needed).
  • Timelapse uses SQLite to store its data locally as two SQLite database files suffixed with .ddb and .tdb.
  • Timelapse’s distribution includes the FFMPEG and ExifTool executables, which are used to extract video frames and file metadata.

What happens during installation. Timelapse includes three ways to install it: per user, per machine, and as a zip file. All installations follow standard practices. Commonalities and differences are noted below.

  • Timelapse executables and dependencies are installed in a single folder in expected locations
    • per machine: C:\Program files;
    • per user: %LocalAppData%\Programs\Timelapse ;
    • zip install: user-defined.
  • Installation includes
    • Timelapse.exe: main program),
    • Timelapse-ViewOnly.exe: invokes Timelapse with an argument to make it Read-Only)
    • TimelapseTemplateEditor.exe: invokes Timelapse with an argument to open its Tempalte Editor window)
    • FFmpeg.exe: for doing several video functions,
    • ExifTool(-k).exe including its required Perl enviroment: for viewing and extracting image and video metadata.
    • .NET 8 in the Per User and Zip File installations. .Net 8 must be downloaded separately in the Per Machine installation (see Microsoft’s NET 8 download page).
    • .bat / ps1 scripts but only in zip install; optionally used to create shortcuts and file associations)
    • Platform: x64
  • Shortcuts to the three Timelapse executables are created via registry entries by the per machine and per user installation on the Windows Desktop and the Start menu. The Zip install provides a .bat file for optional shortcut creation on the Windows Desktop.
  • File associations with Timelapse .tdb and .ddb (SQLite files) are created via registry entries (the Zip install does this by optional manual invocation of the .bat/ps1 script).
  • An Add or remove programs setting, created by the per machine and per user installer, includes Timelapse to allow it to be easily uninstalled. The Zip install includes a manually invoked .bat/.ps1 file for removing shortcuts and file associations.

Security and Privacy

Timelapse executables are based on source code that only I wrote, with the original version stored on my own reasonably secure computer. Only I have access to that version (which I mirror on Github), and only I compile it to produce the executable.

Timelapse and its installers do not request, store or look up any personal information about the user, domain, organization, etc.

Timelapse does not include adware.

When a user executes Timelapse on their own computer, Timelapse:

  • does not require elevated security, i.e., it runs under the standard user level.
  • no images or data is shared or collected for use by others (e.g., other agencies, advertisers)
  • creates, reads and writes files only in a user-selected folder (and its sub-folders), i.e., to save tagged image into an SQL database file, to create backup files, etc. The user indicates the desired folder’s location, which is normally a local folder owned by the user, or a network file system folder accessible by the user. No files are written outside that folder or its subfolders. The single exception is with the per machine installation, where Timelapse may make a copy of FFMPEG in a temporary folder to allow FFMPEG to produce intermediate file results (since the installation folder is not normally writable).
  • stores user settings in the registry to save state information that is restored when the user opens Timelapse (e.g., the Timelapse window location and size).
  • will direct a web browser to open a given web page as requested by the user (e.g. to help pages and videos on the Timelapse web site, or to the AddaxAI download page);
  • only attempts one external network connection under its own direction, where it reads a file on my website to see if a software update is available. If so, the user is informed via a dialog box. However, downloading updates is a completely manual user-driven process, which is done separately by the user visiting the web site’s download page.
  • can initiate running the AddaxAI executable (but only if it was previously installed). AddaxAI is optional. Timelapse itself does not download or include AddaxAI and Timelapse can run without it.
  • if directed by the user, will ask Windows to open a file’s location (e.g., via Windows File Explorer) or to display an image or play a video using whatever Windows application is associated with that file’s extension (e.g., Windows Photo View, WIndows Media Player or whatever is configured as the default viewer/player).
  • if a crash occurs, a dialog appears allowing the user to send a crash report to me via a manually invoked mail to: link

User support

User support is provided by mailing me directly at saul@ucalgary.ca . I am usually very responsive. I try to address their questions within a few days. I update Timelapse as needed (e.g., critical bug reporting). If required, I also set up video meetings for longer conversations, Q&As, and explanations.

If further information is required, please contact saul@ucalgary.ca