Sunday, March 30, 2014

Re: Vim Spreadsheets

Hi all, I think I've realized something important.

But first, two questions: 
 - is there no way to "Undo" my last actions in sc?
 - is there a way to perform actions in "visual mode", like in Vim?
I have read the whole manual and done two tutorial. I have printed the man page but it is very long, so i haven't read it all yet. sc deserves a more thorough tutorial.


This week I tried CSV.vim and sc, and I replaced one of my most complex spreadsheets by an app. Here is what i learned, and I think it's important.

1. A Database is meant to store data, and describe the relationship between data. A CSV file is a database in a human-readable format, so you can easily navigate it, and even do some changes. That is exactly what CSV.vim helps you do:
    - sort the data according to any given column
    - search for a value in one given column
    - filter the data (eg: "only show rows that contain "haha" in column 5, and "houhou" in column 7")
    - analyse the data (probability distribution on one column)
    - do substitutions in one column
    - etc
Very handy stuff but it doesn't replace a spreadsheet, it's very different. 

2. An App lets you perform actions on the data (which is stored in a database). It describes possible interactions between different piece of data, and lets you extract, process and display some information. It's the most flexible kind of tool, it can do pretty much anything.

3. A spreadsheet tells a story.
It stores data, lets you act on it, and it displays it all on one screen in order to tell a story. It could be the story of your finances, or it could be statistics that help you make a decision. But it's main strength is to display the information in a readable format, and let you change parameters and see how that changes the story.

sc really gives you that. You can: 
    - format cells or columns: you can color them, choose specific formats for numbers, put the text on the left/center/right, etc.
    - use formulas in cells to tell the story of the relashionship between data
    - name a cell or a range, so you can easily refer to it in another cell (that is proper story telling, that is!)
    - lock some cells in order for someone less experienced to change the parameters of the story without damaging it => you can share your story with anyone and let them play with it !

A spreadsheet can do less things than an app though, it is less good for expressing complex relashionships between complex sets of data, and it doesn't have access to the same external services (webservices, programming libraries, etc). 
But sc is smart! It enables you to easily plug some cells with external commands, so it can use any app out there. Awesome! The app does all the hard work, and in the end the spreadsheet tells the story in a readable format, and lets people play with it by tweaking some parameters.

Until now I has used spreadsheets for all of the above. Recently i've realised that some of my spreadsheets should better become apps with a database and a command line interface. And now I also know that I could use a spreadsheet to manipulate some of my apps, and display the results in an easy to manipulate manner. I don't  always need a full fledged HTML+Javascript frontend, sometimes an sc frontend is good enough.

How does this sound?

--
--
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

---
You received this message because you are subscribed to the Google Groups "vim_use" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vim_use+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

No comments: