Work

Home | Work | Play | Photos | Contact | About

Interact

12/27/2012

Home > Work > Interact

Introduction

Interact is a project I've been working on since 2004 -- it started life as a password manager..

I still use that first version as a password manager, but the project has since morphed into a database in which all data is encrypted on the client, and synchronised across devices using a distributed server network.

Interact has forms to search for, display and enter data. Data items support a variety of standard field types. Changes to items are tracked, allowing their history to be inspected, or reverted to a prior state. Interact encrypts and saves data to a local storage file, and automatically synchronises encrypted data across devices via a zero-knowledge server.

Interact

More screen shots are available here.

How it works

Interact centres around three things - templates, items and links. Templates define items, so they're analogous to database table definitions. Items are analogous to table records. Each item contains its data and its template. Future changes to a template therefore don't affect existing items based on older versions of the template. Data structure can therefore evolve independently of data. Finally, links. Links define relationships between items. This is the process:

Create template
  
Create fields
 
 
Select template
 next step 
Create item
 next step 
Save item
 next step 
Sync item
 next step 
  (automatic)
Select item
Create link
Save link
Sync link
  (automatic)

If for example, you created a template describing a person, you might then create an item using that template:

Template   Item based on Person
Person
First name String
Surname String
Birth date Date
Email Email
 
John Smith
First name String John
Surname String Smith
Birth date Date 25 April 1990
Email Email john@smith.com

Items can be tagged with labels. Also, a complete change log is held for all items. This means that an item can be reverted to any prior state. It's a bit like - no wait, it is records management for structured data.

Technical scope

Database

Data synchronization

Security

What Interact doesn't do

More information

< Back to Work | ^ Back to top


All content copyright © Michael Wittenburg 1995 to 2024. All rights reserved.
Merch (t-shirts designed by my twin)