Every tool has a set of principles that guide its design. Here are some key principles in Columnal's design:
Columnal is constructive, not destructive. When you sort or delete data in a spreadsheet, this cannot be undone if you later need the original. Columnal encourages you to never modify data values; instead you use transformations that sort or filter without ever losing the original data.
Columnal is designed to prevent errors. Every data value has a type, which helps prevent mistakes like treating a number as text or adding two dates together. Numbers can have units which prevents mix-ups between currencies or different measurements. Having the data in tables prevents forgetting to change a sum formula if the table grows longer.
Columnal is interoperable. Many people like to use a variety of tools to accomplish their goals and Columnal aims to interoperate with them. It offers easy data import and export, and its own file format is text-based, meaning it works well with version control systems like Git.