
Show HN: Egeria, a multidimensional spreadsheet for everybody - egeria_planning
https://egeria.rocks/
======
oehpr
I'm investigating this right now, I can't tell you much, as I don't understand
some of the fundementals yet.

I have to say, first glance, I like the idea of this tool a lot. I normally
use light weight spreadsheets like gnumeric when I feel the need to use them
at all, and I'd love a more expressive kind of spreadsheet/database/pivot
table like this.

At the outset however, I'd be concerned about integrating a tool into my
workflow that, most dangerously, is a service that could disappear and take my
work with it. Second most dangerously, is proprietary. Third most dangerously,
lacks a community beyond the initial dev. Fourth, if it is a service, is not a
'zero knowledge' service.

So while I like this look of this tool very much, and I'm going through the
tutorials and playing around with it, personally I see this as a difficult
sell. At least for me. But... I dunno, I don't think I'm the kind of
demographic that moves markets.

You might see some kinds of success with this by emulating the gitlab model.
open source the central components of it for personal use, and try to get some
companies looking at it with enterprise-y features?

~~~
egeria_planning
I've got several mails from people who'd like to install the system on their
own machines. Installing Egeria is not as easy as a desktop application
because it is a web server. I will probably add a download page with
installation instructions in the next weeks.

~~~
barrystaes
Install a webserver/application? Sounds like what you want is a tiny
Dockerfile. Can highly advise giving this a try, PM me for questions.

And if written in a script (or non-compiled language) probably something to
keep your source safe and avoid abuse. Some random examples are sourceguardian
(PHP) or proguard (JAVA) or enclosejs (Javascript)

~~~
tudelo
But then you need Docker... right?

------
scarcely
Wow nice, I can easily imagine using this to manage my custom keymaps.

Currently I store everything in Excel. All the modifiers and modifier-
combinations (lctrl, lalt, lshift, lctrl+lalt, lctrl+ralt+lshift ...)
correspond to columns, all the modified keys (a-z, 0-9, ...) column to rows.

But being limited to 2 dimensions can be very inconvenient. For example since
you have at least 6 modifier keys (ctrl, alt, shift keys on both left and
right, 8 if you include windows keys, 9 if you include remapped capslock),
trying to cover all the modifier combinations (e.g. lctrl+ralt+lshift) leads
to combinatorial explosion and make the number of columns totally unmanagable.
(It becomes even trickier when you want to define vim style _sequences_ )

This looks like it's designed just for that purpose!!

------
benj111
Could you explain what you mean by multidimensional.

My first thought was that all spreadsheets are at least 2D, some like SC are
explicitly 3D, but the write up seems to suggest something different?

"Multidimensional data model: worksheets are organized by business entities
(SKUs, departments, years, months, scenarios and so on). The data is stored in
a more structured way which has many benefits like simple and robust
computations across multiple worksheets "

~~~
egeria_planning
Multidimensional sheet is like a tensor (a multidimensional matrix). You have
a cell for every coordinate combination of it's axis. You can imagine a 3-D
sheet as a stack of 2-D sheets. You can also check this one out:
[https://en.wikipedia.org/wiki/Dimensional_modeling](https://en.wikipedia.org/wiki/Dimensional_modeling)

~~~
benj111
Yes I get that but A. All spreadsheets are multi dimensional, so why point it
out. B. The blurb seems to conflate it with structured/typed data.

I've tried reading the link, but it isn't making much sense at the moment, but
doesn't seem to be using dimensions in the same way as I would expect a
spreadsheet to?

~~~
egeria_planning
A normal spreadsheet is considered 2D. You could probably call Excel 3D if you
count the multiple worksheets, but thats it. You cannot add the forth
dimension. Dimenional model is mostly used in the databases right now. I
agree, it is a bit more complex than normal spreadsheets. Here is an article
which describes the concept a bit better:
[https://en.wikipedia.org/wiki/OLAP_cube](https://en.wikipedia.org/wiki/OLAP_cube)

------
infinite8s
Nice, this looks pretty similar to Quantrix Modeler and Javelin, it's
precursor. Sadly Javelin suffered from MS's shenanigans with Excel bundling. I
was wondering when someone would reimplement those two on the modern web
stack. Before the web became popular for these types of apps I had prototyped
something similar using pandas and PyQt.

~~~
qwerty456127
> Before the web became popular for these types of apps I had prototyped
> something similar using pandas and PyQt.

Haven't you open-sourced your prototypes? A hackable desktop app made with
PyQt and exposing Pandas functionality a nice GUI way seems a way more
appealing to me than yet another heavy web application thet depends on a 3-rd
party server and requires an Internet connection to use.

~~~
infinite8s
That's a really good question. I generally end up building these tools for
personal use or to see if some design space is worth exploring, and so don't
bother cleaning up the code/making it easy for other people to run. In
addition, people now have the expectation that people releasing open source
code owe them some manner of improvements/support/maintenance, something I'm
not interested in doing. I like David Beazley's recent tweet about releasing
his code asis -
[https://twitter.com/dabeaz/status/1069236767029633024](https://twitter.com/dabeaz/status/1069236767029633024)

I've got a number of tools like this - a basic SQL GUI for doing analytics
([https://news.ycombinator.com/item?id=14050833](https://news.ycombinator.com/item?id=14050833)),
a Tableau like clone with interactive graphics for visual analytics
([https://pbs.twimg.com/media/Cyji3jRWIAA2LRY.jpg:large](https://pbs.twimg.com/media/Cyji3jRWIAA2LRY.jpg:large))
- your comment is making me reconsider that people might find them useful
without any expectation of support/warrantee of fitness.

------
hermitcrab
I have tackled a similar problem with Hyper Plan (
[https://www.hyperplan.com](https://www.hyperplan.com) ) but it:

-uses coloured cards as the main metaphor

-has pivot table functionality built-in

-is desktop based (Windows and Mac)

I think the card approach is very intuitive and is a good fit for where:

-the problem is 'chunky' and there are not more than a few hundred 'chunks'

-there are less than 20 dimensions

For example assigning resources to tasks.

------
nivenhuh
How many rows can you have in your spreadsheet before performance starts to
become an issue? (I noticed the table isn't lazy-rendered, which sparked the
question.)

~~~
egeria_planning
A single view should not get too large. The system will not show more than
60000 cells in one view. You will get an error message. The cube itself can
grow very large: 10-100 million filled cells. The trick is to design the
dimensions so, that only a small portion of the data is visible at once. You
can group large dimensions by a column to build a hierarchy
(category/model/sku or region/point of sale). This way only a portion of the
data is shown at once.

------
maximilianroos
This is awesome - great job

One feature that would be immediately interesting for a specific userbase is
to be able to import existing multi-dimensional arrays - e.g. netCDF / Zarr

There aren't tools available for being able to view those in a reasonable way
currently (generally I'd use a REPL and be slicing & printing 2D chunks)

So even if it were import-only, this would be v useful

~~~
egeria_planning
I was surprised that there is no common file standard for interchanging
dimensional data. As far is I can see netCDF and Zarr only store values/arrays
and not the metadata? I will check if there is an easy way to import one of
them.

~~~
digikata
HDF is multidimensional and carries metadata.

------
polskibus
Couple of questions:

Is this an Anaplan competitor? If so, what are your key differences, value
props?

What are you using as persistence layer? Postgresql? Mysql? Commercial? How
well would it compose with existing ETL and BI tools? What is the concurrency
model esp with regard to planned permissioning model? What happens when two
differently permissions users run the same formulas?

~~~
egeria_planning
\- I am not really familiar with Anaplan. You could probably compare them, but
as far as I understand Anaplan is a more specialized (planning) tool. \-
Egeria is a database itself. I use Sqlite as a key value store for persistence
now. I will probably use Mongo in production. \- I will provide a command line
tool to automate import and export with ETL tools in CSV format first. A
better integration with relational databases would probably come later on. \-
All formulas are computed on the server, so users don't run them. Only
superusers/designers will be able to change formulas. A normal user will only
be able to enter values and change metadata. The concurrency is implemented
using locks and in-memory data structures on the server. Open two tabs on the
same sheet and try changing values in one of the tabs to see how it works.

~~~
kornish
> I will probably use Mongo in production.

Just curious: if one of the product differentiators is that its semantics more
closely resemble a relational database, then why not power it with a
relational database?

~~~
egeria_planning
Egeria is in-memory for performance reasons. Egeria can recompute millions
cells per second. To do so cells are grouped into chunks and stored in binary
form. Relational databases are much slower. It is possible to have a
relational backend sometime in the future, but for now using a key value store
also meant less implementation effort.

~~~
wenc
Multidimensional calculations typically require a lot of aggregation,
rotations (pivots) and joins.

Mongo is good for store-and-retrieve, and aggregation along a single
dimension, and not as strong at the operations mentioned above.

Have you benchmarked Mongo against a relational db for analytic operations on
a multidimensional model? The results could be interesting and perhaps
different from what you would expect.[1]

Many new OLAP products are implemented on pure relational databases for
performance reasons. Some databases with columnar indices are even faster for
OLAP type operations.

[1] That said, Mongo could be a good choice for latency reasons. If your
spreadsheet is doing lots of small calculations, then it makes sense to use
something that can return results quickly.

~~~
egeria_planning
Egeria is not OLAP in the sense of analytics. It does not aggregate data. It
computes formulas. Relational databases do not support this.

------
penetrarthur
Doesn't work on pixel 2 xl. Says Egeria requires at least 1280x400 pixels to
display correctly.

~~~
egeria_planning
It is a desktop only application at the moment. The mobile version will come
later.

------
DEADBEEFC0FFEE
You mention that Excel is used by non-technical people,/( which is a
generalisation), and then I see many comments on HN seeking clarification. It
seems to be a complex product. What's the target market?

~~~
egeria_planning
That's exactly what I try to understand now. I think that people who work with
OLAP now should be able to use the system. But I also hope that some
percentage of non database people would also be able to learn it. I don't
think that the system is self explanatory, but watching a 10 minutes tutorial
video could explain a lot.

~~~
wenc
Take a look at the target market for Quantrix Modeler (Lotus Improv's
spiritual successor).

It sounds like your product is in the same space (multidimensional modeling)
and the market is likely an overlapping one. I looked at Quantrix Modeler some
time ago as an Excel replacement for complex multiparty reporting, and was
impressed by it.

Also, Gartner considers these class of products to be in the CPM space. Take a
look at this for the products you'd be in competition with [1]. These are more
tailored toward financial and business reporting, but the underlying
foundation for all of them are similar: they all use multidimensional modeling
engines.

[1]
[https://www.adaptiveinsights.com/sites/default/files/gartner...](https://www.adaptiveinsights.com/sites/default/files/gartner-
magic-quadrant-cloud-fpa-2018-lg.jpg)

~~~
egeria_planning
Most of these products are so expensive, that only large companies can afford
them. A middle size company has a guy who gets 30-50 Excel reports per e-mail
at the end of a month and combines them to a single document manually. I hope
Egeria could help in such situations...

------
gregburd
Would you consider this in the spirit of Lotus Improv, but for the web?

~~~
egeria_planning
From what I have heard of it: yes. I hope the formula language is also a bit
better. AFAIK Improv could only have one formula per dimension element. Egeria
allows formulas on any subspace inside the cube.

------
aldoushuxley001
What is your business model? How will you make money from Egeria?

~~~
egeria_planning
I plan to have a free version with some limitations (like the size of the
model) and a paid version. Probably both on-premises and cloud.

------
fiatjaf
Most amazing thing ever. This tool will completely destroy online database
apps that cost a fortune like Airtable.

~~~
hermitcrab
Airtable is around $10/person/month. I wouldn't consider that a fortune.

~~~
fiatjaf
If you have no data.

Once you have one year of very low business data, you're in the second tier.
Two years more and you're the third tier. And it never stops.

------
riffraff
Egeria is a nymph name and associated with a spring in Rome, and my favourite
naturally sparkling water.

It was super weird seing it on hn.

~~~
egeria_planning
I was just looking for a nice name, which is not used much on the web. :)
Maybe the name will change later...

------
aldoushuxley001
How do you ensure the data is kept safe and private?

~~~
egeria_planning
At the moment I don't. It's a beta test. The commercial version will support
two factor authentication. I think a local installation on the client's
server/workstation would be the best option for very sensitive data.

~~~
ashrodan
Then how do you support it? What happens when you need to upgrade or fix a
bug? It's nice to hear that you'll support different needs but be careful as
this could cause unnecessary complexities and take you away from developing
the core product and improvements. Makes me cringe thinking about supporting
different versions of the same product.

I'd suggest stick to the cloud offering and get compliant with gdpr and soc
etc

~~~
egeria_planning
The cost for a typical SOC Type 1 starts at $20,000, and SOC Type 2 starts at
$30,000. I will probably have to start without SOC...

