Hacker News new | past | comments | ask | show | jobs | submit login
The Intensional Spreadsheet (billwadge.wordpress.com)
79 points by herodotus on April 20, 2020 | hide | past | favorite | 21 comments



Very cool ideas. I'm surprised that the article didn't mention R1C1 mode [0], which seems to be a big step towards the "intensional" view of a formula.

0. https://bettersolutions.com/excel/formulas/cell-references-a....


I was thinking that the article overall felt bit out of touch with what Excel does these days, then I checked the date on the date on the linked original IEEE article and its from 1990, 30 years ago. No wonder it is bit difficult to place in modern context. "A while back" indeed.


R1C1 is even older still. It was first released in 1982 as the the cell addressing for Microsoft Multiplan (so we are talking pre-Excel).

Microsoft only later adopted A1 formulas to fall in line with VisCal and Lotus 1-2-3.


I had the same thought -- it seems like many of these ideas overlap heavily with R1C1 mode, which is already how Excel internally manages formula copy-paste.

Joel Spolsky explaining how it works: https://youtu.be/0nbkaYsR94c?t=567


Seems the author of the article has now addressed this:

> It’s been pointed out that you can get something close to this with R1C1 notation. R[-2]C is the cell two columns to the left on the same row. This notation is not as general; for example we can write left(F+left F).

I'd argue it's more readable too.


Yeah. Here's the fibonacci example in a column:

    0
    1
    =R[-2]C+R[-1]C
    =R[-2]C+R[-1]C
    =R[-2]C+R[-1]C
    =R[-2]C+R[-1]C
(at least, how Libre Office Calc shows it)


Yes, spreadsheets use relative references and transform them to absolute references as a display format.


The multidimensional spreadsheet has been around for a long time. The first product I worked on was one, that competed with others like Lotus Improv, CA-Compete, and one for the Mac that I believe was named FreeBase. That Computer Associates and Lotus were selling them tells you something right away. I believe it was IRI that sold Javelin, a spreadsheet with some time-series capabilities. There are/were many others too. OLAP planning product (of which I’ve worked on multiple) tend to provide a very spreadsheet-ish outlook on their UI and modeling capabilities, coupled with real data management.


So, what happened to all of these? I feel like a multidimensional spreadsheet would be a great alternative to things like MS Access.


I've been looking into this space a bit (after one day realizing that what I'm doing at work is essentially reinventing OLAP abstractions). The way I see it, multidimensional spreadsheeting has evolved into expensive, proprietary ERP and BI software, while the ideas from it end up being repeatedly reinvented in various "excel killer"/"more complicated CRUD" startups without ever reaching their full potential (I'm guessing that would kill the business value). The middle doesn't seem to exist (EDIT or maybe it does?[1]) - I don't know of any actual multidimensional spreadsheet that's accessible to regular people.

There was Egeria[0] featured on HN some years ago, but they've seem to have reverted to a closed beta since then.

--

[0] - https://news.ycombinator.com/item?id=18656746

[1] - https://news.ycombinator.com/item?id=22927875 points out https://www.xcubes.net/, which seems like the "middle" I was looking for.


The multidimensional spreadsheet is a more complex piece of software than the 2-D, and invites more data that needs to be managed and processed. So it trends to a more database-like system. There might be a niche for small and even-more-complex modeling. It’s hard to open-source something that takes the required investment.


The market kind of died. Lotus Improv had a slick interface but a sucky semantic model. Freebase was for the Mac, good luck with selling business software on the Mac in the 1990’s. Generally, Excel wiped out the Cambrian Explosion of spreadsheet innovation, and the survivors were Excel add-ins with a separate back end (Essbase, TM/1, which are still around). Microsoft never got into it, acquired their way in, and have never shown an aptitude for this area. I think Gresham’s Law pertains to how PivotTables have taken over the MD functionality for Excel


Love it — a step towards letting people do algebra instead of arithmetic (going up one level of abstraction, basically).

We've implemented almost precisely this in Causal (https://causal.app) — models come with the 'time' dimension as a first-class citizen [1], letting you write a single formula like

   Revenue[t] = Revenue[t-1] * (1 + Growth Rate)
to calculate the Revenue at all points in time. And you can do vectorised operations along the time dimension by writing formulas like this:

   Profit = Revenue - Costs
where Revenue and Costs, and therefore Profit, vary over time.

---

[1]: You can specify the time dimension yourself, e.g. "Monthly, Jan 2018 – Jan 2023" or "Yearly, 2020 – 2030"


Very interesting. I believe that Bret Victor does the time part really well (visually) here: http://worrydream.com/MediaForThinkingTheUnthinkable/ (in demo 4). Also, Mesh apreadsheet is very interesting in this regard, especially with K (Array based language) embedded in it. You can then write a bunch of expressions as {function} scan over initial values, both time based or otherwise. http://mesh-spreadsheet.com/


That reminds me a lot of Lotus Improv (somewhat before my time) and one of my favourite tools, Quantrix Modeler. There are some more modern alternatives out there that take a similar approach — I just saved a model I’m editing on my iPad in XCubes, for example.


I'm working with @refrigerator on Causal. We also came up with a similar way of nesting spreadsheets (here’s a demo video: https://www.loom.com/embed/0d7a784308c345e08e72451ed854c590).

In Causal any cell (we call them variables) can be computed by another spreadsheet (we call them models). To make this more powerful a model can have input parameters like functions in programming languages. So a model can be composed of reusable submodels.

There’s a bunch of spreadsheet templates floating around the internet but there’s no way to compose them or update them. Wouldn’t it be great to have something like npm for spreadsheet models?


yes, that would be great!


Just kicked the tires on Causal, it's pretty great! I really like the fact that there's auto completion for variable names, it makes it pretty straightforward to build formulas.

The only thing I couldn't figure out is how to rename a scenario.


Thanks! Unfortunately, there's no way to rename scenarios right now. Coming soon :)


From what I can tell, Causal's models only run forwards, with no inference (ie, they can generate predictions from priors, but they can't update those priors from observations).

Is adding inference on the roadmap?


Yeah we sadly don't do inference right now. The initial vision was for the product to be a nice UI to let people build Bayesian networks, but now we're focusing more on a mainstream audience so probably won't be adding inference at all!




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: