Ultorg: The User Interface for Relational Databases
110 points by Ivoah 11 hours ago | 33 comments

edbaskerville 2 minutes ago
What's the patent situation?
reply
kragen 9 hours ago
Eirik Bakke's Ultorg (SIEUFERD) is amazing and inspirational research, and I'm glad to see that it's finally available to the public after 17 years. It's one of those things that really makes you sit up and take notice of how much better our everyday software could have been.

However, I wouldn't be willing to try it under proprietary-software terms. Last week, I was thinking about eliciting open-source software with the Ultorg look and feel from an LLM, thus replicating Bakke's HCI research and enabling other HCI researchers to build on it, which won't be possible under a proprietary license.

My notes on Ultorg may be of interest; you can

  git clone http://canonical.org/~kragen/sw/pavnotes2.git
and read sieuferd.md (5200 words).

The introduction:

> Eirik Bakke’s [SIEUFERD][0] (or, as he sometimes spells it, SIUEFERD) is a really interesting and promising generic database frontend, a “schema-independent database UI”. The elevator pitch is “a new kind of graphical query interface [with] the power of SQL but the ease-of-use of a spreadsheet”. (Unfortunately, he forgot to implement the DDL part of SQL, just doing the DML part.)

I can highly recommend Bakke's 5-minute talk on it from 10 years ago at https://vimeo.com/173726371.

reply
Skeime 5 hours ago
I think the novel thing here, that I have not yet seen in any other database app, is the realization that normal SQL joins are not quite what you want in most cases.

Often, you are interested in nested results. "Give me all my customers with a list of their orders." However, when you do this with a join, you get a list of the orders with a copy of the customer information attached to each, instead. In Ultorg, you actually get the customer with a list of their orders nested in their row as a sub-table, but with that sub-table's headers cleverly floated to the top, so they're not repeated for each customer.

As a second trick, Ultorg manages to remember the relations, so the data is editable in the nested tables. (There are some limitations to this, I believe.)

I used the trial version of Ultorg at the beginning of the year (the example in the 2.1.4 changelog is based on my use case), and it was tons of fun to use. Ultorg is great. I wish I had discovered it right at the start of that small project.

Unfortunately, I do not have a regular use case for this, and for personal use and occasional unpaid hobby projects, Ultorg's license is not a good fit. So I check the website from time to time whether there's been a change to it; no luck so far.

I am no business expert, and I do not know how well Eirik is doing with the current model. However, I do have the impression that he underestimates how many people would have a use case in their private life for it, but not at $35/month. I think this could also help attract new commercial users. After all, it's much easier to convince your boss of purchasing a software if you have already built expertise by using it personally.

reply
cgio 51 minutes ago
This use case is pretty standard in olap such as ease, with writeback and calcs too.
reply
mamcx 3 hours ago
Yep, I have said for long that SQL `GROUP BY` should be that, instead of what is now (that is variation of SUMMARIZE).
reply
UltraSane 5 hours ago
SQL forcing all results into a flat table is one of its biggest design flaws. It creates tremendous data duplication.
reply
ctippett 3 hours ago
If anything a well designed database minimises data duplication. If your query returns duplicate data that's on the writer, not the language's fault.
reply
Skeime 3 hours ago
It is the language's fault, because SQL offers no good way to get nested results. If you want to avoid the duplication, you can do multiple queries, but then you essentially have to do the join on the receiving end, which kind of defeats the purpose of having joins in SQL.

Alternatively, you might use functions to aggregate in the query, but they're not standard, as far I know, which means that interfaces in programming languages often do not support them. The best bet might be aggregating into JSON, but this removes quite a bit of the type information that values in SQL usually carry. (Also, the aggregation functions are generally less pleasant to write than standard joins.)

reply
efromvt 26 minutes ago
Yeah, ARRAY_AGG being an optional part of the standard is annoying, and in general the array handling functions have been very non-standardized and messy - it's getting better though!
reply
achr2 60 minutes ago
It minimizes data storage duplication, but not reading. The language does not have a simple way to receive unique records across N-1 joins.
reply
akshayrajeshwar 9 hours ago
Previously used it and it's AMAZING given you have data stored with good practices, e.g. with unique IDs that are consistent among many databases/sheets. I found it's easier to begin with Ultorg's usecase in mind than to migrate existing files to fit its use.

And I do agree with the criticisms mentioned in the thread. Ultorg is solving a lot of problems of data organisation and context awareness, so starting a business with a perpetual license would be awesome.

Guess I just don't wanna lose access to the tool once I have all the tailored files and fail to pay again.

Should mention that Eirik is a joy talk to and will quite possibly accommodate you. All the best to him.

reply
NetMageSCW 9 hours ago
A small desktop app that is a subscription rubs me the wrong way.
reply
aetherspawn 9 hours ago
I agree, it’s novel but please give me a perpetual version that costs like $500 and I’ll buy it. Hate subs.
reply
dymk 6 hours ago
Problem is, only you and two other people would buy it.
reply
convict 6 hours ago
As long as it doesn't stop other people from buying subscriptions, is it really a problem?
reply
aetherspawn 3 hours ago
Well that’s an extra $1,500.
reply
maxloh 8 hours ago
Someone just posted an open-source alternative earlier today. Its UI looks better too.

https://news.ycombinator.com/item?id=50427934

reply
Skeime 5 hours ago
I don't see Ultorg's nested results in their screenshots, which is really what makes Ultorg special.
reply
dmos62 3 hours ago
There's also this https://mathesar.cloud/
reply
vim-guru 7 hours ago
From the looks of it, that is just the performance part of it. Ultorg is so much more.
reply
perbu 4 hours ago
It is interesting that somebody is still making software. The innovation here is mostly in the UX, which I suppose is hard to protect. Kinda sad.
reply
patates 8 hours ago
I like its flexibility but nothing beats LINQPad and its .Dump() method on that front.
reply
velcrovan 29 minutes ago
Wild that it supports just about everything except SQLite, the most widely used database in the world and the easiest to support
reply
polskibus 7 hours ago
Isn’t this like a pivot table, that many advanced BI solutions (that have a modeler inside) already have ?
reply
wodenokoto 6 hours ago
It is and it isn't.

It looks like a polished thing that from a UX perspective sits between a spreadsheet and PowerBI

It let's any user with DB access build reports pretty close to how you'd edit a spreadsheet and without having to build pipelines in PowerBI and setup ingestion etc, etc.

The closest thing I've seen here is the old Tableu Desktop, but this one is more focused on tables than figures.

reply
kragen 6 hours ago
Not really. Ultorg can do anything SQL (DML) can do, and pivot tables can't do any of that. Ultorg also does pivot tables: https://www.ultorg.com/docs/present/crosstabs/
reply
aetherspawn 9 hours ago
Question: Is there any way to customise the interface like add extra buttons, for example to export an invoice?
reply
BrenBarn 5 hours ago
I've wanted something like this for a really long time. Unfortunately I'll never use this because there's no way I'm going to pay for it, let alone pay an ongoing subscription fee, but it looks pretty cool.
reply
mapcars 6 hours ago
Any features worth to switch from DBeaver?
reply
Stitch4223 6 hours ago
Please approach this the other way around: try both and share your preferences here.

These seem to be entirely different tools. Ultorg is a generic relational gui (like Bento, Access and so on), dbeaver is a database admin tool centered around writing SQL and managing tables.

reply
chilarai 9 hours ago
[flagged]
reply
endverbraucher 8 hours ago
Or you can use open-source DBFlux https://dbflux.dev/
reply
wodenokoto 6 hours ago
The screenshots looks nice, but the text on the landing page does make me wonder if the whole thing is just a pile of slop.
reply
refactor_master 8 hours ago
Sheesh, and they said Apple was doomed for putting small icons inside dropdown menus. Who designed this monstrosity?
reply